<统计学习方法>4 决策树(Decision Tree)
来源:互联网 发布:神知世界全文 编辑:程序博客网 时间:2024/05/28 05:17
- 决策树是一种基本的分类与回归方法
- 以下内容讨论用于分类的决策树,是由训练数据集估计条件概率的模型
- 在学习时,利用训练数据,根据损失函数最小化的原则建立决策树,模型
- 在预测时,对新的数据,利用决策树模型进行分类
- 决策树学习通常包含3个步骤:特征选择,决策树的生成和决策树的修剪
决策树模型与学习
决策树模型
- 决策树由结点(node)和有向边(directed edge)组成。结点分为:内部结点(internal node)和叶结点(leaf node)。内部结点表示一个特征或属性,叶节点表示一个类。
决策树与条件概率分布
- 决策树海表示给定特征条件下类的条件概率分布。这一条件概率分布定义在特征空间的一个划分(partition)上,将特征空间划为互不相交的单元(cell)或区域(region),并在每一个单元定义一个类的概率分布就构成了一个条件概率分布。
决策树学习
- 决策树的学习用损失函数,该损失函数通常是正则化的极大似然函数。决策树学习的策略是在损失函数为目标函数的最小化
- 当损失函数确定后,学习问题就变为在损失函数意义下选择最优决策树的问题。从所有可能的决策树中选择最优决策树是NP完全问题。所以现实中决策树学习算法通常采用启发式方法,近似求解这一最优化问题。这一得到的决策树是次最优(sub-optimal)的。
- 由于决策树表示一个条件概率分布,所以深浅不同的决策树对应着不同复杂度的概率模型。决策树的生成对应于模型的局部选择,决策树的剪枝对应于模型的全局选择,决策树的生成值考虑局部最优,而决策树的剪枝则考虑全局最优。
特征选择
信息增益
- 在信息论与概率统计中,熵(entropy)是表示随机变量不确定性的度量。设X是一个取有限个值的离散随机变量,其概率分布为:
P(X=xi)=pi,i=1,2,...,n
则随机变量 X 的熵的定义为:H(X)=−∑i=1npi logpi - 熵越大,随机变量的不确定性就越大。由定义可知,熵只依赖X 的分布,而与X 的取值无关。
- 对数以 2 为底或以 e 为底,此时熵的单位分别称为 比特(bit) 或 纳特(nat)
- 条件熵(conditional entropy) H(Y|X) 表示在已知随机变量X的条件下随机变量Y的不确定性。定义为X给定条件下Y的条件概率分布的熵对 X 的数学期望:
H(Y|X)=∑i=1npiH(Y|X=xi) - 这里,
pi=P(X=xi)
- 这里,
- 当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵和条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)
- 信息增益(information gain)表示得知特征X的信息而使得类Y的信息不确定性减少的程度
- 信息增益 定义:特征A对训练数据集D的信息增益g(D,A) ,定义为集合D的经验熵H(D)与特征A给定条件下 D 的经验条件熵 H(D|A) 之差:
g(D,A)=H(D)−H(D|A) - 一般来说,熵H(Y)与条件熵H(Y|X) 之差称为互信息(mutual information)
- 决策树学习中的信息增益等价于训练数据集中类与特征的互信息。
- 根据信息增益准则的特征选择方法是:对训练数据集D,计算其每个特征的信息增益,并比较他们的大小,选择信息增益最大的特征。
信息增益比
特征 A 对训练数据集 D 的信息增益比
决策树的生成
ID3算法
- 核心: 在决策树各个结点上应用信息增益准则选择特征,递归构建决策树。
- 具体方法:从根节点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子节点,再对子节点递归调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止。
- 相当于用极大似然法进行概率模型的选择。
- ID3算法只有树的生成,所以该算法生成的树容易产生过拟合。
C4.5算法
- 改进版的 ID3 算法:用信息增益比来选择特征。
决策树的剪枝
- 在决策树学习中将已生成的树进行简化的过程称为剪枝(pruning)
- 即:从已生成的树上裁剪掉一些子树或叶节点,并将其根节点或父节点作为新的叶节点,从而简化分类模型。
- 决策树的剪枝往往通过极小化决策树整体的损失函数或代价函数来实现。
CART 算法
- 分类与回归树(classification and regression tree, CART)
- 是在给定输入随机变量 X 条件下输出随机变量 Y 的条件概率分布的学习方法
- 该方法假设决策树是二叉树,内部节点特征的取值为 是 和 否,左分支是取值为 是 的分支,右分支是取值为 否 的分支。
- 用基尼(gini)指数来选择特征,选择基尼指数最小的
阅读全文
0 0
- <统计学习方法>4 决策树(Decision Tree)
- 机器学习方法(四):决策树Decision Tree原理与实现技巧
- 机器学习方法(四):决策树Decision Tree原理与实现技巧
- 3.决策树Decision Tree
- 决策树(Decision Tree)
- 决策树(Decision Tree)
- 决策树(Decision Tree)
- 决策树decision tree分析
- 决策树(Decision Tree)
- 决策树Decision Tree
- 决策树Decision tree简析
- Decision Tree决策树
- 决策树(Decision tree)
- 决策树(Decision Tree)
- 决策树(Decision tree)
- 决策树(decision tree)
- 决策树Decision tree
- 决策树(Decision Tree)
- Git 配置 ssh 公钥
- 系统烧写步骤
- JavaScript学习之二进制的 AST详解
- 部分和问题
- YOLO V2的改进点
- <统计学习方法>4 决策树(Decision Tree)
- 蒙特卡罗算法理解和简单实现
- Linux——shell学习笔记
- Change String to Byte in Python
- c语言指针
- 实践
- 哪些知识点是学习matlab应该熟练掌握的?
- 数字签名
- linux下安装python环境