数据挖掘竞赛中通常用到的模型包括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)