决策树学习笔记

决策树

概念

希望根据样本的若干个特征对其进行分类。

决策树是一种判别模型。

特征:X1,X2...Xm,Y

样本:x1,x2..xn

可以进行二分类也可以进行多分类。一般来说使用决策树的时候特征取值都是离散的。最终想要学习到的是特征和标签之间的关系。

X1X2...Yx110...1x201...0...

现在从列的角度出发,可能存在某一个特征,对于分类的作用大于其他的特征。考虑使用树,从根节点进行二分。设x1为我们所选的对于分类作用最大的特征,把它作为根节点,x1取1的样本放到左边,x1取0的样本放到右边。同样对于其儿子,又可以选择分类作用次大的特征继续进行分类,注意,对于同层的节点,不一定选择相同的特征,而是应该选择分类效果最好的那个特征。不断分类下去直到叶子节点停止分类。叶子节点的样本的标签相同。

Ω为概率空间,存在两个离散的随机变量X,YXx1,x2...xnYy1,y2...ym

定义P(X=xi)=p(xi)P(Y=yj)=p(yj)。根据全概率公式,Σi=1np(xi)=1Σj=1mp(yj)=1

现在来看他们的联合分布:P(X=xi,Y=yj)=p(xi,yj)

X的边缘分布:p(xi)=Σj=1mp(xi,yj)

条件概率:P(X=xi|Y=yj)=P(X=xi,Y=yj)P(Y=yj)=p(xi,yj)p(yj)=p(xi|yj)

H(X)=Σi=1np(xi)logp(xi)=Σi=1np(xi)log(1p(xi))>=0

那么熵什么时候等于0呢?p(x1)=1,p(xi)=0(i>1)

那么熵是否存在极大值呢?是否能趋向正无穷呢?注意到p(xi)的和是1,H(x)logΣi=1np(xi)1p(xi)=logn

注意这里的不等式实际上是根据琴声不等式得来的。

因此可以得到熵的范围:[0,logn]

条件熵:H(X|Y)=Σj=1mp(yj)(Σi=1np(xi|yi)log(p(yi|xi)))

H(X)H(X|Y)=Σi=1np(xi)logp(xi)+Σj=1mp(yj)(Σi=1np(xi|yi)log(p(yi|xi)))=Σi=1np(xi)logp(xi)+Σj=1mΣi=1np(xi,yj)logp(xi,yj)p(yj)=....=Σi=1nΣj=1mp(xi,yj)logp(xi,yj)p(xi)p(yj)

  1. H(Y)H(Y|X)=H(X)H(X|Y)。信息增益?

  2. X,Y独立,有p(xi,yi)=p(xi)p(yi)H(X)H(X|Y)=0。给出Y判断X或者给出X判断Y是没有增益的,因为两者独立。

  3. 利用凹函数的性质,可以知道信息增益大于等于0。

决策树建立

先从根节点开始,计算熵 。

D0=|{Y=0}|D1=|{Y=1}|

H(Y)=D0nlogD0n

D00=|{X1=0,Y=0}|....D11|{X1=0}|=D00+D01...

H(Y|X1)=D00+D01n[D00D00+D01logD00D00+D01+D01D00+D01logD01D00+D01]D10+D11n[D10D10+D11logD10D00+D11+D11D10+D11logD11D10+D11]

因此需要选maxi(H(Y)H(Y|Xi))这个特征进行第一次分类。那么什么时候分类停止?节点的熵等于0.

posted @   脂环  阅读(94)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2020-04-09 Codeforces Round #632 (Div. 2) C. Eugene and an array(尺取法/前缀和)
2020-04-09 Codeforces Round #632 (Div. 2) B. Kind Anton(贪心)
2020-04-09 Codeforces Round #632 (Div. 2) A. Little Artem(水题)
点击右上角即可分享
微信分享提示
主题色彩