机器学习进阶:提升

1 提升算法

1.1 提升的概念

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

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

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

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

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

1.2 提升算法推导

在这里插入图片描述
我们的目标是寻找最优解F(x),使得损失函数在训练集上的期望最小。
首先,给定常函数F0(X):
在这里插入图片描述
以貪心的思路拓展到Fm(X):

在这里插入图片描述

2 GBDT算法

其实是代价函数的一阶泰勒展开,让决策树来拟合负梯度,在平方损失函数的前提下,负梯度就是残差(y_真实值-y_预测值)

算法步骤:
在这里插入图片描述
其中第(2)的(b)是用(xi,残差i)来拟合一颗决策树,知道怎么分了之后通过(c)来求出这棵决策树的输出值。

3 XGBOOST算法

目标函数的理解:
在这里插入图片描述
在这里插入图片描述
决策树其实就是在做两件事情:树长什么样子,以及权值是什么
在这里插入图片描述
正则项的定义:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
举例:
在这里插入图片描述
构造树的结构:
使用贪心法:
1、对于某个可行的划分,计算划分后的J(f)
2、对于所有可行的划分,选择J(f)降低最小的分割点
在这里插入图片描述
知道了怎么切,再加上之前我们求出来的wj,整个树我们就搞出来了!!

4 Adaboost算法

给预测错的样本加上大的权值,给预测错误的加上小的权值。
初始的时候,各个样本的初始权重相同
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值