决策树的构建算法
决策树算法用到的是,纯度的另一面不纯度。
ID3是基本算法,后两种都是在ID3的基础上优化后的算法。
ID3算法
使用信息增益作为不纯度。
即用信息增益来判断当前的节点用什么样的特征来构建决策树。信息增益越大,不确定性的减少程度越大,越适合用来构建决策树。
信息增益
也称作互信息,也就是下图的阴影部分。
是用来衡量在已知Y的情况下X不确定性的减少程度or在已知X的情况下Y不确定性的减少程度。也就是表示X事件和Y事件的共同信息。
具有对称性。
表示为: I ( X , Y ) = H ( X ) − H ( X ∣ Y ) I(X,Y)=H(X)-H(X|Y) I(X,Y)=H(X)−H(X∣Y)
例子
样本D中有16个样本(统计学),输出0或1。10个输出1,6个输出0。
其中特征A有三种情况
- A1中有4个样本,3个输出1,1个输出0
- A2中有8个样本,5个输出1,3个输出0
- A3中有4个样本,2个输出1,2个输出0
整体的熵: H ( D ) = − ( 10 16 ∗ l o g ( 10 16 ) + 6 16 ∗ l o g ( 6 16 ) = 0.66 H(D)=-(\frac{10}{16} * log(\frac{10}{16})+\frac{6}{16} * log(\frac{6}{16})=0.66 H(D)=−(1610∗log(1610)+166∗log(166)=0.66
先算整体的熵其实类似于贝叶斯里的先验。之后算在各个特征下整体的不确定性。然后求各个特征的信息增益,比较信息增益,选取最大信息增益所对应的特征。
知道A特征后整体不确定性: H ( D ∣ A ) = 4 16 ( − 3 4 ∗ l o g 3 4 − 1 4 ∗ l o g 1 4 ) + 8 16 ( − 5 8 ∗ l o g 5 8 − 3 8 ∗ l o g 3 8 ) + 4 16 ( − 2 4 ∗ l o g 2 4 − 2 4 ∗ l o g 2 4 ) = 0.64 H(D|A)= \frac{4}{16}(-\frac{3}{4}*log\frac{3}{4}-\frac{1}{4}*log\frac{1}{4})+\frac{8}{16}(-\frac{5}{8}*log\frac{5}{8}-\frac{3}{8}*log\frac{3}{8})+\frac{4}{16}(-\frac{2}{4}*log\frac{2}{4}-\frac{2}{4}*log\frac{2}{4})= 0.64 H(D∣A)=164(−43∗log43−41∗log41)+168(−85∗log85−83∗log