决策树

决策树

是基于树结构进行决策。

基本介绍

函数集

决策树的函数集就是通过特征来构造的树结构来表达。

函数评价

划分选择

通过选择最优划分属性,来得到上述树结构的形式。

信息熵

信息熵定义:

\[H=-\sum_{k}p_{k}\log{p_k} \]

信息增益, 或者叫互信息,是衡量特征X已知的情况下,类别y不确定性减小的程度:

\[I(y,X)=H(y)-H(y|X) \]

\(H(y|X)\)是条件熵,定义为:

\[H(y|X)=H(y,X)-H(X)=-\sum_{y,X}p(y,X)\log{\frac{p(y,X)}{p(X)}} \]

\[=\sum_{x}p(X=x)(-\sum_yp(y|X=x)\log{p(y|X=x)}) \]

\[=\sum_{x}p(X=x)H(y|X=x) \]

其中,\(H(y,X)\)为y, X的联合熵,当x固定或确定时,联合熵退化为普通的熵定义。

信息增益比,即互信息的增益率(gain ratio)定义为:

\[I_{gr}=\frac{I(y,X)}{H(X)} \]

基尼系数

\[Gini(y)=\sum_{k}p_k(1-p_k)=1-\sum_{k}p_k^2 \]

类比互信息,定义基尼系数的互信息:

\[I_{Gini}=Gini(y)-Gini(y|X) \]

\[Gini(y|X)=\sum_{x}p(X=x)Gini(y|X=x) \]

剪枝处理

一种处理过拟合的方法,提高模型泛化能力。在树模型中,一般都会涉及。

预剪枝:在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点。

后剪枝:是从训练集生成一颗完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。

相关算法

  • ID3算法用的信息增益(信息熵,互信息),\(I(y,X)\)
  • C4.5算法用的是信息增益比(信息熵),\(I_{gr}\)
  • CART算法用的是信息增益(基尼系数的互信息),\(I_{Gini}\)

发现最好的函数

这里不需要求解。

应用场景

决策树是一个分类的有监督模型。

  • 可以直接处理类别型特征

应用场景:

  • 需要解释性强的场景
  • 包含类别型特征

相关问答

参考

1.周志华,机器学习,清华大学出版社,2016

2.何宇健,python与机器学习实战,电子工业出版社,2017

posted @ 2020-08-15 10:39  mszhai  阅读(202)  评论(0编辑  收藏  举报