支持向量机概述
支持向量机 Support Vector MachineSVM ) 是一类按监督学习 ( supervisedlearning)方式对数据进行二元分类的广义线性分类器 (generalized linear classifier) ,其决策边界是对学习样本求解的最大边距超亚面 (maximum-margin hyperplane)与逻辑回归和神经网终相比,支持向量机,在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式
硬间隔、软间隔和非线性 SVM
假如数据是完全的线性可分的,那么学习到的模型可以称为硬间隔支持向量机。换个说法,硬间隔指的就是完全分类准确,不能存在分类错误的情况。软间隔,就是允许一定量的样本分类错误。
算法思想
找到集合边缘上的若工数据 (称为支持向量 (Support Vector) )用这些点找出一个平面(称为决策面),使得支持向量到该平面的距离最大
超平面方程:
w ⋅ x + b = 0 \mathbf{w} \cdot \mathbf{x} + b = 0 w⋅x+b=0
间隔(Margin):
Margin = 2 ∥ w ∥ \text{Margin} = \frac{2}{\|\mathbf{w}\|} Margin=∥w∥2
决策函数:
( w ⋅ x + b ) / ∣ ∣ w ∣ ∣ > = d , y = 1 (\mathbf{w} \cdot \mathbf{x} + b ) /||w|| >=d ,y=1 (w⋅x+b)/∣∣w∣∣>=d,y=1
( w ⋅ x + b ) / ∣ ∣ w ∣ ∣ > = d , y = − 1 (\mathbf{w} \cdot \mathbf{x} + b ) /||w|| >=d ,y=-1 (w⋅x+b)/∣∣w∣∣>=d,y=−1
如图所示,根据支持向量的定义我们知道,支持向量到超平面的距离为 d,其他点到超平面的距离大于 d
至此可以得到最大间隔超平面的上下两个超平面:
d = ∣ w ⋅ x + b ∣ / ∣ ∣ w ∣ ∣ d=|\mathbf{w} \cdot \mathbf{x} + b | /||w|| d=∣w⋅x+b∣/∣∣w∣∣