機器學習面試題 XGBoost

2021-10-02 02:00:27 字數 2134 閱讀 1977

相同點:

不同點:

先說說lrlr

lr和g bd

tgbdt

gbdt

的區別:

當在高維稀疏特徵的場景下,lrlr

lr的效果一般會比gbd

tgbdt

gbdt

好。原因如下:

先看乙個例子:

假設乙個二分類問題,label為0和1,特徵有100維,如果有1w個樣本,但其中只要10個正樣本1,而這些樣本的特徵 f1的值為全為1,而其餘9990條樣本的f1特徵都為0(在高維稀疏的情況下這種情況很常見)。 我們都知道在這種情況下,樹模型很容易優化出乙個使用f1特徵作為重要**節點的樹,因為這個結點直接能夠將訓練資料劃分的很好,但是當測試的時候,卻會發現效果很差,因為這個特徵f1只是剛好偶然間跟y擬合到了這個規律,這也是我們常說的過擬合。

因為現在的模型普遍都會帶著正則項,而 lrlr

lr等線性模型的正則項是對權重的懲罰

,也就是 w

1w_1

w1​一旦過大,懲罰就會很大,進一步壓縮 w

1w_1

w1​的值,使他不至於過大。但是,樹模型則不一樣,樹模型的懲罰項通常為葉子節點數和深度等,而我們都知道,對於上面這種case,樹只需要乙個節點就可以完美分割9990和10個樣本,乙個結點,最終產生的懲罰項極其之小。

這也就是為什麼在高維稀疏特徵的時候,線性模型會比非線性模型好的原因了:帶正則化的線性模型比較不容易對稀疏特徵過擬合。

x gb

oost

xgboost

xgboos

t是一種整合學習演算法,屬於3類常用的整合方法(bag

ging

bagging

baggin

g,boos

ting

boosting

boosti

ng,s ta

ckin

gstacking

stacki

ng)中的boo

stin

gboosting

boosti

ng演算法類別。它是乙個加法模型,基模型一般選擇樹模型,但也可以選擇其它型別的模型如邏輯回歸等。

x gb

oost

xgboost

xgboos

t對gbdt

gbdt

gbdt

進行了一系列優化,比如損失函式進行了二階泰勒展開、目標函式加入正則項、支援並行、預設缺失值處理等,在可擴充套件性和訓練速度上有了巨大的提公升,但其核心思想沒有大的變化。

x gb

oost

xgboost

xgboos

t模型的乙個優點就是允許特徵存在缺失值。對缺失值的處理方式如下:

xgb

oost

xgboost

xgboos

t是根據gain來做重要性判斷的。

我們調整這兩個引數是因為,這兩個引數對輸出結果的影響很大。我們首先將這兩個引數設定為較大的數,然後通過迭代的方式不斷修正,縮小範圍。

max_depth: 每棵子樹的最大深度,check from range(3,10,2)。

min_child_weight: 子節點的權重閾值,check from range(1,6,2)。

如果乙個結點**後,它的所有子節點的權重之和都大於該閾值,該葉子節點才可以劃分。

也稱作最小劃分損失min_split_loss,check from 0.1 to 0.5,指的是,對於乙個葉子節點,當對它採取劃分之後,損失函式的降低值的閾值。缺點

深入理解xgboost,優缺點分析,原理推導及工程實現:

個人總結 ,如有錯誤,請批評指正!

機器學習面試題

答 設計乙個分類模型,首先要給它設定乙個學習目標。在支援向量機中,這個目標是max margin 在adaboost中,目標是優化乙個指數損失函式。那麼在logistic regression lr 中,這個目標是什麼呢?最大化條件似然度。考慮乙個二值分類問題,訓練資料是一堆 特徵,標記 組合,x1...

機器學習面試題目

過擬合原因 資料 資料不規範,資料量少,資料穿越,統計特徵用到了未來的資訊或者標籤資訊 演算法 演算法過於複雜 解決 1 將資料規範化,處理缺失值,增加資料量,取樣,新增雜訊資料 2 正則化,控制模型複雜程度,3 early stoping,減少迭代次數,減少樹的深度,4 學習率調大 小點 5 融合...

機器學習面試題 BERT

bert可以看成乙個自編碼的語言模型,主要用兩個任務訓練該模型。nsp next sentence prediction bert只使用了transformer的encoder模組,與transformer本身的encoder端相比,bert的transformer encoder端輸入的向量表示,...