决策树是一类常见的机器学习算法,是一种简单但是广泛使用的分类器。顾名思义,决策树基于树结构进行决策。一般的,一颗决策树包含一个根结点、若干个内部结点和若干个叶结点;叶结点对应于决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根结点包含样本全集。从根结点到每个叶结点的路径对应一个判定测试序列。
决策树学习的目的是为了产生一颗泛化能力强,即处理未见示例能力强的决策树。
决策树有两大优点:
1)决策树模型可以读性好,具有描述性,有助于人工分析;
2)效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度。
决策树学习的关键是**如何选择最优划分属性,**一般而言,随着划分过程的不断进行,我们希望决策树的分支节点所包含的样本尽可能属于同一类别,即节点的“纯度”越来越高。
决策树有三种常用算法:ID3,C4.5,CART:
ID3(Iterative Dichotomiser 迭代二分器)算法:用信息增益来划分属性。
信息熵(Information Entropy):是度量样本集合纯度最常用的一种指标(熵能较好将分类效果好的属性选出)物体越不稳定,可能性越多,成分越复杂,信息熵越大。定义为:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eNJMEvHl-1620350738685)(=Ent%3D%28D%29%3D-%5Csum_%7Bk%3D1%7D%5E%7B%7C%5Cgamma%7C%7Dp_klog_2p_k+%5C%5C++++)]
其中gamma为初试的类别数(比如西瓜数据集,一开始在没有加入任何属性前,只有好瓜和坏瓜数量),pk是第k类样本占比。Ent(D)的值越小,D的纯度越高。
信息增益(Information Gain):
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5k54aBk7-1620350738691)(=Gain%28D%2Ca%29%3DEnt%28D%29-%5Csum_%7Bv%3D1%7D%5EV%5Cfrac%7B%7CD%5Ev%7C%7D%7B%7CD%7C%7DEnt%28D%5Ev%29+%5C%5C+++)]
其中a为属性,V为属性a可能的取值{a1…aV},按属性取值对样本D进行划分得到的在属性a上取值为av的样本子集为Dv。这里的信息增益为按a分类后改变的信息熵。一般而言,信息增益越大意味着使用属性a来进行划分所获得的的“纯度提升”越大。
所以ID3算法算出所有候选属性的信息增益,其max的属性作为该时刻的划分属性进行划分。
C4.5算法:用增益率来划分属性。
CART算法:用基尼指数来度量数据集D的纯度。
基尼指数(Gini Index):反映随意从样本集中抽取两个样本,其类别标记不一致的概率,以此来度量纯度。基尼值越小越好。我们就选择基尼值树嘴笑的属性作为最优划分属性。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r9Ahcyux-1620350738695)(=%E5%9F%BA%E5%B0%BC%E5%80%BC%EF%BC%9AGini%28D%29%3D%5Csum_%7Bk%3D1%7D%5E%7B%7C%5Cgamma%7C%7D%5Csum_%7Bk%27%5Cneq+k%7Dp_kp_%7Bk%27%7D%3D1-%5Csum_%7Bk%3D1%7D%5E%7B%7C%5Cgamma%7C%7Dpk%5E2++%5C%5C++%E5%B1%9E%E6%80%A7%E7%9A%84%E5%9F%BA%E5%B0%BC%E6%8C%87%E6%95%B0%EF%BC%9AGini%5C_index%28D%2Ca%29%3D%5Csum_%7Bv%3D1%7D%5E%7B%7CV%7C%7D%5Cfrac%7B%7CD%5Ev%7C%7D%7B%7CD%7C%7DGini%28D%5Ev%29+%5C%5C++++++++)]
划分过程:
剪枝是决策树学习算法对付“过拟合”的主要手段,决策树剪枝的基本策略有“预剪枝”和“后剪枝”,预剪枝是指在决策树生成的过程中,对每个节点在划分前进行估计,若当前节点的划分不能带来决策树泛化性能的提升,则停止划分并将当前节点标记为叶节点;后剪枝则是先从训练集中生成一棵完整的决策树,然后自底向上地对非叶节点进行考察,若将该节点对应的子树替换为叶节点能带来决策树泛化性能的提升,则将该子树替换为叶节点。
预剪枝使得决策树的很多分支都没有”展开“,这不仅降低了过拟合的风险,还显著减少了决策树的训练时间开销和测试时间开销。但另一方面,有些分支的当前划分虽不能提升泛化性能、甚至可能导致泛化性能暂时下降,但在其基础上进行的后续划分却有可能导致性能显著提高;预剪枝基于”贪心“本质禁止这些分支展开,给预剪枝决策树带来了欠拟合的风险。
后剪枝决策树通常比预剪枝决策树保留了更多的分支,一般情况下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树。但后剪枝过程是在生成完全决策树之后进行的,并且要自底向上地对树中所有非叶节点进行逐一考察,因此其训练时间开销比未剪枝决策树和预剪枝决策树都要大的多。
指属性取值连续与否:离散:密度(密度大,密度小);连续:密度(0.1,0.24,0.45,0.57…)。
连续值的处理:一般采用连续属性离散化。最简单的策略是二分法(Bi-Partition),C4.5有采用这种机制。
缺失值的处理:现实中常会遇到不完整的样本,即某些属性值缺失。有时若简单采取剔除,则会造成大量的信息浪费,因此在属性值缺失的情况下需要解决两个问题:(C4.5采用以下解决方案)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sWeMvBNx-1620350738696)(=%5Crho+%3D%5Cfrac%7B%5Csum_%7Bx%5Cin+%5Ctilde+D%7Dw_x%7D%7B%5Csum_%7Bx%5Cin+D%7Dw_x%7D+%5C%5C%5Ctilde+p_k+%3D%5Cfrac%7B%5Csum_%7Bx%5Cin+%5Ctilde+D_k%7Dw_x%7D%7B%5Csum_%7Bx%5Cin+%5Ctilde+D_k%7Dw_x%7D%281%5Cleq+k%5Cleq+%7C%5Cgamma%7C%29+%5C%5C%5Ctilde+r_v+%3D%5Cfrac%7B%5Csum_%7Bx%5Cin+%5Ctilde+D%5Ev%7Dw_x%7D%7B%5Csum_%7Bx%5Cin+%5Ctilde+D%7Dw_x%7D%281%5Cleq+v%5Cleq+V%29)]
其中,rho为不确实的样本占比;k为类(eg 好瓜坏瓜两类);v为取值(为一个属性下各元属性/变量)
本文发布于:2024-02-03 01:09:48,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170689380547658.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |