机器学习初探(三)决策树

机器学习初探(三)决策树在开始介绍决策树的基本算法之前,首先要了解一下决策树算法中的所使用到的损失函数。决策树中度量不确定性的度量标准几乎所有的决策树算法的思想都是一样的:不断地对数据集进行划分,而决定如何划分的标准是使得数据的“不确定性”减小的越多越好,就意味着该划分能够获得越多信息。接下来介绍一下常用的两种度量标准:1.信息熵公式:H(y)=−∑k=1KpklogpkH\left (...
摘要由CSDN通过智能技术生成

机器学习初探(三)决策树

在开始介绍决策树的基本算法之前,首先要了解一下决策树算法中的所使用到的损失函数。

决策树中度量不确定性的度量标准

几乎所有的决策树算法的思想都是一样的:不断地对数据集进行划分,而决定如何划分的标准是使得数据的“不确定性”减小的越多越好,就意味着该划分能够获得越多信息。接下来介绍一下常用的两种度量标准:
1.信息熵
公式: H ( y ) = − ∑ k = 1 K p k l o g p k H\left ( y \right )=-\sum_{k=1}^{K}p_{k}logp_{k} H(y)=k=1Kpklogpk
对于具体的、随机变量y生成的数据集 D = { y 1 , . . . , y N } D=\left \{ y_{1},...,y_{N} \right \} D={ y1,...,yN}而言,在实际操作中通常会利用经验熵来估计真正的信息熵:
H ( y ) = H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ l o g ∣ C k ∣ ∣ D ∣ H\left ( y \right )=H\left ( D \right )=-\sum_{k=1}^{K}\frac{\left | C_{k} \right |}{\left | D \right |}log\frac{\left | C_{k} \right |}{\left | D \right |} H(y)=H(D)=k=1KDCklogDCk
这里假设随机变量y的取值空间为 { c 1 , . . . , c K } \left \{ c_{1},...,c_{K} \right \} { c1,...,cK} p k p_{k} pk表示y取 c k c_{k} ck的概率: p k = p ( y = c k ) p_{k}=p\left ( y=c_{k} \right ) pk=p(y=ck) ∣ C k ∣ \left | C_{k} \right | Ck代表由随机变量y中类别为 c k c_{k} ck的样本的个数, ∣ D ∣ \left | D \right | D代表D的总样本个数(亦即 ∣ D ∣ = N \left | D \right |=N D=N)。可以看到,经验公式背后的思想其实就是“频率估计概率”。
接下来阐述一下为什么信息熵能够用来度量数据的不确定性。
很直观地来看,如果随机变量取到每一个类别 p k p_{k} pk的概率都是一样的,亦即y完全没有规律可循,此时的由y生成出来的数据 { y 1 , . . . , y N } \left \{ y_{1},...,y_{N} \right \} { y1,...,yN}的不确定性是在取值空间为 { c 1 , . . . , c K } \left \{ c_{1},...,c_{K} \right \} { c1,...,cK}、样本数为N的数据中最大的。
而当随机变量完全属于某一类别,即存在某个 k ∗ k^{*} k,使得 p ( y = c k ∗ ) = 1 p\left ( y=c_{k^{*}} \right )=1 p(y=ck)=1 p ( y = c k ) = 0 , ∀ k ≠ k ∗ p\left ( y=c_{k} \right )=0,\forall k\neq k^{*} p(y=ck)=0k̸=k,此时y产生数据的不确定性最小。
而信息熵公式恰好满足以上性质,以简单的K=2的情况来看,其函数图像就像一个倒扣的碗,当p=0.5时H(y)达到最大,p=0或1时H(y)为0。
在这里插入图片描述
2.基尼系数
G i n i ( y ) = ∑ k = 1 K p k ( 1 − p k ) = 1 − ∑ k = 1 K p k 2 Gini\left ( y \right )=\sum_{k=1}^{K}p_{k}\left ( 1-p_{k} \right )=1-\sum_{k=1}^{K}p_{k}^{2} Gini(y)=k=1Kpk(1pk)=1k=1Kpk2
同样可以利用经验基尼系数来进行估计:
G i n i ( y ) = G i n i ( D ) = 1 − ∑ k = 1 K ( ∣ C k ∣ ∣ D ∣ ) 2 Gini\left ( y \right )=Gini\left ( D \right )=1-\sum_{k=1}^{K}\left ( \frac{\left | C_{k} \right |}{\left | D \right |} \right )^{2} Gini(y)=Gini(D)=1k=1K(DCk)2
可以证明,基尼系数拥有与信息熵同样的性质,即 p 1 = p 2 = . . . = p K = 1 K p_{1}=p_{2}=...=p_{K}=\frac{1}{K} p1=p2=...=pK=K1时,Gini(y)取得最大值,当存在 k ∗ k^{*} k使得 p k ∗ = 1 p_{k^{*}}=1 pk=1时,Gini(y)=0。

信息的增益

在了解了不确定性的度量标准后,决策树应该如何利用这些标准?这就不得不提到一个概念——信息的增益是针对随机变量y和描述该变量的特征来定义的,此时数据集 D = { ( x 1 , y 1 ) , . . . , ( x N , y N ) } D=\left \{ \left ( x_{1},y_{1} \right ),...,\left ( x_{N},y_{N} \right ) \right \} D={ (x1,y1),...,(xN,yN)},其中 x i = ( x i ( 1 ) , . . . , x i ( n ) ) T x_{i}=\left ( x_{i}^{\left ( 1 \right )},...,x_{i}^{\left ( n \right )} \right )^{T} xi=(xi(1),...,xi(n))T是描述 y i y_{i} yi的特征向量,n则是特征个数。可以先研究单一特征情况,该特征为A,数据集 D = { ( A 1 , y 1 ) , . . . , ( A N , y N ) } D=\left \{ \left (A_{1},y_{1} \right ),...,\left ( A_{N},y_{N} \right ) \right \} D={ (A1,y1),...,(AN,yN)};此时所谓的信息增益,反映的就是特征A所能给我们带来的关于y的“信息量”的大小。
因此在这里引入条件熵 H ( y ∣ A ) H\left ( y\mid A \right )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值