数据表示可以分为:线性,层次,图状结构,决策树用的是层次表示的结构
decision tree由三部分组成:决策节点,分支和叶节点,决策节点如是否单身?天气是否下雨等进行判断的属性,分支如树的枝,叶节点如最终预测的结果
从root节点开始,从上到下匹配,抵达某一叶节点
基本思想如哈夫曼树,出现频率高的结果相对应的决策节点应尽量靠近root节点。
抵达叶节点,符合剪枝策略时
hunt算法:ID3,C4.5,CART算法的基础
信息熵:描述信源的不确定度,熵越大变量的不确定性越大,把它搞清楚所需要的信息量也就越大.S代表样本,E代表Entropy下面一致
E ( S ) = E ( p 1 , p 2 , . . . , p n ) = − ∑ p i l o g 2 p i E(S) = E(p1, p2, ..., pn) = -∑p_i log_2p_i E(S)=E(p1,p2,...,pn)=−∑pilog2pi
S代表样本,A代表决策属性,G代表Gain下main一致
信息增益: G ( S , A ) = E ( S ) − E A ( S ) G(S, A) = E(S) - E_A(S) G(S,A)=E(S)−EA(S)
其中 E A ( S ) = ∑ ∣ S i ∣ S E ( S i ) E_A(S) = ∑\frac{|S_i|}{S}E(S_i) EA(S)=∑S∣Si∣E(Si)
比如当前属性wind表示刮风,取值{week, strong} ,它将样本S划分为2个样本S1,S2,分别计算E(S1)和E(S2),带入公式 E A ( S ) = ∑ ∣ S i ∣ S E ( S i ) E_A(S) = ∑\frac{|S_i|}{S}E(S_i) EA(S)=∑S∣Si∣E(Si),再带入公式 G ( S , A ) = E ( S ) − E A ( S ) G(S, A) = E(S) - E_A(S) G(S,A)=E(S)−EA(S)即可算出信息增益
E A ( S ) E_A(S) EA(S)算出来表示用属性A将S划分后,划分样本混乱程度的总和,也就是信息熵加权平均之和,熵越小越好,说明属性A划分出来的结果偏于不混乱状态,那么信息增益 E ( S ) − E A ( S ) E(S) - E_A(S) E(S)−EA(S)就是越大越好。
训练集数据S,训练集数据属性集和F,函数DT(S,F):
为了解决ID3算法无法处理连续型数据的缺点,C4.5加入了分裂点计算信息增益
如果属性A为连续型数据,将A属性的数据的某点作为分裂点,左右分成两部分,计算 E A ( S ) = ∣ S L ∣ S E ( S L ) + ∣ S R ∣ S E ( S R ) E_A(S) = \frac{|S_L|}{S}E(S_L)+\frac{|S_R|}{S}E(S_R) EA(S)=S∣SL∣E(SL)+S∣SR∣E(SR)
选择 E A ( S ) E_A(S) EA(S)值最小的分裂作为属性A最佳的分裂点,并将以该最佳分裂点按属性A对集合S的划分熵值作为属性A划分S的熵值
计算完 E A ( S ) E_A(S) EA(S)后,还引入了分裂信息来调节信息增益,S表示SpilitE
S ( A ) = − ∑ ∣ S i ∣ S l o g 2 ∣ S i ∣ S S(A) = -∑ \frac{|S_i|}{S}log_2 \frac{|S_i|}{S} S(A)=−∑S∣Si∣log2S∣Si∣
我们会发现如果划分区间数越多,S(A)越大,G(A)也会增加,用信息增益率来表示更加稳定
信息增益率表示为:
GR表示GainRatio
G R ( A ) = G ( A ) S ( A ) GR(A) = \frac{G(A)}{S(A)} GR(A)=S(A)G(A)
分类与回归数算法,采用二元递归划分方法,CART为二叉树,可计算离散和数值型数据,CART采用Gini系数来度量属性
t是属性节点,j是类别,k为当前属性下测试输出的类别数,p(j|t)表示节点t中样本测试输出取类别j的概率,Gini系数:
G ( t ) = 1 − ∑ j = 1 k p 2 ( j ∣ t ) G(t) = 1 - \sum_{j=1}^kp^2(j|t) G(t)=1−j=1∑kp2(j∣t)
G(t)越小表明该节点所包含的样本越集中在某一类上。Gini系数来度量对某个属性变量测试输出的两组取值的差异性,理想的分组应该尽量使两组中样本输出变量取值的差异性总和达到最小,及纯度越大,也就是使两组输出变量取值的差异性下降最快,纯度增加最快
Gini增益系数,为了统一叫为差异性损失,t是节点 , ξ \xi ξ是该节点的一个属性分支条件
Δ G ( ξ , t ) = G ( t ) − ( ∣ S L ∣ S G ( t L ) + ∣ S R ∣ S G ( t R ) ) \Delta G(\xi,t) = G(t) - (\frac{|S_L|}{S}G(t_L)+\frac{|S_R|}{S}G(t_R)) ΔG(ξ,t)=G(t)−(S∣SL∣G(tL)+S∣SR∣G(tR))
R(t) :用平均值估计偏差大小
R ( t ) = 1 N − 1 ∑ i = 1 N ( y i ( t ) − y ‾ ( t ) ) 2 R(t) = \frac{1}{N-1}\sum_{i=1}^N(y_i(t) - \overline{y}(t))^2 R(t)=N−11i=1∑N(yi(t)−y(t))2
方差增益系数:
Δ R ( t ) = R ( t ) − ( ∣ N L ∣ N R ( t L ) + ∣ N R ∣ N R ( t R ) ) \Delta R (t) = R(t) - (\frac{|N_L|}{N}R(t_L)+\frac{|N_R|}{N}R(t_R)) ΔR(t)=R(t)−(N∣NL∣R(tL)+N∣NR∣R(tR))