您的位置:首页 > 其它

【机器学习】监督学习:决策树

2018-03-06 12:42 176 查看
树形模型是一个一个特征进行处理,之前线性模型是所有特征给予权重相加得到一个新的值。决策树与逻辑回归的分类区别也在于此,逻辑回归是将所有特征变换为概率后,通过大于某一概率阈值的划分为一类,小于某一概率阈值的为另一类;而决策树是对每一个特征做一个划分。另外逻辑回归只能找到线性分割(输入特征x与logit之间是线性的,除非对x进行多维映射),而决策树可以找到非线性分割。树形模型更加接近人的思维方式,可以产生可视化的分类规则,产生的模型具有可解释性(可以抽取规则)。树模型拟合出来的函数其实是分区间的阶梯函数。决策树学习算法包含特征选择、构建决策树与剪枝过程。决策树的学习算法通常是递归地选择最优特征,并用最优特征对数据集进行分割。开始时,构建根结点,选择最优特征,该特征有几种值就分割为几个子集,每个子集分别递归调用此方法,返回结点,返回的结点就是上一层的子结点。直到所有特征都已经用完,或者数据集只有一维特征为止。
一、特征选择特征选择问题希望选取对训练数据具有良好分类能力的特征,这样可以提高决策树学习的效率。如果利用一个特征进行分类的结果与随机分类的结果没有很大差别,则称这个特征是没有分类能力的(对象是否喜欢打游戏应该不会成为关键特征吧,也许也会……)。为了解决特征选择问题,将决策条件量化,找出最优特征,先要介绍一些信息论里面的概念。信息熵:集合信息的度量方式。熵越高则混合的数据也越多。

信息增益:在划分数据集之前之后发生的变化称信息增益

信息增益率:增益比率度量是用前面的增益度量Gain(S,A)和分裂信息度量SplitInformation(S,A)来共同定义的。
基尼指数:另外一种度量集合无序程度的方法,简单的说就是从一个数据集合中随机选取子项,度量其被错误分类到其他组里的概率。
二、构建决策树ID3算法:使用信息增益评估和选择特征,每次选择信息增益最大的特征作为判断模块建立子结点。

C4.5算法:使用信息增益率来选择特征,继承了ID3算法的优点。并在以下几方面对ID3算法进行了改进:
克服了用信息增益选择属性时偏向选择取值多的属性的不足;

在树构造过程中进行剪枝;

能够完成对连续属性的离散化处理;

能够对不完整数据进行处理。
C4.5算法产生的分类规则易于理解、准确率较高;但效率低,因树构造过程中,需要对数据集进行多次的顺序扫描和排序。也是因为必须多次数据集扫描,C4.5只适合于能够驻留于内存的数据集。在实现过程中,C4.5算法在结构与递归上与ID3完全相同,区别只在于选取决决策特征时的决策依据不同,二者都有贪心性质:即通过局部最优构造全局最优。
CART算法:使用基尼指数来选择特征,通过基尼值来度量数据集的纯度 。基尼值: 反映了从数据集D中取出两个样本,不为同一种类的概率,基尼值越小,数据集的纯度越高
Gini(D)=Σ|y|k=1Σk′≠kpkpk′=1−Σ|y|k=1p2k基尼指数: 在候选属性集合A中选择使那个划分后基尼指数最小的那个属性作为最优划分属性
Giniindex(D,a)=ΣVv=1|Dv||D|Gini(Dv)三、剪枝在决策树学习中,为了尽可能正确分类训练样本,结点划分过程将不断重复,有时会造成决策树分支过多,导致过拟合,因此可以通过主动去掉一些分支来降低过拟合的风险。 剪枝的基本策略有:预剪枝和后剪枝。预剪枝:在决策树生成的过程中,对每个结点在划分前先进行预估,若当前结点的划分不能使决策树泛化性能提升,则停止划分并将当前结点标记为叶节点后剪枝:先从训练集中生成一颗完整的决策树,然后自底向上的对非叶子结点进行考察,若将改结点对应的子树替换为叶子结点能提高泛化能力,则进行替换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: