1 决策树算法
1.1 决策树简介
1.1.1 什么是决策树
-
决策树主要有二元分支和多元分支.
-
决策树是判定树
- 内部结点是决策节点: 对某个属性的一次测试
- 分支: 每条边代表一个测试结果.
- 叶子: 代表某个类或者类的分布
-
使用决策树进行判别:
- 决策条件-决策路径-叶子(结果)代表分类
-
决策树的数学模式解题思路:
- 贪心的算法 greedy solution
- 不是最好的树,全局最优解
- 当前的树里面找最好的树,局部最优解.
1.1.2 决策树的决策依据
- 决策树的目标:
- 最快速完成类别的判定
- 直观思路
- 应该凸显这种路径: 最有利做出判别
- 最大减少在类别判定上的不确定性
- 纯度上升的更快,更快速到达纯度更高的集合
- 怎么选择优先进行决策的判定属性
- 好的特征是什么原理?
- 获得更多信息来减少不确定性
- 知道的信息越多,信息的不确定性越小
1.2 信息熵和条件熵
1.2.1 信息熵
1.2.1.1 不确定性
- 信息量的度量就等于不确定性的多少
- 信息熵高:我们一无所知的事,就需要了解大量的信息
- 信息熵低:我们对某件事已经有了较多的了解,我们就不需要太多的信息
1.2.1.2 信息熵的公式
- 对数的运算法则
l o g a ( m n ) = l o g a m + l o g a n log_a(mn)=log_am+log_an loga(mn)=logam+logan - 概率的公式
p ( x , y ) = p ( x ) p ( y ) p(x,y)=p(x)p(y) p(x,y)=p(x)p(y) - 两个事件同时发生的信息等于各自信息的和
I ( x , y ) = I ( x ) + I ( y ) I(x,y)=I(x)+I(y) I(x,y)=I(x)+I(y)
随机变量 x 的自信息
I ( x ) = − l o g p ( x ) I(x)=-logp(x) I(x)=−logp(x)
- 负号是用来保证信息量是正数或者零
- 描述的是随机变量的某个事件发生所带来的信息量
信息熵: 传送一个随机变量传输的平均信息量是 I ( x ) = − l o g p ( x ) I(x)=-logp(x) I(x)=−logp(x)的期望
H ( X ) = − ∑ i = 1 n p ( x i ) l o g ( p ( x i ) ) H\left(X\right)= -\sum_{i=1}^{n}p\left(x_{i}\right)log\left(p\left(x_{i}\right)\right) H(X)=−i=1∑np(xi)log(p(xi))
1.2.1.3 信息熵的解读
- 随机变量 x 的熵,它是表示随机变量不确定的度量,是对所有可能发生的事件产生的信息量的期望
- 随机变量的取值个数越多,状态数也就越多,信息熵就越大,混乱程度就越大
1.2.2 联合熵
H ( X , Y ) = − ∑ x , y p ( x , y ) l o g p ( x , y ) = − ∑ i = 1 n ∑ j = 1 m p ( x i , y i ) l o g p ( x i , y i ) H(X,Y)=-\displaystyle\sum_{x,y}p(x,y)logp(x,y)=-\sum_{i=1}^{n}\sum_{j=1}^{m}p(x_i,y_i)logp(x_i,y_i) H(X,Y)=−x,y∑p(x,y)logp(x,y)=−i=1∑nj=1∑mp(xi,yi)logp(xi,yi)
1.2.3 条件熵
- 条件熵 H(Y|X) 表示在已知随机变量 X 的条件下, 随机变量 Y 的不确定性
- 条件熵 H(Y|X) 定义为 X 给定条件下, Y 的条件概率分布的熵对 X 的数学期望
- 相当在不同X的信息熵,加上X的值的概率的加权
1.2.3.1 条件熵公式
假设X有n个取值
H ( Y ∣ X ) = ∑ i = 1 n p ( x i ) H ( Y ∣ X = x i ) H(Y|X)=\sum_{i=1}^{n} p(x_i)H(Y|X=x_i) H(Y∣X)=i=1∑np(xi)H(Y∣X=xi)
见识Y有m个取值
H ( Y ∣ X = x i ) = − ∑ j = 1 m p ( y j ∣ X = x i ) log p ( y j ∣ X = x i ) H(Y|X=x_i) = - \sum_{j=1}^{m} p(y_j|X=x_i)\log p(y_j|X=x_i) H(Y∣X=xi)=−j=1∑mp(yj∣X=xi)logp(yj∣X=xi)
所以
H ( Y ∣ X ) = ∑ i = 1 n p ( x i ) H ( Y ∣ X = x i ) = ∑ i = 1 n p ( x i ) ( − ∑ j = 1 m p ( y j ∣ X = x i ) log p ( y j ∣ X = x i ) ) = − ∑ i = 1 n p ( x i ) ∑ j = 1 m p ( y j ∣ x i ) log p ( y j ∣ x i ) H(Y|X)=\sum_{i=1}^{n} p(x_i)H(Y|X=x_i) \\ =\sum_{i=1}^{n} p(x_i)\left(- \sum_{j=1}^{m} p(y_j|X=x_i) \log p(y_j|X=x_i)\right)\\ =-\sum_{i=1}^{n}p(x_i) \sum_{j=1}^{m} p(y_j|x_i) \log p(y_j|x_i) H(Y∣X)=i=1∑np(xi)H(Y∣X=xi)=i=1∑np(xi)(−j=1∑mp(y