最近一直想整理一下从boosting到adaboost,再到GDBT再到xgboost最后到lightgbm,顺带也说一下随机森林各种,因为树模型在各行各业的模型使用还是挺广泛的,如果不梳理一下,总觉得缺点什么,也整理一下自己的思路,话说最近在研究行业,这几个月看了金融行业里面的很多细分市场,每一个细分市场都很大,但是研究进去了发现和现实想的不那么一样,所以有点失落,还好,如果行业没有得到肯定,演算法还是比较实在的东西,还是可以整理的。

什么是集成演算法

按我的理解,集成学习是通过训练弱干个学习分类器,并通过一定的结合策略,从而形成强学习器

这里不得不提的东西,就是网上说的同质学习,异质学习

何为同质学习:所有的个体学习器都是一种类型

何为异质学习:就是和同质相反,所有的个体学习器不完全是一种

同质学习器也会按照个体学习器之间是否依赖关系可以分为两类,第一个是个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串列生成,代表演算法大部分boosting演算法都是这种

第二个是个体学习器之间不存在依赖关系,一系列演算法可以并行生成,代表演算法是bagging和随机森林(Random Forest)演算法

随机森林

随机森林其实在我的分类里面有一篇文章介绍,大家可以自己去看

或者我给一个连接吧

jason:随机森林?

zhuanlan.zhihu.com
图标

不过还是要说一下cat如果做分类用的guni公式

cat分类有两种一种回归,一种分类,回归可以用最下二乘,分类可以用gini

Gini(D,A)=D1DGini(D1)+D2DGini(D2)

剪枝包括两种,一种是预剪枝,一种是后剪枝,预剪枝不常用就一笔带过,预剪枝就是通过提前停止树的构建而对树剪枝,预剪枝主要的方法是通过定义树的高度,定义阀值,当达到某个节点实列小于阀值停止树的生长,增益值,gini值小于某一个值时停止树的生长。

后剪枝:

后剪 先构造完整的树,然后对置信度不高的节点子树用叶子节点来代替,该叶子的类标记号用该节点子树中最频繁的类标记。

介绍boosting

boosting是将弱学习器提升为强学习器的演算法。

接下来的这几天会完善


推荐阅读:
查看原文 >>
相关文章