來源:投稿 作者:LSC
編輯:學姐
一面 40min
1.Gbdt和xgboost的區別
XGBoost是對GBDT的改進和擴展,它提供了更高的效率、更好的性能、正則化技術、內置特征選擇等功能。
-
(1)正則化:
GBDT使用基本的樹模型,并在每一輪迭代中逐漸增加樹的復雜性。它使用簡單的正則化技術,如葉子節點的最小樣本數限制,來防止過擬合。
XGBoost引入了正則化技術,包括L1和L2正則化,以減少過擬合風險。它還使用了二階導數信息來提高訓練的穩定性。
-
(2)高效性:
XGBoost通過多線程和分布式計算提供了更高的訓練效率。它實現了高度優化的數據存儲和計算,以減少內存使用和加速訓練過程。
GBDT通常以串行方式訓練,訓練時間可能較長,特別是在處理大規模數據時。
-
(3)缺失值處理:
XGBoost能夠自動處理缺失值,無需手動進行處理。
在GBDT中,需要在數據預處理階段手動處理缺失值,通常通過填充或刪除缺失值。
-
(4)內置特征選擇:
XGBoost具有內置的特征選擇功能,它可以估計每個特征的重要性,并根據其重要性進行特征選擇。GBDT通常需要手動進行特征選擇或依賴其他特征選擇方法。
-
(5)求導優化:
GBDT只需要對目標函數求一階導,xgboost要求二階導。
2.Lstm的特點
-
(1)門控機制:
LSTM引入了門控機制,包括遺忘門、輸入門和輸出門,這些門控制著信息的流動和保存。遺忘門決定哪些信息應該被遺忘,輸入門控制哪些信息應該被添加到記憶單元,輸出門控制什么信息應該傳遞到下一個時間步。這種機制有助于控制信息的流動,提高了模型的訓練效率。
-
(2)長期記憶:
LSTM的主要特點是能夠捕捉和維護長期依賴關系,它在處理序列數據中表現出色。傳統的RNN存在梯度消失問題,導致難以學習長序列的依賴關系,而LSTM通過設計具有記憶單元的結構來解決這個問題,允許信息在長時間內保持不變。
-
(3)平行化訓練:
LSTM具有良好的并行性,可以加速訓練過程,特別是在GPU上進行訓練。這有助于處理大規模數據和加速深度學習模型的訓練。
3.Transformer的最重要的特點,對比CNN的效果
最重要的特點是自注意力機制。
對比CNN,transformer更注重全局特征,特征之間能并行計算,CNN更注重局部特征,圖像分類領域中,在圖像數量充足的情況下,tranformer的效果通常比CNN好。
4.ReLU激活函數的優缺點,怎么改進
優點:
-
(1) 當特征值大于0時,可以避免梯度消失
-
(2)計算簡單
缺點:
-
(1) 非零均值
-
(2)當特征值大量小于0時,可能引起梯度消失
-
(3)當特征值大于0時,非線性擬合能力可能下降
改進:改用Leaky ReLU函數
5.Sort Linux命令的使用
#?file.txt
#?int?int?string
1??2??str1
1??1??str2
2??2??str3#?按第一列的倒序,第二列的正序排序輸出
2??2??str3
1??1??str2
1??2??str1答案:?
sort?-r?1?-k?2?file.txt6.Coding??斐波那契數列
#?1?1?2?3?5?...?
#?input?:?n
#?output:?第n位的值?
#?n?=?3,??=>?3def?func(n):if?n?==?0?or?n?==?1:return?1a,?b?=?1,?1for?i?in?range(2,?n+1):tmp?=?bb?=?a?+?ba?=?tmp
return?b
7.了解隱碼模型和CRF嗎?介紹一下
8.簡單介紹一下Mapreduce
它用于處理海量數據,其核心思想是將大規模數據集分為多個小的子集,然后并行處理這些子集,最后將結果進行合并。
9.C++的指針和引用的區別
-
(1)引用訪問一個變量是直接訪問,而指針是間接訪問。
-
(2)引用是一個變量的別名,不額外占用內存空間,而指針是一個變量,有自己的內存空間。
-
(3)引用定義的時候必須賦值,并且賦值之后不可以改變,指針定義的時候可以不賦值,賦值后可以改變其所指的值。
-
(4)引用不可以為空,但是指針可以指向空值。
-
(5)引用是類型安全的,一般不會引起內存泄露的問題,指針可能會,一般盡可能用引用代替指針。
二面 30min
1.聊項目
2.介紹自己最熟悉的幾個模型
我介紹了resnet,inceptionnet, yolo模型等
3.介紹Yolo模型,主要是3-5
4.樣本不均衡的處理方法
-
(1)欠采樣
-
(2)過采樣
-
(3)平衡讀取數據
-
(4)設置權重,對樣本較少的數據設置較高的訓練權重
-
(5)使用平衡損失函數,比如focal loss等
-
(6)數據增強
5.介紹Focal loss
Focal Loss 最初由物體檢測領域的研究者提出,其主要目標是減輕模型在訓練過程中對大多數背景類別的關注,從而更好地處理少數類別的樣本。這種損失函數有助于提高模型對罕見類別的檢測性能。
Focal Loss 的主要特點如下:
**關注難分樣本: **Focal Loss 通過調整樣本的權重,更加關注難以分類的樣本。通常情況下,容易分類的樣本(大多數屬于背景類別)會降低其權重,而難分類的樣本(屬于少數類別)會增加其權重。
**降低易分類樣本的權重: **通過調整損失函數,Focal Loss 能夠有效地降低容易分類的樣本(背景類別、樣本數量多的類別)的權重,這樣模型將更加關注罕見類別,從而提高了模型在罕見類別的檢測能力。
Focal Loss 的引入有助于提高目標檢測模型對于罕見目標的檢測性能,減輕了類別不平衡問題對模型訓練的影響。
6.二叉搜索樹和二叉堆的區別
二叉搜索樹的左子樹的結點的值都比根結點小,右子樹結點的值都比根結點大。一般情況下,插入刪除搜索的時間復雜度是O(logn),最壞情況下是O(n)。
二叉堆分為最大堆、最小堆。如果是最大堆,只要保證根結點的值大于左右子樹的結點的值。插入刪除排序的時間復雜度是O(nlogn)
關注下方《學姐帶你玩AI》🚀🚀🚀
算法工程師萬能簡歷公式+200多個簡歷模板(中英文)
回復“簡歷”輕松獲取!
碼字不易,歡迎大家點贊評論收藏!