从决策树到GBDT(一)

鉴于最近面试总是被问到这类问题,所以这次就是想写一个从决策树到GBDT这一系列的博文。一方面加深记忆,另一方面也供以后方便回头看。再者若是能够为也正在机器学习这条路上摸爬滚打的朋友有一点助益就更圆满了。

本博客是第一部分,主要介绍一下决策树的基础:特征选择。
决策树算法主要有三部分:
特征选择
决策树的生成
决策树的剪枝
而特征选择是决策树最重要的部分也是最耗时的部分。这部分的主要作用是选择出最有划分特征,使得数据集在划分之后能够有一个很好的结果。比较常用决策树特征选择算法有:信息增益、信息增益率、基尼系数。下面会逐步介绍。

1,信息熵
在信息论与概率统计学中,熵(entropy)是一个很重要的概念。在机器学习与特征工程中,熵的概念也用得非常多。而信息熵也是特征选择算法的基础。
熵是度量一个集合中随机变量的不确定性(即纯度)。
根据规矩咱们先从数学的角度介绍一下熵。
假设随机变量X可能的取值为:这里写图片描述
对于每一个可能的取值xi,其存在概率密度可以得到各个xi的概率:这里写图片描述

那个该随即变量的信息熵为:
这里写图片描述

这样就可以得到一个样本集D中根据X划分之后的信息熵了。
由式1.1可以得到以下信息:若x1=1,而其他为0,那么entropy(X)=0 (我们认为0*log(0)=0),此时表示很确定,没有混乱;而当所有的xi等相等的时候entropy(X)=-nlog(1/n),此时表示分布的非常均匀且混乱。
所以我们期望entropy(X)能够得到较小的值。

另外对于离散型的变量的话,是通过类别出现的频率来表示概率的。假设样本集D,随机变量X的样本类别有k个,而每个类别下面有Ck个样本,那么每个类别的概率为:这里写图片描述
|Ck|表示类别k的样本数,|D|表示样本总数
则样本集D随机变量X的信息熵为:
这里写图片描述

2,信息增益
信息增益白话一点说,就是信息熵的差值:在没有分裂之前计算一下信息熵然后根据随机变量X计算一下信息熵,两者之间的差值就是信息增益的多少。信息增益越大表明该变量对于样本集的贡献越大,而划分之后的集合也越稳定。公式为:
这里写图片描述
其中H(D|A)表示使用特征A来划分集合D之后得到的信息熵,H(D)表示在使用特征划分之前的信息熵。
实际上,样本集D应该有很多个用于划分的特征,假设一共有q个特征:
这里写图片描述
计算所有这些特征划分数据集D得到的信息增益,去信息增益最大的作为当前划分所用的特征。

3,信息增益的例子
现在要决定去不去打球,打球受两个因素决定天气和风力。
Y:{打球| 去,不去}
决定因素:
{风力| 大,小}
{天气| 晴,阴}
之前打球的记录如下表所示:
这里写图片描述
根据上述条件计算信息增益,选取最优的特征。
上表中共有14个实例,包括9个正例,5个负例。
1,计算在加入特征之前的信息熵:
这里写图片描述

2,计算各个特征下得到的信息熵
a,计算天气(weather)划分之后的信息增益
天气划分数据集如下所示:
这里写图片描述
在天气特征下将数据集划分成两个:晴天有7条记录,阴天有7条记录
计算分裂之后的信息熵:
这里写图片描述
最后计算天气特征对打球的信息增益:
这里写图片描述

b,计算风力(wind)划分之后的信息增益
风力特征与数据集的关系如下所示;
这里写图片描述
通过计算得到:
En(wind=小) = 0.811
En(wind=大) = 0.1.0
这里写图片描述
3,比较各个特征下的信息增益
从信息增益的大小中可以得到:Weather的分裂效果要比Wind的要好。所以应该优先选取Weather作为特征。

4,信息增益率
信息增益虽然好,但是它会偏向于取值较多的特征。因为当特征值取值较多时,划分后的子集的数目较少且纯度较高,得到的熵也更低,因此得到的信息增益也较大。最极端的假设是分裂后得到的每个子集只有一个样本,有log(1)=0知,其信息熵为0,那么信息增益就是最大的了。这样是不可取的。
信息增益率就是为了克服着方面的问题而提出的:信息增益比 = 惩罚参数 * 信息增益
其数学公式如下:
这里写图片描述
其中Gain(D|A)为特征A的信息增益,En(D|A)为特征A将集合D划分之后的信息熵,也就是考虑划分之后的混乱程度,特征A划分的子集越多,En(D|A)就越大,那么惩罚程度就越大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值