决策树和随机森林
决策树算法的好处:训练速度快,可以集成形成更优的决策树
- 信息熵
- 离散随机变量的熵 H(P)=−Σi=1nPilnPi(一定是正数 )
连续随机变量的熵 H(P)=−∫f(x)lnxdx (可能是负数)
- 熵可以度量随机变量不确定性,越大表示越混乱(隐含假设概率越小带来的信息量越大)
- 如果变量完全确定,熵等于零
- 条件熵:H(Y∣X)=H(X,Y)−H(X)=−Σx,yp(x,y)lnp(y∣x)=Σxp(x)H(Y∣X=x)
- (X,Y)发生所包含的熵,减去X单独发生包含的熵:在X发生的前提下,Y发生新带来的熵
- 相对熵(互熵/交叉熵)
- 设p(x),q(x)是X中取值的两个概率分布,则p对q的相对熵是D(p∣∣q)=Σxp(x)logq(x)p(x)=EP(X)logq(x)p(x)
- 相对熵可以度量两个随机变量的‘距离’
- 一般的,D(p||q)≠D(q||p)
- D(p||q)≥0,D(q||p)≥0:凸函数中的Jensen不等式
- 互信息
- 两个随机变量X,Y的互信息,定义为X,Y的联合分布和独立分布乘积的相对熵。
-
I(X,Y)=D(P(X,Y)∣∣P(X)P(Y))
I(X,Y)=Σx,yp(x,y)logp(x)p(y)p(x,y)
- X,Y独立,则I(X,Y)=0;否则大于0
- H(Y)-I(X|Y)=H(Y|X)
- I(X,Y)=H(X)+H(Y)-H(X,Y)
- H(X|Y)≤H(X),H(Y|X)≤H(Y)
- 决策树
- 以实例为基础的归纳学习,采用自顶而下的递归方法,基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零,此时每个叶节点中的实例都属于同一类。
- 每个内部结点表示在一个属性上的测试,每个分支代表一个测试输出,每个叶结点代表一种类别
- 属于有监督学习,在学习过程中不需要使用者了解过多背景知识,只需要对训练实例进行较好的标注。
- 信息增益g(D,A)=H(D)-H(D|A):
- 得知特征A的信息而使得类X的信息的不确定性减少的程度
- 定义特征A对训练数据集D的信息增益g(D,A),为集合D的经验熵与特征A给定条件下D的经验条件熵之差(经验熵:当熵的概率由数据估计/极大似然估计得到时对应的熵)
- 决策树学习中的信息增益等价于训练数据集中类与特征的互信息
-
H(D)=−Σk=1KD∣Ck∣lnD∣Ck∣
-
∣Ck∣:属于类Ck的样本个数
-
∣D∣:样本个数
-
H(D∣A)=−Σi=1nD∣Di∣Σk=1K∣Di∣∣Dik∣lnDi∣Dik∣
-
∣Di∣:根据特征A取值划分的子集中样本个数
-
∣Dik∣:子集Di中属于类Ck的样本个数
- 信息增益率:
gr(D,A)=g(D,A)/H(A)
- Gini系数:Gini(p)=Σk=1Kpk(1−pk)=1−Σk=1Kpk2=1−Σk=1K(D∣Ck∣)2
可以理解为熵的一阶近似
- 三种决策树学习算法
- ID3(Iterative Dichotomiser)
实用信息增益/互信息g(D,A)进行特征选择,看哪一个特征给定后可以使得熵下降最快
- C4.5
信息增益率
- CART(Classification and Regression Tree)
Gini系数
一个属性的信息增益/gini指数越大,说明属性对样本熵减少的能力更强,这个属性使得数据由不确定性变成确定性的能力越强
相关文章: