0
点赞
收藏
分享

微信扫一扫

3-6 决策树、CART树、GBDT、xgboost、lightgbm一些关键点梳理

1、决策树

树的节点代表样本的集合,通过筛选特征,将特征空间划分为互不相交的样本集合。经典的分类树算法,主要有ID3、C4.5、CART树(CART分类树、CART回归树)

(1)ID3、C4.5重点在于如何选取最优特征对样本进行划分;

(2)CART树,二叉树的结构,涉及最优特征的选择以及该特征下最优划分点的选择。

ID3决策树:计算最大信息增益的特征,对样本进行划分; 

C4.5决策树:计算最大信息增益率(也叫信息增益比)的特征,对样本进行划分。

ID3决策树、C4.5决策树输入为离散特征、输出为K分类的结果。

信息增益,也称集合D和特征A的互信息,公式: g(D,A) = H(D) - H(D| A)

其中,H(D)为当前集合的信息熵,信息熵越大说明信息不确定性越大,H(D|A)是特征A条件下集合D的信息熵(特征A下的条件熵);信息熵衡量信息的不确定性,信息增益衡量特征A对D不确定性减少的程度。H(D|A)越小,g(D,A)越大,特征更有利于分类。

通过信息熵定义,K为分类任务的类别个数,计算样本集D的信息熵,计算公式如下:

 H(D) = -\sum_{k=1}^{K}\frac{\left | C_{k} \right |}{\left | D \right |}log\frac{\left | C_{k} \right |}{\left | D \right |}         

特征A下的D的条件熵计算如下:其中,A特征有n个取值,通过每个特征取值对D样本进行划分,然后计算各划分子集的信息熵和

信息增益率的引入考虑到,信息增益相近的情况下,某特征类别情况过多的情况容易产生过拟合等问题。因此,除以特征取值在D下的信息熵,信息增益率计算如下,n为A特征下特征取值的个数:


2、CART树

CART树,名字叫分类与回归树(classification and regression tree, CART)。是二叉树的结构,对于离散和连续特征,都可以将样本通过特征的取值,划分到左右两个集合中。因此,原则上需要计算每个特征下每个特征取值的情况,从而选择最优划分点以及对应的特征。CART分类树和CART回归树的展开方式略有不同。

2.1 CART分类树-输入样本特征;输出样本对应的类别(离散型)

CART分类树采用基尼指数作为划分条件,基尼指数越大说明不确定性越小,计算公式如下:

在特征A的条件下(特征取值a划分点下),集合D的基尼指数定义如下,书上都写成Gini(D,A),实际和H(D|A)的意思类似:

分类树最终叶子节点上,相同类别值最多 的类别对应 被划分集合 的类别。

2.2 CART回归树-输入样本特征;输出样本的回归值(连续型)

CART回归树通过最小化损失函数的方式来选择划分点,每个叶子节点集合对应的预测值为 使得被划分集合损失函数最小的回归值。CART回归树希望每个集合划分后,总损失函数值都能减小。

因此,选取最优特征及特征取值的划分点,如下:其中j代表特征,s代表特征的划分点,c1代表左子树使得左子树集合损失最小的回归值,c2代表右子树使得右子树集合损失最小的回归值

里面的min求得左、右子树的损失最小以及c1、c2的值,外面的min保证求得整体最小损失值下的j和s。可以看出要算出候选的j、s的损失,需要先算出里面min的c1和c2。

如果loss(y^{i},c) = (y_{i}-c)^{2} 那么,c_{m} = \frac{1}{N_{m}}\sum_{x_{i}\epsilon R_{m}(j,s)}y_{i}


3、GBDT

此处为了对接后续xgboost,仅阐述解决回归问题的梯度提升树。困了明天继续写

举报

相关推荐

0 条评论