机器学习进阶:提升

文章目录

    • 1 提升算法
      • 1.1 提升的概念
      • 1.2 提升算法推导
    • 2 GBDT算法
    • 3 XGBOOST算法
    • 4 Adaboost算法

1 提升算法

1.1 提升的概念

随机森林的决策树是分布采样建立的,相对独立。我们是否可以在得到了m-1棵决策树后,根据现有样本和决策树信息,对第m棵决策树的建立产生有益的影响呢?

提升(Boost)根本思想在于通过多个简单的弱分类器,构建出准确率很高的强分类器。简单地来说,Boost(提升)就是指每一步我都产生一个弱预测模型,然后加权累加到总模型中,可以用于回归和分类问题。如果每一步的弱预测模型生成都是依据损失函数的梯度方向,则称之为梯度提升(Gradient boosting)。

梯度提升算法首先给定一个目标损失函数,他的定义域是所有可行的弱函数集合(基函数);提升算法通过迭代的选择一个负梯度方向熵的基函数来逐渐逼近局部极小值。

提升的意义在于:如果一个问题存在弱分类器,可通过提升的方法得到强分类器

注:
1、弱分类器:指分类性能比随机分略好点,但是不会好太多,比如随机森林
2、强分类器:分类精度在90%以上

1.2 提升算法推导

机器学习进阶:提升_第1张图片
我们的目标是寻找最优解F(x),使得损失函数在训练集上的期望最小。
首先,给定常函数F0(X):
机器学习进阶:提升_第2张图片
以貪心的思路拓展到Fm(X):

机器学习进阶:提升_第3张图片

2 GBDT算法

其实是代价函数的一阶泰勒展开,让决策树来拟合负梯度,在平方损失函数的前提下,负梯度就是残差(y_真实值-y_预测值)
机器学习进阶:提升_第4张图片
算法步骤:
机器学习进阶:提升_第5张图片
其中第(2)的(b)是用(xi,残差i)来拟合一颗决策树,知道怎么分了之后通过(c)来求出这棵决策树的输出值。

3 XGBOOST算法

目标函数的理解:
机器学习进阶:提升_第6张图片
机器学习进阶:提升_第7张图片
决策树其实就是在做两件事情:树长什么样子,以及权值是什么
机器学习进阶:提升_第8张图片
正则项的定义:
机器学习进阶:提升_第9张图片
机器学习进阶:提升_第10张图片
机器学习进阶:提升_第11张图片
举例:
机器学习进阶:提升_第12张图片
构造树的结构:
使用贪心法:
1、对于某个可行的划分,计算划分后的J(f)
2、对于所有可行的划分,选择J(f)降低最小的分割点
机器学习进阶:提升_第13张图片
知道了怎么切,再加上之前我们求出来的wj,整个树我们就搞出来了!!

4 Adaboost算法

给预测错的样本加上大的权值,给预测错误的加上小的权值。
初始的时候,各个样本的初始权重相同
机器学习进阶:提升_第14张图片
机器学习进阶:提升_第15张图片
机器学习进阶:提升_第16张图片
机器学习进阶:提升_第17张图片

你可能感兴趣的:(机器学习,决策树,算法)