task4——模型和調參

數據挖掘競賽中通常用到的模型包括xgboostlightgbmSVM等。掌握每種模型的原理是學會應用模型的前提條件。因此,本篇文章主要用於梳理線性迴歸模型決策樹模型GBDT模型的原理及模型的調參方法。

1.線性迴歸模型

線性迴歸模型是入門機器學習的經典模型。其基本形式爲:
 hθ(x)=i=1nθixi=θTX\ h_{\theta}(x) = \sum_{i=1}^{n}\theta_{i}x_{i}=\theta^{T}X
因現實世界中無法做到嚴格預測出正確結果,預測結果和真實值之間存在一定的誤差,因此,線性迴歸模型一般記作:
 hθ(x)=θTX+ϵ\ h_{\theta}(x) = \theta^{T}X+\epsilon
每個樣本的預測值與真實值之間都存在ϵi\epsilon^{i},根據中心極限定理可知,ϵi\epsilon^{i}服從均值爲0,方差爲σ2\sigma^{2}的正態分佈。
yi=θTxi+ϵi y^{i} = \theta^{T}x^{i}+\epsilon^{i}
 P(ϵi)=12πσe(ϵi)22σ2 \ P(\epsilon^{i}) = \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{{(\epsilon^{i})}^{2}}{2\sigma^{2}}}
ϵi=yiθTxi \epsilon^{i} = y^{i} - \theta^{T}x^{i}
 P(yiθTxi)=12πσe(yiθTxi)22σ2 \ P(y^{i} - \theta^{T}x^{i}) = \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{{(y^{i} - \theta^{T}x^{i})}^{2}}{2\sigma^{2}}}
根據上述單樣本公式構建線性迴歸模型的對數似然函數,公式爲:
 P(yiθTxi)=12πσe(yiθTxi)22σ2 \ P(y^{i} - \theta^{T}x^{i}) = \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{{(y^{i} - \theta^{T}x^{i})}^{2}}{2\sigma^{2}}}
通過對似然函數取對數後得到損失函數:
loss=i=1n(hθ(xi)yi)2 loss = \sum_{i=1}^{n}(h_{\theta}(x^{i})-y^{i})^{2}
通過BGD或SGD的方式可求解θ\theta

2.決策樹模型

概念:決策樹模型是一種自頂向下的模型,它以信息熵爲度量構建了一顆熵值下降最快的樹,到葉子節點是熵值下降爲0,此時每個葉子節點的每個實例都屬於同一類。
決策樹通常包括三種:ID3、C4.5、CART。三種的區別在於度量標準不同。ID3採用信息增益作爲度量指標,C4.5採用信息增益率,CART是基尼係數。
(1)信息增益:
g(D,A) = H(D) - H(D|A)
(2)信息增益率
gr(D,A) = g(D,A)/H(A)
(3)基尼係數
決策樹的評價函數爲:
C(t)=tNtH(t) C(t) = \sum_{t}N_{t}H(t)
爲防止決策樹過擬合,通常需要對決策樹進行剪枝,因此修正後的評價函數爲:
C(t)=tNtH(t)+αTleaf C(t) = \sum_{t}N_{t}H(t)+\alpha|T_{leaf}|

3.隨機森林

隨機森林有多顆決策樹組成,基本步驟如下:
(1)從樣本集中採用Bootstrap採樣採集得到n個樣本;
(2)從所有屬性中隨機選擇k個屬性,選擇k個屬性中的最佳分割屬性作爲節點構建CART決策樹;
(3)重複以上兩步m次,構建m棵決策樹;
(4)m棵決策樹形成隨機森林,通過投票表決機制,決定實例屬於哪一類。

4.GBDT

GBDT模型是一個集成模型,是對很多CART樹的線性相加。即給定一個目標損失函數,定義域爲所有可行的弱函數集合,通過迭代的選擇一個負梯度方向上的基函數來逐漸逼近局部極小值。
GBDT的損失函數定義爲:
L(ft(x),y)=L(ft1+ht(x),y) L(f_{t}(x),y) = L(f_{t-1}+h_{t}(x),y)
第t輪的第i個樣本的損失函數的負梯度表示爲:
rt,i=[δL(y,f(xi))δf(xi)] r_{t,i}=-[\frac{\delta L(y,f(x_{i}))}{\delta f(x_{i})}]
對於每一個葉子節點的樣本,需要求出使損失函數最小,擬合葉子節點最好的輸出值ctj:
ct,j=argminxiL(yi,ft1(xi+c)) c_{t,j}=argmin\sum_{x_{i}} L(y_{i}, f_{t-1}(x_{i}+c))
此時本輪的決策樹擬合函數爲:
ht(x)=j=1Jct,jI(xRt,j) h_{t}(x)=\sum_{j=1}^{J}c_{t,j}I(x\in R_{t,j})
所以這輪迭代得到的強學習器爲:
ft(x)=ft1(x)+ht(x) f_{t}(x)=f_{t-1}(x)+h_{t}(x)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章