机器学习经典算法—决策树(1)

1,289 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

一个例子

例如我们找工作时,想要了解一个公司是不是我们心仪公司,首先我们会关心的薪资,如果超过自己接受底线或者高于现在拿到手的工资,就会继续询问是否为双休,以及五险一金缴纳的情况,这些问题可以看成你要做出最后决策的依据。其实我们在询问过程中就是建立一颗决策树。

  • 决策树定义
  • 目标函数
  • 过拟合以及剪枝
  • 决策树的优势和劣势
  • 集成学习

最近想聊一聊决策树,因为设计内容比较多,所以拿出一定时间来持续更新,而且还会不断更新完善写完的文章,希望大家多多支持。

决策树

我们根据数据特征作为节点对数据进行分类,该特征的可能值为该分类的值,每一条分支都是一个branch(分支),每一个分支下有特征节点或者是叶子节点,如果是叶子节点就不可再分了。

  • 节点(node) 可以理解特征
  • 边(edges) 特征值
  • 叶节点(leaf) 可以理解标注

决策树可以回归也可以做分类,主要是做分类。决策树是监督学习。

决策树的目标函数

如果选择特征,也就是选择那些特征进行划分,以及这些特征选择前后的顺序。

信息熵

度量样本集合纯度的最常用方法之一。

H(X)=i=0npilogpiH(X) = - \sum_{i=0}^n p_i \log p_i

信息增益

对于只有 2 类数据样本组成集合,其熵可以表达如下,那么也就是当这 2 类样本一样多时候其熵值最大,也就是混乱程度最大。

H(X)=plogp(1p)log(1p)H(X) = -p \log p - (1-p)\log(1-p)