【机器学习具体解释】SVM解二分类,多分类,及后验概率输出 1.线性可分支持向量机 2.线性支持向量机 3.非线性支持向量机 4.SVM后验概率输出 5.几种损失函数的比較 6.SVM多分类问题

【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题

转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/51073885


支持向量机(Support Vector Machine)以前在分类、回归问题中非常流行。支持向量机也称为最大间隔分类器,通过分离超平面把原始样本集划分成两部分。

首先考虑最简单的情况:线性可分支持向量机。即存在一个超平面能够把训练样本分开。

1.考虑一个线性二分类的问题;例如以下左图,在二维平面上有两种样本点x,目标值分别标记为{-1,1}。能够作出无数条直线把两类点分开。可是个採用哪个直线最好呢?
2.一般来说,当样本点离直线越远。则分类正确的确信度越大;例如以下右图所看到的,A,B,C三个样本点都被预測分类到‘×’类中。可是对于A的分类正确的确信度比C大。因为点C里分类直线


【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题

1.1函数间隔与几何间隔

由二维直线

一个点距离超平面的远近能够表示分类预測的确信程度。在超平面


定义超平面关于样本集S的函数间隔为超平面(w,b)与S中全部样本点的函数间隔的最小值

定义就可以。
注意到函数间隔实际上并不能表示点到超平面的距离,因为当超平面
如上图所看到的:设样本点A坐标为

假设点被正确分类。

几何间隔不随着超平面參数的变化而变化,比如超平面參数(w,b)变为(2w,2b)。函数间隔保持不变。
函数间隔与几何间隔的关系:,若||w||=1,函数间隔与几何间隔同样。

1.2间隔最大化

如上所述。支持向量机的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。


上述问题,能够转变为一个凸二次规划问题。这是支持向量机的一个重要属性,局部极值即为全局最值。
考虑函数间隔与几何间隔的关系:
【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题
上述优化问题中,当超平面參数(w,b)同一时候变为(2w,2b),函数间隔也会变为
上述问题为一个凸优化问题,通过某些优化算法能够求解。

以下继续介绍拉格朗日对偶算法,能够更进一步优化上述问题,同一时候自然引入核函数,推广到高维数据。

1.3拉格朗日对偶性

有时考虑解决原始问题的对偶问题会更高效。


原始问题

写出拉格朗日函数。当中
定义关于
由此原始问题的约束最优化问题变为极小极大问题:
【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题
设原始问题的最优解记为
.
对偶问题
把上述极小极大问题
,改为极大极小变为对偶问题,即:
定义:【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题
【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题
设此极大极小问题的最优解记为
为了使得对偶问题与原始问题的最优解相等

1.4最优间隔分类器

回想原始问题:
【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题
写成拉格朗日函数。因为仅仅有不等式约束【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题所以仅仅包括拉格朗日乘子
原始问题最优解

对偶问题先求关于參数w,b的最小值,再求关于參数的最大值。


首先,分别对w,b求偏导数并令为0。得:
【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题
【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题
把上述结果带入拉格朗日函数
注意到上述是仅仅关于參数
以下的目的是解决上述优化问题。通常採用SMO算法,本篇文章暂不做介绍。假如已经得到最优解
,不是原始解)。


依据KKT条件有
上数据影响着最优超平面的计算。


【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题

2.线性支持向量机

以上讨论的内容是建立在数据是线性可分的情况。即存在一个分离超平面能够把训练数据分为两部分。实际上数据并不会这么理想,例如以下图所看到的。即存在某些样本点不能满足函数间隔大于等于1这个条件。
【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题
这时能够为每一个数据点设置一个松弛因子
C称为惩处參数(C>0)。C值越大对误分类的惩处越大。因为当C为无穷大时,即成为了线性可分问题。
採用与线性可分同样的过程。建立拉格朗日函数:
【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题

【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题

由对偶函数得。首先分别对
由上述KKT条件能够得到:
【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题

3.非线性支持向量机

3.1 概念

【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题
如上图所看到的,原始样本数据线性不可分,即无法用一条直线或分离超平面将两类分开。

可是对原始数据採用非线性变换,非线性变换将原始数据从低维映射到高维,高维上数据就可能变得线性可分。

步骤:首先使用非线性变换将原始数据集映射到新空间中。称为特征空间,在特征空间中数据将变的线性可分,然后採用线性支持向量机的方法训练分离超平面參数。

但在高维上计算量会急剧增大。会造成维数灾难,自然引入核技巧(kernal trick)。

3.2 核技巧

观察线性支持向量机的对偶问题为:
【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题
上述目标函数中。仅仅包括原始数据的内积形式

由上述分析,仅仅须要找到一个合适的非线性变换分别变换到特征空间中的内积值。

核技巧的方法即不用构造非线性映射


经常使用几个核函数:

4.SVM后验概率输出

SVM分类器中判决函数


參数A,B通过最大释然的方法求解,为防止过拟合。求解A,B參数的样本数据应独立于训练分类的样本。因为在训练分类器阶段,没有考虑后验概率的问题,因此SVM后验概率结果不可靠。

5.几种损失函数的比較

【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题
如图:0-1损失是二分类问题的真正损失函数,合页损失与logistic损失是对0-1的损失函数的近似。最小二乘损失强化了分类点在正确分类边界处。

5.1合页损失函数

对于线性支持向量机。目标函数是最小化


第一项关于被称为经验损失,定义

5.2logistic回归损失

为了方便叙述,改变一下标记方法。记原始样本数据为带入sigmoid函数中,后验概率输出。

採用最大似然函数:
【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题
目标函数能够定义为对数似然的负数。同一时候加上一个二次正则化因子。


第一项即为logistic回归损失函数

5.3最小二乘损失

与线下回归相似,能够採用最小二乘损失作为目标函数:

6.SVM多分类问题

【机器学习具体解释】SVM解二分类,多分类,及后验概率输出
1.线性可分支持向量机
2.线性支持向量机
3.非线性支持向量机
4.SVM后验概率输出
5.几种损失函数的比較
6.SVM多分类问题

1.one-versus-the-rest

对于K个类别的问题。在训练样本上,採用SVM训练出K个分类器。每一个分类器将训练样本分成的答案。此种方法会造成一个样本数据属于多个类别的情况,上左图阴影部分。


也能够採用:,即採用最大的函数间隔的那个类别。但不同的分类器有可能尺度不同样,函数距离自然不能作为推断标准。

同一时候,训练样本的不平衡也可能造成分类器有误差。

2.one-versus-one

在K分类的情况下,训练出个分类器的结果,採用投票方法给出预測结果。
此种方法依旧造成部分数据不属于不论什么类的问题,上右图阴影部分所看到的。

3.其它方法

1.一次训练K分类的SVM。

參数多。复杂度高;(Weston and Watkins 1999)
2.DAGSVM ;(Platt 2000)

參考:
1. PRML
2. MLAPP
3. CS 229-Andrew Ng

相关推荐