SVM(Support Vector Machines)是基于空间度量的线性分割面,最优的分割面原则为:间隔宽度最大化+最小分错样本书
定义模型
计算间隔求出分界面
w⋅(x+−x−)=2∣∣w∣∣×∣∣x+−x−∣∣×cosθ=2d=∣∣x+−x−∣∣×cosθ 目标函数
wmin21∣∣w∣∣2s.t.yi(wTxi)−1≥0,i=1,2,...,N trick:将b整合进w
这就是一个二次规划问题
点到直线距离公式的几种推导
...
线性不可分
若训练数据是线性可分(不存在任何线性分类器可以将其正确分类),或者数据存在噪声。
线性不可分意味着某些样本点不能满足函数间隔大于等于1的约束条件。
目标函数
wmin21wTw+Ci∑ξis.t.yi(wTxi)−1+ξi≥0,i=1,2,...,Ns.t.ξi≥0 Hinge Loss
对于标签t和分类的输出的分数y,Hinge Loss就是
f(y)=max(0,1−ty)
当分类正确时,f(y)=0
Hinge loss 中文版 Hinge loss
求解
求出目标函数的最优值
拉格朗日函数
对原问题每个约束条件引入拉格朗日乘子 αi,μi 得到:
L(w,ξ,α,μ)=21wTw+Ci∑ξi−i∑αi(yi(wTxi)−1+ξi)−i∑μiξis.t.αi≥0,μi≥0 对偶函数:g(α,μ)=minw,ξL(w,ξ,α,μ)
对偶问题:maxαi≥0,μ≥0g(α,μ)
21wTw+Ci∑ξi≥L(w,ξ,α,μ)≥w,ξminL(w,ξ,α,μ)=g(α,μ) 最小化不等式的左边,最大化不等式的右边
弱对偶性定理:原问题的最优值恒大于等于对偶问题的最优值
强对偶性定理:对偶间隙为0,弱对偶定理不等式中的等号全部成立。
21wTw+Ci∑ξi=L(w,ξ,α,μ)=w,ξminL(w,ξ,α,μ)=g(α,μ) 对于任何一个非负的实值函数,其极大-极小化与极小-极大化之间存在如下关系
maxxminyf(x,y)≤minymaxxf(x,y)
L 对 w,ξ 的导数等于零:
∂w∂L=w−i∑αiyixi=0⇒w=i∑αiyixi,∂ξi∂L=C−αi−μi=0 w,ξminL(w,ξ,α,μ)=−21i,j∑yiyjαiαjxixj+i∑(C−ξi−αi)ξi+i∑αi=i∑αi−21i,j∑yiyjαiαj⟨xi,xj⟩=αmaxg(α)s.t.0≤αi≤C,∀i yi(wTxi)−1+ξi≥0,ξi≥0,αi≥0,μi≥0,约束条件C−αi−μi=0⇒C−αi≥0,驻点条件αi(yi(wTxi)−1+ξi)=0,μiξi=0⇒ξi(C−αi)=0互补松弛性 得出:
0<αi<C⇒yifi=1αi=0⇒yifi≥1,ξi=0αi=C⇒yifi≤1,ξi≥0 如何理解拉格朗日乘子法
非线性SVM
对偶函数
αmaxg(α)=i∑αi−21i,j∑yiyjαiαjK⟨ϕ(xi),ϕ(xj)⟩s.t.0≤αi≤C,∀i 核函数
线性核: K⟨xi,xj⟩=xiTxj
多项式核: K⟨xi,xj⟩=(1+xiTxj)p
高斯核(Radial basis function kernel,简称RBF): K⟨xi,xj⟩=exp(−2σ2∣∣xi−xj∣∣2)
sigmoid核: K⟨xi,xj⟩=tanH(β0xiTxj+β1)
为什么Gaussian kernel为无线维。因为e是一种极限。对ex泰勒展开、即是用多项式逼近,得:ex=limn→∞∑i=0ni!xi
e=2.7…是怎么算出来的
数学里的 e 为什么叫做自然底数
数学中以e为底的指数函数f(x)=exp(x)求导后为什么还是它本身
机器学习里的kernel是指什么
典型的再生核 Hilbert 空间理论(RKHS)
径向基(Radial basis function)神经网络、核函数的一些理解
对于多分类问题以及核函数的选取,以下经验规则可以借鉴:
如果如果特征数远远大于样本数的情况下,使用线性核就可以了.
如果特征数和样本数都很大,例如文档分类,一般使用线性核, LIBLINEAR比LIBSVM速度要快很多.
如果特征数远小于样本数,这种情况一般使用RBF.但是如果一定要用线性核,则选择LIBLINEAR较好,而且使用-s 2选项
《机器学习技法》上说,实战中应先用简单的kernel,拟合效果不好的话,再用更强大的高斯核
怎么形象地理解对偶空间(Dual Vector Space)
看了这篇文章你还不能理解对偶空间算我输
线性泛函
关于 L^p 空间的对偶问题
求解对偶函数
对偶函数统一形式
αmin21αTQα−eTαsubjectto0≤αi≤C,∀i 障碍函数法
将不等式约束条件作为惩罚项,然后用障碍函数法迭代求解。
但是,原目标函数也是可以用障碍函数法求解的。就SVM而言,在对偶空间中障碍函数法会快速收敛,远快于原目标函数。
其他算法会不会也在对偶空间中迭代会快速?