决策树
用途&组成
决策树是一个监督学习模型,可用于分类和回归,它是一个由内节点和叶节点构成的树型结构。每个内节点对应了一个关于某种特征的测试(Decision),通过测试,可以把样本分开(split)。最后位于同一叶子节点的样本被分为某一类。
- root:
- node:对某一特征的条件测试, i f ( f e a t u r e i ⋅ ⋅ ⋅ ⋅ ) if(feature_i····) if(featurei⋅⋅⋅⋅)。
- leaf:最终的决策结果。
构造算法
决策树的构造有三个重要的步骤:
- 特征选择
- 决策树生成
- 剪枝
接下来按照这三个步骤一一阐述。
1. 特征选择
构造决策树时,一个首先需要考虑的问题是选择哪一个特征来作为划分样本的依据。为了比较不同的特征间的优劣,需要设计一个metric来衡量它们的performance。常用到的metric有三种:
- 信息增益
- 信息增益比
- Gini指数(纯净度)
metric
ID3:信息增益
定义
-
熵(Entropy):事物的不确定性,越不确定,熵越大。一个随机变量X的熵的计算如下:
E ( X ) = ∑ X = 1 n − p i l o g ( p i ) E(X)=\sum_{X=1}^{n}-\ p_i\ log(p_i) E(X)=X=1∑n− pi log(pi)
X = 1... n : X=1...n: X=1...n:随机变量X有n种不同的取值
p i : p_i: pi:每种取值对应的可能性为 p i p_i pi
随机变量均匀分布时,熵达到最大。即均匀分布的不确定性最强。而n类平均分布的熵会小于n+1类平均分布的熵。
-
联合熵:随机变量X与Y的联合熵
H ( X , Y ) = ∑ x i ∈ X ∑ y j ∈ Y − p ( x i , y j ) l o g ( p ( x i , y j ) ) = ∑ x i ∈ X ∑ y j ∈ Y − p ( x i , y j ) l o g ( p ( x i ∣ y j ) p ( y j ) ) = − ∑ x i ∈ X ∑ y j ∈ Y p ( x i , y j ) l o g ( p ( y j ) ) − ∑ x i ∈ X ∑ y j ∈ Y p ( x i , y j ) l o g ( p ( x i ∣ y j ) ) = − ∑ y j ∈ Y ∑ x i ∈ X p ( x i , y j ) l o g ( p ( y j ) ) − ∑ x i ∈ X ∑ y j ∈ Y p ( x i , y j ) l o g ( p ( x i ∣ y j ) ) = − ∑ y j ∈ Y p ( y j ) l o g ( p ( y j ) ) − ∑ x i ∈ X ∑ y j ∈ Y p ( x i , y j ) l o g ( p ( x i ∣ y j ) ) = H ( Y ) + H ( X ∣ Y ) = H ( X ) + H ( Y ∣ X ) \begin{aligned} H(X,Y)&=\sum_{x_i\in X}\sum_{y_j\in Y}-\ p(x_i,y_j)\ log(p(x_i,y_j))\\ &=\sum_{x_i\in X}\sum_{y_j\in Y}-\ p(x_i,y_j)\ log(p(x_i|y_j)p(y_j))\\ \\ &=-\sum_{x_i\in X}\sum_{y_j\in Y}\ p(x_i,y_j)\ log(p(y_j))-\sum_{x_i\in X}\sum_{y_j\in Y}\ p(x_i,y_j)\ log(p(x_i|y_j))\\ \\ &=-\sum_{y_j\in Y}\sum_{x_i\in X}\ p(x_i,y_j)\ log(p(y_j))-\sum_{x_i\in X}\sum_{y_j\in Y}\ p(x_i,y_j)\ log(p(x_i|y_j))\\ \\ &=-\sum_{y_j\in Y}\ p(y_j)\ log(p(y_j))-\sum_{x_i\in X}\sum_{y_j\in Y}\ p(x_i,y_j)\ log(p(x_i|y_j))\\ \\ &=H(Y)+H(X|Y) \\ &=H(X)+H(Y|X) \\ \end{aligned} H(X,Y)=xi∈X∑yj∈Y∑− p(xi,yj) log(p(xi,yj))=xi∈X∑yj∈Y∑− p(xi,yj) log(p(xi∣yj)p(yj))=−xi∈X∑yj∈Y∑ p(xi,yj) log(p(yj))−xi∈X∑yj∈Y∑ p(xi,yj) log(p(xi∣yj))=−yj∈Y∑xi∈X∑ p(xi,yj) log(p(yj))−xi∈X∑yj∈Y∑ p(xi,