机器学习中的算法——支持向量机(SVM)

发布时间 2023-12-14 21:16:13作者: cyznb

1.SVM的核心要素

支持向量机是一种二分类模型,他基本模型是定义在特征空间上的间隔最大的线性分类器。
通俗的说很类似于上次讲的那个回归的分类,其实从平面上看也是找一条直线来分割,分割的两边就是分类的结果,只不过这次的分类是找到一条线使得它能够对两旁的点距离最远。

  • 也就是说,离直线最近的点要尽可能远离这条直线,而这些点就是支持向量。

2.SVM中如何找这个线

图解:

图上有三条线,均可以分割两旁的点即分成两类,但是倾斜程度不一样,(这里说的距离都是点到直线的垂直距离)很明显看到红色的线距离两旁离直线最近的点(A,B点)距离都最近,就是说要找的这条线离A最近的同时,B也要最近,比如说绿色这条他虽然和B的距离比红色那条离B近但是它离A太远,黑色那条反之,所以说综合来看红线最好,这就完成了SVM的分类。

3.非线性支持向量机

刚刚说的是用一条直线分割,但是实际情况很多点都是无规律的散部着,所以直线可能不能去分割,比如说

比如这样子如果非要在二维平面上给他分割就只能用高次曲线,所以叫非线性支持向量机。

4.核函数构建非线性支持向量机

核函数(向量内积相同,高斯核函数,Sigmoid核函数,线性核函数,多项式核函数这四种最常见)
我们可以把这些点投影到空间的不同面上,然后用一个平面进行分割(在三维空间中,平面是线性的(相对于曲面))。

5.最后,总结

  • SVM的核心:(二维)找一条线,使得它能够最好的分割开两类点(且这条线离两旁点距离最大),我自认为也可说距离之差的绝对值最大;
  • SVM的非线性:实际情况下,很少由一条直线就可以分开的情况,通常的点都是非线性的,用高次曲线进行分割;
  • 投影到更高维进行用平面分割;
  • 核函数(向量内积相同)(内积就是a·b(点乘)):高斯核函数,Sigmoid核函数,线性核函数,多项式核函数这四种在SVM中最常见;
  • 如果是三维需要更高维就需要超平面。