支持向量机

支持向量机

​ 首先,支持向量机不是一种机器,而是一种机器学习算法。

1、SVM - Support Vector Machine ,俗称支持向量机,是一种 supervised learning (监督学习)算法,属于 classification (分类)的范畴。

2、在数据挖掘的应用中,与 unsupervised learning (无监督学习)的 Clustering(聚类)相对应和区别。

3、广泛应用于 Machine Learning (机器学习),Computer Vision (计算机视觉,装逼一点说,就是 cv)和 Data Mining (数据挖掘)当中。

“ Machine (机)” 是什么?

Classification Machine,是分类器,这个没什么好说的。也可以理解为算法,机器学习领域里面常常用 “机” 也就是 machine 这个字表示算法。

“支持向量” 又是什么?

通俗理解: support vector (支持向量)的意思就是 数据集中的某些点,位置比较特殊。比如 x+y-2=0 这条直线,直线上面区域 x+y-2>0 的全是 A 类,下面的 x+y-2<0 的全是 B 类,我们找这条直线的时候,一般就看聚集在一起的两类数据,他们各自的 最边缘 位置的点,也就是最靠近划分直线的那几个点,而其他点对这条直线的最终位置的确定起不了作用,所以我姑且叫这些点叫 “支持点”(意思就是有用的点),但是在数学上,没这种说法,数学里的点,又可以叫向量,比如 二维点 (x,y) 就是二维向量,三维度的就是三维向量 (x,y,z)。所以 “支持点” 改叫 “支持向量” (距离决策边界最近的几个点)

不通俗的理解: 在 maximum margin (最大间隔)上的这些点就叫 “支持向量”,我想补充的是为啥这些点就叫 “支持向量” ,因为最后的 classification machine (分类器)的表达式里只含有这些 “支持向量” 的信息,而与其他数据点无关:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lTstGUXv-1582608266393)(E:\Typora图片\支持向量机\supportVector公式.jpg)]

在这个表达式中,只有支持向量的系数 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-puMZ2YmS-1582608266394)(https://img.cntofu.com/book/AiLearning/img/ml/6.SVM/alpha.png)] 不等于 0 。

如果还是不怎么理解,不要紧,看下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hUTB2kbk-1582608266395)(E:\Typora图片\支持向量机\supportVector.png)]

“支持向量” 就是图中用紫色框框圈出来的点…

Concept (相关概念)

我们先看一张图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5DyaQ9j3-1582608266397)(E:\Typora图片\支持向量机\svm_2.png)]

linearly separable (线性可分): 如上图中的两组数据,它们之间已经分的足够开了,因此很容易就可以在图中画出一条直线将两组数据点分开。在这种情况下,这组数据就被称为线性可分数据

separating hyperplane(分隔超平面): 上述将数据集分隔开来的直线称为分隔超平面

hyperplane(超平面): 在上面给出的例子中,由于数据点都在二维平面上,所以此时分隔超平面就只是一条直线。但是,如果所给的数据集是三维的,那么此时用来分隔数据的就是一个平面。显而易见,更高纬度的情况可以依此类推。如果数据是 1024 维的,那么就需要一个 1023 维的某某对象(不是你们的男(女)票)来对数据进行分隔。这个 1023 维的某某对象到底应该叫什么呢? N-1 维呢?该对象被称为超平面,也就是分类的决策边界。分布在超平面一侧的所有数据都属于某个类别,而分布在另一侧的所有数据则属于另一个类别。

margin(间隔): 我们希望能通过上述的方式来构建分类器,即如果数据点离决策边界越远,那么其最后的预测结果也就越可信。既然这样,我们希望找到离分隔超平面最近的点,确保它们离分隔面的距离尽可能远。这里所说的点到分隔面的距离就是 间隔。我们希望间隔尽可能地大,这是因为如果我们犯错或者在有限数据上训练分类器的话,我们希望分类器尽可能健壮。

支持向量(support vector) : 就是上面所说的离分隔超平面最近的那些点。

分类器 : 分类器就是给定一个样本的数据,判定这个样本属于哪个类别的算法。例如在股票涨跌预测中,我们认为前一天的交易量和收盘价对于第二天的涨跌是有影响的,那么分类器就是通过样本的交易量和收盘价预测第二天的涨跌情况的算法。

特征 : 在分类问题中,输入到分类器中的数据叫做特征。以上面的股票涨跌预测问题为例,特征就是前一天的交易量和收盘价。

线性分类器 : 线性分类器是分类器中的一种,就是判定分类结果的根据是通过特征的线性组合得到的,不能通过特征的非线性运算结果作为判定根据。还以上面的股票涨跌预测问题为例,判断的依据只能是前一天的交易量和收盘价的线性组合,不能将交易量和收盘价进行开方,平方等运算。

支持向量机的优缺点

优点:

  1. 可用于线性/非线性分类,也可以用于回归,泛化错误率低,也就是说具有良好的学习能力,且学到的结果具有很好的推广性。

  2. 可以解决小样本情况下的机器学习问题,可以解决高维问题,可以避免神经网络结构选择和局部极小点问题。

  3. SVM是最好的现成的分类器,现成是指不加修改可直接使用。是很优秀的分类算法。

  4. SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”。

缺点:

  1. 用SVM解决多分类问题存在困难
    经典的支持向量机算法只给出了二类分类的算法,
    而在数据挖掘的实际应用中,一般要解决多类的分类问题。
    可以通过多个二类支持向量机的组合来解决。
  2. 算法过于复杂

https://www.cntofu.com/book/168/docs/ml/6.1.%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA%E7%9A%84%E5%87%A0%E4%B8%AA%E9%80%9A%E4%BF%97%E7%90%86%E8%A7%A3.md

而使二维函数上升为三维函数的方法就是SVM的核函数所做的事情。

核函数

线性核函数,多项式核函数,高斯核函数,Sigmoid核函数

支持向量机的目的

支持向量机的目的就是找出最佳分离超平面,完成分类模型。

为什么采用区间最大化?

函数**所做的事情。

核函数

线性核函数,多项式核函数,高斯核函数,Sigmoid核函数

支持向量机的目的

支持向量机的目的就是找出最佳分离超平面,完成分类模型。

为什么采用区间最大化?

采用区间最大化,就能找出最佳分离超平面,带来的好处就是,让分类结果更加准确,更加鲁棒,算法模型适用性也会更强!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值