通俗讲解支持向量机SVM(二)另辟蹊径!对偶性的几何解释

点赞再看,养成习惯,您动动手指对原创作者意义非凡
备战2021秋招面试 微信搜索【CodePan】关注更多新鲜好文和互联网大厂的笔经面经。
作者@试问道

当你的才华还撑不起你的野心时,你应该静下心去学习 。

前言

关于支持向量机(Support Vector Machine, SVM)的强对偶关系证明,我在网上浏览过各种版本,绝大部分是比较繁琐的公式推导,这显然不利于读者理解。我们可以尝试切换思路,用几何描述的方法比较直观清晰的推出结论,相信看完这篇文章你一定能豁然开朗!

正文

为了直观解释强对偶关系,我们把原问题限定在二维平面上(多维同理),所以我们假设原问题(prime problem)为:
Minimize  f ( x ) \text{Minimize}\ f(x) Minimize f(x)
Subject to:   m 1 ( x ) ≤ 0 (1) \text{Subject to:}\, m_1(x) \leq 0 \tag 1 Subject to:m1(x)0(1)
这里为了能限定在二维平面上,并且更简单直观,我们以只取一个约束条件为例。我们定义这个优化问题的定义域 D = domain f ∩ domain m 1 D = \text{domain}f \cap \text{domain}m_1 D=domainfdomainm1,这样为解此问题,我们依然选择构造拉格朗日函数,得到:
L ( x ) = f ( x ) + λ m 1 ( x ) ,     λ ≥ 0 (2) L(x) = f(x) + \lambda m_1(x), \,\,\,\lambda \geq 0 \tag 2 L(x)=f(x)+λm1(x),λ0(2)
我们设原问题的最优解 p ∗ = min ⁡ f ( x ) p^* = \min f(x) p=minf(x), 实际上也可表示成 p ∗ = min ⁡ x max ⁡ λ L ( x ) p^* = \min_{x} \max_{\lambda} L(x) p=minxmaxλL(x),两者是等价的。那么,对偶问题的最优解相应即为 d ∗ = max ⁡ λ min ⁡ x L ( x ) d^* = \max_{\lambda} \min_{x} L(x) d=maxλminxL(x)

接下来很关键的一步,我们要构建一个二维坐标平面,这里用集合U表示,我们这样定义U, U = { ( m 1 ( x ) , f ( x ) ) ∣ x ∈ D } U = \left\{(m_1(x),f(x)) | x \in D \right\} U={(m1(x),f(x))xD}, 为简化公式,我们定义 t = m 1 ( x ) ,   z = f ( x ) t = m_1(x) ,\, z = f(x) t=m1(x),z=f(x), 所以U可表示为 U = { ( t , z ) ∣ x ∈ D } (3) U = \left\{(t,z) | x \in D \right\} \tag 3 U={(t,z)xD}(3),这样我们就得到了我们想要的坐标系,Great!
通俗讲解支持向量机SVM(二)另辟蹊径!对偶性的几何解释_第1张图片
为了不失普适性,我们用一个非凸函数(一个爱心)代表集合U在坐标系内的分布,有了这个坐标系,原问题最优解 p ∗ = min ⁡ f ( x ) = min ⁡ z p^* = \min f(x) = \min z p=minf(x)=minz就可以表示为 p ∗ = inf ⁡ { z ∣ ( t , z ) ∈ U , t ≤ 0 } p^*=\inf \left\{z | (t,z) \in U, t \leq 0 \right\} p=inf{z(t,z)U,t0}

此处说明,inf表示下确界,可以理解为几何意义上的取”最低点“, t ≤ 0 t \leq 0 t0则是题给的约束条件。所以可以这样理解,原问题的最优解即为下图示阴影区域在z轴的投影所得线段的最低点p。通俗讲解支持向量机SVM(二)另辟蹊径!对偶性的几何解释_第2张图片
看完了原问题的最优解,我们再看看其对偶问题(dual problem)的解 d ∗ = max ⁡ λ min ⁡ x L ( x ) d^* = \max_{\lambda} \min_{x} L(x) d=maxλminxL(x),该式可以相应简化为 d ∗ = max ⁡ λ min ⁡ x ( t + λ z ) (4) d^* = \max_{\lambda} \min_{x}(t+\lambda z) \tag 4 d=λmaxxmin(t+λz)(4),那么应该怎么在同一坐标系内表示出这个最优解d*呢?我们可以先看上式的后一部分 min ⁡ x ( t + λ z ) \min_{x}(t+\lambda z) minx(t+λz),我们用 g ( λ ) g(\lambda) g(λ)表示它,即, g ( λ ) = min ⁡ x ( t + λ z ) g(\lambda)=\min_{x}(t+\lambda z) g(λ)=minx(t+λz),我们尝试用我们构建的二维坐标系描述它,那么 g ( λ ) = inf ⁡ { t + λ z ∣ ( t , z ) ∈ U } g(\lambda) = \inf \left\{t+\lambda z | (t,z) \in U\right\} g(λ)=inf{t+λz(t,z)U}
通俗讲解支持向量机SVM(二)另辟蹊径!对偶性的几何解释_第3张图片
根据上图, t + λ z t+\lambda z t+λz实际就是在z轴的截距,假定初始状态 t + λ z = 0 t+\lambda z=0 t+λz=0这条直线如蓝线1所示,那么要找到与爱心U“相擦”,并且截距最小的直线,即为上图中蓝线2,它与z轴的交点即为 g ( λ ) g(\lambda) g(λ)。知道了 g ( λ ) g(\lambda) g(λ) d ∗ d^* d也很好求了, d ∗ = max ⁡ λ g ( λ ) d^* = \max_{\lambda} g(\lambda) d=λmaxg(λ),什么含义呢?就是反复调整蓝线2的斜率 λ \lambda λ,使其与z轴截距最大(但注意要保证和U相擦),所以最优情况如下图红线所示(我寻思这图画着画着咋有点不对劲嘞…),与U相擦,同时与Z轴交于d点,此即为d* !!!
通俗讲解支持向量机SVM(二)另辟蹊径!对偶性的几何解释_第4张图片
由图可以明显看出,d的值无论怎么取都不会超过p的,所以由此推的第一重关系-----弱对偶关系 d ∗ ≤ p ∗ d^* \leq p^* dp

好,那么如何才能使d,p两点重合在一点呢?很容易推得集合U(图中爱心)需要是凸函数,同时还需要满足slater条件,它的定义是:
通俗讲解支持向量机SVM(二)另辟蹊径!对偶性的几何解释_第5张图片

source:https://blog.csdn.net/u010510549/article/details/100938214

slater条件实际上是原问题P可以等价于对偶问题Q的一个充分条件。

你的鼓励是我创作的动力,如果你有收获,点个赞吧

我接下来还会陆续更新机器学习相关的学习笔记,补充这个系列。如果看到这里的话,说明你有认真看这篇文章,希望你能有所收获!最后,欢迎交流指正!

还有不明白的欢迎阅读其他文章:
通俗讲解支持向量机SVM(一)面试官:什么?线性模型你不会不清楚吧?
通俗讲解支持向量机SVM(二)另辟蹊径!对偶性的几何解释
通俗讲解支持向量机SVM(三)SVM处理非线性问题及软间隔之引出
通俗讲解支持向量机SVM(四)用尽洪荒之力把核函数与核技巧讲得明明白白(精华篇)

你可能感兴趣的:(通俗讲解支持向量机SVM系列)