SVM 机器学习算法
一、SVM和KNN对比分析
KNN算法为“临近分类”,K值内的算一类
SVM为二分类模型,通过画一条超平面进行分类
![](https://img-blog.csdnimg.cn/img_convert/92a3949db7a15972812023bac8276e2f.png)
![](https://img-blog.csdnimg.cn/img_convert/86f377f93787ea44120c9653963c13b1.png)
二、SVM原理分析
具体数学原理可参考支持向量机(SVM)——原理篇 - 知乎 (zhihu.com)
以下用简单易懂的语言分析一下
![](https://img-blog.csdnimg.cn/img_convert/ffa0f5e35bd4c0d51bb0b0acca942eed.png)
我们通过再不同的特征点之间画一条线来区分样本,理论上有无数条可以画,但只有一条是效果最好的,我们把这些线叫做超平面
如图来看,当margin(间隔)最大的时候,犯错率更小
![](https://img-blog.csdnimg.cn/img_convert/db3cf503ec512112ff3583459bbe72c7.png)
我们可以定义一个线性方程
w
T
X
+
b
=
0
w^TX + b = 0
wTX+b=0
![](https://img-blog.csdnimg.cn/img_convert/9b38422a1a5d948631a80b0476736591.png)
当确定了w
和b
就确定了唯一的一个超平面
方法
1、距离计算
先将每个超向量与假设超平面的距离进行计算,最后得到margin
最大的超平面
2、软间隔:
对于噪音引入松弛因子
,把异常数据提出不做考虑
三、使用百度飞桨调用sklearn库应用SVM
SVM鸢尾花分类-完整版 - 飞桨AI Studio (baidu.com)
结果
![](https://img-blog.csdnimg.cn/img_convert/5b93b2bc5b1bbf6a0e64c0d02b3a1622.png)