有了感知机的基础,开始入手支持向量机(support vector machines),它还是一种线性分类器,但是它要求此线性分类器,在特征空间上间隔最大。并且这个支持向量机的学习策略,可以形式化为一个求解 凸二次规划(convex quatradic programming) 的问题
二次规划指目标函数最高次数为2的优化问题,典型的二次规划格式如下
m i n x 1 2 x T H x + f T x \underset{x}{min} \quad \frac{1}{2}x^THx+f^Tx xmin21xTHx+fTx
还受到一些其它的约束条件,此处不列出,比如 f ( x ) = 1 2 x 1 2 + x 2 2 − x 1 x 2 − 2 x 1 − 6 x 2 f(x) = \frac{1}{2} x_1^2 + x_2^2 - x_1x_2 - 2x_1 - 6x_2 f(x)=21x12+x22−x1x2−2x1−6x2就是一个符合二次规划定义的目标函数。1 凸二次规划我暂时没搞懂。
拉回来, 支持向量机有这么几种模型,逐渐变的复杂
English | Chinese | Meaning |
---|---|---|
linear support vector machine in linearly sparable case | 线性可分支持向量机 | 训练数据线性可分时 |
linear support vector machine | 线性 支持向量机 | 训练数据近似线性可分时 |
non-linear support vector machine | 非线性 支持向量机 | 训练数据线性不可分时,使用核技巧 |
从输入空间 → \rightarrow →特征空间,支持向量机的所有学习都是在特征空间进行的。
要求得最大间隔分离超平面,等价于求下面的约束最优化问题
m a x w , b γ \underset{w,b}{max} \quad \gamma w,bmaxγ
s . t . y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) ≥ γ , i = 1 , 2 , . . . , N s.t. \quad y_i(\frac{w}{||w||}·x_i + \frac{b}{||w||}) \geq \gamma, \quad i = 1,2,...,N s.t.yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)≥γ,i=1,2,...,N
即,每个训练样本点的几何间隔都至少是 γ \gamma γ,还可以把这个公式转换成函数间隔的形式
m a x w , b γ ^ ∣ ∣ w ∣ ∣ \underset{w,b}{max} \quad \frac{\hat\gamma}{||w||} w,bmax∣∣w∣∣γ^
s . t . y i ( w ⋅ x i + b ) ≥ γ ^ , i = 1 , 2 , . . . , N s.t. \quad y_i(w·x_i + b) \geq \hat\gamma, \quad i = 1,2,...,N s.t.yi(w⋅xi+b)≥γ^,i=1,2,...,N
上面的两个公式里,看上去有三个变量,分别是 γ ^ , w , b \hat \gamma , w, b γ^,w,b,但我们明明要求的是 w , b w,b w,b
我们不妨做这么一个操作,取函数间隔倍的 w , b w,b w,b。
w → γ ^ w w \rightarrow \hat \gamma w w→γ^w
b → γ ^ b b \rightarrow \hat \gamma b b→γ^b
于是就会有
m a x w , b γ ^ ∣ ∣ w ∣ ∣ ⋅ γ ^ \underset{w,b}{max} \quad \frac{\hat\gamma}{||w|| · \hat \gamma} w,bmax∣∣w∣∣⋅γ^γ^
s . t . γ ^ y i ( w ⋅ x i + b ) ≥ γ ^ , i = 1 , 2 , . . . , N s.t. \quad \hat \gamma y_i(w·x_i + b) \geq \hat\gamma, \quad i = 1,2,...,N s.t.γ^yi(w⋅xi+b)≥γ^,i=1,2,...,N
别犯糊涂, ≥ \geq ≥的右边,不是 γ ^ 2 \hat \gamma^2 γ^2,自己就是自己,不需要自己的自己来表示自己。
m a x w , b 1 ∣ ∣ w ∣ ∣ \underset{w,b}{max} \quad \frac{1}{||w||} w,bmax∣∣w∣∣1
s . t . y i ( w ⋅ x i + b ) ≥ 1 , i = 1 , 2 , . . . , N s.t. \quad y_i(w·x_i + b) \geq 1, \quad i = 1,2,...,N s.t.yi(w⋅xi+b)≥1,i=1,2,...,N
又有
m a x w , b 1 ∣ ∣ w ∣ ∣ ⟺ m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 \underset{w,b}{max} \quad \frac{1}{||w||} \iff \underset{w,b}{min} \quad \frac{1}{2}||w||^2 w,bmax∣∣w∣∣1⟺w,bmin21∣∣w∣∣2
一顿输出猛如虎,然后就是凸二次规划了
m a x w , b 1 ∣ ∣ w ∣ ∣ ⟺ m i n w , b 1 2 ∣ ∣ w ∣ ∣ 2 \underset{w,b}{max} \quad \frac{1}{||w||} \iff \underset{w,b}{min} \quad \frac{1}{2}||w||^2 w,bmax∣∣w∣∣1⟺w,bmin21∣∣w∣∣2
s . t . y i ( w ⋅ x i + b ) ≥ 1 , i = 1 , 2 , . . . , N s.t. \quad y_i(w·x_i + b) \geq 1, \quad i = 1,2,...,N s.t.yi(w⋅xi+b)≥1,i=1,2,...,N
黑人叹号,求解可以用梯度下降,需要用对偶形式,什么是对偶形式呢?
MATLAB宝典——陈杰等 ↩︎