XGBoost演算法 學習筆記

2022-05-16 21:24:05 字數 1100 閱讀 3496

學習背景

最近想要學習和實現一下xgboost演算法,原因是最近對專案有些想法,準備做個回歸**。作為當下比較火的回歸**演算法,準備直接套用試試效果。

一、基礎知識

(1)泰勒公式

泰勒公式是乙個用函式在某點的資訊描述其附近取值的公式。具有區域性有效性。

基本形式如下:

由以上的基本形式可知泰勒公式的迭代形式為:

以上這個迭代形式是針對二階泰勒展開,你也可以進行更多階的泰勒展開。

(2)梯度下降法

在機器學習演算法中,我們的目標是最小化損失函式l(theta), 結合泰勒展開公式,我們可以得到如下的公式:

為什麼這裡的

, 我覺得是因為這樣它和前面的

相乘之後,只要a取正值,那麼他的變化值就一定是乙個負數,換句話,這樣就能夠確保他的損失一定是減少的。

(3)牛頓法

牛頓法和梯度下降法一樣都是一種優化手段。他們二者的區別在於牛頓法採用的二階泰勒展開,而梯度下降使用的一階泰勒展開。

二、概念解釋

(1)gradient descend和gradient boosting

gradient descend和gradient boosting的區別在於前者是對於引數的更新,後者是對於模型的更新

(2)boosting演算法

boosting演算法是一種加法模型:

(3)決策樹

決策樹的優點:可解釋性,可處理混合型別特徵,具有伸縮不變形,具有特徵組合的作用,可自然的處理缺失值,對異常點魯棒, 有特徵選擇作用,可拓展性強,容易並行

決策樹的缺點:缺乏平滑性(針對回歸樹), 不適合處理高維稀疏資料

三、gbdt演算法

xgboost演算法是gbdt演算法的高階版,在我們了解和實現xgboost演算法之前,要先了解gbdt演算法。

演算法 學習筆記

1.輸入輸出演算法至少有乙個或多個輸出 2.有窮性 3.確定性 4.可行性 1.正確性a.演算法程式沒有語法錯誤 b.演算法程式對於合法的輸入資料能夠產生滿足要求的輸出結果 c.演算法程式對於非法的輸入資料能夠得出滿足規格說明的結果 d.演算法對於精心選擇的,甚至刁難的測試資料都有滿足要求的輸出結果...

演算法學習筆記

複雜度分析 1.只關注迴圈次數最多的一行 2.總複雜度等於量級最大 的複雜度 3.巢狀 的複雜度等於巢狀 內外複雜度的乘積 單鏈表結構和順序儲存結構的優缺點 儲存分配方式 時間效能 空間效能 單鏈表結構 用一組任意的儲存單元存放線性表元素 查詢 o n 插入和刪除 找到某位置的指標後,插入和刪除的時...

演算法學習筆記

影象分割是機器視覺後續處理的基礎,通過分割提取影象中的目標區域,方便後續進一步分析處理。分水嶺分割演算法 傳統的分水嶺演算法,是基於數學形態學的分割方法。其基本思想是,將2d影象視為3d地形 其中,畫素的座標 地形的位置,畫素的灰度 地形的高度 每乙個區域性極小值及其周圍區域稱為集水盆地,而集水盆地...