机器学习小白笔记系列——支持向量机
本系列是针对于DataWhale学习小组的笔记,从一个对统计学和机器学习理论基础薄弱的初学者角度出发,在小组学习资料的基础上,由浅入深地对知识进行总结和整理,今后有了新的理解可能还会不断完善。由于水平实在有限,不免产生谬误,欢迎读者多多批评指正。如需要转载请与博主联系,谢谢
支持向量机核心概念(未完待续)
什么是支持向量机?
支持向量机(Support Vector Machine, SVM)是一种监督学习的分类算法,其通过寻找特征空间上的最大间隔超平面对样本进行分类。其最基础的模型是线性可分支持向量机,其通常用于严格线性可分的训练数据,利用硬间隔最大化来实现;进一步而言,对于近似线性可分的训练数据,可通过软间隔最大化来学习一个线性的分类器,称为线性支持向量机;而对于线性不可分的数据,通过利用核技巧和软间隔最大化,可构造非线性支持向量机来实现分类。实际操作中,输入数据所在的输入空间可以通过线性或非线性的映射转移到一个特征空间中,输入的数据对应一个特征向量,而支持向量机的学习过程就在特征空间中完成。
线性可分支持向量机
假设给定一个数据集,其中每个样本点为\((x_i,y_i)\),\(x_i\)为第i个特征向量,\(y_i\)是\(x_i\)的标签,数值上等于+1或-1(二分类问题),且假设所给数据集是线性可分的。此时线性可分支持向量机的分类决策函数可写作:
\[f\left ( x\right )=sign\left ( \omega ^{*}\cdot x + b^{*}\right )
\]
通过使间隔最大化而得到的线性分割超平面为:
\[\omega ^{*}\cdot x + b^{*}=0
\]
而我们评价该超平面的划分是否可靠的判断分为两部分,即确信度(通过样本点到超平面的距离远近判断)和正确性(通过样本类标记值y的正负是否与超平面法向量指向的正负相一致)。这里可以定义一个确定的超平面到某个样本点\((x_i,y_i)\)的函数间隔为:
\[\hat{\gamma }_{i}=y_{i}\left ( \omega \cdot x_{i}+b\right )
\]
参考资料:
- https://github.com/datawhalechina/team-learning/tree/master/机器学习算法基础 DataWhale小组学习资料
- 《机器学习》 周志华著
- 《统计学习方法》 李航著