ID3算法介绍
- ID3算法全称为迭代二叉树3代算法(Iterative Dichotomiser 3)
- 该算法要先进行特征选择,再生成决策树,其中特征选择是基于“信息增益”最大的原则进行的。
- 但由于决策树完全基于训练集生成的,有可能对训练集过于“依赖”,即产生过拟合现象。因此在生成决策树后,需要对决策树进行剪枝。剪枝有两种形式,分别为前剪枝(Pre-Pruning)和后剪枝(Post-Pruning),一般采用后剪枝。
信息熵、条件熵和信息增益
-
信息熵:来自于香农定理,表示信息集合所含信息的平均不确定性。信息熵越大,表示不确定性越大,所含的信息量也就越大。
设 x 1 , x 2 , x 3 , . . . x n {x_1, x_2, x_3, ...x_n} x1,x2,x3,...xn为信息集合X的n个取值,则 x i x_i xi的概率: P ( X = i ) = p i , i = 1 , 2 , 3 , . . . , n P(X=i) = p_i, i=1,2,3,...,n P(X=i)=pi,i=1,2,3,...,n
信息集合X的信息熵为: H ( X ) = − ∑ i = 1 n p i log p i H(X) =- \sum_{i=1}^{n}{p_i}\log{p_i} H(X)=−i=1∑npilogpi -
条件熵:指已知某个随机变量的情况下,信息集合的信息熵。
设信息集合X中有 y 1 , y 2 , y 3 , . . . y m {y_1, y_2, y_3, ...y_m} y1,y2,y3,...ym组成的随机变量集合Y,则随机变量(X,Y)的联合概率分布为 P ( x = i , y = j ) = p i j P(x=i,y=j) = p_{ij} P(x=i,y=j)=pij条件熵: H ( X ∣ Y ) = ∑ j = 1 m p ( y j ) H ( X ∣ y j ) H(X|Y) = \sum_{j=1}^m{p(y_j)H(X|y_j)} H(X∣Y)=j=1∑mp(yj)H(X∣yj)由 H ( X ∣ y j ) = − ∑ j = 1 m p ( y j ) ∑ i = 1 n p ( x i ∣ y j ) log p ( x i ∣ y j ) H(X|y_j) = - \sum_{j=1}^m{p(y_j)}\sum_{i=1}^n{p(x_i|y_j)}\log{p(x_i|y_j)} H(X∣yj