决策树 ID3\C4.5\CART

ID3 C4.5 CART
特征选择 信息增益 信息增益比 基尼不纯度
连续值处理 只能处理离散值 排序后找到不同类别的分割线 二分
特征在层级之间复用
树形式 多叉 多叉 二叉树
剪枝
适用问题 分类 分类 分类/回归
  • 关于特征选择方式与熵?

    熵反映了信息量大小(混乱程度),熵越大信息量越大。我们的目标是熵减少方向

树模型原理

ID3

(1)计算数据集D 的经验熵 H(D)

\[H(D)=-\sum_{k=1}^{K} \frac{\left|C_{k}\right|}{|D|} \log _{2} \frac{\left|C_{k}\right|}{|D|} \]

\(K\) 表示数据类别,\(C_k\) 表示第 \(k\) 类样本的个数
(2)计算特征 A 对数据集 D 的经验条件熵 \(H(D | A)\)

\[H(D | A)=\sum_{i=1}^{n} \frac{\left|D_{i}\right|}{|D|} H\left(D_{i}\right)=-\sum_{i=1}^{n} \frac{\left|D_{i}\right|}{D |} \sum_{k=1}^{K} \frac{\left|D_{k}\right|}{\left|D_{i}\right|} \log _{2} \frac{\left|D_{k}\right|}{\left|D_{i}\right|} \]

\(D_i\) 表示根据特征 \(A\) 划分后的数据子集

(3)计算信息增益

\[g(D, A)=H(D)-H(D | A) \]

C4.5

信息增益比

\[\begin{array}{c} H_A(D)=-\sum_{j=1}^{n} \frac{N\left(D_{j}\right)}{N(D)} \log \left(\frac{N\left(D_{j}\right)}{N(D)}\right) \\ g_r(D,A)=\frac{g(D,A)}{H_A(D)} \end{array} \]

其中 n表示特征 A取值的个数

CART

分类树

基尼不纯度(gini impurity)

\[gini(p) = \sum_{i=1}^Kp_k(1-p_k)=1-\sum_{i=1}^Kp_k^2 \]

\(p_k\) 表示两个第 k类样本的数量比。

基尼不纯度的\((1-p_k)\) 相当于信息熵中log项的泰勒展开
\(ln(x) = (x-1)\)

根据特征 A的取值a划分两个子集(二叉)

\[gini(D) = 1-\sum^K_{i=1}(\frac{|C_k|}{|D|})^2 \\ gini(D,A) = \frac{|D_1|}{|D|}gini(D_1)+\frac{|D_2|}{|D|}gini(D_2)\\ D_1 = \{(x,y)\in D | A(x)=a\},D_2 = D-D_1 \]

回归树

  • 回归树如何选择节点分裂方式?

    使用平方误差 \(\sum(y_i - f(x_i))^2\)

  • 树模型怎么得到平方误差呢?

    根据叶子节点值作为作为输出。将输入空间划分为多个单元,每个单元有一个固定输出值(对应输入空间输出值的平均)

  • 具体怎么划分?

    类似分类树,根据划分前后的误差选取。选取切分变量和切分点(特征及特征取值)

回归树构建流程:

  1. 选择切分变量j和切分点s,划分子区域:

    \[R_1(j,s) = \{x|x^{(j)} \leq s\},\quad R_2(j,s) = \{x|x^{(j)} > s\} \]

  2. 计算对应特征与特征值下的误差:

    \[\sum_{x_i\in R_1(j,s)}(y_i-c_1)^2 + \sum_{x_i\in R_2(j,s)}(y_i-c_2)^2 \]

    其中 \(c_1 = ave(y_i|x_i\in R_1(j,s))\)

    1. 遍历,寻找最优切分变量j和最优切分点s(使平方误差最小)

    2. 根据选定的(j,s)划分区域:

    \[R_1,R_2,c_m = \frac{1}{N_m}\sum_{x_i\in R_m(j,s)}y_i ,m\in \{1,2\} \]

树创建

ID3、C4.5 多叉树

createTree

CART分类树(二叉)

CART

CART回归树

CART_reg

不同树的基本创建过程只有两点不同:

  • 划分节点的评价方式
  • 子集的划分

references:

[1] 统计学习方法

[2] 机器学习实战

posted @ 2020-08-28 14:24  鱼与鱼  阅读(203)  评论(0编辑  收藏  举报