给定训练样本{Xn},直接在输入空间内学习其概率密度函数p(x)。
优势:
可以根据p(x)采样新的样本数据。
可以检测出较低概率的数据,实现离群点检测。
劣势:
如果是高维的x,需要大量训练样本才能准确的估计p(x) ;否则,会出现维度灾难问题。
给定训练样本{Xn},直接在输入空间内估计后验概率p(Ci|x)。
在分类任务中,后验概率分布p(Ci|x)相当于直接从输入样本x映射到类别输出Ci的判别函数f(x),即判别模型。
优势:
快速直接、省去了耗时的高维观测似然概率估计。
(在分类任务中,观测概率分布所包含的大量复杂内容有时对于后验概率的影响比较有限。)
最简单的判别模型:线性判据
如果判别模型f(x)是线性函数,则f(x)为线性判据。
可以用于两类分类,决策边界是线性的,也可以用于多类分类,相邻两类之间的决策边界也是线性的。
优势:
计算量少:在学习和分类过程中,线性判据方法都比基于学习概率分布的方法计算量少。
适用于训练样本较少的情况
模型:
决策边界就是令f(x)=0(是d维空间上的超平面)
其中:w垂直与决策边界的任何向量。(决定了决策边界的方向)
Wo决定了决策边界的偏移量,使其能够满足两个类输出值分别为正负。它决定了决策边界相对于坐标原点的位置。
f(x)是样本x到决策面的代数距离度量。
由于训练样本个数通常会远远大于参数个数(w的维度+ wo的维度),所以线性判据满足条件的解不唯一。学习算法就是要找到一个最优解。
针对两类(正负类)分类,方便起见,将负类的输出值取反,则得到
给定N个训练样本,参数向量w的解域位于N个超平面正半部分的交集。
设计目标函数:
目标函数反映了如何实现有效决策的核心思想。
目标函数的求解就是最小化/最大化目标函数。
有
解析求解:求关于训练参数的偏导,并设置偏导为0
迭代求解:先猜测参数初始值,然后不断的根据当前计算得到的更新值迭代更新参数。
加入约束条件
可以提高泛化能力,使得解域范围收缩。
根据目标函数的不同,可以设计不同的线性判据算法。
预处理
目标函数
被错误分类的样本,输出值f(n)是负数。且输出值的绝对值越大,错误的程度越大。
目标函数:针对所有被错误分类的训练样本(即输出值小于0的训练样本)其输出值取反求和
最小化该目标函数:取目标函数关于α的偏导(即梯度):
使用梯度下降法更新参数。
每个维度的梯度反方向就是该维度往目标函数最小值收敛的最速下降方向。
更新的大小:每个维度的梯度幅值代表参数在该维度上的更新程度。(通常加入步长来调整更新的幅度)
最小化目标函数,还是取关于α参数向量的偏导。
偏导不含有α,所以还是使用梯度下降法求解。
步长决定收敛的速度、以及是否收敛到局部或者全局最优点。
当样本位于决策边界边缘时,对该样本的决策有很大的不确定性。
加入margin约束条件,将错误分类的标准改为:
这里b的作用是避免出现α=0的解,提高泛化能力。
线性判据的模型可以看做是把原空间各点x投影到新的一维空间y。
找到一个最合适的投影轴,使两类样本在该轴上投影的重叠部分最少(用两类样本分布的均值之差度量),同时使得各自类内样本分布的离散程度尽可能小(用每类样本分布的协方差矩阵表示),从而使分类效果达到最佳。
最大化该目标函数:
求解w的最优解,将所有样本的均值投影到坐标原点,得到Wo。
4.6 支持向量机基本概念
给定一组训练样本,使得两个类中与决策边界最近的训练样本到决策边界之间的间隔最大。
在支持向量机中,正负类训练样本输出真值分别用+1和-1来表达。
给定标记过的训练样本{(xn, tn)},线性分类器可以表达为:
加入间隔的概念,引入一个正常数▲,分类器进一步表达为:
意味着没有训练样本落在间隔范围内
目标函数:
同时满足约束条件:这里假设 ??=1
min f(x)
s.t. g(x)=0
可行域:g(x)=0的区域。
函数在等高面上任意一点的梯度方向与其等高面(切线方向)正交,且朝向( 即正方向)函数值较高的方向。f(x)的极值点x必须位于曲线g(x)=0上。
搜寻极值点x:沿着g(x)=0的切线方向、向着f(x)负梯度方向移动。当出现沿着切线方向、无法再向f(x)负梯度方向移动时停止。
此时,在该点f(x)等高线与g(x)=0相切,即f(x)与g(x)梯度方向在同一直线上,该点为f(x)的极值点x。
f(x)与g(x)的梯度记作
如果是等式约束,在极值点x上,
的方向必然平行,可能同向或反向,梯度的幅值可能不同。
存在一个
使得:
可以定义一个拉格朗日函数:
拉格朗日函数满足驻点条件和约束条件:
等式约束问题可以转换为等价的不带约束的优化问题。
min f(x)
s.t. g(x)≤0
可行域:g(x)≤0的区域。
1、极值点落在可行域内:
此时约束条件不起作用。
直接通过
获得极值点。同上。
2、极值点落在可行域边界:
即极值点位于区域g(x)=0区域。
搜寻极值点x:当出现沿着g(x)=0切线方向、无法再向f(x)负梯度方向移动时停止。在该点f(x)等高线与g(x)=0相切,该点为f(x)的极值点x。对于不等式约束,在极值点x*,f(x)与g(x)的负梯度方向平行且相反。
多个模型:多个模型(线性/非线性)组合成非线性决策边界。
假设条件:假设每个类与剩余类可分,总共需要训练K个分类器。
问题:每个分类器的正负类样本个数不均衡。
混淆区域问题:拒绝选项;重叠。
假设条件:每个类与剩余类线性可分。
训练:基于one-to-all策略训练??个线性分类器????,每个分类器对应一个类????。
决策:使用输出值投票法(max函数)给定测试样本??,其属于所有分类器中输出值最大的那个类。
线性机 = ??个线性模型 + 一个max函数
max是非线性的,因此线性机可以实现非线性分类。
通过max函数的引入,线性机将特征空间最终分为??个决策区域。
决策边界??????垂直于超平面(???? ? ????)
输出值投票法:使用两类权重??向量的差值决定相邻两类之间的决策边界;
标签识别法:利用每一类的权重??向量决定该类与剩余类之间的决策边界。
基本思想:针对每两个类???? 和???? ,训练一个线性分类器:?????? ?? = ?????????? + ??0????。????类真值为正;????类真值为负。总共需要训练??(?? ? 1) /2个分类器。
优势:适用于一些线性不可分的情况,从而实现非线性分类;与one-to-all策略相比,不再有重叠区域。
问题:会出现拒绝选项,即样本不属于任何类的情况。
如果两个类别数据分布的协方差矩阵不同(即Σ?? ≠ Σ??),则MAP分类器的决策边界是一个超二次型曲面,即非线性。
如果两个类别数据分布的协方差矩阵相同(即Σ?? = Σ?? ),则MAP分类器的决策边界是一个超平面,即线性。
线性模型??(??) + Sigmoid函数 = 后验概率
步骤:对参数w求偏导;对参数w0求偏导;参数更新:采用梯度下降法更新w和w0;
总结
Softmax判据本身是一个非线性模型。
Softmax判据用于分类:只能处理多个类别、每个类别与剩余类线性可分的情况。但是, Softmax判据可以输出后验概率。因此,Softmax判据比基于one-to-all策略的线性机向前迈进了一步。
Softmax判据用于拟合:可以输出有限的非线性曲线。
模型对比
原文:https://www.cnblogs.com/dishao/p/14814499.html