决策树和随机森林

决策树算法的好处:训练速度快,可以集成形成更优的决策树

  • 信息熵
    • 离散随机变量的熵 H(P)=Σi=1nPilnPiH(P)=-\Sigma_{i=1}^nP_ilnP_i(一定是正数 )
      连续随机变量的熵 H(P)=f(x)lnxdxH(P)=-\int f(x)lnx dx (可能是负数)
      • 熵可以度量随机变量不确定性,越大表示越混乱(隐含假设概率越小带来的信息量越大)
      • 如果变量完全确定,熵等于零
    • 条件熵:H(YX)=H(X,Y)H(X)=Σx,yp(x,y)lnp(yx)=Σxp(x)H(YX=x)H(Y|X)=H(X,Y)-H(X)=-\Sigma_{x,y}p(x,y)lnp(y|x)=\Sigma_x p(x)H(Y|X=x)
      • (X,Y)发生所包含的熵,减去X单独发生包含的熵:在X发生的前提下,Y发生新带来的熵
    • 相对熵(互熵/交叉熵)
      • 设p(x),q(x)是X中取值的两个概率分布,则p对q的相对熵是D(pq)=Σxp(x)logp(x)q(x)=EP(X)logp(x)q(x)D(p||q)=\Sigma_x p(x)log\frac {p(x)} {q(x)}=E_{P(X)}log\frac {p(x)} {q(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)=D(P(X,Y)||P(X)P(Y))
        I(X,Y)=Σx,yp(x,y)logp(x,y)p(x)p(y)I(X,Y)=\Sigma_{x,y}p(x,y)log\frac {p(x,y)} {p(x)p(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)
        20/03/13 机器学习---基础算法 (4)
  • 决策树
    • 以实例为基础的归纳学习,采用自顶而下的递归方法,基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零,此时每个叶节点中的实例都属于同一类。
    • 每个内部结点表示在一个属性上的测试,每个分支代表一个测试输出,每个叶结点代表一种类别
    • 属于有监督学习,在学习过程中不需要使用者了解过多背景知识,只需要对训练实例进行较好的标注。
    • 信息增益g(D,A)=H(D)-H(D|A):
      • 得知特征A的信息而使得类X的信息的不确定性减少的程度
      • 定义特征A对训练数据集D的信息增益g(D,A),为集合D的经验熵与特征A给定条件下D的经验条件熵之差(经验熵:当熵的概率由数据估计/极大似然估计得到时对应的熵)
      • 决策树学习中的信息增益等价于训练数据集中类与特征的互信息
      • H(D)=Σk=1KCkDlnCkDH(D)=-\Sigma_{k=1}^K \frac {|C_k|} {D} ln\frac {|C_k|} {D}
        • Ck|C_k|:属于类CkC_k的样本个数
        • D|D|:样本个数
      • H(DA)=Σi=1nDiDΣk=1KDikDilnDikDiH(D|A)=-\Sigma_{i=1}^n \frac {|D_i|} {D}\Sigma_{k=1}^K\frac {|D_ik|} {|D_i|}ln\frac {|D_ik|} {D_i}
        • Di|D_i|:根据特征A取值划分的子集中样本个数
        • Dik|D_ik|:子集DiD_i中属于类CkC_k的样本个数
      • 信息增益率:
        gr(D,A)=g(D,A)/H(A)g_r(D,A)=g(D,A)/H(A)
      • Gini系数:Gini(p)=Σk=1Kpk(1pk)=1Σk=1Kpk2=1Σk=1K(CkD)2Gini(p)=\Sigma_{k=1}^K p_k(1-p_k)=1-\Sigma_{k=1}^Kp_k^2=1-\Sigma_{k=1}^K(\frac {|C_k|} {D})^2
        可以理解为熵的一阶近似
    • 三种决策树学习算法
      • ID3(Iterative Dichotomiser)
        实用信息增益/互信息g(D,A)进行特征选择,看哪一个特征给定后可以使得熵下降最快
      • C4.5
        信息增益率
      • CART(Classification and Regression Tree)
        Gini系数
        一个属性的信息增益/gini指数越大,说明属性对样本熵减少的能力更强,这个属性使得数据由不确定性变成确定性的能力越强

相关文章: