python学智能算法(二十四)|SVM-最优化几何距离的理解

引言

前序学习过程中,已经对几何距离的概念有了认知,学习链接为:几何距离
这里先来回忆几何距离δ的定义:
δ = min ⁡ i = 1... m y i ( w ∥ w ∥ ⋅ x i + b ∥ w ∥ ) \delta =\min_{i=1...m}y_{i}(\frac{w}{\left \| w \right \|}\cdot x_{i}+\frac{b}{\left \| w \right \|}) δ=i=1...mminyi(wwxi+wb)
对上述公式的理解实际上有三步:
第一步,超平面相对周围有很多点,通过上式计算后会获得不同的几何距离,取出这些距离中的最小值;
第二步,遍历所有可能的超平面,重复步骤一;
第三步:在前两步的基础上,取几何距离最大值对应的超平面为最优超平面。

几何距离的理解

实际上在更早的时候,我们定义了函数距离F:
F = min ⁡ i = 1... m y i ( w ⋅ x i + b ) F=\min_{i=1...m}y_{i}(w\cdot x_{i}+b) F=i=1...mminyi(wxi+b)显然,函数距离F和几何距离δ中间只是相差了||w||:
δ = F ∥ w ∥ \delta=\frac{F}{\left\| w\right\|} δ=wF在函数距离定义δ的过程中,我们已经知晓,对权重矩阵w和偏置量b的同比率调整不会影响δ的计算值。
据此有一种非常简单粗暴的新思路:通过同比率调整w和b,使得F=1,此时最佳超平面对应的最佳也是最大几何距离δmax满足:
δ m a x = max ⁡ i = 1... m 1 ∥ w ∥ \delta_{max}=\max_{i=1...m}\frac{1}{\left\|w\right\|} δmax=i=1...mmaxw1
所以最佳超平面的选择可以转化为对最小||w||的追寻过程。
此时另有一种解题思路,设定距离函数f,满足:
f = min ⁡ 1 2 ∥ w ∥ 2 f=\min\frac{1}{2}{\left\|w\right\|}^{2} f=min21w2

你可能感兴趣的:(python学智能算法(二十四)|SVM-最优化几何距离的理解)