《机器学习》第二次作业——第四章学习记录和心得

思维导图:

 

 

1.线性判据基本概念

生成模型

概念:给定训练样本 {𝒙𝑛},直接在输入空间内学习其概率密度函数𝑝(𝒙)。
优势:可以根据𝑝 𝒙 采样新的样本数据(synthetic data);可以检测出较低概率的数据,实现离群点检测

劣势;如果是高维的𝒙,需要大量训练样本才能准确的估计𝑝 𝒙 ;否则,会出现维度灾难问题

判别模型

概念:给定训练样本 {𝒙𝑛},直接在输入空间内估计后验概率𝑝 (𝐶𝑖|𝒙 ),在分类任务中,后验概率分布𝑝(𝐶𝑖|𝒙)相当于直接从输入样本𝒙映射到类别输出𝐶𝑖 的判别函数𝑓(𝒙),即判别模型
优势:快速直接、省去了耗时的高维观测似然概率估计

线性判据

定义:如果判别模型𝑓(𝒙)是线性函数,则𝑓(𝒙)为线性判据。可以用于两类分类,决策边界是线性的。也可以用于多类分类,相邻两类之间的决策边界也是线性的。
优势:计算量少:在学习和分类过程中,线性判据方法都比基于学习概率分布的方法计算量少。适用于训练样本较少的情况

模型


判别公式

决策边界

𝒘垂直于决策边界上的任何向量,即𝒘垂直于决策边界H,是H的法向量
𝑤0的作用:决定了决策边界的偏移量,使其能够满足两个类输出值分别为正负
任意样本𝒙到决策边界的垂直距离为:r=W0/||W||,可见,𝑤0决定决策边界相对于坐标原点的位置

2.线性判据学习概述

监督式学习(训练)过程:基于训练样本{𝒙1, 𝒙2, … , 𝒙𝑁}及其标签{𝑡1,𝑡2, … ,𝑡𝑁} ,设计目标函数,学习𝐰和𝑤0

识别过程:将待识别样本𝒙带入训练好的判据方程

参数空间&解域

解不唯一

由于训练样本个数通常会远远大于参数个数(𝒘的维度+ 𝑤0的维度),所以线性判据满足条件的解不唯一

参数空间&解域

参数空间:由各个参数维度构成的空间。
参数的每个可能解相当于是参数空间的一个向量。
解域:在参数空间内,参数的所有可能解所处的范围

目标函数

设计目标函数:目标函数反映了如何实现有效决策的核心思想
目标函数的求解:最小化/最大化目标函数
可以在学习算法中加入约束条件,提高泛化能力,加入约束后,使得解域范围收缩

3.并行感知机算法

根据目标函数的不同,我们可以设计不同的线性判据算法

感知机算法:预处理

目的:根据标记过的训练样本 (𝒙𝑛,𝑡𝑛) ,学习模型参数:𝐰, 𝑤0
预处理:
1.将两个参数合为一个参数a
2.将𝐶2类的训练样本全部取反
几何解释:在几何上,通过在特征空间上增加一个维度,使得决策边界可以通过原点(𝑤0项)。翻转𝐶2类的样本:得到一个平面使得所有样本位于该平面同一侧

并行感知机:目标函数

思想:被错误分类的样本最少
目标函数:针对所有被错误分类的训练样本(即输出值小于0的训练样本),其输出值取反求和
最小化该目标函数:取目标函数关于 𝒂 的偏导(即梯度)

梯度下降法

使用当前梯度值迭代更新参数。
更新的方向(正负):假设在k=1迭代时刻,参数取值𝒂1情况下,每个维度的梯度反方向就是该维度往目标函数最小值收敛的最速下降方向
更新的大小:每个维度的梯度幅值代表参数在该维度上的更新程度。通常加入步长(𝜂𝑘)来调整更新的幅度。每次迭代可以用不同的步长。

算法流程

初始化参数:a0, 步长𝜂(∙),阈值τ。通常,参数𝒂初始值设为𝒂0=0.
迭代更新:基于当前梯度更新参数𝒂,更新集合𝒀𝑘
停止迭代:所有训练样本的输出值都大于0,或者更新值小于阈值𝜏。

4.串行感知机算法

适用情况:训练样本是一个一个串行给出的

目标函数

思想:当前样本被错误分类的程度最小。被错误分类的样本𝒚𝑛,输出值𝑓(𝒚𝑛)是负数。同时,根据几何意义,输出值的绝对值越大,错误的程度越大。
目标函数:如果当前训练样本被错误分类,最小化其输出值取反

最小化目标函数:取关于参数向量𝒂的偏导

算法流程

1.初始化参数:𝒂0, 步长𝜂 ∙ 。
2.迭代更新:遍历所有样本,当𝒂𝑘𝑇𝑦 < 0时,更新参数𝒂。
3.停止迭代:所有训练样本的输出值都大于0。
4.通常,参数𝒂初始值设为𝒂0 = 𝟎或者𝒂0 = 𝒚1。

感知机:收敛性

收敛性:如果训练样本是线性可分的,感知机(并行和串行)算法理论上收敛于一个解
--全局最优与局部最优--

步长与收敛性

1.步长决定收敛的速度、以及是否收敛到局部或者全局最优点。
2.如果目标函数J(a)满足L-Lipschitz条件(对于任意a,存在一个常数L,使得|J(a)|<L成立),则步长𝜂 = 1/ 2𝐿 可确保收敛到局部最优点。 如果目标函数J(a)是凸函数,局部最优点就是全局最优点

提升感知机的泛化能力

加入Margin约束

当样本位于决策边界边缘时,对该样本的决策有很大的不确定性,加入margin约束条件,修改错误分类的标准。
最小化目标函数:取关于参数向量𝒂的偏导

5.Fisher线性判据

线性判据的模型可以看做是把原空间各点𝒙投影到新的一维空间𝑦。
设计动机
1.𝒘的方向不同,对应不同的投影结果。
2.怎么样学习𝒘,使得二类可以有效分开。

Fisher判据基本原理

找到一个最合适的投影轴,使两类样本在该轴上投影的重叠部分最少,从而使分类效果达到最佳。
最佳标准之一:投影后,使得不同类别样本分布的类间差异尽可能大,同时使得各自类内样本分布的离散程度尽可能小。

类间样本的差异程度:用两类样本分布的均值之差度量
类内样本的离散程度:用每类样本分布的协方差矩阵表征
在投影轴𝐰上:最大化如下目标函数

优化目标函数

最优参数解

𝒘最优解:
1.求解最优的𝐰:无需求解特征值
2.忽略标量项,因为只需要考虑方向
𝑤0的解:
1.将所有样本的均值投影到坐标原点

决策边界

方程:

训练算法流程

算法 Fisher判据训练过程
输入:两个类的训练样本集
输出:参数𝒘和 𝑤0;
步骤1:统计两个类的样本个数N1和N2;
步骤2:分别计算两个类的均值𝝁1和𝝁2,以及协方差矩阵𝜮1和𝜮2 ;
步骤3:计算所有样本的均值𝝁;
步骤4:计算矩阵𝑺𝑊 = 𝑁1𝜮1 + 𝑁2𝜮2;
步骤5:计算参数 

6.支持向量机基本概念

如果两个类是线性可分的,则存在着多个线性决策平面用作决策边界。感知机从最小化分类误差角度来设计。Fisher线性判据首先降维到一维空间,从最大化类间距离同时最小化类内散度的角度来设计。
如何拥有更好的泛化性能?

设计思想

给定一组训练样本,使得两个类中与决策边界最近的训练样本到决策边界之间的间隔最大
间隔:在两个类的训练样本中,分别找到与决策边界最近的两个训练样本,记作𝒙+和𝒙−,𝒙+和𝒙−到决策边界的垂直距离叫作间隔,记作𝑑+和𝑑−

支持向量的概念

决策边界记作Π,平行于Π且分别通过 𝒙+ 和 𝒙− 的两个超平面记作Π+和Π-,称为间隔边界。没有任何训练样本落在这两个超平面中间的间隔区域。位于超平面Π+和Π-上的样本被称为支持向量(Support vector)。
支持向量在确定决策边界Π中起到核心作用。

分类器

在支持向量机中,正负类训练样本输出真值分别用+1和-1来表达
支持向量:
当𝒙𝑛是支持向量时,等式成立,
例如, 𝒙+和𝒙−

间隔计算:
总间隔:

目标函数

支持向量机的目标:最大化总间隔,等价于最小化| 𝒘 |

7.拉格朗日乘数法

支持向量机的目标函数是一个条件优化问题,拉格朗日乘数法(Lagrange Multiplier)是常用的解决该类问题的方法

等式约束

函数在等高面上任意一点的梯度方向与其等高面(切线方向)正交,且朝向(即正方向)函数值较高的方向。
𝑓(𝒙)的极值点𝒙∗必须位于曲线𝑔 𝒙 = 0上。
搜寻极值点𝒙∗:沿着𝑔 𝒙 = 0的切线方向、向着𝑓 𝒙 负梯度方向移动。当出现沿着切线方向、无法再向𝑓 𝒙 负梯度方向移动时停止。

等式约束优化求解思路

此时,在该点,𝑓(𝒙)等高线与𝑔 𝒙 = 0相切,即𝑓(𝒙)与𝑔 𝒙 梯度方向在同一直线上,该点为𝑓(𝒙)的极值点𝒙∗。
𝑓(𝒙)与𝑔 𝒙 的梯度记作𝛻𝑓 𝒙 和𝛻𝑔 𝒙 。如果是等式约束,在极值点𝒙∗上, 𝛻𝑓 𝒙∗和𝛻𝑔 𝒙∗ 的方向必然平行,可能同向或反向,梯度的幅值可能不同

拉格朗日函数


拉格朗日函数满足驻点条件和约束条件

等价优化问题

等式约束问题可以转换为等价的不带约束的优化问题

情况1:极值点落在可行域内:
这种情况下,约束条件不起作用。直接通过𝛻𝑓 𝒙 = 0获得极值点
情况2:极值点落在可行域边界
假设极值点落在了可行域边界,即极值点位于区域𝑔 𝒙 = 0区域。
搜寻极值点𝒙∗:当出现沿着𝑔 𝒙 = 0切线方向、无法再向𝑓 𝒙 负梯度方向移动时停止。在该点,𝑓(𝒙)等高线与𝑔 𝒙 = 0相切,该点为𝑓(𝒙)的极值点𝒙∗。
对于不等式约束,在极值点𝒙∗,𝑓 𝒙 与𝑔 𝒙 的负梯度方向平行且相反。梯度的幅值可能不同。

不等式约束:对偶可行性

无论是𝑔 𝒙 < 0(𝜆 = 0)还是𝑔 𝒙 = 0(𝜆 > 可行域0)的约束情况,始终存在一个𝜆 ≥ 0(对偶可行性),满足:𝜆g(x)=0

KKT条件&等价优化问题

在𝑔 𝒙 ≤ 0约束条件下最小化𝑓(𝒙)的问题,可以转化为如下约束条件(KKT条件)下的拉格朗日函数优化问题:

8.拉格朗日对偶问题

不等式约束:拉格朗日乘数法


主问题:根据原问题的约束条件 ,对于𝛾𝑗的任意取值,拉格朗日函数第三项都可以消去,拉格朗日函数𝐿(𝒙,𝚲, 𝚪)关于𝚲, 𝚪的最大值就是𝑓(𝒙)
针对不等式约束,主问题难以求解

拉格朗日对偶函数

取拉格朗日函数关于𝒙在其可行域内的最小值,记作𝐿d

对偶函数𝐿𝐷给出了主问题最优值的下界
该下界只跟对偶变量𝚲和𝚪有关,与𝒙无关

对偶问题

针对𝚲 > 0和𝚪,最大化对偶函数𝐿𝐷,得到主问题的对偶问题

对偶函数的凹凸性

对偶函数是以𝚲和𝚪为自变量的、与𝒙无关。因此,里面的拉格朗日函数𝐿看做关于对偶变量𝚲和𝚪的仿射组合。对偶函数𝐿𝐷则是拉格朗日函数𝐿的逐点(pointwise)最小值函数。逐点最小值函数min是凹函数
由于逐点最大化函数是凹函数,且拉格朗日函数可以看做关于对偶变量的仿射组合,所以对偶函数𝐿𝐷是凹函数由于目标函数𝐿𝐷是凹函数,约束条件是凸函数,所以对偶问题是凸优化问题

对偶问题是凸优化

无论主问题的凸性如何,对偶问题始终是一个凸优化问题。凸优化的性质:局部极值点就是全局极值点。所以,对偶问题的极值是唯一的全局极值点。因此,对于难以求解的主问题(例如,非凸问题或者NP难问题),可以通过求解其对偶问题,得到原问题的一个下界估计。

弱对偶性

设对偶问题的最优值为𝑑∗、主问题的最优值为𝑝∗,对于所有的优化问题都存在𝑑∗<=𝑝∗

强对偶性

𝑑∗=𝑝∗
如果强对偶性成立,则对偶问题获得主问题的最优下界

9.支持向量机学习算法

带不等式约束的优化问题,使用拉格朗日对偶法求解
构建对偶函数

如何针对𝑤和𝑤0求解最小化

1.在极值点计算| 𝑤 |2
2.在极值点计算拉格朗日函数第二项

3.在极值点得到𝐿d

对偶函数的约束条件

对偶函数是关于𝚲的函数,所以约束条件只需考虑𝚲的相关项
对偶可行性:对于不等式约束,构建拉格朗日函数必须满足对偶可行性条件
对偶问题:最大化该对偶函数得到最优的𝜦。得到最优的𝜦。即可得到最优的参数𝒘和𝑤0

求解对偶问题

这是标准的关于𝜆的二次规划(quadratic programming)问题。可以调用Matlab提供的quadprog函数来求解。

求解支持向量

用二次规划求解得到最优的𝜦∗,包含𝑁个最优的拉格朗日乘数

𝑤最优解

根据找到的支持向量𝒙𝑛以及对应的拉格朗日乘子𝜆𝑛∗ 构建𝒘∗

𝑤0最优解

根据支持向量机定义的约束条件,针对任意一个支持向量Xs

决策过程

识别决策
给定一个测试模式𝒙𝑡𝑒𝑠𝑡,支持向量机分类器可表达为

𝒘 和 𝑤0 的学习过程实际上是从训练样本中选择一组支持向量,并将这些支持向量存储下来,用作线性分类器

10.软间隔支持向量机

软间隔:克服过拟合
有些训练样本带有噪声或者是离群点,如果严格限制所有样本都在间隔区域之外,噪声点可能被选做支持向量,使得决策边界过于拟合噪声。
可以将SVM的硬间隔放宽到软间隔,允许一些训练样本出现在间隔区域内,从而具备一定的克服过拟合的能力

设计思想

引入松弛变量,允许一些训练样本出现在间隔区域内,形成软间隔,软间隔概念的引入,也使得线性SVM可以用于近似分类非线性数据
分类器表达:给定标记过的训练样本 (𝒙𝑛,𝑡𝑛) ,引入松弛变量𝜉𝑛后,分类器可以表达为如下形式:

构建目标函数:

将目标函数写为拉格朗日函数:

KKT条件:

构建对偶函数:

1.何针对𝑤、𝑤0和Ξ求解最小化
2.在极值点消去𝑤、𝑤0和Ξ
3.在极值点得到对偶函数 𝐿d

对偶函数的约束条件

对偶函数是关于𝚲的函数,所以约束条件只需考虑𝚲的相关项。

支持向量

1.最大化该对偶函数得到最优的𝚲,得到最优的𝜦。即可得到最优的参数𝒘和𝑤0
2.求解支持向量,用二次规划求解得到最优的𝜦∗
3.支持向量分析

参数最优解

1.𝑤最优解
用二次规划求解得到最优的𝜦∗,选取𝜆𝑛∗ > 0对应的训练样本𝒙𝑛作为支持向量,从而估计出w
2.𝑤0最优解
𝑤0通常由所有支持向量取均值得到

决策过程

给定一个测试模式𝒙𝑡𝑒𝑠𝑡,软间隔SVM可表达为

11.线性判据多类分类

单个线性判据只能实现二类分类。如何用线性判据实现多类分类?
多类分类的本质:非线性
实现非线性分类的途径:
1.一个模型:能刻画非线性的决策边界。
2.多个模型:多个模型(线性/非线性)组合成非线性决策边界
线性判据实现多类分类的途径:通过多个线性模型组合的途径实现多类分类

One-to-all策略

基本思想:
假设条件:每个类与剩余类线性可分。
针对每个类𝐶𝑖 ,单独训练一个线性分类器𝑓𝑖 𝒙 = 𝒘𝑖𝑇𝒙 + 𝑤𝑖0。
每个分类器𝑓𝑖 𝒙 用来识别样本𝒙是属于𝐶𝑖类还是不属于𝐶𝑖类。
设类别个数为𝐾: 𝐾 > 2。
总共需要训练𝐾个分类器。

判别公式&决策边界

给定测试样本𝒙,其属于分类器输出值为正的那个类
决策边界:
每个线性方程𝑓𝑖 𝒙 = 0表示𝐶𝑖类与剩余类的决策边界(记作𝐻𝑖),每条决策边界𝐻𝑖垂直于𝒘𝑖 。
𝐾 − 1个分类器:有时也可以只训练𝐾 − 1 个分类器:针对某个测试样本𝒙,如果所有𝐾 − 1个分类器都输出为非正值,则代表该样本属于剩余的第𝐾个类
训练样本选择:对于每个分类器𝑓𝑖 𝒙 ,属于𝐶𝑖类的训练样本作为正样本,其余类别的训练样本作为负样本
问题:每个分类器正负类样本个数不均衡
混淆区域:
拒绝选项(reject case):针对单个测试样本𝒙,所有分类器输出都不是正值。
重叠:针对单个测试样本 𝒙 ,出现多个分类器输出为正,形成多个类重叠的区域

线性机

基本思想:
假设条件:每个类与剩余类线性可分。
训练:基于one-to-all策略训练𝐾个线性分类器𝑓𝑖,每个分类器对应一个类𝐶𝑖。
决策:使用输出值投票法(max函数)给定测试样本𝒙,其属于所有分类器中输出值最大的那个类。

为什么取输出值最大?

输出值𝑓𝑖 (𝒙) 近似于𝒙 到分类边界(𝐶𝑖类与剩余类)的距离,该值最大即表示属于该类的可能性大

决策过程数学表达:线性机的决策过程相当于:将输入特征𝒙直接映射到类别标签𝑙。

线性机 = 𝐾个线性模型 + 一个max函数
max函数是非线性的,因此线性机可以实现非线性分类
综合𝐾个线性模型, 𝐾个权重向量𝒘𝑖写成矩阵𝑾,决策过程可以表达为

决策边界:通过max函数的引入,线性机将特征空间最终分为𝐾个决策区域

决策边界𝐻𝑖𝑗垂直于超平面(𝒘𝑖 − 𝒘𝑗)
1.输出值投票法:使用两类权重𝒘向量的差值决定相邻两类之间的决策边界;
2.标签识别法:利用每一类的权重𝒘向量决定该类与剩余类之间的决策边界。
优势:由于使用max函数,不再有混淆区域(即拒绝区域和重叠区域),通过划定相邻两类之间的边界,分割了重叠区域和拒绝区域

问题:可能出现最大的𝑓𝑖(𝒙) ≤ 0,即测试样本𝒙出现在拒绝区域。
如果严格按照线性判据的定义,拒绝区域其实是线性机(基于one-to-all策略)无法正确判断的区域

One-to-one策略

假设条件:

任意两个类之间线性可分,但每个类与剩余类可能是线性不可分的,如右图所示𝐶1 和𝐶2
基本思想:针对每两个类𝐶𝑖 和𝐶𝑗 ,训练一个线性分类器:𝑓𝑖𝑗 𝒙 = 𝒘𝑖𝑗𝑇𝒙 + 𝑤0𝑖𝑗。𝐶𝑖类真值为正;𝐶𝑗类真值为负
总共需要训练𝐾 𝐾 − 1 /2个分类器

训练样本选择

对于每个分类器𝑓𝑖𝑗 𝒙 ,属于𝐶𝑖类的训练样本作为正样本,属于𝐶𝑗类的训练样本作为负样本
避免了one-to-all策略正负类样本个数不均衡的问题

判别公式&决策边界

给定测试样本𝒙,如果所有𝐶𝑖 相关的分类器输出都为正,则𝒙属于𝐶i
决策边界:𝐶𝑖类与剩余类的决策边界:所有𝐻𝑖𝑗正半边的交集
优势;适用于一些线性不可分的情况,从而实现非线性分类
与one-to-all策略相比,不再有重叠区域
问题;会出现拒绝选项,即样本不属于任何类的情况
避免Reject Case:
1.采用类似线性机的策略,在决策过程中采用max函数
2.采用max函数的one-to-one策略决策过程可以表达为

总结

使用线性判据进行多类分类,本质上是利用多个线性模型组合而成一个非线性分类器,因此,决策边界不再是由单个超平面决定,而是由多个超平面组合共同切割特征空间

12.线性回归

主要输出数据类型:二值数据,多类别数据,连续数据
输入样本:个数与特征维度的关系
1.每个输入样本特征为𝑃维。样本个数为𝑁。
2.Tall数据:𝑁 ≫ 𝑃,所有训练样本的输入和真值输出构成一个超定方程组。可以使用线性回归来学习。
3.Wide数据:𝑁 ≪ 𝑃,所有训练样本的输入和真值输出构成一个欠定方程组。

线性回归模型表达

1.输出单维度
2.输出多维度

模型对比

线性回归vs线性判据

待学习参数

给定训练样本,学习参数𝑾。

训练样本

给定𝑁个训练样本

目标函数

最小化均方误差:如果参数𝑾是最优的,意味着对每个样本(𝒙𝑛, 𝒕𝑛)而言,模型的输出值y𝑛与标定的输出真值𝒕𝑛之间的差值最小因此,目标函数可以使用均方误差 ,即最小化均方误差

对比

线性回归 vs 线性判据
1.线性判据:主要判断预测的输出值与真值在符号上的差异。感知机:被错误分类的样本的输出值之和。虽然输出值代表错误的程度,但是不考虑正确分类的正确程度
2.线性回归:比较预测的输出值和真值在数值上的差异

目标优化

1.展开目标函数
2.对参数𝑾求偏导

梯度下降法

采用梯度下降法更新𝒘和𝑤0 :
1.设当前时刻为𝑘,下一个时刻为𝑘 + 1
2.n为更新步长

最小二乘法

1.参数最优值的闭式解
2.𝑋𝑇𝑋分析:非奇异矩阵
3.𝑋𝑋𝑇分析:奇异矩阵
4.𝑋𝑋𝑇分析

线性回归模型:概率解释

给定一个样本𝒙,模型输出与输出真值之间误差记做𝜺 ∈ 𝑅𝑀:

假设误差𝜺是𝑀维高斯白噪声,维度之间独立且共享方差𝜎2:

由此可得,给定样本𝒙和权重𝑾,输出真值𝒕的条件概率也是高斯:

目标函数

似然函数:针对每个训练样本,输出真值𝒕的条件概率越大,说明该样本的模型输出值与输出真值越接近,则参数𝑾越是接近最优的。因此,给定𝑁个训练样本,似然函数为输出真值𝒕的条件概率乘积。该似然函数即为目标函数。最大化该目标函数。

目标函数优化

最大似然估计:
对目标函数取对数

最大似然 vs MSE

13.逻辑回归的概念

目前学过的分类模型中,有哪些模型是非线性的?
1.MAP分类器 线性 / 非线性
2.感知机 线性
3.Fisher判据 线性
4.支持向量机 线性

MAP分类器

非线性的情况:
如果两个类别数据分布的协方差矩阵不同(即Σ𝑖 ≠ Σ𝑗),则MAP分类器的决策边界是一个超二次型曲面,即非线性
线性的情况:
如果两个类别数据分布的协方差矩阵相同(即Σ𝑖 = Σ𝑗 ),则MAP分类器的决策边界是一个超平面,即线性

MAP分类器可以在线性和非线性之间切换,为我们将线性模型改进成非线性模型提供了思路

后验概率的比例

对于二类分类,MAP分类器通过比较后验概率的大小来决策

Logit变换

后验概率对数比率=线性判据输出
在每类数据是高斯分布且协方差矩阵相同的情况下, 𝒙属于𝐶1类的后验概率与属于𝐶2类的后验概率之间的对数比率就是线性模型𝑓(𝒙)的输出

Logit变换定义

Logit变换:𝐶1类的后验概率与𝐶2类的后验概率之间的对数比率

在每类数据是高斯分布且协方差矩阵相同的情况下,由于Logit变换等同于线性判据的输出,所以在此情况下Logit(z) 是线性的

Logit变换与线性判据:决策方式

设𝐶1代表正类(即线性判据输出大于0的类),𝐶2代表负类

Sigmoid函数

设𝑦 = 𝑓 𝒙 = 𝒘𝑇𝒙 + 𝑤0,根据上式可以定义Sigmoid函数

线性判据𝑓 𝒙 放入Sigmoid函数,可得到x属于𝐶1类的后验概率

Sigmoid函数:连接线性模型和后验概率的桥梁,线性模型𝑓(𝒙) + Sigmoid函数 = 后验概率

逻辑回归

逻辑回归(Logistic Regression):线性模型𝑓(𝒙) + sigmoid函数

决策边界
单个逻辑回归可以用于二类分类,其决策过程如下

给定两个类,逻辑回归的决策边界仍然是线性的超平面

单个逻辑回归就是一个神经元模型,多个逻辑回归(即多个同层神经元)可应用于多类分类,使用max函数做决策(即基于one-to-all的线性机)

适用范围:分类
前提:两类之间是线性可分的。
1.狭义范围:每个类的数据都是高斯分布且分布的协方差矩阵相同。
2.广义范围:每个类的数据分布可以是非高斯,甚至是多模态分布
适用范围:回归
范围:可以拟合sigmoid形式的非线性曲线

总结

1.逻辑回归本身是一个非线性模型。
2.逻辑回归用于分类:仍然只能处理两个类别线性可分的情况。但是,sigmoid函数输出了后验概率,使得逻辑回归成为一个非线性模型。因此,逻辑回归比线性模型向前迈进了一步。
3.逻辑回归用于拟合:可以拟合有限的非线性曲线

14.逻辑回归的学习

给定训练样本,学习参数𝒘和𝑤0
正类(𝐶1类)样本的输出真值𝑡𝑛 = 1;
负类(𝐶2类)样本的输出真值𝑡𝑛 = 0。

给定两个类别(正类和负类)共𝑁个标定过的训练样本

如何设计目标函数?

最大似然估计法

给定单个输入样本𝒙,模型输出的类别标签𝑙可以看做一个随机变量
针对单个训练样本,模型输出的概率
单个训练样本𝒙𝑛放入模型,相当于对随机变量𝑙的一次采样试验(trial),输出真值标签𝑡𝑛相当于指定此次试验的正确结果
针对训练样本(𝒙𝑛,𝑡𝑛),如果模型输出概率较低,说明模型的参数不是最优的

似然函数

如果参数𝒘和𝑤0是最优的,意味着对大部分样本(𝒙𝑛,𝑡𝑛)而言,𝑝(𝑡𝑛|𝒙𝑛) 应该是较大的(无论𝑡𝑛取值是1还是0)
因此,使用最大似然估计:针对所有训练样本𝒳,最大化输出标签分布的似然函数,以此求得参数𝒘和𝑤0的最优值

目标函数

由于log是凹函数,所以对目标函数取反。相应的,最大化变为最小化

目标函数:交叉熵解释

训练目标;给定单个样本𝒙𝑛,希望模型预测输出的概率分布𝑝 (𝑙𝑛|𝒙𝑛)符合输出真值的概率分布𝑞(𝑙𝑛|𝒙𝑛),即两种分布的差异程度最小
交叉熵可以用来度量两种分布的差异程度。
给定𝑁个训练样本,把每个训练样本的交叉熵求和,得到最终的目标函数

目标函数优化:梯度下降法

对参数𝒘求偏导
对参数𝑤0求偏导
参数更新

梯度下降法需要注意的问题:梯度消失问题

在饱和区,输出量𝑧接近于1,导致sigmoid函数梯度值接近于0,出现梯度 消失问题

参数的初始化

在迭代训练过程中,如果参数𝒘选择较大的初始值,输出𝑧𝑛很快会进入sigmoid饱和区(即𝑧𝑛的值接近于1),梯度𝜕𝑧𝑛Τ𝜕𝑦𝑛接近于0,出现梯度消失。根据链式法则,导致目标函数关于参数的梯度𝜕𝐽Τ𝜕𝒘接近于0,使得后续迭代更新不起作用。因此,参数𝒘尽量选择较小的初始值,避免出现梯度消失问题

迭代停止

如果迭代停止条件设为训练误差为0,或者所有训练样本都正确分类的时候才停止,则会出现过拟合问题。所以,在达到一定训练精度后,提前停止迭代,可以避免过拟合

15.Softmax判据的概念

后验概率:多类情况

一个类与剩余类的后验概率比率
逻辑回归是由Logit变换反推出来的,由Logit变换可知:正负类后验概率比率的对数是一个线性函数,分类𝐾个类,可以构建𝐾个线性判据。第𝑖个线性判据表示𝐶𝑖类与剩余类的分类边界,剩余类用一个参考负类(reference class) 𝐶𝐾来表达
参考类的后验概率𝑝(𝐶𝐾|𝒙)

任意正类的后验概率𝑝(𝐶𝑖|𝒙)

重新审视参考负类的后验概率𝑝(𝐶𝐾|𝒙)
把𝑝(𝐶𝐾|𝒙)参照𝑝(𝐶𝑖|𝒙)的形式,可以类比得到

任意类的后验概率𝑝(𝐶𝑖|𝒙)

可见,对于多类分类(𝐾 > 2), 𝐾个线性模型也跟每个类对应的后验概率建立起了联系

Softmax函数:


该后验概率计算方法被称作softmax函数:如果一个类𝐶𝑖对应的𝑦𝑖(即线性模型的输出)远远大于其他类的,经过exp函数和归一化操作,该类的后验概率𝑝(𝐶𝑖|𝒙)接近于1,其他类的后验概率接近于0,则softmax决策就像是一个max函数。但是,该函数又是可微分的,所以称作“软最大值函数“

Softmax判据:𝐾个线性判据 + softmax函数
给定测试样本𝒙,经由线性模型和softmax函数计算𝐾个类对应的后验概率, 𝒙属于最大后验概率对应的类别

Softmax判据的决策边界:Softmax判据用于分类,等同于基于one-to-all策略的线性机
Softmax判据与神经网络

相当于由𝐾个神经元组成的神经网络输出层,每个神经元输出值代表属于该类的后验概率𝑝(𝐶𝑖 𝒙 ∈ [0,1]。

分类前提:每个类和剩余类之间是线性可分的

回归

范围:可以拟合指数函数(exp)形式的非线性曲线

总结

1.Softmax判据本身是一个非线性模型。
2.Softmax判据用于分类:只能处理多个类别、每个类别与剩余类线性可分的情况。但是, Softmax判据可以输出后验概率。因此,Softmax判据比基于one-to-all策略的线性机向前迈进了一步。
3.Softmax判据用于拟合:可以输出有限的非线性曲线

16.Softmax判据的学习

训练样本:给定𝐾个类别,共𝑁个标定过的训练样本

输出真值采用one-hot方式

目标函数

Softmax模型输出的概率分布
给定单个样本𝒙,one-hot形式的输出标签{𝑙𝑖}𝑖=1,…,𝐾符合多项分布(试验次数𝑁=1)
最大似然估计:如果参数是最优的,意味着对大部分样本(𝒙𝑛, 𝒕𝑛)而言,输出概率𝑝({𝑡𝑛𝑖}|𝒙𝑛) 应该是较大的(无论𝑡𝑛𝑖 取值是1还是0)
使用最大似然估计:针对所有训练样本𝒳,最大化输出标签分布的似然函数,以此求得参数{𝒘𝒊,𝑤0𝑖}𝑖=1,2,…𝐾的最优值。似然函数为所有训练样本输出概率的乘积
目标函数:

交叉熵解释:

Softmax模型输出的概率分布
针对单个样本 𝒙𝑛 , 可以得到 softmax 预测输出的概率分布𝑝 ({𝑙𝑛𝑖}𝑖=1,…,𝐾|𝒙𝑛)、输出真值的概率分布𝑞({𝑙𝑛𝑖}𝑖=1,…,𝐾|𝒙𝑛) 。
交叉熵:
给定单个样本𝒙𝑛,希望softmax模型预测输出的概率分布𝑝 (𝒍𝑛|𝒙𝑛)符合输出真值的概率分布𝑞(𝒍𝑛|𝒙𝑛)

目标函数优化

1.对参数𝒘𝑘求偏导
2.对参数𝒘𝑘求偏导
3.对参数𝑤0𝑘求偏导

梯度分析

从梯度公式可以看到,第𝑖个线性方程的参数𝒘𝑖和 𝑤0𝑖的更新不仅依赖于第𝑖类的样本𝒙𝑛 ∈ 𝐶𝑖,而且还依赖于所有剩余类的样本𝒙𝑛 ∈ 𝐶𝑗, 𝑖 ≠ 𝑗。可见,判别式学习是依赖所有类的训练样本来学习参数。

梯度对比

目标函数优化

参数更新:采用梯度下降法更新所有{𝒘𝒊, 𝑤0𝑖}

17.核支持向量机(Kernel SVM)

引言:以SVM为基础模型,看看是否可以实现非线性分类边界?

Kernel方法的基本思想

如果样本在原始特征空间(𝑋空间)线性不可分,可以将这些样本通过一个函数𝜑映射到一个高维的特征空间(Φ空间),使得在这个高维空间,这些样本拥有一个线性分类边界
高维空间表达

该高维空间Φ是希尔伯特(Hilbert)空间,即线性完备内积空间。如果在高维空间Φ两个类是线性可分的,则可以应用线性SVM来实现𝑋空间的非线性分类
如何得到低维到高维空间的映射函数𝜑呢?

核技巧

在实际应用中,很难得到映射函数𝜑的确切形式

核函数:

在低维𝑋空间的一个非线性函数,包含向量映射和点积功能,即作为𝑋空间两个向量的度量,来表达映射到高维空间的向量之间的点积

Kernel SVM决策模型

给定测试样本𝒙,Kernel SVM的决策模型为(在X空间)

可见,Kernel SVM的决策是关于测试样本𝒙与𝑁𝑠个支持向量𝒙𝑘的核函数的线性组合,即𝑁𝑠个非线性函数的线性组合。决策边界方程也由𝑁𝑠个非线性函数的线性组合来决定。因此,在𝑋空间是一条非线性边界

Kernel SVM:一个单隐层神经网络

Kernel SVM的学习算法

由于kernel SVM在高维Φ空间是线性的,所以kernel SVM的对偶函数可以表达为

Kernel SVM+软间隔

由于kernel SVM(尤其是高斯核)很容易产生过拟合,所以通常会加入松弛正则项,即软间隔Kernel SVM,其对偶问题为

得到最优的𝜦。即可得到最优的参数𝒘和𝑤0

核函数的条件

Mercer条件:只要是半正定对称函数,都可以用作核函数

常见的核函数

1.多项式核函数:

不同的核函数参数值,决定了不同的支持向量和分类边界
𝜌, 𝑚:取值越高,分类边界非线性程度越高
2.高斯核函数

不同的核函数参数值,决定了不同的支持向量和分类边界
𝜎:方差越小,分类边界越不平滑,甚至出现孤岛(过拟合)

posted @ 2021-05-27 22:21  宁有故人,可以相忘  阅读(220)  评论(0编辑  收藏  举报