Spark-机器学习-SVM支持向量机06

支持向量机算法

支持向量机(SVM)是一种用来分类的算法,当然,在这基础上进行改进,也可以进行回归分析(SVR).
SVM是最优秀的分类算法之一,即便是在如今深度学习盛行的时代,仍然具有很广泛的应用
SVM被设计成一种二分类的算法,当然,也有人提出了使用SVM进行多分类的方法,但是SVM依然主要被用在二分类中

设想如何进行一个简单的分类呢?
可能大家认为最简单的一种分类方法大概就是划分“阈值”了

例如判断一个人是否是秃头∶头顶区域头发数量小于100根则是秃头

而SVM也是遵循这个道理,只不过它的“阈值”寻找过程更复杂,也更科学

SVM的基本思想

SVM的主要思想是寻找能够将数据进行分类的平面或超平面,在平面上的则是A类,在平面下的则是B类

因此, SVM是一种二分类算法因此,这个“阈值”更贴切地说应该称为‘边界”,而这个“边界”恰恰就是通过向量来表示的,故而这个“边界”我们就称为支持向量

SVM处理非线性问题
在很多情况下,数据集并不是线性可分的,譬如∶

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uPTON1Hv-1655194658682)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220614155253089.png)]

SVM的核函数

SVM虽然只能进行线性分类,但是,可以通过引入核函数,将非线性的数据,转化为另一个空间中的线性可分数据,这叫做支持向量机的核技巧,可

你可能感兴趣的:(机器学习,spark,支持向量机)