标签:
5.3决策树的生成
5.3.1 ID3算法
ID3算法的核心实在决策树个国际电商应用信息增益准则选择特征,递归的构建决策树。
具体方法:从根结点(root node)开始,对接点计算所有可能的特征信息增益,选择信息增益最大的特征最为节点的的特征(注意:信息增益表示得知特征X的信息而使得类Y的信息不确定性减少的程度,而我们进行特征选择在于选取对训练数据具有分类能力的特征,利用一个特征进行分类的结果与随机分类的记过差别越大,这个特征的分类能力越强,即越有效。)由该特征的不同取值建立子结点;再对子结点递归的调用上述方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止,ID3相当于用极大似然法进行概率模型的选择。
算法5.2 ID3算法
输入:训练数据集,特征集A,阕值ε;
输出:决策树T
(1)若D中所有实例属于同一类别Ck,则T为单结点树,并将Ck作为该节点的类标记,返回T;
(2)若A=?,则T为单结点树,并将D中实例数最大的类Ck作为该节点的类标记,返回T;
(3)否则,按算法5.1计算A中个特征对D的信息增益,选择信息增益最大的的特征Ag;
(4)若Ag的信息增益小于阕值ε,则置A为单结点树,并将D中实例数最大的类Ck作为该节点的类标记,返回T;
(5)否则,对Ag的每一可能值ai,依Ag=ai将D分割为若干非空子集Di,将Di中实例数最大的类作为标记,构建子结点,由节点及其子结点构成树T,返回树T;
(6)对第i个子结点,以Di为训练集,以A-{Ag}为特征集,递归的调用(1)~(5),得到字数Ti,返回Ti;
算法5.3 C4.5算法
C4.5算法与ID3算法相似,C4.5算法对ID3算法做了改进,用信息增益比来选择特征。
5.4 决策树的剪枝
决策树生成算法递归的产生决策树,可能产生过拟合,需减少决策树的复杂度,简化的过程叫做剪枝。往往通过极小化决策树整体的损失函数(loss function)来实现。
参数:|T|为树T的叶结点个数,t为树T的叶节点,该叶结点熵有Nt个样本点,其中k类的样本点有Ntk个,Ht(T)为叶节点t熵的经验熵,α>=0位参数。
则损失函数定义为(感觉第一项应该是对分类的不确定性的度量)
其中经验熵为
在损失函数中,将第一项记作
这时有
上式中,C(T)表示对模型训练数据的预测误差,即模型与训练数据的拟合程度,|T|表示模型复杂度,参数α>=0控制两者之间的影响。较大的α促使选择较简单的模型,较小的α促使选择叫复杂的模型(参考cs229正则化)。
决策树的生成只考虑了通过提高信息增益(或信息增益比)对训练数据进行更好的拟合。而决策树剪枝通过优化损失函数还考虑了减小模型复杂度。决策树生成学习局部的模型,而决策树剪枝学习整体的模型。
上面定义的损失函数的极小化郑佳玉正则化的极大似然估计(所估计的模型参数,要使得产生这个给定样本的可能性最大)。所以,利用损失函数最小原则进行剪枝就是正则化的极大似然估计进行模型选择。
算法5.4 树的剪枝算法
输入:生成算法产生的整个树T,参数α;
输出:修剪后的子树Tα
(1)计算每个节点的经验熵。
(2)递归地从树的叶节点向上收缩。
设一组叶结点回缩到其父节点之前与之后的整体树分别为TB和TA,其对应的损失函数值分别是和如果,则进行剪枝,即将父节点变为新的叶节点。
(3)返回(2),直至不能继续为止,得到损失函数最小的子树Tα
附 例题:
还有一种carta算法,有时间在看,心累
标签:
原文地址:http://blog.csdn.net/pmt123456/article/details/51003567