【Datawhale-机器学习-Task05-决策树】

【学习内容:西瓜书与南瓜书:第四章–决策树】

【一、决策树的定义】

决策树是一个树结构,使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。主要包含:
(1)根节点:包含全部样本集,也是一个特征;
(2)内部节点:表示特征空间中的一个特征;
(3)叶节点:即是决策的结果;

【二、决策树学习基本算法】

决策树学习的目的是为了产生一颗泛化能力强,即处理未见示例能力强的决策树,即遇到特征判断能快速准确地判断出来。
递归返回三种情况:
(1)当前结点包含的样本全属于同一类别,无需划分;
(2)当前属性集为空,或是所有样本在所有属性上取值相同,无法划分类别;
(3)当前结点含的样本集合为空,不能划分;

关键点:如何选择最优划分属性—>样本尽可能属于同一类别,即纯度越来越高。

【三、划分选择】

信息熵:自信心的期望值,用于度量随机变量X的不确定性,值越大代表越不确定。
E n t ( D ) = − ∑ k = 1 ∣ y ∣ p k log ⁡ 2 p k Ent\left ( D \right ) =-\sum_{k=1}^{\left | y \right | } p_{k} \log_{2}{p_{k}} Ent(D)=k=1ypklog2pk
条件熵:
Y的信息熵关于概率分布X的期望,在已知X的分布后Y的不确定性
H ( Y ∣ X ) = ∑ x p ( x ) H ( Y ∣ X = x ) H\left ( Y\mid X \right ) =\sum_{x}^{}p\left ( x \right ) H\left ( Y\mid X=x \right ) H(YX)=xp(x)H(YX=x)
具体地
∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D v ) \sum_{v=1}^{V } \frac{\left | D^{v} \right | }{\left | D \right | } Ent\left ( D^{v} \right ) v=1VDDvEnt(Dv)
信息增益:
G a i n ( D , a ) = E n t ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D v ) Gain\left ( D,a \right ) =Ent\left ( D \right ) -\sum_{v=1}^{V } \frac{\left | D^{v} \right | }{\left | D \right | } Ent\left ( D^{v} \right ) Gain(D,a)=Ent(D)v=1VDDvEnt(Dv)

ID3决策树
以信息增益为准则来选择划分属性。
a ∗ = a r g max ⁡ a ∈ A G a i n ( D , a ) a_{*}=arg \max_{a\in A} Gain\left ( D,a \right ) a=argaAmaxGain(D,a)

C4.5决策树

ID3决策树存在的问题:可取数值数量太少的属性带来不利影响。
因此选择使用“增益率”代替“信息增益”:
G a i n _ r a t o p ( D , a ) = G a i n ( D , a ) I V ( a ) Gain\_ratop\left ( D,a \right ) =\frac{Gain\left ( D,a \right ) }{IV\left ( a \right ) } Gain_ratop(D,a)=IV(a)Gain(D,a)
其中,
I V ( a ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ log ⁡ 2 ∣ D v ∣ ∣ D ∣ IV\left ( a \right )= -\sum_{v=1}^{V } \frac{\left | D^{v} \right | }{\left | D \right | } \log_{2}\frac{\left | D^{v} \right | }{\left | D \right | } IV(a)=v=1VDDvlog2DDv
称为属性的“固有值”,a的可能取值个数越大,通常其固有值 I V ( a ) IV\left ( a \right ) IV(a)也越大。

CART决策树

基尼值:从样本集合D中随机抽取两个样本,其类别标记不一致的概率。因此,基尼值越小,碰到异类的概率就越小,纯度自然就越高,具体值为:
G i n i ( D ) = ∑ k = 1 ∣ y ∣ ∑ k ′ ≠ k p k p k ′ Gini\left ( D \right ) =\sum_{k=1}^{\left | y \right | } \sum_{k^{'}\ne k }^{} p_{k} p_{k^{'}} Gini(D)=k=1yk=kpkpk
基尼指数
Gini ⁡ _ index ⁡ ( D , a ) = ∑ v = 1 V ∣ D v ∣ ∣ D ∣ Gini ⁡ ( D v ) \operatorname{Gini}\_\operatorname{index}(D, a)=\sum_{v=1}^{V} \frac{\left|D^{v}\right|}{|D|} \operatorname{Gini}\left(D^{v}\right) Gini_index(D,a)=v=1VDDvGini(Dv)

CART决策树:选择基尼指数最小的属性作为最优划分属性,生成二叉树
a ∗ = a r g min ⁡ a ∈ A G i n i _ i n d e x ( D , a ) a_{*}=arg \min_{a\in A} Gini\_index\left ( D,a \right ) a=argaAminGini_index(D,a)
实际构造过程:
(1)对每个属性a的每个可能取值v,将数据集D分成两份,分别是a=v和a≠v,计算基尼指数,
(2)选择基尼指数最小的属性及其对应取值作为最优划分属性和最优划分点;
(3)重复以上两步,直至满足停止条件。

参考资料与文献
1、周志华. 机器学习[M]. 北京:清华大学出版社,2016.
2、谢文睿 秦州 贾彬彬 . 机器学习公式详解 第 2 版[M]. 人民邮电出版社,2023
3、感谢Datawhale小组所做的贡献,本次学习主要参考视频:。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值