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

第四章 线性判据与回归

4.1 线性判据基本概念

  1. 生成模型
    在 xn 中直接学习:p(x)
    以贝叶斯为例:生成模型 ——(估计)——> 观测似然概率 ——+先验概率——> 联合概率 ——积分——> 边缘概率密度函数 P(x) ——> 后验概率 P(Ci,x)
    缺点:在高维空间会出现维度灾难问题。
  2. 判别模型
    在 xn 中直接学习后验概率 P(Ci,x)
    优点:快速直接,省去了耗时的观测似然概率估计。
  3. 线性判据
    f(x) 是线性函数,则 f(x) 是线性判据;

可以用于两类/多类分类,相邻两类之间的决策边界是线性的。
计算量少,适用于训练样本比较少的情况。
决策边界H,设W垂直于决策边界上的任何向量,为H的法向量;(作用:决定决策边界H的方向)
W0的作用:线性判据模型:f(x) = w.T @ x + w0, w决定了决策边界的方向,w0决定了决策边界的偏移量,使得输出可为正负
决定了决策边界的偏移量,使其能够满足两个类输出值分被为正or负;
决定决策边界相对于坐标原点的位置;
样本到决策边界的距离:r = f(x) / ||w||

4.2 线性判据学习概述

监督式学习(训练)过程
识别过程 f(x)</>0?
key:寻找最优解?
解不唯一;
参数空间&解域(从解域中找到最优解);
设计目标函数 + 约束条件(提高泛化能力)
最大/最小化目标函数

4.3 并行感知机算法

tips:(根据目标函数的不同,设计不同的线性判据算法)
目的:根据标记过的训练样本(监督式),学习参数 W,W0
预处理:在特征空间中增加一个维度,是的决策边界可以通过原点; 翻转C2类的样本,是的所有样本处于该平面的同一侧。
目标函数:被错误分类的样本最少(输出值 f(x)是负数)。
感知机算法需要将负label取反。
目标函数是被错误分类的所有训练样本的输出取反求和。
由于目标函数求偏导后不含参数w和w0,所以使用梯度下降来找最优,需要设置步长、阈值,和初始化w和w0,当目标函数小于阈值或者大于等于0后,停止。

4.4 串行感知机算法

如果说并行感知机算法是一次全部给出,那么串行感知机算法就是一个一个串行给出。
思想:当前样本被错误分类的程度最小。
最小化目标函数:仍然使用梯度下降法来求解a;
算法:初始步长——>迭代更新(可能遍历多次)——>停止迭代(所有训练样本的输出值都大于0)。
收敛性:收敛性只是保证算法会停止,但是无法保证最终的结果是最优的。(全局最优和局部最优)——>(如果目标函数是J(a)是凸函数,那么局部最优就是全局最优)。
步长与收敛:步长决定收敛的速度。
训练样本一个一个给出的时候,叫做串行。
目标函数相对于并行,变成对当前训练样本的输出取反。遍历所有样本,当ak.T @ yn时更新ak+1。
如果训练样本是线性可分的,感知机算法理论上会收敛。步长能够决定收敛的速度,以及是否收敛到局部或者全局最优点。目标函数如果对于任意a,存在常数L,使得|J(a)| < L,那么步长为1 / (2L) 的时候能够收敛到局部最优。如果目标函数是凸函数,局部最优就是全局最优。
当样本位于决策边界边缘的时候,对样本的决策有很大的不确定性,加入边缘约束b,使得解出的w和w0不为0

4.5 Fisher线性判据

把原空间各店x投影到新的一位空间 y.
y=wT+w0
原理:合适的投影轴(两个样本在该轴上的重叠尽可能少)
投影之后不同样本的类间差异尽可能大(均值之差),类内样本离散程度尽可能小(协方差矩阵)。
存在问题:两类部分样本在决策边界附近犬牙交错。
Fisher:找到一个合适的投影轴,使得两类样本在轴上重叠部分最少。也就是类内样本离散程度更小,更聚集,类间差异更大,距离更远。
类间样本用均值差度量,类内样本用协方差矩阵度量。
fisher中利用协方差的逆,将两类均值差的向量进行旋转,以适应类分布的形状。

4.6 支持向量机的基本概念

different:感知机:从最小化分类误差角度来设计;
Fisher线性判据:最大化类间距离,最小化类内散度。
支持向量机:训练样本的间隔(最近的训练样本到决策边界之间的间隔)要大一些。
间隔定义:d_+ && d_-
支持向量机(SVM):最大化总间隔
感知机思想:最小化分类误差;fisher:数据降到一维,最大化类间距离,最小化类内散度。
支持向量机思想:两个类与决策边界最近的训练样本到决策边界的距离和最大。
支持向量机需要将负类label设为-1。引入概念:支持向量。
目标函数就是最大化间隔的距离和,约束条件是间隔里面没有样本,也就是输出值的绝对值要大于间隔值

.7 拉格朗日乘数法

拉格朗日乘数法:用于解决支持向量机的目标函数的一个条件优化问题。
等式约束:f(x)的极值点x∗必须位于曲线g(x)=0上。
tips:往负梯度方向移动,与负梯度方向平行则停止
等式约束中g(x) = 0的条件,使得λ可正可负,f(x)和g(x)的梯度方向一定平行,但方向可能同向或者反向,且梯度幅值不同。
不等式约束分为两种情况,一种是极值点在可行域内,相当于g(x) < 0,那么必有λ为0;另一种是极值点落在可行域边界,那么λ大于0,即f(x)的梯度方向将和g(x)平行且相反

4.8拉格朗日对偶问题

对于要求解的主问题,往往难以求解。因此引入对偶函数,给出了主问题最优值的下界。
对偶函数与x无关,并且是凹函数。目标函数是凹函数,约束条件是凸函数,那么对偶问题是凸优化问题,不论主函数的凹凸性。
凸优化的性质:局部极值点就是全局极值点,于是对于主问题的求解,往往可以求解其对偶问题,得到主问题的下界估计。
分为强对偶性和弱对偶性。

4.9 支持向量机学习算法

带不等式约束的优化问题使用拉格朗日对偶法求解。
key:构造对偶函数 。
对偶问题的求解:二次规划问题+参数最优化。
决策过程:𝒘 和 𝑤0 的学习过程实际上是从训练样本中选择一组支持向量,并将这些支持向量存储下来,用作线性分类器。

4.10 软间隔支持向量机

软间隔:克服过拟合。
(可以将SVM的硬间隔(hard margin)放宽到软间隔(soft margin),允许一些训练样本出现在间隔区域内,从而具备一定的克服过拟合的能力)
设计思想:引入松弛变量。
由于绝对地要求间隔中无样本,并且可能存在噪声和异常点,导致其被选作支持向量,使得决策边界过拟合。所以允许在一定程度上,让训练样本出现在间隔区域内。
因此引入松弛变量,松弛变量的大小决定了错误分类的程度,一般不能超过间隔大小,使得线性SVM可以近似分类非线性数据。
再引入正则系数,对错分进行惩罚,但要控制C不能过大,防止过拟合。

4.11 线性判据多类分类

多类分类的本质:非线性
需要:
一个模型:能刻化非线性的决策边界。
多个模型:多个模型(线性/非线性)组合成非线性决策边界。
组合方式:并行组合、串行组合。
思路一:One-to-all
假设每个类与剩余类可分,总共需要训练K个分类器。
问题:每个分类器的正负类样本个数不均衡。
混淆区域问题:

  • 拒绝选项
  • 重叠。
    思路二:线性机
    假设:假设每个类与剩余类线性可分。
    训练:基于one-to-all策略训练𝐾个线性分类器𝑓𝑖,每个分类器对应一个类𝐶𝑖。
    决策:使用输出值投票法(max函数)给定测试样本𝒙,其属于所有分类器中输出值最大的那个类。
    取输出值最大:该值最大表示属于该类的可能性越大。
    线性机 = 𝐾个线性模型 + 一个max函数
    通过max函数的引入,线性机将特征空间最终分为𝐾个决策区域。
    决策边界𝐻𝑖𝑗垂直于超平面(𝒘𝑖 − 𝒘𝑗)
    输出值投票法:使用两类权重𝒘向量的差值决定相邻两类之间的决策边界;
    标签识别法:利用每一类的权重𝒘向量决定该类与剩余类之间的决策边界。
    优势:由于使用max函数,不再有混淆区域(即拒绝区域和重叠区域)。通过划定相邻两类之间的边界,分割了重叠区域和拒绝区域。
    问题:可能出现最大的𝑓𝑖(𝒙) ≤ 0,即测试样本𝒙出现在拒绝区域。如果严格按照线性判据的定义,拒绝区域其实是线性机(基于one-to-all策略)无法正确判断的区域。
    思路三:one-to-one策略
    针对每两个类𝐶𝑖 和𝐶𝑗 ,训练一个线性分类器:𝑓𝑖𝑗 𝒙 = 𝒘𝑖𝑗𝑇𝒙 + 𝑤0𝑖𝑗。𝐶𝑖类真值为正;𝐶𝑗类真值为负。总共需要训练𝐾(𝐾 − 1) /2个分类器。
    优势:适用于一些线性不可分的情况,从而实现非线性分类。
    与one-to-all策略相比,不再有重叠区域。
    问题:会出现拒绝选项。
    总结:
    使用线性判据进行多类分类,本质上是利用多个线性模型组合而成一个非线性分类器。
    因此,决策边界不再是由单个超平面决定,而是由多个超平面组合共同切割特征空间。

4.12线性回归

输入样本分为tall数据和wide数据。
线性回归需要学习参数W,目标函数使用均方误差,最小化其输出和真值的误差。一般使用二范式。
使用最小二乘法或者梯度下降法来目标优化。
其中,如果X.T @ X是非奇异矩阵,那么W有唯一解,否则,W有无穷个解或者无解。对于tall数据,X.T @ X是非奇异矩阵的可能性大,如果是wide数据,那必定是奇异矩阵。因此,最小二乘法适合tall数据。
最大似然等同于最小化均方误差。

4.13 逻辑回归的概念


当两个类别数据的协方差不同时,MAP分类器的决策边界是超二次型曲面,非线性。
当观测是高斯分布并且协方差矩阵相同时,利用logit变换,后验概率对数比率等于线性判据输出。
线性模型f(x)输入sigmoid函数,得到logistic回归,就是其后验概率。
逻辑回归是一个非线性模型,对于分类任务,只能处理线性可分的情况;对于拟合任务,能够拟合有限的非线性曲线

4.14 逻辑回归的学习

Key:给定训练样本,学习参数𝒘和𝑤0。
训练样本:
正类(𝐶1类)样本的输出真值𝑡𝑛 = 1;
负类(𝐶2类)样本的输出真值𝑡𝑛 = 0。
注意:这种真值取值方式与SVM不一样。
??如何设计目标函数呢?
最大似然估计法(给定单个输入样本𝒙,模型输出的类别标签𝑙可以看做一个随机变量。)
交叉熵解释:交叉熵可以用来度量两种分布的差异程度。
给定𝑁个训练样本,把每个训练样本的交叉熵求和,得到最终的目标函数
目标函数优化:梯度下降法;
步骤:
对参数w求偏导;
对参数w0求偏导;
参数更新:采用梯度下降法更新w和w0;
需要额外注意:梯度小时问题;
key:迭代停止:如果迭代停止条件设为训练误差为0,或者所有训练样本都正确分类的时候才停止,则会出现过拟合问题。所以,在达到一定训练精度后,提前停止迭代,可以避免过拟合。

4.15Softmax判据的概念

分类K个类,构建K个线性分类器,分为该类和剩余类。由于所有类的后验概率和为1,可以得到任意类的后验概率表示。也就使得K个线性分类器能够计算得到每个类的后验概率。
该方法叫做Softmax函数,由于K个分类器的输出,特别是一个类远大于其他类,此时需要将其进行exp函数和归一化操作。与max函数不同的是,Softmax函数可微分。
由此得到Softmax判据,就是得到最大Softmax函数计算得到的那个类的下标。在分类任务时,等同于one2one的线性机。
Softmax判据常用于神经网络的输出层之后,比如利用CNN来分类手写数字时,得到其输出最大值下标。
Softmax判据是一个非线性模型,对于分类任务,能够处理多个类别、每个类别和其余类线性可分的情况;对于回归任务,能够拟合exp形的非线性曲线。

4.16Softmax判据的学习

Softmax判据需要学习K组w和w0。
和逻辑回归的学习相似,目标函数能够使用交叉熵解释。不同的是,使用one-hot编码,模型输出的概率分布符合多项分布。
在目标函数梯度下降求w和w0时,与逻辑回归不同的是,Softmax针对每个输出类别分别计算梯度值,但每个参数的梯度值与所有的类别样本都相关。
Softmax判据输出为非线性,但只能刻画线性分类边界。

4.17 核支持向量机

Kernel方法的基本思想:如果样本在原始特征空间(𝑋空间)线性不可分,可以将这些样本通过一个函数𝜑映射到一个高维的特征空间(Φ空间),使得在这个高维空间,这些样本拥有一个线性分类边界。
核函数:在低维X空间的一个非线性函数,包含向量映射和点积功能,即作为X空间两个向量的度量,来表达映射到高维空间的向量之间的点积。
Kernel SVM的决策是关于测试样本x与Ns个支持向量xk的核函数的线性组合,即Ns个非线性函数的线性组合。
在高维空间中计算SVM时,也需要计算其对偶问题的解,对于软间隔SVM也需要引入松弛量。
多项式核可以解决线性不可分问题,但当参数较大时,计算困难,超参数多。
高斯核具有更明显的非线性,但容易过拟合

posted @ 2021-05-26 09:07  Ccio  阅读(84)  评论(0编辑  收藏  举报