Loading

决策树学习笔记

决策树

概念

希望根据样本的若干个特征对其进行分类。

决策树是一种判别模型。

特征:\(X_1,X_2...X_m,Y\)

样本:\(x_1,x_2..x_n\)

可以进行二分类也可以进行多分类。一般来说使用决策树的时候特征取值都是离散的。最终想要学习到的是特征和标签之间的关系。

\[\begin{matrix} &X_1&X_2&...&Y\\ x_1&1&0&...&1\\ x_2&0&1&...&0\\...\\ \end{matrix} \]

现在从列的角度出发,可能存在某一个特征,对于分类的作用大于其他的特征。考虑使用树,从根节点进行二分。设\(x_1\)为我们所选的对于分类作用最大的特征,把它作为根节点,\(x_1\)取1的样本放到左边,\(x_1\)取0的样本放到右边。同样对于其儿子,又可以选择分类作用次大的特征继续进行分类,注意,对于同层的节点,不一定选择相同的特征,而是应该选择分类效果最好的那个特征。不断分类下去直到叶子节点停止分类。叶子节点的样本的标签相同。

\(\Omega\)为概率空间,存在两个离散的随机变量\(X,Y\)\(X\)\(x_1,x_2...x_n\)\(Y\)\(y_1,y_2...y_m\)

定义\(P(X=x_i)=p(x_i)\)\(P(Y=y_j)=p(y_j)\)。根据全概率公式,\(\Sigma_{i=1}^n p(x_i)=1\)\(\Sigma_{j=1}^m p(y_j)=1\)

现在来看他们的联合分布:\(P(X=x_i,Y=y_j)=p(x_i,y_j)\)

\(X\)的边缘分布:\(p(x_i)=\Sigma_{j=1}^m p(x_i,y_j)\)

条件概率:\(P(X=x_i|Y=y_j)=\frac{P(X=x_i,Y=y_j)}{P(Y=y_j)}=\frac{p(x_i,y_j)}{p(y_j)}=p(x_i|y_j)\)

\(H(X)=-\Sigma_{i=1}^np(x_i)logp(x_i)=\Sigma_{i=1}^np(x_i)log(\frac{1}{p(x_i)})>=0\)

那么熵什么时候等于0呢?\(p(x_1)=1,p(x_i)=0(i>1)\)

那么熵是否存在极大值呢?是否能趋向正无穷呢?注意到\(p(x_i)\)的和是1,\(H(x)\leq log\Sigma_{i=1}^np(x_i)\frac{1}{p(x_i)}=logn\)

注意这里的不等式实际上是根据琴声不等式得来的。

因此可以得到熵的范围:\([0, logn]\)

条件熵:\(H(X|Y)=-\Sigma_{j=1}^m p(y_j) (\Sigma_{i=1}^n p(x_i|y_i)log(p(y_i|x_i)))\)

\(H(X)-H(X|Y)=-\Sigma_{i=1}^n p(x_i)logp(x_i)+\Sigma_{j=1}^m p(y_j) (\Sigma_{i=1}^n p(x_i|y_i)log(p(y_i|x_i)))\\=-\Sigma_{i=1}^n p(x_i)logp(x_i)+\Sigma_{j=1}^m \Sigma_{i=1}^np(x_i,y_j)log\frac{p(x_i,y_j)}{p(y_j)}\\=....=\Sigma_{i=1}^n\Sigma_{j=1}^m p(x_i,y_j)log\frac{p(x_i,y_j)}{p(x_i)p(y_j)}\)

  1. \(H(Y)-H(Y|X)=H(X)-H(X|Y)\)。信息增益?

  2. \(X,Y\)独立,有\(p(x_i,y_i)=p(x_i)p(y_i)\)\(H(X)-H(X|Y)=0\)。给出Y判断X或者给出X判断Y是没有增益的,因为两者独立。

  3. 利用凹函数的性质,可以知道信息增益大于等于0。

决策树建立

先从根节点开始,计算熵 。

\(D_0=|\{Y=0\}|\)\(D_1=|\{Y=1\}|\)

\(H(Y)=-\frac{D_0}{n}log\frac{D_0}{n}\)

\(D_{00}=|\{X_1=0,Y=0\}|\)....\(D_{11}\)\(|\{X_1=0\}|=D_{00}+D_{01}\)...

\(H(Y|X_1)=-\frac{D_{00}+D_{01}}{n}[\frac{D_{00}}{D_{00}+D_{01}}log\frac{D_{00}}{D_{00}+D_{01}}+\frac{D_{01}}{D_{00}+D_{01}}log\frac{D_{01}}{D_{00}+D_{01}}]-\frac{D_{10}+D_{11}}{n}[\frac{D_{10}}{D_{10}+D_{11}}log\frac{D_{10}}{D_{00}+D_{11}}+\frac{D_{11}}{D_{10}+D_{11}}log\frac{D_{11}}{D_{10}+D_{11}}]\)

因此需要选\(max_{i}(H(Y)-H(Y|X_i))\)这个特征进行第一次分类。那么什么时候分类停止?节点的熵等于0.

posted @ 2022-04-09 20:56  脂环  阅读(70)  评论(0编辑  收藏  举报