机器学习-SVM
资料来源:
https://www.bilibili.com/video/BV1pE411v7yF?p=16
https://zh.wikipedia.org/zh-cn/支持向量机
更新
导语
机器学习课一堆的 svm 作业,上课根本听不懂啊…无奈…
强烈推荐去看一下,mit 人工智能公开课-16 支持向量机,非常好的讲明白了 svm 原理.
本文尝试把 svm 的证明说明白
前提
考研高数的条件极值求法-拉格朗日乘数(子)法
SVM
svm 全名 support vector machine ,中文名 支持向量机.
简略概况 svm
线性可分
w垂直于超平面,u是样本集任意向量
w⋅u≥c 是 u在 w方向的投影.
w⋅u≥c 假设 c=−b 则有 w⋅u−b≥0
我们人为规定
- 所有正例有 w⋅x+−b≥1 正例 y=1.
- 对于所有反例有 w⋅x−−b≤−1,反例 y=−1.
公式 1 2 左乘 yi.
- 正例反例结果相同 yi(w⋅x+−b)≥1
- 再化简有 yi(w⋅x+−b)−1≥0 (约束条件)
- 对于样本集距离超平面最近的向量(支持向量)有 yi(w⋅x+−b)−1=0
宽度: (x+−x−)⋅∣w∣w -> MAX
∣w∣w 单位法向量
正例 yi=1 -> 公式 -> w⋅x+−b=1 -> w⋅x+=1−b
反例 yi=−1 -> 公式 -> −w⋅x−−b=1 -> −w⋅x−=1+b
带回公式 ->
(x+−x−)⋅∣w∣w=∣w∣(x+−x−)⋅w=∣w∣1−b+1−b=∣w∣2
求公式 max -> ∣w∣2 max -> ∣w∣ min
为了方便可以将 ∣w∣ min -> 21∣w∣2 min (极值)
约束条件有了,求极值 -> 拉格朗日乘数法.
反例
w⋅x+b=yi(yi=±1)
核函数
实例
公式