机器学习算法第八篇
主要内容:决策树算法+C4.5算法+信息增益比
通俗的讲决策树:
算法目的:
- 求通过训练集计算出一个最合适的决策树模型,并可以对输入的样本进行分类
决策树原理:
- 相同的原因会生产相同类似的结果---->相同的输入特征会产生相同或相似的输出y
决策树的结构:
- 由节点和有向边组成,内部节点表示一个特征或属性,叶子节点表示一个类
分类的过程:
- 从根节点开始,根据节点的分类标准(该标准在决策树生成的时候已经决定了)对样本某一特征进行测试,根据结果,将样本分配到相应的子节点
- 循环进行第1步,直到叶子节点
- 根据叶子节点的分类标记决定该样本的分类或预测值(叶子节点的分类由决策树生成的时候决定)
决策树的构建(训练阶段):
- 构建根节点,将所有训练数据存放在根节点
- 选择一个最优的特征,按照这个特征将训练数据集分割成子集,使得各个子集是最好的分类
(这个特征的分类标准即为该节点的分类标准,C4.5算法采用的是信息增益比最大的方法来选择最优的特征) - 如果某个子集可以很好的对数据进行分类,则对该子集建立叶子节点.
(将子集中数量最多的y的分类标记为叶子节点的分类标记) - 如果某子集不能很好的对自己的数据进行分类,则继续重复2,3步 ,直到所有的数据都被分配到叶子节点
C4.5算法:
算法概念:
- C4.5算法与ID3算法相似,都是在决策树构建的时候,选择最优特征的一种算法,它与ID3不同之处在于当决策树各个节点选择特征时候,ID3使用信息增益最大准则,而C4.5则是使用信息增益比最大准则
信息增益准则:
- 对训练集数据,计算他们的每个特征的信息增益,并比较他们的大小,选择信息增益最大的特征
信息增益比:
- 当对信息增益作为划分训练数据的特征时候,存在偏向于选择值较多的特征(公式计算结果对特征值种类较多的特征有利)
- 使用信息增益比作为特征选择的准则可以矫正这个问题,这也是算法从ID3升级到C4.5的主要原因
信息增益比的计算:
为了更好的计算,先定义下熵和条件熵
熵:表示随机变量不确定性的度量
设X是一个取有限值的离散随机变量,其概率分布P(X=xi)=pi,i=1,2,3...n则关于随机变量X的熵定义为设X是一个取有限值的离散随机变量,其概率分布P(X=x_i)=p_i,i=1,2,3...n \\则关于随机变量X的熵定义为设X是一个取有限值的离散随机变量,其概率分布P(X=xi)=pi,i=1,2,3...n则关于随机变量X的熵定义为
(1)H(X)=−∑i=1npilogpiH(X)=-\sum_{i=1}^np_ilogp_i\tag1H(X)=−i=1∑npilogpi(1)
通常(1)式中对数取2或e为底,若pi=0,则定义−log0=0通常(1)式中对数取2或e为底, 若p_i=0,则定义-log0=0通常(1)式中对数取2或e为底,若pi=0,则定义−log0=0
由(1)式我们可以知道熵只与X的分布有段,所有我们也称X的熵为H(p)由(1)式我们可以知道熵只与X的分布有段,所有我们也称X的熵为H(p)由(1)式我们可以知道熵只与X的分布有段,所有我们也称X的熵为H(p)
条件熵H(X|Y):表示在一直随机变量X的条件下随机变量Y的不确定性
设有随机变量(X,Y),其联合概率分布为P(X=xi,Y=yj)=pij,i=1,2,3,..,n;j=1,2,3...,m则X给定的情况下Y的条件熵的定义为:设有随机变量(X,Y),其联合概率分布为P(X=x_i,Y=y_j)=p_{ij}, i=1,2,3,..,n;j=1,2,3...,m\\ 则X给定的情况下Y的条件熵的定义为:设有随机变量(X,Y),其联合概率分布为P(X=xi,Y=yj)=pij