视频作者:简博士 - 知乎 简博士的个人空间_哔哩哔哩_bilibili

链接:【合集】十分钟 机器学习 系列视频 《统计学习方法》_哔哩哔哩_bilibili

分类决策树模型时一种描述对实例进行分类的树形结构

 

决策树由结点和有向边组成。结点有两种类型:内部结点表示一个特征或属性,叶结点表示一个类

 

决策树学习算法包含特征选择、决策树的生成与决策树的剪枝过程

 

给点数据集

$$

D=\left{(x_{1},y_{1}),(x_{2},y_{2}),\cdots ,(x_{N},y_{N})\right}

$$

其中

  • $x_{i}=(x_{i}^{(1)},x_{i}^{(2)},\cdots ,x_{i}^{(n)})^{T}$为输入实例(特征向量)

  • $n$为特征个数

  • $y_{i}\in \left{1,2,\cdots ,K\right}$为类标记

  • $N$为样本容量

 

特征选择

熵是表示随机变量不确定性的度量。设$X$是一个去有限个值的离散随机变量,其概率分布为

$$

P(X=x_{i})=p_{i},i=1,2,\cdots,n

$$

则随机变量$X$的熵定义为

$$

H(X)=- \sum\limits_{i=1}^{n}p_{i}\log p_{i}=H(p)

$$

由定义可知,熵只依赖于$X$的分布,而与$X$的取值无关,所以也可将$X$的熵记作$H(p)$。这里我们定义$0 \log0=0$

我们可以通过数学验证

  • 当所有样本等几率出现的情况下,熵达到最大值(所有可能的事件等概率时不确定性最高)

  • 对于样本等几率分布而言,样本数越大,熵值越大(可能的事件越多,不确定性越高)

 

条件熵$H(Y|X)$表示在已知随机变量$X$的条件下随机变量$Y$的不确定性。定义为$X$给定条件下$Y$的条干分布的熵对$X$的数学期望

$$

H(Y|X)=\sum\limits_{i=1}^{n}P(X=x_{i})H(Y|X=x_{i})=\sum\limits_{i=1}^{n}p_{i}H(Y|X=x_{i})

$$

 

当熵和条件熵的概率由数据估计得到时,所对应的熵与条件熵称为经验熵和经验条件熵。此时,如果有$0$概率,令$0 \log0=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)=- \sum\limits_{k=1}^{K} \frac{|C_{k}|}{|D|}\log \frac{|C_{k}|}{|D|}

$$

 

这里的$D$就是样本空间,对应$X$;$C$就是类别,对应$Y$;$K$就是决策结果的种类数,对应$Y$元素的个数

 

计算特征$A$对数据集$D$的经验条件熵$H(D|A)$

$$

H(D|A)=\sum\limits_{i=1}^{n} \frac{|D_{i}|}{|D|}H(D_{i})

$$

 

这里的$i$是特征$A$的种类的数量,例如年龄就有三类,工作有两类……

注意这里的经验熵不是$H(D)$,而是$H(D_{i})$,表示特征$A$的某个类别的经验熵

 

$$

H(D|A)=\sum\limits_{i=1}^{n} \frac{|D_{i}|}{|D|}H(D_{i})=- \sum\limits_{i=1}^{n} \frac{|D_{i}|}{|D|}\sum\limits_{k=1}^{K} \frac{|D_{ik}|}{|D_{i}|}\log \frac{|D_{ik}|}{|D_{i}|}

$$

 

这里$K$仍然是决策结果的种类数;$D_{ik}$表示在$A$的某个类别对应决策结果的数量

 

计算信息增益

$$

g(D,A)=H(D)-H(D|A)

$$

 

例:根据信息增益准则选择最优特征

![[附件/Pasted image 20221004110237.png|500]]

 

 

计算信息熵$H(D)$

$$

H(D)=- \frac{9}{15}\log \frac{9}{15}- \frac{6}{15}\log \frac{6}{15}=0.971

$$

对$A_{1}$年龄计算条件信息熵

$$

\begin{aligned}

H(D|A_{1})&=\frac{5}{15}H(D_{11})+ \frac{5}{15}H(D_{12})+ \frac{5}{15}H(D_{13})\

&=\frac{5}{15}(- \frac{2}{5}\log \frac{2}{5}- \frac{3}{5}\log \frac{3}{5})+ \frac{5}{15}(- \frac{3}{5}\log \frac{3}{5} - \frac{2}{5} \log \frac{2}{5})+ \frac{5}{15}(- \frac{4}{15} \log \frac{4}{5}- \frac{1}{5} \log \frac{1}{5})\

&=0.888

\end{aligned}

$$

这里$D_{11},D_{12},D_{13}$分别对应$A_{1}$年龄中青年、中年、老年的样本

对应信息增益

$$

g(D,A_{1})=0.971-0.888=0.083

$$

同理我们计算$A_{2}$有工作、$A_{3}$有自己的房子、$A_{4}$信贷情况

$$

\begin{aligned}

g(D,A_{2})&=0.971-0.647=0.324\

g(D,A_{3})&=0.971-0.551=0.420\

g(D,A_{4})&=0.971-0.608=0.363

\end{aligned}

$$

因此选择$A_{3}$有自己的房子的作为最优特征

 

信息增益比

之前有说过对于样本等几率分布而言,样本数越大,熵值越大(可能的事件越多,不确定性越高),因此我们需要对其进行校正,因此引入信息增益比

特征$X$对训练数据集$Y$的信息增益比$g_{R}(Y,X)$定义为其信息增益$g(Y,X)$与训练数据集$Y$关于特征$X$的值的熵$H_{A}(Y)$之比,即

$$

g_{R}(Y,X)=\frac{g(Y,X)}{H_{A}(Y)}=\frac{g(Y,X)}{-\sum\limits_{i=1}^{n} \frac{|D_{i}|}{|D|}\log \frac{|D_{i}|}{|D|}}

$$

这里$D_{i}$是指$A$特征的各类别的数据数量

 

例:计算$g_{R}(D,A_{1})$

$$

\begin{aligned}

g(D,A_{1})&=0.083\

H_{A_{1}}(Y)&=- \frac{5}{15}\log \frac{5}{15}- \frac{5}{15}\log \frac{5}{15}- \frac{5}{15}\log \frac{5}{15}=1.585\

g_{R}(D,A_{1})&=\frac{0.083}{1.585}=0.052

\end{aligned}

$$

其余也是同理,可得

 

     特征     信息增益 $H_{A}(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