决策树(decision tree)
目录
【内容包含 第四章】
基本流程
决策树(decision tree)基于树状结构进行判定,基本流程遵循“分而治之”(divide-and-conquer)策略。

作图好累(doge
A\{a*}的意思是在集合A中把a*元素去掉
信息增益(information gain)
信息熵(information entropy)是一种常用的度量样本集合纯度的指标,假定当前样本集合D中第k类样本所占比例 ,则D的信息熵为
离散属性a有V个可能取值,若使用a对样本进行划分,会产生V个分支节点,第个分支节点包含了D中在a属性里取值为
的样本,记为
,可以根据上式算出
的信息熵,再考虑不同分支节点的样本数,对这个值进行加权,可以得到以属性a分类对样本集D的信息增益。
信息增益越大,意味着划分后的集合纯度越高,也就意味着属性a越好。
ID3决策树算法[Quinlan,1986] 就是以 信息增益 为准则选择划分属性的。
书里关于西瓜好坏划分的例子非常棒!建议全篇背诵!(误
C4.5决策树算法[Quinlan,1993] 考虑到信息增益会偏向取值较多的属性,采用 增益率(gain ratio)作为选择标准。
增益率定义为
CART决策树算法[Breiman et al,1984] 使用基尼系数(Gini index)选择划分属性。
基尼系数为
反映了数据集D中随机抽取两个样本,类别标记不一致的概率
剪枝处理(pruning)
为了解决决策树中过拟合的部分,需要采取剪枝处理。
预剪枝:在每个节点划分前进行估计,若不能带来泛化性能提升,则停止划分
后剪枝:生成完整决策树后,自底而上对非叶节点进行讨论,若子树能被叶节点代替,就替换叶节点
这两个操作都需要准备验证集,后剪枝比起预剪枝能保留更多的分支,欠拟合风险较低,缺点是训练时间开销较大。
连续值处理
C4.5决策树算法[Quinlan,1993] 中对连续值的处理方式是利用二分法(bi-partition)将连续属性离散化。即在候选划分点分别计算信息增益,选择信息增益最大的点作为划分点。
缺失值处理
由于部分数据可能存在缺失,而划分属性的时候显然只有有值的部分才能参与评判。分别计算出无缺失样本所占的比例,无缺失样本中第k类的比例
,无缺失样本在属性a中取值为
的样本所占的比例
,此时信息增益的计算方式为
当样例在属性a上缺失时,以训练集中该类别的不同值占比的比例为概率进入所有子分支
多变量决策树
单变量,即每个叶节点以单属性的决策树,在图像角度体现是和坐标轴平行的直线(多维的话也是类似的概念)。多变量决策树就是把叶节点变成一个线性分类器,形如
其中w指a属性的权重,w和t可以在训练集中学习。