机器学习
本文根据【周志华《机器学习》】(西瓜书)一书整理。
1 基本概念
1.1 判别式模型和生成式模型
- 判别式模型是直接对条件概率建模,来预测x所属的分类。
常见的判别式模型有:线性回归模型、支持向量机SVM、神经网络等。 - 生成式模型则会对x和y的联合分布p(x,y)建模,然后通过贝叶斯公式来求得,然后选取使得最大的,即:
常见的生成式模型有:隐马尔可夫模型HMM、朴素贝叶斯模型、高斯混合模型GMM等。
1.2 监督学习和无监督学习
- 监督学习:训练数据有标记信息。例如:分类、回归。
- 无监督学习:训练数据没有标记信息。例如:聚类、降维。
1.3 懒惰学习和急切学习
- 懒惰学习:在训练阶段仅仅是把样本保存起来,训练时间开销为零,待收到测试样本后再进行处理。例如:KNN。
- 急切学习:在训练阶段就对样本进行学习处理。例如:决策树、神经网络。
1.4 分类和回归
- 分类:模型预测的是 离散值 。包括:二分类、多分类。
- 回归:模型预测的是 连续值 。
1.5 过拟合、欠拟合和泛化能力
- 过拟合:模型训练过度,把训练样本自身的特点当作所有潜在样本的一般性质,导致泛化能力下降。
- 欠拟合:模型对训练样本的一般性质尚未学好。
- 泛化能力:指模型适用于新样本的能力。
1.6 维数灾难
- 维数灾难:在高维下出现的 数据样本稀疏 、 距离计算困难 等问题。
- 缓解策略:降维,即通过某种数学变换,将原始高维属性空间转变为一个低维子空间。
1.7 评价指标
- 错误率:分类错误的样本数占样本总数的比例
- 精度:分类正确的样本数占样本总数的比例
- 混淆矩阵:
- 查准率:预测结果的正例中,真正例占的比例
- 查全率(召回率):真实情况的正例,被模型预测正确的比例
- F1:是模型查准率和查全率的调和平均,兼顾分类模型查准率和查全率的衡量指标。
1.8 先验、似然和后验
是先验概率,是似然函数,是后验概率。
- 先验概率:表示考虑相关事物性质的参数前所估计的概率。
- 似然函数:表示已知某些观测结果时,对有关事物性质的参数进行的估计。
- 后验概率:表示考虑相关事物性质的参数后所得到的条件概率。
2 模型理解
2.1 逻辑回归
2.1.1 模型介绍
逻辑回归是一种分类模型,并常用于二分类。
线性回归模型简写为
逻辑回归的模型为
利用Sigmoid函数,将线性回归转化为分类模型,得到逻辑回归模型
可变化为
若将视为样本为正例的可能性,则是其反例的可能性,两者比值成为几率,是其对数几率。因此 逻辑回归实际是用线性回归模型的预测结果去逼近真实标记的对数几率 。
2.1.2 估计模型参数
令估计参数和为,构造预测函数为
函数的值表示分类结果取1的概率,因此对于输入分类结果为类别1和类别0的概率分别为
综合上式可得
取似然函数
则对数似然为
得到损失函数为
2.2 决策树
2.2.1 决策树生成
决策树从给定训练数据集训练一个树型结构模型用以对新样本进行分类,属于监督学习。
一棵决策树包含一个根结点、若干个内部结点和若干个叶结点;叶结点对应于决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根结点包含样本全集。
从根结点到每个叶结点的路径对应了一个判定测试序列。决策树学习基本算法如下图所示。
决策树的生成是一个递归过程。在决策树基本算法中,有三种情形会导致递归返回:
- 当前结点包含的样本全属于同一类别,无需划分;
- 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分;
- 当前结点包含的样本集合为空,不能划分。
2.2.2 ID3决策树(信息增益)(计算)
信息熵(information entropy)是度量样本集合纯度最常用的一种指标。假定当前样本集合中第类样本所占的比例为,则的信息熵定义为
为分类类别数目,Ent 的值越小,则的纯度越高。Ent 的最小值为0,最大值为。
信息的基本作用就是消除人们对事物的不确定性。信息熵为事件不确定性的量度。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高。事件的不确定性越大,熵也就越大,把它搞清楚所需要的信息量也就越大。
信息增益(information gain)是指一个特征能够为分类系统带来多少信息,带来的信息越多,说明该特征越重要,相应的信息增益也就越大。
信息熵是代表随机变量的复杂度(事件的不确定度),条件熵代表在某一个条件下,随机变量的复杂度(事件的不确定度)。
为属性可取值的数目。
因此,信息增益代表已知某个条件后,随机变量的复杂度(事件的不确定度)减少的程度。如果选择一个特征后,信息增益最大(信息不确定性减少的程度最大),那么就选取这个特征。
2.2.3 C4.5决策树(信息增益率)(计算)
信息增益准则对可取值数目较多的属性有所偏好(属性本身的取值越多,信息增益越大),C4.5决策树算法不直接使用信息增益,而是使用增益率(gain ratio)来选择最优划分属性。增益率定义为
其中
表示标记为的样本数占总样本数的比例。
C4.5算法先从候选划分属性中找出信息增益高于平均水平的属性,再从中选出信息增益率(用信息增益除以该属性本身的固有值Intrinsic value)最高的属性作为划分属性。
2.2.4 CART决策树(基尼指数)(计算)
CART决策树使用基尼指数(Gini index)来选择划分属性。基尼指数反映了从数据集中随机抽取两个样本,其类别标记不一致的概率。基尼值定义为
特征属性a的基尼系数定义为
基尼指数表征的也是事件的不确定性,因此在候选属性集合A中,选择使得划分后基尼指数最小的属性作为最优划分属性,即
2.2.5 决策树剪枝
- 预剪枝:在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点;
- 后剪枝:先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。
2.3 贝叶斯分类器
2.3.1 贝叶斯决策论(计算)
分类判定准则以最小化总体风险,为分类函数。为样本的已知属性或特征。
贝叶斯判定准则:为最小化总体风险,需要在每个样本上选择使条件风险最小的类别标记,即使分类函数满足
此时称为贝叶斯最优分类器。
若条件风险中的判断损失取值为0、1,则条件风险
则贝叶斯最优分类器为
综上所述,使用贝叶斯判断准则来最小化风险,需要 使得后验概率最大化 ,而后验概率难以直接获得,因此引入贝叶斯定理
其中为类的先验概率,为类条件概率(似然概率),为证据因子。因此估计的问题就转化为如何基于训练数据来估计先验概率和似然。
表示样本空间中各类样本所占的比例,可通过各类样本出现的频率来进行估计
无法直接根据样本出现的频率来估计。
贝叶斯定理的理解:
为该类的概率,为可能性函数,即一个调整因子,也就是已知属性带来的调整,作用是将先验概率调整为后验概率。
2.3.2 极大似然估计
极大似然估计是根据数据采样来估计概率分布参数 。先假定其具有某种确定的概率分布形式 (如正态分布等), 再基于训练样本对概率分布的参数进行估计 。
记关于类别的类条件概率为,假设具有确定的形式并且被参数向量。唯一确定,则我们的任务就是利用训练集估计参数。
令表示训练集中第类样本组成的集合,假设这些样本是独立同分布的,则参数对于数据集的似然是
通常使用对数似然
此时参数的极大似然估计为
2.3.3 朴素贝叶斯分类器(计算)
朴素贝叶斯分类器:对已知类别,假设所有属性相互独立。即假设每个属性独立地对分类结果发生影响。
则贝叶斯公式可改写为
其中为属性数目,为属性值,为分类结果标签。
因此朴素贝叶斯分类器的表达式为
训练过程:基于训练集估计类先验概率,为训练集的样本数
并为每个属性估计条件概率,离散属性如下
连续属性如下
2.4 支持向量机
支持向量机是利用支持向量在基于训练集的样本空间中,找到一个划分超平面,将不同类别的样本分开。划分超平面线性方程如下
其中为法向量,决定了超平面的方向;为位移项,决定了超平面与原点之间的距离。划分超平面可被法向量和位移确定。
则样本空间中任意点到超平面的距离为
若超平面能将训练样本正确分类,则令
距离超平面最近的几个训练样本点使等号成立,它们被称为"支持向量",他们到超平面的距离为
则两个异类支持向量到超平面的距离之和被称为"间隔",即
欲找到最大间隔的划分超平面,即最大化,仅需最大化,等价于最小化,即获得支持向量机的基本型
2.5 神经网络
2.5.1 神经网络模型
- 神经网络模型:神经元接收到来自个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过"激活函数"处理以产生神经元的输出。
2.5.2 感知机与多层网络
- 感知机:由两层神经元组成,能容易地实现"与、或、非"等线性可分问题,但不能解决"异或"等非线性可分问题。
- 多层前馈网络:每层神经元与下一层神经元全连接,神经元之间不存在同层连接和跨层连接。输入层神经元接受外界输入,隐藏层和输出层神经元对信号进行加工,最终结果由输出层输出。
2.5.3 反向传播算法
反向传播算法基于梯度下降策略,以目标的负梯度方向对参数进行调整。反向传播算法的工作流程:
- 先将输入示例提供给输入层神经元
- 然后将信号逐层传递,直到产生输出层的结果
- 然后计算输出层的误差
- 再将误差逆向传播至隐藏层神经元
- 最后根据误差来对连接权和阈值进行调整
2.6 聚类
2.6.1 聚类任务
聚类将数据集中的样本划分为若干个不相交的子集,每个子集成为一个簇,每个簇可能对应于潜在的类别。
聚类评价外部指标:JC、FMI、RI
聚类评价内部指标:DBI、DI
闵可夫斯基距离:
当时为欧氏距离,当时为曼哈顿距离。
2.6.2 K-means算法(计算)
给定样本集,"k均值"算法针对聚类所得簇划分最小化平均误差
算法流程如图所示,简单概述为:
- 对均值向量随机选取样本初始化;
- 计算样本点和均值向量的距离,划分对应簇;
- 重新计算均值向量;
- 反复(2、3)迭代更新。
2.6.3 密度聚类(DBSCAN)(计算)
密度聚类算法从样本密度的角度来考察样本间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果。
DBSCAN将簇定义为:由密度可达关系导出的最大的密度相连样本集合。形式化地说,给定邻域参数,簇是满足以下性质的非空样本子集:
连接性(connectivity):与密度相连
最大性(maximality):,由密度可达
DBSCAN算法描述如图所示,概述如下:
- 根据给定的邻域参数找出所有的核心对象;
- 以任一核心对象为出发点,找出由其密度可达的样本生成聚类簇,直到所有核心对象被访问过为止。
2.7 KNN算法(计算)
KNN(k-Nearest Neighbor)属于懒惰学习的代表,其工作机制非常简单:给定测试样本,找出训练集中与其最靠近的k个训练样本,然后基于这k个"邻居"的信息来进行预测。
在分类任务中可使用"投票法",即选择这k个样本中出现最多的类别标记作为预测结果;
在回归任务中时使用"平均法",即将这k个样本的实值输出标记的平均值作为预测结果。
2.8 降维:主成分分析(PCA)
主成分分析是最常用的一种降维方法。PCA算法描述如下
若所有样本点的投影尽可能分开,则应该使投影后样本点的方差最大化。