支持向量机
- 支持向量:支持平面把两类类别划分开的超平面的向量点
- 机:一种算法
- SVM 是一种二分类模型
- 线性可分支持向量机:通过硬间隔最大化,学习一个线性分类器
- 线性支持向量机:通过软间隔最大化,学习一个线性分类器
- 非线性支持向量机:通过核技巧,学习一个非线性分类器
线性可分支持向量机
几何间隔
函数间隔
见 :Python机器学习笔记:SVM(2)——SVM核函数 - 知乎 (zhihu.com)
拉格朗日乘子法
第一种情况:最小值在可行区域内
g ( x ∗ ) < 0 ∇ x f ( x ∗ ) = 0 g(x^*)<0 \\ \nabla _x f(x^*) =0 g(x∗)<0∇xf(x∗)=0
第二种情况:最小值在可行区域外
g ( x ∗ ) = 0 − ∇ x f ( x ∗ ) = α ∇ x g ( x ∗ ) α > 0 g(x^*)=0 \\ -\nabla _x f(x^*) = \alpha \nabla_x g(x^*) \\ \alpha>0 g(x∗)=0−∇xf(x∗)=α∇xg(x∗)α>0
著名的KKT条件,整合了上面两种情况的条件
∇ x L ( x ∗ , α ∗ ) = 0 α ∗ > 0 α ∗ g ( x ∗ ) = 0 g ( x ∗ ) ≤ 0 \nabla_xL(x^*, \alpha ^*)=0 \\ \alpha ^*>0\\ \alpha^*g(x^*)=0 \\g(x^*) \le 0 ∇xL(x∗,α∗)=0α∗>0α∗g(x∗)=0g(x∗)≤0
SVM目标函数求解
- 目标函数:
min w , b 1 2 ∣ ∣