决策树简介
在分类问题中,表示基于特征对实例进行分类,即定义在特征空间与类空间上的条件概率分布。
**优点:**决策树模型具有可读性,分类速度快,学习时,利用训练数据,根据损失函数最小化的原则。决策树的学习步骤分为:特征选择,决策树的生成,决策树的剪枝。本文主要针对特征选择和决策树的生成展开叙述。
决策树学习的思想主要来源于由Quinlan在1986年提出的ID3和1993年提出的C4.5算法,以及有Breiman等人在1984年提出的CART算法。
**决策树模型:**决策树由节点和有向边组成。内部结点表示一个特征或属性,叶结点表示一个类。、
下图即为决策树模型的示意图。
决策树与条件概率分布
假设X为表示特征的随机变量,Y为表示类的随机变量,那么这个条件概率分布可以表示为
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X). X 取值于给定划分下的单元的集合,Y表示取值类的集合,各个叶结点上的取值会偏向某一个概率较大的类,决策树分类是将该结点的样本计算强行分到条件概率较大的那一边。
决策树学习
决策树学习,假定给定训练数据集:
D
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
N
,
y
N
)
}
D=\left \{ (x_{1},y_{1}),(x_{2},y_{2}),\cdots ,(x_{N},y_{N})\right \}
D={(x1,y1),(x2,y2),⋯,(xN,yN)},其中
x
i
=
(
x
i
1
,
x
i
2
,
⋯
,
x
i
n
)
T
x_{i}=\left ( x_{i}^{1} ,x_{i}^{2},\cdots ,x_{i}^{n}\right )^{T}
xi=(xi1,xi2,⋯,xin)T为输入的样本,n代表特征的个数,
y
i
ϵ
{
1
,
2
,
⋯
,
K
}
y_{i}\epsilon \left \{ 1,2,\cdots ,K \right \}
yiϵ{1,2,⋯,K}为类的标记,
i
=
1
,
2
,
⋯
,
N
i=1,2,\cdots ,N
i=1,2,⋯,N,N为样本的容量,学习的目标是根据使决策树的损失函数为目标函数使其最小化,利用给定的训练集建一个决策树模型,使它能够对测试数据进行较好的分类。对未知的数据可能不会有较好的分类能力,最大可能就是发生过拟合(即受测试数据的“异常数据”的影响较大),在决策树中可以对其进行自下而上进行剪枝,本文不对此进行讨论,如诺感兴,敬请等待后续文章。
决策树是一个基于条件概率的分类模型,所以决策树的复杂度直接受决策树的大小影响,且对应局部最优解,决策树的剪枝对应全局最优解。
特征的选择
特征的选择在某种程度上直接决定着决策树的泛化能力,通常在决策树中的特征选择主要依靠于信息增益或者信息增益比(C4.5算法)
信息增益
再介绍信息增益之前,先简单的介绍一下熵和条件熵。
熵:表示随机变量不确定性,设x是一个取有限个值得离散随机变量其概率分布为
则随机变量的熵定义为 ,熵只依赖于X的分布,而与X的取值无关,熵值越大,随机变量的不确定性就越大.其范围为






















讲过原理之后,我们就拿身边的一些事情开刀喽!
下表是一个有12个样本组成的逃课样本数据
对表所给出的数据集D,根据信息增益的原则选择出特征最优
计算信息熵:






