相同點:
不同點:
先說說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等線性模型的正則項是對權重的懲罰
,也就是 w1w_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端輸入的向量表示,...