决策树

  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.递归从叶结点往上回缩

          如果往上回缩后,损失函数变小,则进行剪枝

 

posted @ 2015-07-07 18:57  影翕  阅读(190)  评论(0编辑  收藏  举报