持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第17天,点击查看活动详情
视频作者:简博士 - 知乎 (zhihu.com);简博士的个人空间_哔哩哔哩_bilibili
链接:【合集】十分钟 机器学习 系列视频 《统计学习方法》_哔哩哔哩_bilibili
分类决策树模型时一种描述对实例进行分类的树形结构
决策树由结点和有向边组成。结点有两种类型:内部结点表示一个特征或属性,叶结点表示一个类
决策树学习算法包含特征选择、决策树的生成与决策树的剪枝过程
给点数据集
D={(x1,y1),(x2,y2),⋯,(xN,yN)}
其中
-
xi=(xi(1),xi(2),⋯,xi(n))T为输入实例(特征向量)
-
n为特征个数
-
yi∈{1,2,⋯,K}为类标记
-
N为样本容量
特征选择
熵是表示随机变量不确定性的度量。设X是一个去有限个值的离散随机变量,其概率分布为
P(X=xi)=pi,i=1,2,⋯,n
则随机变量X的熵定义为
H(X)=−i=1∑npilogpi=H(p)
由定义可知,熵只依赖于X的分布,而与X的取值无关,所以也可将X的熵记作H(p)。这里我们定义0log0=0
我们可以通过数学验证
条件熵H(Y∣X)表示在已知随机变量X的条件下随机变量Y的不确定性。定义为X给定条件下Y的条干分布的熵对X的数学期望
H(Y∣X)=i=1∑nP(X=xi)H(Y∣X=xi)=i=1∑npiH(Y∣X=xi)
当熵和条件熵的概率由数据估计得到时,所对应的熵与条件熵称为经验熵和经验条件熵。此时,如果有0概率,令0log0=0
信息增益表示得知特征X的信息而使得类Y的信息的不确定性减少的程度。
特征X对训练数据集Y的信息增益g(Y,X),定义为集合Y的经验熵H(Y)与特征X给定条件下Y的经验条件熵H(Y∣X)之差,即
g(Y,X)=H(Y)−H(Y∣X)
信息增益大的特征具有更强的分类能力,因此我们要通过计算选择信息增益最大的特征
信息增益的算法
输入:训练数据集D和特征A
输出:特征A训练数据集D的信息增益g(D,A)
计算数据集D的经验熵H(D)
H(D)=−k=1∑K∣D∣∣Ck∣log∣D∣∣Ck∣
这里的D就是样本空间,对应X;C就是类别,对应Y;K就是决策结果的种类数,对应Y元素的个数
计算特征A对数据集D的经验条件熵H(D∣A)
H(D∣A)=i=1∑n∣D∣∣Di∣H(Di)
这里的i是特征A的种类的数量,例如年龄就有三类,工作有两类……
注意这里的经验熵不是H(D),而是H(Di),表示特征A的某个类别的经验熵
H(D∣A)=i=1∑n∣D∣∣Di∣H(Di)=−i=1∑n∣D∣∣Di∣k=1∑K∣Di∣∣Dik∣log∣Di∣∣Dik∣
这里K仍然是决策结果的种类数;Dik表示在A的某个类别对应决策结果的数量
计算信息增益
g(D,A)=H(D)−H(D∣A)
例:根据信息增益准则选择最优特征
![![[附件/Pasted image 20221004110237.png|500]]](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/481cde23e103463d8967a37b6cc06bd6~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
计算信息熵H(D)
H(D)=−159log159−156log156=0.971
对A1年龄计算条件信息熵
H(D∣A1)=155H(D11)+155H(D12)+155H(D13)=155(−52log52−53log53)+155(−53log53−52log52)+155(−154log54−51log51)=0.888
这里D11,D12,D13分别对应A1年龄中青年、中年、老年的样本
对应信息增益
g(D,A1)=0.971−0.888=0.083
同理我们计算A2有工作、A3有自己的房子、A4信贷情况
g(D,A2)g(D,A3)g(D,A4)=0.971−0.647=0.324=0.971−0.551=0.420=0.971−0.608=0.363
因此选择A3有自己的房子的作为最优特征
信息增益比
之前有说过对于样本等几率分布而言,样本数越大,熵值越大(可能的事件越多,不确定性越高),因此我们需要对其进行校正,因此引入信息增益比
特征X对训练数据集Y的信息增益比gR(Y,X)定义为其信息增益g(Y,X)与训练数据集Y关于特征X的值的熵HA(Y)之比,即
gR(Y,X)=HA(Y)g(Y,X)=−i=1∑n∣D∣∣Di∣log∣D∣∣Di∣g(Y,X)
这里Di是指A特征的各类别的数据数量
例:计算gR(D,A1)
g(D,A1)HA1(Y)gR(D,A1)=0.083=−155log155−155log155−155log155=1.585=1.5850.083=0.052
其余也是同理,可得
| 特征 | 信息增益 | HA(D) | 信息增益比 |
|---|
| 年龄 | 0.083 | 1.585 | 0.052 |
| 有工作 | 0.324 | 0.918 | 0.353 |
| 有自己的房子 | 0.420 | 0.971 | 0.432 |
| 信贷情况 | 0.363 | 1.566 | 0.232 |