机器学习(六)–决策树


楼市新闻行业动态
叭楼,新房带看,二手房代办过户望京二手房精选房源,您置业的小管家。

决策树(decision tree)是一种基本的分类和回归的方法。

假设给定的训练数据集 D=\left\{ (x_{1},y_{1}),(x_{2},y_{2}),…,(x_{N},y_{N}) \right\} ,其中, x_{i}=(x_{i1},x_{i2},…,x_{in})^{T} 为输入实例(特征向量),n为特征个数, y_{i}\in\left\{ 1,2,…,k \right\} 为类标记, i=1,2,…,N , N 为样本容量。

决策树的目的是根据给定的训练数据集构建一个决策树模型,使它能够正确的分类。

满足条件的决策树可能有多个,也可能一个都没有,我们需要一个与训练集矛盾较小的决策树,同时具有很好的泛化能力。

决策树学习是由训练数据集估计条件概率模型,基于特征空间划分的类的条件概率模型有无穷个,我们选择条件概率模型不仅对训练数据有良好的拟合,而且对未知数据有很好的预测。

决策树学习的损失函数通常是正则化的极大似然函数。策略是以损失函数为目标函数的最小化。

决策树学习的算法通常是一个递归地选择最优特性,并根据该特征对训练数据进行分割,使得各个子数据集有一个最好的分类的过程,这一过程即特征空间的划分或者叫做决策树的构建。直到所有的训练子集被基本正确分类,或者没有合适的特征为止。

以上方法分的类可能对训练数据有很好的分类能力,但对于未知的测试数据却未必有很好的分类能力,可能会出现过拟合现象。我们需要对已经生成的树进行自上而下的剪枝,使树变得简单,从而有很好的泛化能力,具体地,就是去掉过于细分的叶节点,使其退到父节点或者比父节点更高的结点,然后将父节点或者更高的结点改为新的叶节点。

决策树的剪枝通过最小化决策树整体的损失函数来实现。

1.信息增益

设随机变量X的概率分布: P(X=x_{i})=p_{i}

熵(entropy)是指数据的混乱程度: H(x)=-\sum_{i=1}^{n}{p_{i}logp_{i}}

(log以2为底,单位为比特bit,以e为底,单位为纳特nat)

熵只依赖于x的分布,而与x的取值无关,所以x的熵记作 H(p)=-\sum_{i=1}^{n}{p_{i}logp_{i}}

熵越大,数据越混乱,随机变量X的不确定性就越大,从定义可以验证:

0\leq H(p)\leq logn

条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性: H(Y|X)=\sum_{i=1}^{n}{p_{i}H(Y|X=x_{i})}

信息增益(information gain)表示得知特征x的信息而使类Y的信息不确定性减小的程度。

信息增益:特征A对训练数据集D的信息增益 g(D,A) ,定义为集合D的经验熵H(D)与特征A在给定条件下D的经验条件熵H(D,A)之差,即 g(D,A)=H(D)-H(D|A)

信息增益的计算:

(1)计算数据集D的经验熵H(D)

H(D)=-\sum_{k=1}^{k}{\frac{|C_{k}|}{|D|}}log_{2} \frac{|C_{k}|}{|D|}

|C_{k}| 为属于Ck类的样本个数,|D|表示样本容量。

(2)计算特征A对数据集D的经验条件熵H(D|A)

H(D|A)=-\sum_{i=1}^{n}{\frac{|D_{i}|}{|D|}}H(D_{i})=-\sum_{i=1}^{n}{\frac{|D_{i}|}{|D|}}log_{2}{\frac{|D_{ik}|}{|D_{i}|}}

|D_{i}| 为根据特征A的取值将D划分为n个子集 D_{1},D_{2},…,D_{n}

(3)计算信息增益

g(D,A)=H(D)-H(D|A)

2.信息增益比

当特征的取值较多的时候,根据此特征划分更容易得到纯度较高的子集,因此划分后的熵更低。所以信息增益偏向于取值较多的特征。

信息增益比:信息增益g(D,A)与训练数据集D的经验熵H(D)之比。

g_{R}(D,A)=\frac{g(D,A)}{H_{A}(D)}

3.ID3算法

ID3算法的核心是在决策树各个节点上应用信息增益准则选择特征,递归地构建决策树。

具体方法是:从根节点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子节点;再对子节点递归地调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止,最后得到一个决策树。

4.C4.5算法

C4.5算法与ID3算法相似,C4.5算法对ID3算法进行了改进,使用信息增益比来选择特征。

5.CART算法

分类与回归树,CART算法使用“基尼指数”来选择划分属性。

声明:本站内容来源于网络或叭楼会员发布,叭楼只作为信息发布平台,版权归原作者所有,本站不承担任何图片、内容、观点等内容版权问题,如对内容有歧义,可第一时间联系本站管理员发送邮件8309272@qq.com或者扫码微信沟通,经核实后我们会第一时间删除。

决策树(decision tree)是一种基本的分类和回归的方法。假设给定的训练数据集 D=\left\{ (x_{1},y_{1}),(x_{2},y_{2}),…,(x_{N},y_{N}) \right\} ,其中, x_{i}=(x_{i1},x_{i2},…,x_{in})^{T} 为输入实例(特征向量),n为特征个数, y_{i}\in\left\{ 1…

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容