一. 决策树思想
决策树的本质:从训练数据集中归纳出一组分类规则。与训练数据集不相矛盾的决策树可能有多个,也可能一个都没有。我们需要的是一个与训练数据集矛盾较小的决策树,同时具有很好的泛化能力。
从概率模型角度来看:决策树学习是由训练数据集估计条件概率模型,基于特征空间划分的类的条件概率模型有很多个,我们选择的模型不仅对训练数据集有很好的拟合,而且对未知的数据有很好的预测。
决策树的损失函数:决策树学习的损失函数通常是正则化的极大似然函数,策略是以损失函数为目标函数的最小优化。
决策树的递归思想:决策树学习的算法通常是一个递归地选择最优特征,不断的选择子集的最优特征来进行划分更小的子集。直到所有训练数据子集被基本正确分类,或者没有合适的特征为止,这就生成了一颗决策树。
过拟合现象:决策时可以非常完美的对训练数据集进行分类,可以想象每一个样本对应一个叶子节点。为了避免出现过拟合现象,一般通过下面的几种策略:
- 如果特征过多,可以预先对特征进行选择。
- 对已生成的树,进行剪枝,让树变得更简单,从而使他具有更好的泛化能力。剪枝可以分为预剪枝,预剪枝就是还未进行生成决策树的时候,就定好决策树的结构。后剪枝,后剪枝是对已经生成好的决策树进行剪枝,将其根节点或者父节点作为新的叶子节点,从而简化分类树模型。
二. 决策树的特征选择
决策树递归的进行划分子空间,如何评估最优的特征,即如何判断一个特征具有分类能力,非常重要。通常有三种手段:
- 信息增益 ID3算法
- 信息增益比 C4.5算法
- gini指数 CART决策树算法
2.1信息增益
熵:表示随机变量不确定性的度量(熵只依赖随机变量的分布与随机变量的取值无关,这个性质使得决策树算法可以接受各种类型的特征值) 表达式为 :
H ( X ) = − ∑ p ( x ) l o g ( p ( x ) ) H(X)=-\sum p(x)log(p(x)) H(X)=−∑p(x)log(p(x))
X是一个随机变量,可以为离散值也可以为连续值 p为对应的概率分布 , ∑ p ( x ) = 1 \sum p(x)=1 ∑p(x)=1。
经验条件熵:H(Y|X) 表示已知随机变量X的条件下,随机变量Y的不确定性。表达式为:
H ( Y ∣ X ) = ∑ i p ( x i ) ∗ H ( Y ∣ X = x i ) H(Y|X)=\sum_i p(x_i)*H(Y|X=x_i) H(Y∣X)=∑ip(xi)∗H(Y∣X=xi)
信息增益: 特征A对训练数据集D的信息增益 g ( D , A ) g(D,A) g(D,A),定义为集合D的经验熵 H ( D ) H(D) H(D),与特征A给定条件下训练数据集D 的经验条件熵 H ( D ∣ A ) ) H(D|A)) H(D∣A))之差,即:
g ( D , A ) =