前言:
{
之前在kaggle上看到了几个之前没学习过的模型,梯度提升机(gradient boosting machine,GBM)就是其中之一,可是《机器学习》[1]里没有相关介绍,因此我就在网上找了一些资料了解一下gradient boosting。
}
正文:
{
boosting算法:
{
首先需要介绍一下boosting算法。根据[1]中的介绍,boosting算法是一种集成学习的算法,集成学习是把许多模型集成为一个模型,并且包括串行集成和并行集成两种方式,boosting则是串行集成的代表。
简单来说,boosting算法就是根据前一个模型在训练集上训练的结果来调整训练集的分布,比如boosting的一个实例——adboost。
adboost算法大概包括:将第一个模型在第一个训练集(原始)上进行训练;根据结果为训练样本分配权值(错误越多的权值越大,错误越少的权值越小);根据此权值对原始数据集进行采样以得到第二个训练集;之后将第二个模型在第二个训练集上进行训练;重复上述过程直到最后一个模型完成训练。
}
梯度提升(gradient boosting,GB):
{
kag