SVM解二分类,多分类,及后验概率输出
来源:互联网 发布:新概念英语配音软件 编辑:程序博客网 时间:2024/06/05 14:09
转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/51073885
支持向量机(Support Vector Machine)曾经在分类、回归问题中非常流行。支持向量机也称为最大间隔分类器,通过分离超平面把原始样本集划分成两部分。
首先考虑最简单的情况:线性可分支持向量机,即存在一个超平面可以把训练样本分开。
1.线性可分支持向量机
1.考虑一个线性二分类的问题;如下左图,在二维平面上有两种样本点x,目标值分别标记为{-1,1},可以作出无数条直线
2.一般来说,当样本点离直线越远,则分类正确的确信度越大;如下右图所示,A,B,C三个样本点都被预测分类到‘×’类中。但是对于A的分类正确的确信度比C大。因为点C里分类直线
1.1函数间隔与几何间隔
由二维直线
函数间隔:超平面
定义超平面关于样本集S的函数间隔为超平面(w,b)与S中所有样本点的函数间隔的最小值
定义
注意到函数间隔实际上并不能表示点到超平面的距离,因为当超平面
几何间隔:
如上图所示:设样本点A坐标为
如果点被正确分类,
几何间隔不随着超平面参数的变化而变化,例如超平面参数(w,b)变为(2w,2b),函数间隔
函数间隔与几何间隔的关系:
1.2间隔最大化
如上所述,支持向量机的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。
上述问题,可以转变为一个凸二次规划问题,这是支持向量机的一个重要属性,局部极值即为全局最值。
考虑函数间隔与几何间隔的关系:
上述优化问题中,当超平面参数(w,b)同时变为(2w,2b),函数间隔也会变为
上述问题为一个凸优化问题,通过某些优化算法可以求解。下面继续介绍拉格朗日对偶算法,可以更进一步优化上述问题,同时自然引入核函数,推广到高维数据。
1.3拉格朗日对偶性
有时考虑解决原始问题的对偶问题会更高效。
原始问题
写出拉格朗日函数,其中
定义关于
由此原始问题的约束最优化问题变为极小极大问题:
设原始问题的最优解记为
对偶问题
把上述极小极大问题
定义:
设此极大极小问题的最优解记为
为了使得对偶问题与原始问题的最优解相等
1.4最优间隔分类器
回顾原始问题:
写成拉格朗日函数,由于只有不等式约束所以只包含拉格朗日乘子
原始问题最优解
对偶问题先求关于参数w,b的最小值,再求关于参数
首先,分别对w,b求偏导数并令为0,得:
把上述结果带入拉格朗日函数
注意到上述是只关于参数
下面的目的是解决上述优化问题,通常采用SMO算法,本篇文章暂不做介绍。假如已经得到最优解
根据KKT条件有
2.线性支持向量机
以上讨论的内容是建立在数据是线性可分的情况,即存在一个分离超平面可以把训练数据分为两部分。实际上数据并不会这么理想,如下图所示,即存在某些样本点不能满足函数间隔大于等于1这个条件。
这时可以为每个数据点设置一个松弛因子
C称为惩罚参数(C>0),C值越大对误分类的惩罚越大;因为当C为无穷大时,即成为了线性可分问题。
采用与线性可分同样的过程,建立拉格朗日函数:
由对偶函数得,首先分别对
由上述KKT条件可以得到:
3.非线性支持向量机
3.1 概念
如上图所示,原始样本数据线性不可分,即无法用一条直线或分离超平面将两类分开。但是对原始数据采用非线性变换
3.2 核技巧
观察线性支持向量机的对偶问题为:
上述目标函数中,只包含原始数据的内积形式
定义核函数
常用几个核函数:
4.SVM后验概率输出
SVM分类器中判决函数
参数A,B通过最大释然的方法求解,为防止过拟合,求解A,B参数的样本数据应独立于训练分类的样本。由于在训练分类器阶段,没有考虑后验概率的问题,因此SVM后验概率结果不可靠。
5.几种损失函数的比较
如图:0-1损失是二分类问题的真正损失函数,合页损失与logistic损失是对0-1的损失函数的近似。最小二乘损失强化了分类点在正确分类边界处。
5.1合页损失函数
对于线性支持向量机,目标函数是最小化
第一项关于被称为经验损失,定义
5.2logistic回归损失
为了方便叙述,改变一下标记方法,记原始样本数据为
目标函数可以定义为对数似然的负数,同时加上一个二次正则化因子。
第一项即为logistic回归损失函数
5.3最小二乘损失
与线下回归类似,可以采用最小二乘损失作为目标函数:
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
- 【机器学习详解】SVM解二分类,多分类,及后验概率输出
- SVM解二分类,多分类,及后验概率输出
- SVM解二分类,多分类,及后验概率输出
- sklearn之SVM二分类
- 机器学习_贝叶斯分类/最大后验概率分类/最大似然分类
- SVM分类器-LS-SVM(二)
- SVM的多分类
- svm用于多分类
- svm 多分类机制
- SVM多分类
- SVM多分类器
- SVM多分类思路
- SVM分类,一对多;
- SVM多类分类---多个二值分类combine
- SVM多类分类---多个二值分类combine
- SVM多类分类---多个二值分类combine
- SVM 的推导、特点、优缺点、多分类问题及应用
- SVM 多分类 -SVM分类opencv3.0源代码
- 微信小程序之退款功能
- 【C语言】【unix c】pause(2)使用
- RBF-PID
- 求两个数组的交集
- Java单例
- SVM解二分类,多分类,及后验概率输出
- 【C语言】【unix c】实现sleep函数的功能
- 初识c#---静态类和单例
- 虚拟机上Linux系统上不了网
- HDU 6088 Rikka with Rock-paper-scissors(莫比乌斯反演+组合数学+FFT)
- Maven安装,本地远程仓库创建以及eclipse的配置
- iBATIS一对多/多对多N+1问题解决方案。
- 利用winscp建立起主机与虚拟机(ubuntu)之间的联系
- 中国古代文学史