机器学习常用算法原理梳理

adaboost、GBDT、xgboost、lightgbm原理梳理与辨析
首先,这四个算法都是集成算法boosting框架下的。根据boosting策略不同可以分为两大类,adaboost一类,GBDT、xgboost、lightgbm一类。

1、 boosting(提升)方法

boosting方法是一种比较经典的集成方法就,在分类问题中,boosting方法通过改变训练样本的权重(如增大分类错误的样本的权重,减小分类正确的样本的权重),更加关注分类错误的样本,迭代学习多个分类器,并将这些分类器进行线性组合,从而提高分类的性能。

2、Adaboost

Adaboost是比较具有代表性的boosting算法。
对于boosting方法,有两个问题需要解答
1、在每一轮如何改变训练样本的权重或概率分布
2、如何将弱分类器组合成一个强分类器
对于第一个问题,Adaboost通过提高那些被前一轮弱分类器错误分类样本的权重,降低那些正确分类样本的权重,使分类器更加注意错误分类错误的样本
对于第二个问题,Adaboost使用加权表决的方法,及将迭代过程中产生的弱分类器线性加权相加。其中分类效果好的弱分类器赋予较大的权重,使其在表决中起到较大的作用,分类效果差的赋予较小的权重,在表决中起到较小的作用。

2.1、 Adaboost算法过程:

在这里插入图片描述

3、GBDT

GBDT算法的集学习器是cart回归树。CART(Classification And Regression Tree)是同ID3,,C4.5一样,比较经典的树模型。CART假设决策树是二叉树,内部结点特征的取值为“是”和“否”,这样的决策树实际上是递归的二分每个特征,即将特征空间(输入空间)划分为有限单元,并在这些单元上确定预测的概率分布。
GBDT与Adaboost的不同之处在于boosting策略的不同。GBDT是一种加法模型,其并不显性的改变样本的权重,而是通过拟合上一轮分类器的残差(或损失函数的负梯度值)来产生新的cart树,新树与上一轮的分类器相加,得到新的分类器。
GBDT算法过程如下:
在这里插入图片描述

4、xgboost

算法原理简介:
XgBoost是GBDT的工程实现,将GBDT的一阶泰勒展开扩展至二阶泰勒展开。通过不断地添加树,不断地进行特征分裂来生长一棵树,每次添加一个树,其实是学习一个新函数,去拟合上次预测的残差。当我们训练完成得到k棵树,我们要预测一个样本的分数,其实就是根据这个样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点就对应一个分数,最后只需要将每棵树对应的分数加起来就是该样本的预测值.
(待补充)

5、lightgbm

算法原理简介:
它和XgBoost一样是对GBDT的高效实现,对xgboost的改进,原理上它和GBDT及XGBoost类似,都采用损失函数的负梯度作为当前决策树的残差近似值,去拟合新的决策树。
(待补充)

6、SVM

算法基本原理简介:
寻找一个超平面可以最大化分类间隔,判别模型。
(待补充)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值