决策树

决策树

决策树模型

  • 决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的修剪。常用的算法有ID3、C4.5、CART算法。
  • 决策树由结点有向边组成;内部节点表示特征属性叶节点表示一个

特征选择准则

特征选择准则有信息增益(ID3)、信息增益比(C4.5)、基尼指数(CART)。

熵和条件熵

熵(entropy):熵是随机变量不确定性的度量。
X X 是一个取有限值的离散型随机变量,随机变量X的熵定义为:
H(X)=ni=1pilogpi(1) (1) H ( X ) = − ∑ i = 1 n p i l o g p i
条件熵:条件熵 H(Y|X) H ( Y | X ) 表示在已知随机变量 X X 的条件下,随机变量Y的不确定性。
H(Y|X)=ni=1piH(Y|X=xi)(2) (2) H ( Y | X ) = ∑ i = 1 n p i H ( Y | X = x i )
这里, pi=P(X=xi),i=1,2,....,n p i = P ( X = x i ) , i = 1 , 2 , . . . . , n i i 特征X的取值的个数。

信息增益(information gain)

信息增益:由于特征A而使得对数据集D的分类的不确定性减少的程度。
样本集合D对特征A的信息增益 g(D,A) g ( D , A ) 为:

g(D,A)=H(D)H(D|A) g ( D , A ) = H ( D ) − H ( D | A )
H(D)=k=1KCkDlog2CkD H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ l o g 2 ∣ C k ∣ ∣ D ∣
H(D|A)=i=1nDiDH(Di)=i=1nDiDk=1KDikDilog2DikDi H ( D | A ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ H ( D i ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ∑ k = 1 K ∣ D i k ∣ ∣ D i ∣ l o g 2 ∣ D i k ∣ ∣ D i ∣

其中, H(D) H ( D ) 是数据集 D D 的熵,Di D D 中特征A取第 i i 个值的样本集。H(D|A)为数据集 D D 对特征A的条件熵, H(Di) H ( D i ) 为数据集 Di D i 的熵, K K 为样本类别的个数。Dik为特征 A A 取第i个值时,第 k k 个类别样本的数量。Ck D D 中属于第k类的样本子集, n n 是特征A的取值个数。

信息增益比

样本集合 D D 对特征A的信息增益比为:样本集合 D D 对特征A的信息增益和集合 D D 关于特征A的值的熵 HA(D) H A ( D ) 之比:

gR(D,A)=g(D,A)HA(D)(3) (3) g R ( D , A ) = g ( D , A ) H A ( D )

其中, HA(D)=ni=1DiDlog2DiD H A ( D ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ l o g 2 ∣ D i ∣ ∣ D ∣ n n 是特征A取值的个数。

基尼指数

在分类问题中,假设有 k k 个类,则样本点属于第k类的概率为 pk p k ,则概率分布的基尼指数为:

Gini(p)=k=1Kpk(1pk)=1k=1Kpk2 G i n i ( p ) = ∑ k = 1 K p k ( 1 − p k ) = 1 − ∑ k = 1 K p k 2

对于二分类问题,若样本点属于第1个类的概率是 p p ,则概率分布的基尼指数为
Gini(p)=2p(1p)

  对于给定的集合样本 D D ,其基尼指数为
Gini(D)=1k=1K(CkD)2

这里, Ck C k D D 中属于第k类的样本子集, K K 是类的个数。
若特征A将样本集合 D D 划分成D1 D2 D 2 两部分。则在特征 A A 的条件下,集合D的基尼指数定义为:
Gini(D,A)=C1DGini(D1)+C2DGini(D2) G i n i ( D , A ) = ∣ C 1 ∣ ∣ D ∣ G i n i ( D 1 ) + ∣ C 2 ∣ ∣ D ∣ G i n i ( D 2 )

决策树剪枝:

  • 解决问题:解决决策树的过拟合问题。
  • 定义:
    决策树剪枝通过极小化决策树整体的损失函数或者代价函数来实现。
    设一棵树 T T 的叶子结点的个数为T,某个叶子结点为 t t ,该t叶节点有 Nt N t 个样本点,其中k类的样本点有 Ntk N t k 个, k=1,2,...,K k = 1 , 2 , . . . , K 。决策树的损失函数定义为:
    Ca(T)=C(T)+a|T| C a ( T ) = C ( T ) + a | T |

    其中, T T 为任意子树,C(T)为对训练数据的预测误差, T ∣ T ∣ 为模型的复杂度。 α α 权衡训练数据的拟合程度与模型的复杂度。较大的 α α 促使选择较简单的决策树,较小的 α α 促使选择较复杂的决策树。 a=0 a = 0 只考虑模型与训练数据的拟合程度,不考虑模型的复杂度。
    节点分裂度量方法通过(信息增益\信息增益比\Gini)对训练数据进行更好的拟合,决策树剪枝通过优化损失函数来减少模型的复杂度。
    Ca(T)=t=1|T|NtHt(T)+a|T| C a ( T ) = ∑ t = 1 | T | N t H t ( T ) + a | T |
    =t=1TNt(kNtkNtlogNtkNt)+a|T| = ∑ t = 1 ∣ T ∣ N t ( − ∑ k N t k N t l o g N t k N t ) + a | T |
    =t=1|T|k=1KNtklogNtkNt+a|T| = − ∑ t = 1 | T | ∑ k = 1 K N t k l o g N t k N t + a | T |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值