最小二乘支持向量机(LSSVM)简述

2023-12-19 20:08

本文主要是介绍最小二乘支持向量机(LSSVM)简述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最小二乘支持向量机简述

前言:偶然间看过July的《支持向量机通俗导论》,受益良多,出于兴趣又看了一些LSSVM(最小二乘支持向量机)的相关文献,在这儿随便贴一点。

正文:首先,关于支持向量机的基础知识可以戳[http://www.cnblogs.com/v-July-v/archive/2012/06/01/2539022.html],这篇《支持向量机通俗导论》已经把SVM的基本概念讲得很透彻了。

先说LSSVM分类,LSSVM和SVM的区别就在于,LSSVM把原方法的不等式约束变为等式约束,从而大大方便了Lagrange乘子alpha的求解,原问题是QP问题,而在LSSVM中则是一个解线性方程组的问题。

对于SVM问题,约束条件是不等式约束:

minw,b,ξJ(w,ξ)s.t.yk[wTφ(xk)+b]ξk=12wTw+ck=1Nξk1ξk,   k=1,,N0,k=1,,N

对于LSSVM,原问题变为等式约束:
minw,b,eJ(w,e)s.t.yk[wTφ(xk)+b]=12wTw+12γk=1Ne2k=1ek,   k=1,,N

原SVM问题中的 ξ 是一个松弛变量,它的意义在于在支持向量中引入离群点。而对于LSSVM的等式约束,等式右侧的 e 和SVM的 ξ 的意义是类似的,最后的优化目标中也包含了 e 。我个人理解成:在LSSVM中,所有的训练点均为支持向量,而误差 e 是我们的优化目标之一。

另外,在LSSVM中 γ 和SVM中 c 的意义是一样的,一个权重,用于平衡寻找最优超平面和偏差量最小。

接下来,和SVM类似,采用 Lagrange 乘数法把原问题转化为对单一参数,也就是 α 的求极大值问题。新问题如下:

L(w,b,e;α)=J(w,e)k=1Nαk{yk[wTφ(xk)+b]1+ek}

分别对 wbekαk 求导=0,有:

LωLbLekLαk=0w=k=1Nαkykφ(xk)=0k=1Nαkyk=0=0αk=γek,   k=1,...,N=0yk[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=12wTw+12γk=1Ne2k=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+ekyk}

进一步推导:

LωLbLekLαk=0w=k=1Nαkφ(xk)=0k=1Nαk=0=0αk=γek,   k=1,...,N=0wTφ(xk)+b+ekyk=0,   k=1,...,N

最后化为解下列线性方程组:
[01v1TvΩ+I/y][bα]=[0y]

有核矩阵如下:
Ωkl=φ(xk)Tφ(xl)=K(xk,xl),   k,l=1,...,N

解上述方程组得到LSSVM回归函数:
y(x)=k=1NαkK(x,xk)+b

阅读全文
版权声明:本文为博主原创文章,未经博主允许不得转载。

本文转载自:http://blog.csdn.net/u011542413/article/details/46682877

这篇关于最小二乘支持向量机(LSSVM)简述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/513538

相关文章

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

poj 1287 Networking(prim or kruscal最小生成树)

题意给你点与点间距离,求最小生成树。 注意点是,两点之间可能有不同的路,输入的时候选择最小的,和之前有道最短路WA的题目类似。 prim代码: #include<stdio.h>const int MaxN = 51;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int P;int prim(){bool vis[MaxN];

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

poj 1734 (floyd求最小环并打印路径)

题意: 求图中的一个最小环,并打印路径。 解析: ans 保存最小环长度。 一直wa,最后终于找到原因,inf开太大爆掉了。。。 虽然0x3f3f3f3f用memset好用,但是还是有局限性。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#incl

hdu 1102 uva 10397(最小生成树prim)

hdu 1102: 题意: 给一个邻接矩阵,给一些村庄间已经修的路,问最小生成树。 解析: 把已经修的路的权值改为0,套个prim()。 注意prim 最外层循坏为n-1。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstri

poj 2175 最小费用最大流TLE

题意: 一条街上有n个大楼,坐标为xi,yi,bi个人在里面工作。 然后防空洞的坐标为pj,qj,可以容纳cj个人。 从大楼i中的人到防空洞j去避难所需的时间为 abs(xi - pi) + (yi - qi) + 1。 现在设计了一个避难计划,指定从大楼i到防空洞j避难的人数 eij。 判断如果按照原计划进行,所有人避难所用的时间总和是不是最小的。 若是,输出“OPETIMAL",若

poj 2135 有流量限制的最小费用最大流

题意: 农场里有n块地,其中约翰的家在1号地,二n号地有个很大的仓库。 农场有M条道路(双向),道路i连接着ai号地和bi号地,长度为ci。 约翰希望按照从家里出发,经过若干块地后到达仓库,然后再返回家中的顺序带朋友参观。 如果要求往返不能经过同一条路两次,求参观路线总长度的最小值。 解析: 如果只考虑去或者回的情况,问题只不过是无向图中两点之间的最短路问题。 但是现在要去要回

poj 3422 有流量限制的最小费用流 反用求最大 + 拆点

题意: 给一个n*n(50 * 50) 的数字迷宫,从左上点开始走,走到右下点。 每次只能往右移一格,或者往下移一格。 每个格子,第一次到达时可以获得格子对应的数字作为奖励,再次到达则没有奖励。 问走k次这个迷宫,最大能获得多少奖励。 解析: 拆点,拿样例来说明: 3 2 1 2 3 0 2 1 1 4 2 3*3的数字迷宫,走两次最大能获得多少奖励。 将每个点拆成两个