标签:xk yk SVM ek ... right LSSVM 二乘 向量
简介
SVM标准算法在应用中存在着超平面参数选择,以及QP问题求解中矩阵规模受训练样本数目的影响很大,导致求解规模过大的问题。
Suykens等人提出的最小二乘支持向量机(Least Squares Support Vector Machines,LS-SVM)从机器学习损失函数着手,在其优化问题的目标函数中使用二范数,并利用等式约束条件代替SVM标准算法中的不等式约束条件,使得LS-SVM方法的优化问题的求解变为通过Kuhn-Tucker条件得到的一组线性方程组的求解。
SVM与LS-SVM的比较
(1)优化问题的构造
从前述对SVM与LS-SVM方法在样本分类与回归估计的分析中可以看出,两种方法的优化问题的构造上,目标函数分别采用了误差因子的一次项与二次项,同时约束条件分别采用了不等式约束与等式约束形式。这两方面的差别也导致了两种方法在求解过程中的差异。
(2)优化问题的求解
SVM求解QP问题中,变量维数等于训练样本的个数,从而使其中矩阵元素的个数是训练样本个数的平方。当数据规模达到一定程度时,SVM算法的求解规模就会使一些传统办法难以适应。针对SVM的求解困难的问题,也产生了一些相应的解决办法,如选块算法和SMO算法等。这些算法在一定程度上简化了SVM优化问题的求解,促进了SVM的应用发展。而LS-SVM方法通过求解线性方程组实现最终的决策函数,在一定程度上降低了求解难度,提高了求解速度,使之更能适合于求解大规模问题,更能适应于一般的实际应用。虽然并不一定能获得全局最优解,但是仍可以获得较高精度的识别率。
(3)解的稀疏性
SVM标准算法中,需要求解复杂的QP问题,可以获得理论上的全局最优解,并且,大部分的Lagrange乘子均为零,使得最终的决策函数只依赖于少部分样本数据,即支持向量。使SVM方法中解显示出稀疏性的特点。在LS-SVM方法中,由于其优化问题的目标函数使用了误差平方项以及等式约束条件,将SVM的QP问题转化为一组线性方程组求解,使得Lagrange乘子与误差项成比例关系,直接的后果就使得最终决策函数与所有样本都相关,也就失去了SVM方法中解的稀疏性的特点。但是LS-SVM方法通过对最终求解得到的Lagrange乘子进行排序,并使用“修剪”算法,仍然可以在一定程度上实现解的稀疏性的。
LSSVM公式推导
分类问题
对于SVM问题,约束条件是不等式约束:
s.t.minw,b,ξJ(w,ξ)=21wTw+ck=1∑Nξkyk[wTφ(xk)+b]≥1−ξk, k=1,…,Nξk≥0,k=1,…,N
对于LSSVM,原问题变为等式约束:
minw,b,eJ(w,e)s.t.yk[wTφ(xk)+b]=21wTw+21γk=1∑Nek2=1−ek, k=1,…,N
原SVM问题中的 ξ 是一个松弛变量,它的意义在于在支持向量中引入离群点。而对于LSSVM的等式约束,等式右侧的 e 和SVM的 ξ 的意义是类似的,最后的优化目标中也包含了 e 。
所有的训练样本均作为支持向量,这也是最小二乘支持向量机的缺点之一,而误差 e 是我们的优化目标之一。
注释:
SVM模型有两个非常重要的参数c与γ。其中 c是惩罚系数,即对误差的宽容度。c越高,说明越不能容忍出现误差,容易过拟合。c越小,容易欠拟合。c过大或过小,泛化能力变差
另外,在LSSVM中 γ 和SVM中 c 的意义是一样的,一个权重,用于平衡寻找最优超平面和偏差量最小。
接下来,和SVM类似,采用 Lagrange 乘数法把原问题转化为对单一参数,也就是 α 的求极大值问题。新问题如下
L(w,b,e;α)=J(w,e)−∑k=1Nαk{yk[wTφ(xk)+b]−1+ek}
分别对w,b,ek,αk求导等于0:
∂ω∂L∂b∂L∂ek∂L∂αk∂L=0→w=k=1∑Nαkykφ(xk)=0→k=1∑Nαkyk=0=0→αk=γek, k=1,...,N=0→yk[wTφ(xk)+b]−1+ek=0, k=1,...,N
接下来,根据这四个条件可以列出一个关于 α 和 b 的线性方程组:
[0yyTΩ+I/y][bα]=[01v]
其中 Ω 被称作核矩阵
Ωkl=ykylφ(xk)Tφ(xl)=ykylK(xk,xl), k,l=1,...,N
解上述方程组可以得到一组 α 和 b 。
最后得到LSSVM分类表达式:
y(x)=sign[∑k=1NαkykK(x,xk)+b]
对比SVM,LSSVM的预测能力究竟怎么样呢,简单说来,由于是解线性方程组,LSSVM的求解显然更快,但标准基本形式的LSSVM的预测精准度比SVM稍差一些。
回归
如果说分类是用一个超平面将两组数据分开的话,LSSVM回归就是用一个超平面对已知数据进行拟合,问题如下:
minw,b,eJ(w,e)s.t.yk=21wTw+21γk=1∑Nek2=wTφ(xk)+b+ek, k=1,…,N
这里的 yk 不再是表明类别的标签,而是我们需要估计函数中 y=f(x) 中的 y ,同样的,首先采用 Lagrange 乘数法:
L(w,b,e;α)=J(w,e)−∑k=1Nαk{wTφ(xk)−b+ek−yk}
求导等于0:
∂ω∂L∂b∂L∂ek∂L∂αk∂L=0→w=k=1∑Nαkφ(xk)=0→k=1∑Nαk=0=0→αk=γek, k=1,...,N=0→wTφ(xk)+b+ek−yk=0, k=1,...,N
最后化为解下列线性方程组:
[01v1vTΩ+I/y][bα]=[0y]
有核矩阵如下:
Ωkl=φ(xk)Tφ(xl)=K(xk,xl), k,l=1,...,N
解上述方程组得到LSSVM回归函数:
y(x)=∑k=1NαkK(x,xk)+b
标签:xk,yk,SVM,ek,...,right,LSSVM,二乘,向量 来源: https://blog.csdn.net/weixin_43455338/article/details/104848827
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。