支持向量机SVM(Support Vector Machine)
2016-10-03 13:12
661 查看
1.前言
1.1 逻辑回归 Logistic Regression
LR是一种线性二分类方法。logistic函数(或sigmoid函数)将自变量 x∈(−∞,+∞) 映射到 (0,1) 上,即映射后到值被认为是属于y=1的概率。Sigmoid函数表示为:hθ(x)=g(θTx)=11+e−θTx
其中, hθ(x)∈(0,1).
P(y=1|x;θ)=hθ(x)
P(y=0|x;θ)=1−hθ(x)
逻辑回归的目的在于学习得到θ,使y=1对应的特征 θTx>>0,y=0对应的特征 θTx<<0。
SVM与LR不同在于:SVM考虑局部(不关心已经确定远离的点);LR考虑全局(考虑远离的点可能通过调整中间线使其更加远离)。
1.2 函数间隔与几何间隔
给定一个训练样本(x(i),y(i)),x为特征,y是结果便签。函数间隔定义如下:
γ̂ =y(i)(wTx(i)+b)
全局样本上的函数间隔
γ̂ =mini=1,…,mγ̂ (i)
A点至分割平面(线)的距离为A点(x(i),y(i))至B点的距离,B点的x=x(i)−γ(i)w||w||,代入wTx+b=0得,
γ(i)=(w||w||)Tx(i)+b||w||则几何间隔定义为γ(i)=y(i)((w||w||)Tx(i)+b||w||)
类似全局的几何间隔为
γ=mini=1,…,mγ(i)
1.3 最优间隔分类器(optimal margin classifier)
最优间隔分类器形式化表示为:maxγ,w,bγs.t.y(i)(wTx(i)+b)≥γ,i=1,…,m||w||=1
等同于
maxγ,w,bγ||w||s.t.y(i)(wTx(i)+b)≥γ||w||,i=1,…,m||w||=1
如果我们将全局的函数间隔定义为1,也即是将离超平面最近的点的距离定义为1||w||,则上式等同于
maxγ,w,b1||w||s.t.y(i)(wTx(i)+b)≥1||w||,i=1,…,m||w||=1
也可以写为
minw,b12||w||2s.t.y(i)(wTx(i)+b)≥1,i=1,…,m
1.4 拉格朗日对偶(Lagrange Duality)
情况一:对于如下的等式约束的二次规划问题:minwf(w)s.t.hi(w)=0,i=1,…,l.
构造如下拉格朗日公式
L(w,β)=f(w)+∑i=1lβihi(w)
其中,l 为等式约束的个数。则
minwf(w)=minw,βL(w,β)
而通过∂L∂w=0可求得原命题的极值。
情况二:对于含有不等式约束的极值问题:
minwf(w)s.t.gi(w)≤0,i=1,…,k.hi(w)=0,i=1,…,l.
构造如下拉格朗日公式
L(w,α,β)=f(w)+∑i=1kαigi(w)+∑i=1lβihi(w)
其中,αi≥0(i=1,…,k),可以得到
f(w)=maxα,β:αi≥0L(w,α,β)
则
minwf(w)=minwmaxα,β:αi≥0L(w,α,β)≥maxα,β:αi≥0minwL(w,α,β)
当以下KTT条件满足时,上式等价,即对偶问题是原问题的解,KTT条件分别为
∂∂wiL(w,α,β)=0,i=1,…,n(1)∂∂βiL(w,α,β)=0,i=1,…,l(2)αigi(w)=0,i=1,…,k(3)gi(w)≤0,i=1,…,k(4)alpha≥0,i=1,…,k(5)
2. SVM对偶问题
SVM原优化问题为:minw,b12||w||2s.t.y(i)(wTx(i)+b)≥1,i=1,…,m
构造其拉格朗日函数:
L(w,b,α)=12||w||2−∑i=1mαi[y(i)(wTx(i)+b)−1]
L对w,b分别求偏导数:
∂∂wL(w,b,α)=w−∑i=1mαy(i)x(i)=0
则w=∑mi=1αy(i)x(i)。
∂∂bL(w,b,α)=−∑i=1mαy(i)=0
则∑mi=1αy(i)=0。
将w=∑mi=1αy(i)x(i)和∑mi=1αy(i)=0代入到L(w,b,α)得到
L(w,b,α)=∑i=1mαi−12∑i,j=1my(i)y(j)αiαj(x(i))Tx(j)
综合可知,SVM的对偶问题为
maxα∑i=1mαi−12∑i,j=1my(i)y(j)αiαj(x(i))Tx(j)s.t.αi≥0,i=1,…,m∑i=1mαiy(i)=0
求出αi,则可求出w=∑mi=1αy(i)x(i)和
b=−maxi:y(i)=−1wTx(i)+mini:y(i)=1wTx(i)2
相关文章推荐
- 支持向量机(Support Vector Machine)-----SVM之SMO算法(转)
- SVM支持向量机(Support Vector Machine)-翻译版
- (十一)机器学习中的一个常用算法SVM算法,即支持向量机Support Vector Machine(SVM)
- 可支持向量机SVM(support vector machine)基础
- 机器学习之支持向量机SVM Support Vector Machine (一) 线性SVM模型与软硬间隔
- 机器学习十大经典算法支持向量机SVM(Support Vector Machine)(上篇)
- 【机器学习实战】第6章 支持向量机(Support Vector Machine / SVM)
- SVM支持向量机(Support Vector Machine)
- 支持向量机(Support Vector Machine)-----SVM之SMO算法(转)
- Stanford Machine Learning: (5). Support Vector Machines(SVM支持向量机)
- 机器学习与深度学习(三) 支持向量机 (Support Vector Machine) SVM
- 支持向量机(Support Vector Machine,SVM)
- 机器学习——支持向量机SVM(Support Vector Machine)(下)
- 神经网络学习笔记-支持向量机(Support Vector Machine,SVM )
- 【机器学习实战】第6章 支持向量机(Support Vector Machine / SVM)
- Andrew Ng《Machine Learning》第七讲——支持向量机SVM(Support Vector Machine)
- 机器学习笔记八 - SVM(Support Vector Machine,支持向量机)的剩余部分。即核技法、软间隔分类器、对SVM求解的序列最小化算法以及SVM的一些应用
- 支持向量机(Support Vector Machine)-----SVM之SMO算法
- 支持向量机(Support Vector Machine,SVM)
- 支持向量机SVM(Support Vector Machine)算法初解