决策树
ps:总结的是分类决策树。
决策树,由结点和有向边组成,结点包括内部结点(属性)和叶子结点(类别)。
eg.给定训练数据集D={(x1,y1),(x2,y2),...,(xN,yN)}
xi为输入实例,n为特征个数,yi∈{1,2,...,K}
下图所示为一颗简单的决策树
特征选择:
选取对训练数据具有分类能力的特征,通常遵循的准则是信息增益或信息增益比。
信息增益:
熵:表示随机变量不确定性的度量。
设X是取有限个值得离散随机变量,P(X=xi)=pi,i=1,2,...,n,H(X)表示X的熵
设随机变量(X,Y),P(X=xi,Y=yj)=pij,i=1,2,...,n;j=1,2,...,m
条件熵H(Y|X)表示在已知随机变量X的条件下,随机变量Y的不确定性,定义如下
//pi=P(X=xi),i=1,2,...,n
信息增益:特征A对训练数据集D的信息增益g(D,A),为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差
g(D,A)=H(D)-H(D|A)
设训练集为D,|D|表示样本个数,设有K个类Ck,k=1,2,...,K,|Ck|为属于该类的样本个数,其总和为|D|
设特征A有n个不同的取值{a1,a2,...,an},根据特征A划分D为D1,D2,...Dn,|Di|为Di的数量,总和为|D|
定义Dik=Di∩Ck,|Dik|为Dik的数量
选择信息增益大的特征
信息增益比:
决策树算法:
1.ID3算法 //利用信息增益值选择特征
2.C4.5算法 //利用信息增益比选择特征,形式上与ID3相似
决策树剪枝:
决策树通过迭代,往往对训练数据分类很准确,对未知的测试数据没那么准,即出现过拟合。决策树太过复杂,需要剪枝。
决策树剪枝通常通过极小化决策树整体的损失函数实现。
eg.设树T的叶结点个数为|T|,t是树T的叶结点,该结点有Nt个样本点,k类的样本点有Ntk个,k=1,2,...,K,Ht(T)为叶结点t的
经验熵,α≥0,则决策树学习的损失函数可定义为:
其中
代入可得
其中前一部分表示模型对训练数据的预测误差,即模型与训练数据的拟合程度,|T|表示模型复杂度,α≥0
当α确定时,选择损失函数最小的模型,即为损失函数最小的子树
剪枝算法:
输入:生成算法产生的整个树T,参数α
输出:修建后的子树Tα
1.计算每个结点的经验熵
2.递归从叶结点往上回缩
如果往上回缩后,损失函数变小,则进行剪枝