机器学习知识点复习(中)
一、决策树如何选分裂点?
决策树是基于树结构来进行预测
决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树
决策树学习的关键在于如何选择最优划分属性。一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”越来越高
选择分裂点的方式:
- 信息增益 (ID3决策树)
- 增益率(C4.5决策树)
- 基尼指数(GART决策树)
1.1 信息增益(ID3)
信息熵
度量样本集合纯度最常用的一种指标。假定当前样本集合D中第k类样本所占的比例为p_k(K=1,2,...,|у|),则D的信息熵定义为:
Ent(D)的值越小,则D的纯度越高。
- 规定:若
p = 0,则plog₂p = 0 Ent(D)的最小值为0 (即全部为同一类),最大值为log₂|y|(每一类发生的概率相同)。
信息增益
离散属性a有V个可能的取值{a¹,a²,...,aˇ}用a来进行划分,则会产生V个分支结点,其中第v个分支结点包含了D中所有在属性a上取值为a^v 的样本,记为D_v 。则可计算出用属性a对样本集D进行划分所获得的“信息增益”:
- 一般而言,信息增益越大,则意味着使用属性 来进行划分所获得的“纯度提升”越大
存在的问题:信息增益对可取值数目较多的属性有所偏好
例题计算
该数据集包含17个训练样本,|y|=2,其中正例占p₁=8/17,
反例占p₂=9/17,计算得到根结点的信息熵为:
以属性“色泽”为例,其对应的3个数据子集分别为D¹(色泽=青绿),D²(色泽=乌黑),D³(色泽=浅白)
子集D¹包含编号为{1,4,6,10,13,17}的6个样例。其中正例占p₁=3/6,反例占p₂=3/6。D²、D³同理,则3个结点的的信息熵为:
则属性色泽的信息增益为:
同理请尝试算出其他属性的信息增益
由于,属性**“纹理”**的信息增益最大,其被选为划分属性
之后做出现在的决策树
现在以图中第一个分支点(纹理=清晰)在进行上述操作。样例集合为D¹,有编号{1,2,3,4,5,6,8,10,15}的9个样例,基于D¹计算其它个属性的信息增益
1.2 增益率(C4.5)
增益率定义:
其中
称为属性a的“固有值”,属性a的可能取值数目越多(即V越大),则Ⅵ(a)的值通常就越大
存在的问题:增益率准则对可取值数目较少的属性有所偏好
C4.5 使用了一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选取增益率最高的
1.3 基尼指数(GART)
数据集D的纯度可用“基尼值”来度量
Gini(D)越小,数据集D的纯度越高
属性a的基尼指数定义为:
应选择那个使划分后基尼指数最小的属性作为最优划分属性,即
GART 采用“基尼指数”来选择划分属性
二、感知机缺点
单层感知机的学习能力非常有限, 只能解决线性可分问题。例如对于与、或、非问题线性可分,感知机学习过程能够求得适当的权值向量;而异或问题不是线性可分的,感知机学习不能求得合适解
三、如何调节神经网络
早停、正则化
四、深度模型需要大量训练样本
五、神经网络中常用的激活函数
Sigmoid 函数
六、SVM的分类基本原理
SVM即支持向量机
-
前提定义: 对于来自两类的一组模式
,如果能用一个线性判别函数正确分类,则称他们是线性可分的。
线性可分eg:
线性不可分eg:
-
如何找到这个线性判别函数
将训练样本分开的超平面可能有很多, 哪一个好呢?
eg:
该例子应选择”正中间”, 容忍性好, 鲁棒性高, 泛化能力最强。
-
分类原理
名词解释:
支持向量:距离超平面最近的训练样本称作支持向量
间隔:两个异类支持向量到超平面的距离之和
-
首先定义超平面方程:
-
任意样本x到超平面(w,b)的几何距离:
-
支持向量到超平面(w,b)的几何距离为d,则满足:
对w和b变形
合并
-
最大间隔:寻找参数w和b, 使得γ最大最大.
等价于
-
七、朴素贝叶斯分类器
7.1 先验概率
指在观测前就已知的结果概率分布P(y)
eg: 根据经验,一个西瓜为好瓜的概率为P(y=1)=0.6,为一个坏瓜的概率为P(y=0)=0.4
7.2 后验概率
指在观测到x后对结果y的估计P(y|x)
eg: 例如:观测到一个色泽为青绿的西瓜(x),估计它为好瓜的概率为P(1|青绿)=0.7
计算后验概率的方法:贝叶斯公式
7.3 朴素贝叶斯分类器
注:贝叶斯分类器 ≠ 贝叶斯学习
根据贝叶斯定理,有
估计后验概率P(c|x)主要困难:
P(x|c)是所有属性上的联合概率,难以从有限的训练样本估计获得。
其中
朴素贝叶斯分类器采用了**“属性条件独立性假设”:每个属性独立地**对分类结果发生影响。
则
即
- 其中d为属性数目,
x_i为x在第i个属性上的取值。
则最终得到贝叶斯分类器的表达式:
总结: 使用朴素贝叶斯分类器,数据性质要有 属性条件独立性假设,即每个属性独立地对分类结果发生影响