吃瓜教程task03--决策树

按照划分准则(特征选择的评价标准)

1.ID3决策树:信息增益

2.C4.5决策树:增益率(ID3改良)

3.CART决策树:基尼指数

4.剪枝处理:解决过拟合

决策树达到最纯净划分的目标需要进行:建树和剪枝

1.ID3

【算法逻辑】

最终目的:划分后提高样本纯度,将样本越分越纯(信息熵度量纯度)

【信息熵】:Ent(D)=-\Sigma_{k=1}^{|y|}p_klog_2p_k.

Ent(D)越小,D的纯度越高

概率值都相等时信息熵越大,随机变量X越不确定。

【条件熵】:

H(Y|X)=\Sigma_xp(x)H(Y|X=x).

已知属性(特征)a的取值后,样本集合D的条件熵为

\Sigma_{v=1}^V\frac{|D^v|}{|D|}Ent(D^v)

\frac{|D^v|}{|D|}Ent(D^v)表示取值为a^v的样本占比

【信息增益】:

不划分该属性时的信息熵-按属性的某个取值划分的信息熵

Gain(D,a)=Ent(D)-\Sigma_v=1^V\frac{D^v}{D}Ent(D^v)

a_*=argmax_{a\in A} Gain(D,a)

A={a_1,a_2,a_3,....} a_i为属性

遍历每个属性,信息增益最大的属性为最优属性,最优属性作为当前节点的分裂属性使得划分的训练样本自己进行分类所需的信息最少(是一种贪心算法)。

自顶向下递归。

缺点:

1.抗噪声性差,数据样本数量太少或噪声太大会产生过拟合问题。

2.选择最优时容易倾向于“特征值种类较多”的特征

3.无法处理特征值为连续型数据的特征

2.C4.5决策树

 背景:按信息增益划分,属性取值过多且里面所含样本量太少,信息增益大,但划分没有意义(如:编号)。用增益率代替增益:

Gain\_ratio(D,a)=\frac{Gain(D,a)}{IV(a)}

IV(a)=-\Sigma_{v=1}^V\frac{D^v}{D}log_2\frac{|D^v|}{|D|}

称为属性a的“固有值” .属性a的可能值V越多,IV(a)的值通常越大。

先从候选划分属性中找出信息增益高于平均水平的属性,在从中选择增益率最高的。

3.CART决策树

基尼值衡量

基尼值定义:

Gini(D)=\Sigma_{k=1}^{|y|}\Sigma_{k'\neq k}p _kp_k'=\Sigma_{k=1}^{y}p_k(1-p_k)=1-\Sigma_{k=1}^{|y|}p_k^2

基尼值越小碰到异类的概率就越小

属性a的基尼指数:

Gini_index(D,a)=\Sigma_{v=1}^V\frac{D^v}{D}Gini(D^v)

CART决策树:最优划分 选择基尼指数最小的属性

 a_*=argmin_{a\in A}Gini_index(D,a)

1.构造:将数据分为 a=va\neq v划分

Gini_index(D,a)=\frac{|D^{a=v}|}{|D|}Gini(D^{a=v})+\frac{D^{a\neq v}}{|D|}Gini(D^{a\neq v})

2.选择基尼指数最小的属性及取值作为最优划分属性和最优划分点

3.重复以上两步知道满足停止条件。

4.剪枝处理

分类难以到精确达理想状态导致决策树在构建过程中难以停止或者容易产生过拟合。叶节点过多时过拟合的常见表现,因此主动去掉分枝。

导致过拟合的常见原因:

1.训练数据中存在噪声。

2.数据不具代表性。

树的剪枝:

预剪枝:构建过程中,启发式方法,对划分进行预测,若当前节点的划分不能对决策树的繁花性能进行提升则停止划分,并标记为叶节点。

后剪枝:构建完成后,自底向上,若该节点对应的子树替换为节点能提升泛化能力,则删除叶子结点其父节点变为新的叶子节点。

参考资料:

[1]周志华,《机器学习》,北京,清华大学出版社

[2]谢文睿,秦州,贾彬彬,《机器学习公式详解》,北京,人民邮电出版社

[3]第4章-决策树_哔哩哔哩_bilibili

[4]公众号:【数学中国】文章:《一个很棒的决策树讲解》

你可能感兴趣的:(决策树,算法,机器学习)