写在前面:本笔记会省略很多内容,非常不建议初学的小白看,仅仅作为复习第二遍或者第三遍使用。
决策树是基于树结构来进行决策的,这恰是人类在面临决策问题时一种很自然的处理机制。上图可以体现一种决策过程。
决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程遵循简单且直观的"分而治之" (divide-and-conquer) 策略。
对于上述决策树算法,最为重要的是选择最优划分属性,这就需要引出一个概念——信息增益。
在构建决策树的过程中,我们需要选择哪些特征来分裂节点,以形成树的分支。信息增益就是用来评估特征分裂效果的一种重要指标。一般而言,信息增益越大,则意味着使用该属性来进行划分所获得的"纯度提升"越大。在决策树中,我们希望每个分支下的数据尽可能属于同一类别,这样就可以简化分类过程。信息增益越高,意味着使用该特征进行分裂后,子节点的数据纯度提高得越多,分类也就越清晰。
具体来说,信息增益是基于信息论中的熵概念。熵是一个度量不确定性或混乱程度的指标。在决策树中,数据集的熵反映了类别标签的混合程度。如果数据集中样本的类别标签非常均匀,那么熵就较高;反之,如果数据集中大多数样本属于同一类别,熵就较低。
大家如果对高中化学还有印象的话,应该会想到化学反应方程式左右的熵增熵减,这里的熵大概就是这么个东西。
一个著名的算法——ID3决策树学习算法,就是用的信息增益来划分属性。
当我们使用一个特征来分裂数据集时,我们会计算分裂前后的熵变化,即信息增益。信息增益的计算公式如下:
其中:
- Entropy(