由LIBSVM的svmtrain输出结果得到分类超平面的法向量w和偏移项b

本文介绍了如何从LIBSVM的svmtrain输出中获取线性支持向量机的分类超平面,包括法向量w和偏移项b的计算方法。通过MATLAB代码示例,解析了训练模型参数,展示了如何利用训练模型的sv_coef和sv_indices计算w,以及如何找到最大间隔边界上的支持向量来计算b。最终通过对比手动计算与svmtrain内置的b值,验证了计算的准确性。
摘要由CSDN通过智能技术生成

题目:由LIBSVM的svmtrain输出结果得到分类超平面的法向量w和偏移项b

原文链接:由LIBSVM的svmtrain输出结果得到分类超平面的法向量w和偏移项b_彬彬有礼的专栏-CSDN博客

        相信很多人都会使用LIBSVM软件包,svmtrain和svmpredict两个函数分别完成训练和预测:svmtrain输出训练模型,然将将训练模型作为svmpredict的输入参数即可得预测结果。训练模型作为一个中间变量似乎从来没有出现过,但对于很多人来说这的确已经足够了;然而,这并不能满足我们在某些应用场景的需要。SVM本质上与Logistic Regression一样,是训练得到一个分类超平面,有时候我们不仅仅是想要一个输出结果,而是要得到这个超平面,即法向量w和偏移项b,这时候就需要对svmtrain的输出模型进行研究了。

        本文主要针对Matlab环境下应用LIBSVM,本文中的代码假设你已经下载并编译了LIBSVM,在文件夹中包含以下三个文件(本人为64软件,所以是.mexw64):

        libsvmread.mexw64

        svmtrain.mexw64

        svmpredict.mexw64

还包含了以下数据集(该数据集在LIBSVM压缩包根目录下,无扩展名):

        heart_scale

注:LIBSVM主页https://www.csie.ntu.edu.tw/~cjlin/libsvm/,请下载MATLAB and OCTAVE版本,目前最新版本是version3.22:

         鉴于要读懂svmtrain的输出还是需要一些SVM的基础知道的,这里以[周志华. 机器学习. 清华大学出版社,2016.](以下统称西瓜书)为基础,原则上本文认为你已经读懂了第6章前四节内容,以下第1部分的有关支持向量机的介绍仅为第2部分介绍程序时叙述方便,详细内容请看原文。西瓜书必将成为机器学习领域的中文经典教材,建议买一本学习或者收藏,如果仅为了配合看本文也可以在网上搜索pdf电子版。以下为正文。

1、支持向量机基础

        本部分重点知道分类超平面法向量w的计算公式(6.9)(或(6.17),二者相同),知道分类超平面偏移项b的计算公式(6.17)(6.18)即可,另外了解α是个什么角色……

        支持向量机本质上是在某种约束条件下寻找一个分类超平面将正反两类样本分开:


支持向量机的模型是一个凸二次规划问题:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子木呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值