《机器学习》第二次作业——第四章学习记录和心得
第四章 线性判据与回归
4.1 线性判据基本概念
-
生成模型:给定训练样本 {𝒙𝑛},直接在输入空间内学习其概率密度函数𝑝(𝒙)。
-
在贝叶斯决策分类中,生成模型通常用于估计每个类别的观测似然概率𝑝(𝒙|𝐶𝑖),再结合先验概率得到联合概率𝑝(𝒙,𝐶𝑖)=𝑝(𝒙|𝐶𝑖)𝑝(𝐶𝑖)。然后,对所有类别进行积分,得到边缘概率密度函数𝑝 (𝒙) = Σ𝑖 𝑝(𝒙,𝐶𝑖)。最后,得到后验概率𝑝(𝐶𝑖|𝒙)。
-
生成模型的优势:可以根据p(x)采样新的样本数据;可以检测出较低概率的数据,实现离群点检测。
-
生成模型的劣势:在高维空间会出现维度灾难问题。
-
判别模型:给定训练样本{xn},直接在输入空间内估计后验概率P(Ci,x)
-
判别模型的优势:快速直接,省去了耗时的高维观测似然概率估计。
-
线性判据:若判别模型f(x)是线性函数,则f(x)为线性判据。
-
线性判据的适用范围:可以用于两类分类和多类分类,相邻两类之间的决策边界是线性的。
-
线性判据的优势:计算量少,适用于训练样本较少的情况。
-
线性判据的数学表达
- 决策边界方程
- W0 的作用:决定了决策边界的偏移量,使其能够满足两个类输出值分被为正负;决定决策边界相对于坐标原点的位置。
4.2 线性判据学习概述
-
监督式学习(训练)过程:基于训练样本{𝒙1, 𝒙2, … , 𝒙𝑁}及其标签{𝑡1, 𝑡2, … , 𝑡𝑁} ,设计目标函数,学习𝐰和𝑤0。
-
识别过程:将待识别样本𝒙带入训练好的判据方程。
-
解不唯一:训练样本个数通常远大于参数个数,故线性判据满足条件的解不唯一。
-
参数空间:由各个参数维度构成的空间。
-
解域:在参数空间内,参数的所有可能解所处的范围
-
如何从解域中找到最优解:设计目标函数并求解;在算法中加入约束条件,提高泛化能力。
4.3 并行感知机算法
-
引言:根据目标函数的不同,可以设计不同的线性判据算法。
-
感知机算法预处理的目的:根据标记过的训练样本,学习模型参数w,w0。
-
预处理步骤
-
预处理的几何解释:在特征空间中增加一个维度,是的决策边界可以通过原点; 翻转C2类的样本,使得所有样本处于该平面的同一侧。
-
目标函数思想:被错误分类的样本最少。
-
目标函数:被错误分类的样本最少(输出值小于0的训练样本)。
-
目标函数最小化:取目标函数关于a的偏导(即梯度)。
-
梯度下降法:使用当前梯度值迭代更新参数。
4.4 串行感知机算法
-
串行感知机的适用情况:训练样本是一个一个串行给出的。
-
目标函数:如果当前训练样本被错误分类,最小化其输出值取反。
-
串行感知机算法流程:初始化参数->迭代更新->停止迭代->参数a初始值设为0或y1。
-
当样本位于决策边界边缘时,对该样本的决策有很大的不确定性->加入margin约束条件,提高泛化能力。
-
最小化目标函数:取关于参数向量a的偏导。
4.5 Fisher线性判据
-
设计动机:线性判据的模型可以看做是把原空间各点x投影到新的一维空间y。y=wT+w0
-
基本原理:找到一个最合适的投影轴,使两类样本在该轴上投影的重叠部分最少,从而使分类效果达到最佳。
-
Fisher判据训练过程
- 决策边界方程
4.6 支持向量机基本概念
-
设计思想:给定一组训练样本,使得两个类中与决策边界最近的训练样本到决策边界之间的间隔最大。
-
间隔的数学定义:在两个类的训练样本中,分别找到与决策边界最近的两个训练样本,记作x+和x-。
-
间隔的计算
- 支持向量机(SVM):最大化总间隔。
4.7 拉格朗日乘数法
-
拉格朗日乘数法:用于解决支持向量机的目标函数的一个条件优化问题。
-
等式约束:f(x)的极值点x∗必须位于曲线g(x)=0上。
-
KKT条件
4.8 拉格朗日对偶问题
-
对偶函数:主问题的最优值下界
-
对偶函数LD是拉格朗日函数L的逐点最小值函数。
-
逐点最小值函数min是凹函数。
-
由于逐点最大化函数是凹函数,且拉格朗日函数可以看做关于对偶变量的仿射组合,故对偶函数LD是凹函数。
-
由于目标函数LD是凹函数,约束条件是凸函数,所以对偶问题是凸优化问题。
-
强对偶性:如果强对偶性成立,则对偶问题获得主问题的最优下界。
4.9 支持向量机学习算法
-
支持向量机目标函数的求解:带不等式约束的优化问题使用拉格朗日对偶法求解。
-
对偶问题的求解:二次规划问题+参数最优化。
-
w最优解
- 决策过程:𝒘 和 𝑤0 的学习过程实际上是从训练样本中选择一组支持向量,并将这些支持向量存储下来,用作线性分类器。
4.10 软间隔支持向量机
-
软间隔:克服过拟合。
-
软间隔克服过拟合的原理:可以将SVM的硬间隔(hard margin)放宽到软间隔(soft margin),允许一些训练样本出现在间隔区域内,从而具备一定的克服过拟合的能力)
-
设计思想:引入松弛变量。
-
分类器表达
- 设计过程:构建目标函数->构建拉格朗日函数->构建对偶函数(在极值点得到对偶函数LD)
4.11 线性判据多类分类
-
多类分类的本质:非线性
-
实现非线性分类的途径:一个模型:能刻化非线性的决策边界。
多个模型:多个模型(线性/非线性)组合成非线性决策边界。
组合方式:并行组合、串行组合。 -
思路一:One-to-all
假设条件:假设每个类与剩余类可分,总共需要训练K个分类器。
问题:每个分类器的正负类样本个数不均衡。
混淆区域问题:拒绝选项;重叠。 -
思路二:线性机
假设条件:每个类与剩余类线性可分。
训练:基于one-to-all策略训练𝐾个线性分类器𝑓𝑖,每个分类器对应一个类𝐶𝑖。
决策:使用输出值投票法(max函数)给定测试样本𝒙,其属于所有分类器中输出值最大的那个类。
取输出值最大:该值最大表示属于该类的可能性越大。
线性机 = 𝐾个线性模型 + 一个max函数
max是非线性的,因此线性机可以实现非线性分类。
通过max函数的引入,线性机将特征空间最终分为𝐾个决策区域。
决策边界𝐻𝑖𝑗垂直于超平面(𝒘𝑖 − 𝒘𝑗)
输出值投票法:使用两类权重𝒘向量的差值决定相邻两类之间的决策边界;
标签识别法:利用每一类的权重𝒘向量决定该类与剩余类之间的决策边界。 -
线性机的优势:由于使用max函数,不再有混淆区域(即拒绝区域和重叠区域)。通过划定相邻两类之间的边界,分割了重叠区域和拒绝区域。
-
线性机的问题:可能出现最大的𝑓𝑖(𝒙) ≤ 0,即测试样本𝒙出现在拒绝区域。如果严格按照线性判据的定义,拒绝区域其实是线性机(基于one-to-all策略)无法正确判断的区域。
-
思路三:one-to-one策略
基本思想:针对每两个类𝐶𝑖 和𝐶𝑗 ,训练一个线性分类器:𝑓𝑖𝑗 𝒙 = 𝒘𝑖𝑗𝑇𝒙 + 𝑤0𝑖𝑗。𝐶𝑖类真值为正;𝐶𝑗类真值为负。总共需要训练𝐾(𝐾 − 1) /2个分类器。
优势:适用于一些线性不可分的情况,从而实现非线性分类;与one-to-all策略相比,不再有重叠区域。
问题:会出现拒绝选项,即样本不属于任何类的情况。 -
总结
使用线性判据进行多类分类,本质上是利用多个线性模型组合而成一个非线性分类器。
因此,决策边界不再是由单个超平面决定,而是由多个超平面组合共同切割特征空间。
4.12 线性回归
-
输入样本:个数与特征维度的关系
-
线性回归模型表达
- 线性回归和线性判据的模型对比
-
线性回归模型学什么:给定训练样本,学习参数W。
-
线性回归模型学习过程:学习参数(给定学习样本学习参数w)->给定N个训练样本->目标函数(最小化均方误差)
-
目标函数的对比
-
目标优化过程:展开目标函数->对参数w求偏导->目标优化(梯度下降法)->最小二乘法
-
线性回归的概率解释
-
目标函数优化:似然函数;最大似然估计;目标似然/MSE。
-
最大似然等同于最小化均方误差(MSE)。
4.13 逻辑回归的概念
- 典型模型的属性
-
MAP分类器
如果两个类别数据分布的协方差矩阵不同(即Σ𝑖 ≠ Σ𝑗),则MAP分类器的决策边界是一个超二次型曲面,即非线性。
如果两个类别数据分布的协方差矩阵相同(即Σ𝑖 = Σ𝑗 ),则MAP分类器的决策边界是一个超平面,即线性。 -
Logit变换:𝐶1类的后验概率与𝐶2类的后验概率之间的对数比率
对于二类分类,MAP分类器通过比较后验概率的大小来决策。
在每类数据是高斯分布且协方差矩阵相同的情况下,由于Logit变换等同于线性判据的输出,所以在此情况下Logit(z) 是线性的。 -
Sigmoid函数:连接线性模型和后验概率的桥梁
线性模型𝑓(𝒙) + Sigmoid函数 = 后验概率 -
逻辑回归:线性模型𝑓(𝒙) + sigmoid函数。
-
决策边界:单个逻辑回归可以用于二类分类;给定两个类,逻辑回归的决策边界仍然是线性的超平面。
-
逻辑回归总结:
逻辑回归本身是一个非线性模型。
逻辑回归用于分类:仍然只能处理两个类别线性可分的情况。但是,sigmoid函数输出了后验概率,使得逻辑回归成为一个非线性模型。因此,逻辑回归比线性模型向前迈进了一步。
逻辑回归用于拟合:可以拟合有限的非线性曲线。
4.14 逻辑回归的学习
-
学什么:给定训练样本,学习参数𝒘和𝑤0。
-
训练样本:
正类(𝐶1类)样本的输出真值𝑡𝑛 = 1;
负类(𝐶2类)样本的输出真值𝑡𝑛 = 0。
注意:这种真值取值方式与SVM不一样。 -
最大似然估计法:给定单个输入样本𝒙,模型输出的类别标签𝑙可以看做一个随机变量。
-
交叉熵:交叉熵可以用来度量两种分布的差异程度。
-
目标函数:给定𝑁个训练样本,把每个训练样本的交叉熵求和,得到最终的目标函数:
-
目标函数优化:梯度下降法;
步骤:对参数w求偏导;对参数w0求偏导;参数更新:采用梯度下降法更新w和w0;
4.15 Softmax判据的概念
-
逻辑回归输出:属于正类的后验概率
-
后验概率的多类情况:一个类与剩余类的后验概率比率。
-
逻辑回归是由Logit变换反推出来的。
-
由Logit变换可知:正负类后验概率比率的对数是一个线性函数。
-
分类𝐾个类,可以构建𝐾个线性判据。第𝑖个线性判据表示𝐶𝑖类与剩余类的分类边界,剩余类用一个参考负类(reference class) 𝐶𝐾来表达。
-
对于多类分类,K个线性模型也跟每个类对应的后验概率建立起了联系。
-
Softmax判据:𝐾个线性判据 + softmax函数。
-
Softmax判据用于分类,等同于基于one-to-all策略的线性机。
-
适用范围:分类、回归
-
总结
Softmax判据本身是一个非线性模型。
Softmax判据用于分类:只能处理多个类别、每个类别与剩余类线性可分的情况。但是, Softmax判据可以输出后验概率。因此,Softmax判据比基于one-to-all策略的线性机向前迈进了一步。
Softmax判据用于拟合:可以输出有限的非线性曲线。 -
模型对比
4.16 Softmax判据的学习
-
学什么:给定训练样本,学习K组参数
-
目标函数:最大似然估计。针对所有训练样本,最大化输出标签分布的似然函数,以此求得参数的最优值。似然函数为所有训练样本输出概率的乘积。
-
判别式学习是依赖所有类的训练样本来学习参数。
-
Softmax:针对每个输出类别分别计算梯度值,但每个参数的梯度值与所有类别样本都相关。
4.17 核支持向量机
-
Kernel方法的基本思想:如果样本在原始特征空间(𝑋空间)线性不可分,可以将这些样本通过一个函数𝜑映射到一个高维的特征空间(Φ空间),使得在这个高维空间,这些样本拥有一个线性分类边界。
-
核函数:在低维X空间的一个非线性函数,包含向量映射和点积功能,即作为X空间两个向量的度量,来表达映射到高维空间的向量之间的点积。
-
Kernel SVM的决策是关于测试样本x与Ns个支持向量xk的核函数的线性组合,即Ns个非线性函数的线性组合。
-
常见核函数
多项式核函数:
高斯核函数:
- 核函数的优缺点