數據挖掘競賽中通常用到的模型包括xgboost、lightgbm,SVM等。掌握每種模型的原理是學會應用模型的前提條件。因此,本篇文章主要用於梳理線性迴歸模型、決策樹模型、GBDT模型的原理及模型的調參方法。
1.線性迴歸模型
線性迴歸模型是入門機器學習的經典模型。其基本形式爲:
hθ(x)=i=1∑nθixi=θTX
因現實世界中無法做到嚴格預測出正確結果,預測結果和真實值之間存在一定的誤差,因此,線性迴歸模型一般記作:
hθ(x)=θTX+ϵ
每個樣本的預測值與真實值之間都存在ϵi,根據中心極限定理可知,ϵi服從均值爲0,方差爲σ2的正態分佈。
yi=θTxi+ϵi
P(ϵi)=2πσ1e−2σ2(ϵi)2
ϵi=yi−θTxi
P(yi−θTxi)=2πσ1e−2σ2(yi−θTxi)2
根據上述單樣本公式構建線性迴歸模型的對數似然函數,公式爲:
P(yi−θTxi)=2πσ1e−2σ2(yi−θTxi)2
通過對似然函數取對數後得到損失函數:
loss=i=1∑n(hθ(xi)−yi)2
通過BGD或SGD的方式可求解θ。
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)=t∑NtH(t)
爲防止決策樹過擬合,通常需要對決策樹進行剪枝,因此修正後的評價函數爲:
C(t)=t∑NtH(t)+α∣Tleaf∣
3.隨機森林
隨機森林有多顆決策樹組成,基本步驟如下:
(1)從樣本集中採用Bootstrap採樣採集得到n個樣本;
(2)從所有屬性中隨機選擇k個屬性,選擇k個屬性中的最佳分割屬性作爲節點構建CART決策樹;
(3)重複以上兩步m次,構建m棵決策樹;
(4)m棵決策樹形成隨機森林,通過投票表決機制,決定實例屬於哪一類。
4.GBDT
GBDT模型是一個集成模型,是對很多CART樹的線性相加。即給定一個目標損失函數,定義域爲所有可行的弱函數集合,通過迭代的選擇一個負梯度方向上的基函數來逐漸逼近局部極小值。
GBDT的損失函數定義爲:
L(ft(x),y)=L(ft−1+ht(x),y)
第t輪的第i個樣本的損失函數的負梯度表示爲:
rt,i=−[δf(xi)δL(y,f(xi))]
對於每一個葉子節點的樣本,需要求出使損失函數最小,擬合葉子節點最好的輸出值ctj:
ct,j=argminxi∑L(yi,ft−1(xi+c))
此時本輪的決策樹擬合函數爲:
ht(x)=j=1∑Jct,jI(x∈Rt,j)
所以這輪迭代得到的強學習器爲:
ft(x)=ft−1(x)+ht(x)