《机器学习》第二次作业——第四章学习记录和心得
第四章 线性判据与回归
4.1 线性判据基本概念
1.生成模型
给定训练样本{xn},直接在输入空间内学习其概率密度函数p(x)。
贝叶斯决策分类中,生成模型常用于估计p(x|Ci),再结合先验概率得到联合概率p(x,Ci)=p(x|Ci)p(Ci),再积分,得到边缘概率密度函数p(x)=Σip(x,Ci)。最后得到后验概率p(Ci|x)=p(x|Ci)p(Ci)/p(x)
优势:可以根据p(x)采样新的样本数据;可以检测出较低概率的数据,实现离群点检测。
劣势:若是高维的x,需要大量训练样本才能准确估计p(x);否则会出现维度灾难问题。
2.判别模型
给定训练样本{xn},直接在输入空间内估计后验概率p(Ci|x)。
在分类任务中,后验概率p(Ci|x)相当于直接从输入样本x映射到类别输出Ci,即判别模型。
优势:快速直接、省去了耗时的高维观测似然概率估计。
3.线性判据
定义:若判别模型f(x)是线性函数,则为线性判据。
- 可用于两类分类,决策边界是线性的。
- 可用于多类分类,相邻两类之间的决策边界是线性的。
优势:计算量少——在学习和分类过程中,线性判据方法都比基于学习概率分布的方法计算量少;适用于训练样本较少的情况。
数学表达
决策边界
w的方向
H为决策边界,w垂直于决策边界上的任何向量,即w垂直于H,是H的法向量。
- w的作用:决定了H的方向。
w0的作用:
- 决定了决策边界的偏移量,使其能满足两个类输出值分别为正负。
- 决定决策边界相对于坐标原点的位置。
任意样本到决策边界的距离
- 该距离r的绝对值可作为confidence score:值越大,这个点属于正类或负类的程度越大。
- f(x)是样本x到决策面H的代数距离度量。
4.2线性判据学习概述
学习和识别过程
-
监督式学习过程:基于训练样本{x1,x2,…,xN}及其标签{t1,t2,…,tN},设计目标函数学习w和w0
-
识别过程:将待识别样本x带入训练好的判据方程。根据每类算法实际情况决定哪个类对应的f(x)>0。
参数空间&解域
- 由于训练样本个数远大于参数个数(w的维度+w0的维度),所以线性判据满足条件的解不唯一。
- 参数空间:由各个参数维度构成的空间。参数的每个可能解相当于参数空间的一个向量。
- 解域:参数空间内,参数的所有可能解所处的范围。
寻找最优解
-
目标函数
- 设计目标函数:
- 目标函数的求解:
- 加入约束条件:
- 设计目标函数:
4.3并行感知机算法
(根据目标函数的不同,我们可以设计不同的线性判据算法)
感知机算法
-
预处理
- 目的:根据标记过的训练样本{(xn,t
n)},学习模型参数:w,w0 - 步骤
- 预处理后两个类的输出值都为正数。
- 目的:根据标记过的训练样本{(xn,t
-
目标函数(满足aTy>0的参数a不止一个)
- 思想:被错误分类的样本最少
- 目标函数:针对所有被错误分类的训练样本(即输出值小于0的样本),其输出值取反求和(该目标函数是关于a的一次线性函数)
- 目标函数求偏导
-
梯度下降法 Gradient descent
- 使用当前梯度值迭代更新参数
- 更新的方向(正负):每个维度的梯度反方向就是该维度网目标函数最小值收敛的最速下降方向
- 更新的大小:每个维度的梯度幅值代表参数在改维度上更新程度;通常加入步长ηk来调整更新的幅度。每次迭代都可以使用不同的步长。
-
参数更新
- 参数更新过程
- 参数更新过程
-
算法流程
- 初始化参数:a0,步长η,阈值τ。通常,参数a初始值设为a0=0
- 迭代更新:基于当前梯度更新参数a,更新集合Yk
- 停止迭代:所有训练样本的输出值都大于0,或者更新值小于阈值τ。
4.4 串行感知机算法
串行感知机(训练样本是一个个串行给出的)
-
目标函数
- 思想:当前样本被错误分类的程度最小
- 目标函数:若当前训练样本被错误分类,最小化其输出值取反。
- 目标函数求解:最小化目标函数——取关于参数向量a的偏导;偏导不含a,故仍用梯度下降法求解a
-
算法流程
- 初始化参数:a0,步长η(·)。通常,参数a的初始值设为a0=0或y1
- 迭代更新:遍历所有样本,当akTy<0时,更新参数a
- 停止迭代:所有训练样本的输出值都大于0
-
感知机的收敛性
若训练样本本是线性可分的,感知机算法理论上收敛于一个解(保证算法停止,但最终结果是否最优?——存在全局最优和局部最优) -
感知机的步长与收敛性
步长决定收敛的速度、以及是否收敛到局部或全局最优点。 -
感知机变体:加入Margin约束
- 问题:样本位于决策边界边缘时,对该样本的决策有很大不确定性。
- 加入margin约束条件:
- 目标函数(以串行感知机为例):J(a)=-aTy,if aTy ≤ b
- 最小化目标函数:取关于参数向量a的偏导
4.5 Fisher线性判据
设计动机
- 线性判据的模型可看做是把源空间各点x投影到新的一维空间y。y = wTx+w0
- w的方向不同对应不同的投影结果。
Fisher判据基本原理
- 找到一个最合适的投影轴,使两类样本在该轴上投影的重叠部分最少,从而使分类效果达到最佳。(最佳标准之一:投影后,使得不同类别样本分布的类间差异尽可能大(两类间的均值之差),同时使得各自类内样本分布的离散程度尽可能小(每类的协方差矩阵))
Fisher线性判据
训练算法流程
存在的问题:两类部分样本在决策边界附近犬牙交错的情况。
4.6支持向量机基本概念
区别
- 感知机(最小化分类误差);
- Fisher判据(最大化类间距离及最小化类内散度);
- 支持向量机(两个类中与决策边界最近的训练样本到决策边界之间的间隔最大)
间隔数学定义
间隔计算
SVM的目标:最大化总间隔
- 等价于最小化||w||
4.7拉格朗日乘数法
解决条件优化问题(如SVM的目标函数)
-
等式约束:f(x)与g(x)梯度方向在同一直线上(f(x)的极值点x*必须在g(x)=0上)
- 沿着g(x)=0的切线方向、向f(x)负梯度方向移动直至无法移动为止。
-
不等式约束:
- 极值点落在可行域内(不含边界):直接用▽f(x)=0获得极值点
- 极值点落在可行域边界:同等式约束(但对于不等式约束,在极值点f(x)与g(x)的负梯度方向平行且相反)
- 对偶可行性:始终存在λ≥0满足λg(x)=0及▽f(x)+λ▽g(x)=0(驻点条件)
4.8拉格朗日对偶问题
拉格朗日函数带有约束条件难以求解或是NP难问题。
主问题:等价于关于x的无约束问题
取拉格朗日函数关于x在其可行域内的最小值,记作LD
对偶函数的凹凸性:
- 逐点最小值函数min是凹函数——>对偶函数LD是凹函数+约束条件是凸函数——>对偶问题是凸优化问题。
对偶法的优势
- 对偶问题是凸优化:无论主问题凸性如何,对偶问题始终是凸优化问题;凸优化性质:局部极值点就是全局最优点;对于难以求解的主问题可以通过求其对偶问题得到原问题的下界估计
弱对偶性 vs 强对偶性
4.9支持向量机学习算法
目标函数求解:带不等式约束的优化问题,使用拉格朗日对偶法求解。
对偶问题求解:二次规划问题+参数最优解问题。
决策过程
- 支持向量机分类器的表达
- w和w0的学习过程实际上是从训练样本中选择一组支持向量,并将这些支持向量存储下来,用作线性分类器。
4.10 软间隔支持向量机
软间隔
- 将SVM的硬间隔放宽到软间隔,避免噪声/离群点的干扰,使模型具备一定的克服过拟合的能力。
- 引入松弛变量ξn,允许一些训练样本出现在间隔区域内,形成软间隔。引入松弛变量也使得线性SVM可以用于近似分类非线性数据。
分类器表达
目标函数
目标函数———>拉格朗日函数———>构建对偶函数(在极值点得到对偶函数LD)
求解支持向量
-
针对每个支持向量
-
针对KTT条件
-
针对极值点条件
-
可将λn与C比较,进一步区分支持向量的类型。
参数最优解
-
w最优解
-
w0最优解
识别决策
4.11线性判据多类分类
多类分类的本质:非线性
实现非线性分类的途径
- 一个模型:能刻画非线性的决策边界
- 多个模型:多个模型(线性/非线性)组合成非线性决策边界[组合方式:并行组合、串行组合]
思路一:one-to-all
- 思路:假设每个类与剩余类线性可分,总共需要训练K个分类器(K>2)
- 判别公式及决策边界
- 问题:每个分类器正负类样本个数不均衡。
- 混淆区域:
- 拒绝选项:针对单个测试样本x,所有分类器输出的都不是正值。
- 重叠:针对单个测试样本x,有多个分类器输出为正,形成多个类重叠的区域。
思路二:线性机
- 思路:假设每个类与剩余类线性可分,在one-to-all的训练基础上,使用max函数做决策,针对给定测试样本x,其属于所有分类器中输出值最大的那个类。(表明测试样本属于该类的可能性最大。)
线性机=k个线性模型+一个max函数 - 优势:使用max函数,不再有混淆区域(分割重叠和拒绝区域)
- 问题:当fi≤0时,测试样本x出现在拒绝区域(线性机无法正确判断拒绝区域)
思路三:one-to-one
- 假设任意两个类之间线性可分,但每个类与剩余类可能线性不可分。总共需要训练K(K-1)/2个分类器。
- 判别公式&决策边界
- 优势:适用于一些线性不可分的情况,从而实现非线性分类;与one-to-all相比,不再有重叠区域;避免one-to-all中正负类样本个数不均衡的问题。
- 问题:会出现拒绝选项,即样本不属于任何类。(在决策过程中采用max函数可以避免reject case)
总结
- 使用线性判据进行多类分类,本质上是利用多个线性模型组合而成一个非线性分类器。
- 故决策边界不再是由单个超平面决定,而是由多个超平面组合共同切割特征空间。
4.12线性回归
线性回归模型表达
模型对比
线性回归模型如何学习?
- ==给定训练样本,学习参数w——>给定N个训练样本——>目标函数(最小化均方误差)
- 目标函数对比
目标优化
- 展开目标函数
- 对参数w求偏导
- 梯度下降方法(更新w和w0)
- 最小二乘法
线性回归的概率解释
目标函数:似然函数
- 目标函数优化:最大似然估计
- 最大似然等同于最小化均方误差(MSE)
4.13逻辑回归的概念
分类模型Review
MAP分类器
- Σi≠Σj,MAP分类器的决策边界是一个超二次型曲面,即非线性
- Σi=Σj,MAP分类器的决策边界是一个超平面,即线性(此时MAP分类器等同于一个线性判据)
- 可见,MAP分类器可以在线性和非线性之间切换,为我们将线性模型改进为非线性模型提供思路。
Logit变换
- C1类的后验概率与C2类的后延概率之间的对数比率
- 在每类数据是高斯分布且协方差矩阵相同的情况下,由于Logit变换等同于线性判据的输出,故在此情况下Logit(z)是线性的。
- 决策方式
Sigmoid函数
- 连接线性模型和后验概率的桥梁:线性模型f(x)+Sigmoid函数=后验概率
逻辑回归
- 线性模型+Sigmoid函数
- 单个逻辑回归可以用于二类分类;给定两个类,逻辑回归的决策边界仍是线性的超平面
总结
- 逻辑回归本身是非线性模型
- 逻辑回归用于分类:仍然只能处理两个类线性可分的情况。但Sigmoid函数输出了后验概率,使得逻辑回归成为一个非线性模型。因此,逻辑回归比线性模型向前迈了一步
- 逻辑回归用于拟合:可以拟合有限的非线性曲线。
模型对比
4.14逻辑回归的学习
给定训练样本,学习参数w和w0
训练样本
- 正类(C1类)样本输出真值tn=1;
- 负类(C2类)样本输出真值tn=0;注意:这种真值取值方式与SVM不一样
目标函数
- 最大似然估计法:给定单个输入样本x,模型输出的类别标签l可以看做一个随机变量。
- 使用最大似然估计:针对所有训练样本X,最大化输出标签分布的似然函数,以此求得参数w和w0的最优值
- 似然函数为所有训练样本输出概率的乘积
交叉熵解释
- 交叉熵可以用来度量两种分布的差异程度
- 给定N个训练样本,把每个训练样本的交叉熵求和,得到最终的目标函数
优化目标函数
- 梯度下降法
- 对参数w求偏导
- 对参数w0求偏导
- 采用梯度下降法更新w和w0
- 梯度消失问题
参数初始化:参数w尽量选择较小的初始值以避免出现梯度消失问题。
迭代停止
- 如果迭代停止条件设为训练误差为0,或者所有训练样本都正确分类的时候才停止,会出现过拟合问题。
- 在达到一定训练精度后,提前停止迭代,可以避免过拟合。
4.15Softmax判据的概念
逻辑回归输出:属于正类的后验概率
对于多类而言,每类的后验概率如何表达?
逻辑回归是由Logit变换反推出来的。
由Logit变换可知:正负类后验概率比率的对数是一个线性函数。
分类K个类,可以构建K个线性判据。第i个线性判据表示Ci类与剩余类的分类边界,剩余类用一个参考负类CK来表达
Softmax函数
- Softmax判据:K个线性判据+Softmax函数
- Softmax判据的决策边界:Softmax判据用于分类,等同于基于one-to-all策略的线性机。
总结
- Softmax判据本身是一个非线性模型
- Softmax判据用于分类:只能处理多个类别、每个类别与剩余类线性可分的情况。但是,Softmax判据可以输出后验概率。因此,Softmax判据比基于one-to-all策略的线性机向前迈进了一步。
- Softmax判据用于拟合:可以输出有限的非线性曲线
4.16Softmax判据的学习
给定训练样本,学习K组参数{wi,w0i}i=1,2,…,K
目标函数:似然函数——>最大似然估计——>求log后取反得交叉熵
目标函数优化:对参数wk求偏导——>对参数w0k求偏导——>梯度下降法更新参数
梯度分析
4.17核支持向量机 Kernel SVM
基本思想:如果样本在原始特征空间(X空间)线性不可分,可以将这些样本通过一个函数φ映射到一个高维的特征空间(Φ空间),使得在这个高维空间,这些样本拥有一个线性分类边界。
核函数 Kernel Function:在低维X空间的一个非线性函数,包含向量映射和点积功能,即作为X空间两个向量的度量,来表达映射到高维空间的向量之间的点积:
Kernel SVM决策:Kernel SVM的决策是关于测试样本x与Ns个支持向量xk的核函数的线性组合。决策边界方程也由Ns个非线性函数的线性组合来决定,因此,在X空间是一条非线性边界。
Kernel SVM学习算法:Kernel SVM的对偶函数——>二次规划求取最优的Λ,可得支持向量——>加入软间隔避免过拟合——>得到最优的Λ,即得到最优的参数w和w0
常见核函数
- 多项式核函数
- ρ,m:取值越高,分类边界非线性程度越高
- 高斯核函数
- σ:方差越小,分类边界越不平滑,甚至出现孤岛(过拟合)<——软间隔
核函数优缺点