目录
-
-
- 0 简介
- 1 目标优化函数
- 2 求解目标优化函数
- 3 过拟合
-
0 简介
Boosting的一种 是GBDT的扩展
相比于GBDT :
- 求解损失函数 二阶展开 牛顿法
- 损失函数加入正则化项
一般用于回归问题 弱学习器用CART树
1 目标优化函数
yi′y_i\primeyi?′ 表示预测值
yi,t′y_{i,t}\primeyi,t?′ 第t次迭代对样本i的预测值
弱学习器 f(x)=wq(x)f(x)=w_{q(x)}f(x)=wq(x)? 其中q(x)把x映射到第i个叶子节点 wi是第i个节点的值
yi,t′=yi,t?1′+ft(xi)y_{i,t}\prime=y_{i,t-1}\prime+f_t(x_i)yi,t?′=yi,t?1?′+ft?(xi?)
L=∑i=1n[l(yi,yi,t?1′+ft(xi))]+γT+12λw2L=\sum_{i=1}^n[l(y_i,y_{i,t-1}\prime+f_t(x_i))]+\gamma T+\cfrac12\lambda w^2L=i=1∑n?[l(yi?,yi,t?1?′+ft?(xi?))]+γT+21?λw2
最小化L 其中T是叶子节点数 w是所有预测值(叶子结点)的集合 γ和λ是正则化系数
叶子节点数尽量少 预测值尽量小(因为弱分类器预测值是误差 越小越好)
采用牛顿法
L≈∑i=1n[l(yi,yi,t?1′)+gift(xi)+12hift2(xi)]+γT+12λw2L\approx \sum_{i=1}^n[l(y_i,y_{i,t-1}\prime)+g_if_t(x_i)+\cfrac12h_if_t^2(x_i)]+\gamma T+\cfrac12\lambda w^2L≈i=1∑n?[l(yi?,yi,t?1?′)+gi?ft?(xi?)+21?hi?ft2?(xi?)]+γT+21?λw2
gi=?l(yi,yi,t?1′)?yi′........hi=?2l(yi,yi,t?1′)?2yi′g_i=\cfrac{\partial l(y_i,y_{i,t-1}\prime)}{\partial y_i\prime}........h_i=\cfrac{\partial ^2l(y_i,y_{i,t-1}\prime)}{\partial^2 y_i\prime} gi?=?yi?′?l(yi?,yi,t?1?′)?........hi?=?2yi?′?2l(yi?,yi,t?1?′)?
由于l(yi,yi,t?1′)l(y_i,y_{i,t-1}\prime)l(yi?,yi,t?1?′)(上一个强学习器的损失)是常数 所以相当于最小化:
L=∑i=1n[gift(xi)+12hift2(xi)]+γT+12λ∑j=1Twj2L= \sum_{i=1}^n[g_if_t(x_i)+\cfrac12h_if_t^2(x_i)]+\gamma T+\cfrac12\lambda \sum_{j=1}^Tw_j^2L=i=1∑n?[gi?ft?(xi?)+21?hi?ft2?(xi?)]+γT+21?λj=1∑T?wj2?
$$$$
差点推导公式
2 求解目标优化函数
(1)假设q(x)决策树结构确定 获得所有叶子结点值
ax2+bx最小值时2ax+b=0所以x=?b2aax^2+bx 最小值时 2ax+b=0所以x=-\cfrac{b}{2a}ax2+bx最小值时2ax+b=0所以x=?2ab?
wj?=?∑i∈Ijgi[∑i∈Ijhi]+λw_j^*=-\cfrac{\sum_{i\in I_j}g_i}{[\sum_{i\in I_j}h_i]+\lambda}wj??=?[∑i∈Ij??hi?]+λ∑i∈Ij??gi??
(2)有了叶子结点值 如何将x与叶子对应
确定最佳分裂 i=q(x)
ax2+bxandx=?b2a...原式=?b24aax^2+bx\quad and \quad x=-\cfrac b{2a}...原式=-\cfrac {b^2}{4a}ax2+bxandx=?2ab?...原式=?4ab2?
所以损失函数等于:
Lq=∑j=1T[?(∑i∈Ijgi)22([∑i∈Ijhi]+λ)]+γTL_q=\sum_{j=1}^T[-\cfrac{(\sum_{i\in I_j}g_i)^2}{2([\sum_{i\in I_j}h_i]+\lambda)}]+\gamma TLq?=j=1∑T?[?2([∑i∈Ij??hi?]+λ)(∑i∈Ij??gi?)2?]+γT
可以将损失函数LqL_qLq?作为决策树划分的一个度量(类似熵、GINI)
样本III划分为I左I_左I左?和I右I_右I右?
旧:?12总+γT旧:-\cfrac12总+\gamma T旧:?21?总+γT
新:?12左?12右+γ(T+1)新:-\cfrac12左-\cfrac12右+\gamma (T+1)新:?21?左?21?右+γ(T+1)
所以分裂规则是最大化[旧-新] 也就是最大化以下:
Lsplit=12(左+右?总)?γL_{split}=\cfrac12(左+右-总)-\gamma Lsplit?=21?(左+右?总)?γ
3 过拟合
(1)权重收缩
训练好弱分类器决策树后 将其预测值乘β
(2)列采样
训练决策树时 使用一部分特征