機器學習(十一) 提公升方法

2021-08-21 11:45:58 字數 1725 閱讀 4430

整合學習:通過構建並結合多個學習器來完成學習任務

整合學習方法大致可以分為兩大類:a.個體學習器間存在強依賴關係,必須序列生成序列化方法——代表:boosting;b.個體學習器間不存在強依賴關係,可同時生成的並行化方法——代表:bagging和」隨機森林「

一、boosting

boosting的工作機制類似:先從初始訓練集訓練出乙個基學習器二:、adaboost演算法理解

adaboost演算法的步驟**描述:

二、提公升樹

提公升方法實際採用加法模型(即基函式的線性組合)與前向分布演算法,以決策樹為基函式(基函式+資料訓練=基學習器)的提公升方法稱為提公升樹。

2.1 提公升樹的原理

關於提公升樹的權值問題:參考:

2.1 演算法過程

三、梯度提公升(gradient boosting) 

3.1 梯度提公升的概念

提公升樹利用加法模型與前向分布演算法實現的優化過程,當損失函式是平方損失和指數損失函式時,每一步優化是很簡單的,但對一般損失函式而言,往往每一步優化並不那麼容易。針對這一問題,freidman提出了梯度提公升(gradient boosting)演算法,這是利用最速下降法的近似方法,其關鍵是利用損失函式的負梯度在當前模型的值

作為回歸問題提公升樹演算法中的殘差的近似值,擬合乙個回歸樹。(對於平方損失函式,他就是通常所說的殘差;對於一般損失函式,它就是殘差的近似值)

3.2 gbdt的思想的通俗的例子解釋:

假如有個人30歲,我們首先用20歲去擬合,發現損失有10歲,這時我們用6歲去擬合剩下的損失,發現差距還有4歲,第三輪我們用3歲擬合剩下的差距,差距就只有一歲了。如果我們的迭代輪數還沒有完,可以繼續迭代下面,每一輪迭代,擬合的歲數誤差都會減小。

3.3 gbdt(gradient boosting decision tree) 回歸演算法

演算法第1步初始化,估計使損失函式極小化的常數值,它是只有乙個根節點的樹,第2(a)步計算損失函式的負梯度在當前模型的值,將它作為殘差的估計,對於平方損失函式,它就是通常所說的殘差;對於一般損失函式,它就是殘差的近似值,第2(b)步估計回歸樹葉節點區域,以擬合殘差的近似值,第2(c)步利用線性搜尋估計葉節點區域的值,使損失函式極小化。第2(d)步更新回歸樹。第3步得到輸出的最終模型f(x)。

3.4 gbdt分類演算法

這裡我們再看看gbdt分類演算法,gbdt的分類演算法從思想上和gbdt的回歸演算法沒有區別,但是由於樣本輸出不是連續的值,而是離散的類別,導致我們無法直接從輸出類別去擬合類別輸出的誤差。

為了解決這個問題,主要有兩個方法,乙個是用指數損失函式,此時gbdt退化為adaboost演算法。另一種方法是用類似於邏輯回歸的對數似然損失函式的方法。也就是說,我們用的是類別的**概率值和真實概率值的差來擬合損失。

gbdt分類演算法參考:

機器學習 提公升方法AdaBoost演算法

機器學習 深度學習 nlp 搜尋推薦 等 索引目錄 adaboost演算法是提公升方法中具有代表性的一種演算法,本篇博文主要學習adaboost的演算法思想以及從前向分步加法模型的角度來解釋adaboost演算法。對於提公升方法來說,其基本思路是從弱學習演算法出發,反覆學習,得到一系列弱分類器 基分...

入門機器學習 十一 機器學習系統的設計

1.誤差分析 error analysis 當研究機器學習時,最好的方法不是使用複雜的系統,而是用簡單的演算法,最快得到結果。即便執行不完美,但是也要執行一遍,最後通過交叉驗證來驗證資料。一旦做完,可以畫出學習曲線,通過畫出學習曲線,以驗證檢驗誤差來判斷演算法是否具有高偏差或者高方差的問題。在分析之...

提公升方法(整合學習)

整合學習總結 思想 由多個分類器組合成乙個效能更好的分類器。每個分類器應該好而不同,即本身準確率要足夠高,並且之間要有多樣性。整合學習研究的核心 如何產生好而不同的分類器?既滿足準確性又滿足多樣性 分類 1 序列化方法 個體之間存在強依賴關係,必須序列生成。boosting,是利用不同模型的相加,構...