task4——模型和调参

数据挖掘竞赛中通常用到的模型包括xgboostlightgbmSVM等。掌握每种模型的原理是学会应用模型的前提条件。因此,本篇文章主要用于梳理线性回归模型决策树模型GBDT模型的原理及模型的调参方法。

1.线性回归模型

线性回归模型是入门机器学习的经典模型。其基本形式为:
  h θ ( x ) = i = 1 n θ i x i = θ T X \ h_{\theta}(x) = \sum_{i=1}^{n}\theta_{i}x_{i}=\theta^{T}X
因现实世界中无法做到严格预测出正确结果,预测结果和真实值之间存在一定的误差,因此,线性回归模型一般记作:
  h θ ( x ) = θ T X + ϵ \ h_{\theta}(x) = \theta^{T}X+\epsilon
每个样本的预测值与真实值之间都存在 ϵ i \epsilon^{i} ,根据中心极限定理可知, ϵ i \epsilon^{i} 服从均值为0,方差为 σ 2 \sigma^{2} 的正态分布。
y i = θ T x i + ϵ i y^{i} = \theta^{T}x^{i}+\epsilon^{i}
  P ( ϵ i ) = 1 2 π σ e ( ϵ i ) 2 2 σ 2 \ P(\epsilon^{i}) = \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{{(\epsilon^{i})}^{2}}{2\sigma^{2}}}
ϵ i = y i θ T x i \epsilon^{i} = y^{i} - \theta^{T}x^{i}
  P ( y i θ T x i ) = 1 2 π σ e ( y i θ T x i ) 2 2 σ 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 ( y i θ T x i ) = 1 2 π σ e ( y i θ T x i ) 2 2 σ 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}}}
通过对似然函数取对数后得到损失函数:
l o s s = i = 1 n ( h θ ( x i ) y i ) 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 ) = t N t H ( t ) C(t) = \sum_{t}N_{t}H(t)
为防止决策树过拟合,通常需要对决策树进行剪枝,因此修正后的评价函数为:
C ( t ) = t N t H ( t ) + α T l e a f 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 ( f t ( x ) , y ) = L ( f t 1 + h t ( x ) , y ) L(f_{t}(x),y) = L(f_{t-1}+h_{t}(x),y)
第t轮的第i个样本的损失函数的负梯度表示为:
r t , i = [ δ L ( y , f ( x i ) ) δ f ( x i ) ] r_{t,i}=-[\frac{\delta L(y,f(x_{i}))}{\delta f(x_{i})}]
对于每一个叶子节点的样本,需要求出使损失函数最小,拟合叶子节点最好的输出值ctj:
c t , j = a r g m i n x i L ( y i , f t 1 ( x i + c ) ) c_{t,j}=argmin\sum_{x_{i}} L(y_{i}, f_{t-1}(x_{i}+c))
此时本轮的决策树拟合函数为:
h t ( x ) = j = 1 J c t , j I ( x R t , j ) h_{t}(x)=\sum_{j=1}^{J}c_{t,j}I(x\in R_{t,j})
所以这轮迭代得到的强学习器为:
f t ( x ) = f t 1 ( x ) + h t ( x ) f_{t}(x)=f_{t-1}(x)+h_{t}(x)

发布了19 篇原创文章 · 获赞 17 · 访问量 1458

猜你喜欢

转载自blog.csdn.net/weixin_43839651/article/details/105240458