【机器学习】Weighted LSSVM原理与Python实现:LSSVM的稀疏化改进
一、LSSVM
1、LSSVM用于回归
本人在之前的博客(参考资料【1】)介绍了LSSVM的分类模型,本节将介绍LSSVM的回归模型。
对于回归算法,我们希望通过训练数据中学习到回归方程:
y = W ⋅ φ ( x ) + b y = W \cdot \varphi \left( x \right) + b y=W⋅φ(x)+b
其中 φ ( x ) \varphi \left( x \right) φ(x)用于将 x x x映射到更高维的特征空间内。
LSSVR回归模型的优化思想是使离回归平面距离最大的样本与回归平面之间的距离最小。优化问题为:
min W , b 1 ∥ W ∥ s . t . y i = W φ ( x i ) + b \begin{array}{l} \mathop {\min }\limits_{W,b} \frac{1}{ {\left\| W \right\|}}\\ s.t.{y_i} = W\varphi \left( { {x_i}} \right) + b \end{array} W,bmin∥W∥1s.t.yi=Wφ(xi)+b
为了解决存在部分特异点的情况,给每一个样本引入误差变量 e i {e_i} ei,,并在原始函数中加入误差变量的L2正则项。这样LSSVM的优化问题就转化为:
max W , b 1 2 ∥ W ∥ 2 + λ 2 ∑ i = 1 m e i 2 s . t . y i = W φ ( x i ) + b + e i \begin{array}{l} \mathop {\max }\limits_{W,b} \frac{1}{2}{\left\| W \right\|^2} + \frac{\lambda }{2}\sum\limits_{i = 1}^m { {e_i}^2} \\ s.t.{y_i} = W\varphi \left( { {x_i}} \right) + b + {e_i} \end{array} W,bmax21∥W∥2+2λi=1∑mei2s.t.yi=Wφ(xi)+b+ei
由此可见,LSSVM分类模型和LSSVM回归模型的求解方法是相同的。
LSSVM回归模型的输出为:
f ( x ) = W ⋅ φ ( x ) + b = ∑ i = 1 m α i k ( x i , x ) + b f\left( x \right) = W \cdot \varphi \left( x \right) + b = \sum\limits_{i = 1}^m {
{\alpha _i}k\left( {
{x_i},x} \right) + b} f(x)=W⋅φ(x)+b=i=1∑mαik(xi,x)+b
2、LSSVM模型的缺点
缺少稀疏性:对于每一次预测都需要所有的训练数据参与。因为LSSVM模型求解中的Lagrange乘子都是非零数值(不同于SVM模型,只有支持向量对应的Lagrange乘子才是非零数值)。只有当误差变量 e i {e_i} ei的分布符合高斯分布的时候,支持向量数值的估计才是最优的【参考资料2】(个人理解:当误差变量 e i {e_i} ei的分布符合高斯分布的时候,有助于将异常的样本点排除)。
二、WLSSVM的数学原理
WLSSVM的执行步骤(参考资料【2】):
步骤一 :求解LSSVM模型的优化问题,求解出Lagrange乘子序列和误差 e i {e_i} ei序列。
步骤二:求出将误差 e i {e_i} ei序列变为高斯分布的每一个误差 e i {e_i}