整合學習專題之GBDT面試

2021-08-17 12:40:03 字數 2157 閱讀 3805

題目和答案來自於網路,相關鏈結已貼。

春招不易,且學且珍惜~

q1:gbdt的演算法流程?

a:gbdt是通過採用加法模型(基函式的線性組合),不斷減小訓練過程產生的殘差來達到將資料分類或者回歸的演算法。針對一般損失函式優化困難問題,利用損失函式的負梯度在當前模型的值作為殘差的近似值進行求解。

q2:gbdt如何選擇特徵?(cart tree中的特徵選擇方法)

a:遍歷每個特徵,然後對每個特徵遍歷它所有可能的切分點,找到最優特徵m的最優切分點j

q3:gbdt如何構建特徵?

a:將樣本輸入到gbdt生成的樹中,所有樹的葉子結點可以構建乙個向量,輸入樣本可以獲得乙個關於葉子結點的0-1向量,將這個向量作為該樣本的組合特徵,和原來的特徵一起輸入到邏輯回歸當中訓練(ctr中gbdt+lr)

q4:gbdt 如何用於分類?

a:針對樣本x每個可能的類都訓練乙個分類回歸樹,即每輪的訓練都是同時訓練k棵樹,使用softmax來產生概率。

q1~q4 source:

q5:gbdt通過什麼方式減少誤差?

a:每棵樹都是在擬合當前模型的**值和真實值之間的誤差,gbdt是通過不斷迭代來使得誤差見小的過程。

q6:gbdt的效果相比於傳統的lr,svm效果為什麼好一些

a:gbdt基於樹模型,繼承了樹模型的優點 [對異常點魯棒、不相關的特徵干擾性低(lr需要加正則)、可以很好地處理缺失值、受噪音的干擾小]

source:

q7:gbdt 如何加速訓練

a:小資料集使用true,可以加快訓練。是否預排序,預排序可以加速查詢最佳**點(不確定)

q8:gbdt的引數有哪些?

a:分為三類

第一類miscellaneous parameters: other parameters for overall functioning. 沒啥用

其實主要是前兩種引數。

第二類:boosting parameters: these affect the boosting operation in the model.

n_estimators 最大弱學習器的個數,太小欠擬合,太大過擬合

learning_rate 學習率,太大過擬合,一般很小0.1,和n_estimators一起調

subsample 子取樣,防止過擬合,太小欠擬合。gbdt中是不放回取樣

第三類:tree-specific parameters: these affect each individual tree in the model.

max_features 最大特徵數

max_depth 最大樹深,太大過擬合

min_samples_split 內部節點再劃分所需最小樣本數,越大越防過擬合

min_weight_fraction_leaf 葉子節點最小的樣本權重和。如果存在較多樣本有缺失值,或者分類樹樣本的分布類別偏差很大,就會引入樣本權重,這時我們就要注意這個值了。越大越防過擬合

max_leaf_nodes:最大葉子節點數 ,太大過擬合

min_impurity_split:節點劃分最小不純度

presort:是否對資料進行預分類,以加快擬合中最佳**點的發現。預設false,適用於大資料集。小資料集使用true,可以加快訓練。是否預排序,預排序可以加速查詢最佳**點,對於稀疏資料不管用,bool,auto:非稀疏資料則預排序,若稀疏資料則不預排序

q8~q9 source:

[1]

[2]

q10:gbdt 實戰當中遇到的一些問題 ?

a:略q11:gbdt優缺點

a:優點  

可以靈活處理各種型別的資料,包括連續值和離散值。

在相對少的調參時間情況下,**的準備率也可以比較高。這個是相對svm來說的。

使用一些健壯的損失函式,對異常值的魯棒性非常強。比如 huber損失函式和quantile損失函式。

缺點:由於弱學習器之間存在依賴關係,難以並行訓練資料。不過可以通過自取樣的sgbt來達到部分並行。(慢?)[待補充sgbt知識]

q12:gbdt如何進行正則化?

a: (1)與adaboost類似的正則項,即learning_rate

(2)子取樣比例subsample

(3)針對基學習器的正則化剪枝操作

q11~q12 source:

整合學習(四) GBDT

gbdt演算法 所謂的gbdt gradient boost desicison tree 就是值在每一步迭代時我們難以真正求得乙個新的模型使得其加上原有模型得到的損失最小,但是我們可以用所謂的梯度下降法使得損失減小。輸入 訓練資料集 d lbrace x y x y rbrace x in mat...

機器學習 整合學習GBDT

gbdt也是整合學習boosting的其中一種,boosting是由多個弱學習器組成,與bagging不同,boosting學習器之間有關聯的關係。adaboost是通過前面的學習器模型來決定當前的學習器模型的每個樣本的權重,然後計算出當前學習器組合權重,最後將學習器線性組合起來。而gbdt則是通過...

機器學習 整合學習(GBDT)

形式 第一輪,確定n 90 gbdt gradientboostingclassifier model gbdt1 gridsearchcv gbdt,param grid cv 5 model gbdt1.fit x train,y train print model gbdt1.best par...