Andrew Ng机器学习课程笔记(六)之监督学习之Support Vector Machine(1)

Preface

本文对于SVM(Support Vector Machine,支持向量机)的做了一些准备工作,并在接下来的几篇文章正式初步学习SVM。
主要内容:
Notation(符号约定)
Functional Margins And Geometric Margins(函数间隔和几何间隔 )
Optimal Margin Classifier(最有间隔分类器)
Primal Problem(原始问题)
Dual Optimization Problem(对偶优化问题)

Notation

在SVM学习中我们将改变之前的学习习惯:

  1. 分类标识由 y { 0 , 1 } y { 1 , 1 } ,来作为分类的标识来区分不同类别。例如 y = 1 标识类别一, y = 1 标识类别二。
  2. 假设函数由 h θ ( x ) = g ( θ T x ) , x R n + 1 h w , b ( x ) = g ( w T x + b ) , x R n
    其中, h w , b ( x ) = g ( w T x + b ) , x R n 中的w与b分别对应于 h θ ( x ) = g ( θ T x ) 中的对应关系为:
    ω = [ θ 1 , θ 2 . . . θ n ] T
    b = θ 0

Functional Margins

定义:一个超平面 ( w , b ) 和某个特定的训练样本 ( x i , y i ) 相关的函数间隔为:

(1) γ ^ ( i ) = y ( i ) ( w T x ( i ) + b )

超平面 ( w , b ) 表示的是由参数 w , b 确定的分界。

如果需要 γ ^ ( i ) 获得一个较大的值,那么:
y ( i ) = 1 时,需要 w T x ( i ) + b 远大于0;
y ( i ) = 1 时,需要 w T x ( i ) + b 远小于0;

以及当 γ ^ ( i ) = y ( i ) ( w T x ( i ) + b ) > 0 时,我们认为分类结果是正确的。

定义:一个超平面 ( w , b ) 和整个的训练集中的所有训练样本 ( x i , y i ) 相关的函数间隔为:

(2) γ ^ ( i ) = min i = 1 , 2 , . . . , m γ ^ ( i )

Geometric Margins

这里写图片描述
通过上图我们可以知道,一个样本 ( x ( i ) , y ( i ) ) A点到超平面 w T x + b = 0 的几何间隔为 γ ( i ) ,且 w w 为超平面 w T x + b = 0 指向A点方向的单位向量,A点 ( x ( i ) , y ( i ) ) 在超平面 w T x + b = 0 上的投影B点为:

(3) x ( i ) γ ( i ) w w

同时,由于B在超平面上,所以:

(4) w T ( x ( i ) γ ( i ) w w ) + b = 0

  • 注: w T w = w 2

所以,我们可以得出几何间隔为 γ ( i )

(5) γ ( i ) = w T x ( i ) + b w = ( w w ) T x ( i ) + b w

由于我们总是考虑对训练样本的争取分类,所以将几何间隔为 γ ( i ) 一般化为:

(6) γ ( i ) = y ( i ) ( w T x ( i ) + b w = ( w w ) T x ( i ) + b w )

如果 w = 1 γ ^ ( i ) = γ ( i ) 。更一般的有, γ ( i ) = γ ^ ( i ) w

定义:一个超平面 ( w , b ) 和整个的训练集中的所有训练样本 ( x i , y i ) 相关的几何间隔为:

(7) γ ( i ) = min i = 1 , 2 , . . . , m γ ( i )

Optimal Margin Classifier

最优间隔是指调整参数 w , b 使得几何间隔 γ ( i ) 最大。

Step1:条件假设

w = 1 | w 1 | = 1 w + | w | 2 = ? 只需要选一个条件。
对于上述条件的解释:
调整参数 w , b 对于超平面 w T x + b = 0 无影响,例如将 w , b 扩大两倍 2 w , 2 b 得到 2 w T x + 2 b = 0 2 ( w T x + b ) = 0 ,即超平面位置不发生变化。所以我们可以通过缩放 w , b 来满足上述条件。
| w 1 | 表示 w 的第一个位置的数字为1。

Step2:公式推演

首先看看函数间隔,你给参数前乘一个大于零的数,函数间隔就会变大,这个不好。再来看看几何间隔,由于要将参数单位化,所以就不受参数的非因素影响,就是说当几何间隔最大的时候,真的就是训练样本距离超平面最大。这样用几何间隔就可以非常健壮的描述样本与超平面之间的距离。

形式一:
(8) max γ , w , b γ s . t . y ( i ) ( w T x ( i ) + b ) γ i = 1 , . . . , m w = 1
形式二:
(9) max γ , w , b γ ^ w s . t . y ( i ) ( w T x ( i ) + b ) γ ^ i = 1 , . . . , m
形式三:
(10) min γ , w , b w 2 s . t . y ( i ) ( w T x ( i ) + b ) γ ^ i = 1 , . . . , m γ ^ = 1 s . t . min y ( i ) ( w T x ( i ) + b ) = 1 o r max γ , w , b 1 w s . t . y ( i ) ( w T x ( i ) + b ) γ ^ i = 1 , . . . , m γ ^ = 1 s . t . min y ( i ) ( w T x ( i ) + b ) = 1

Lagrange Duality

我们会使用拉格朗日乘数法来解决关于约束优化问题:
我们的目标函数是:
这里写图片描述
接下来我们构造拉格朗日算子:
这里写图片描述
然后分别对参数进行求导,并令其为零:
这里写图片描述
然后解上述等式构成的方程组,求得 w i , β i 。最后将 w i , β i 带回到目标函数。

Primal Problem

在这里我们构造出原始优化问题的目标函数:
这里写图片描述
现在我们开始使用拉格朗日乘数法来解决原始优化问题:
我们定义一个增广拉格朗日函数,在这里 α i β i 为拉格朗日乘数:
这里写图片描述
定义一个 θ p ( w ) 函数,这里的下标p表示primal:
这里写图片描述
所以:
这里写图片描述
所以 min θ p ( w ) 就是我们的目标问题——原始优化问题:
这里写图片描述

Dual Optimization Problem

我们定义函数 θ D ( α , β ) ,其中D表示duo(对偶):
这里写图片描述
现在我们定义对偶优化问题:
这里写图片描述

定义: p 是原始优化问题 min θ p ( w ) 的最优值。

定义: d 是原始优化问题 max θ D ( α , β ) 的最优值。

有这样一个在通常条件下成立的事实: d p ,即对偶优化问题的最优值小于等于原始优化问题的最优值。更一般的有,对于某个函数 f ( x ) 而言,总是存在 max min f ( x ) min max f ( x )
For example: max y { 0 , 1 } ( min x { 0 , 1 } 1 { x = y } ) min x { 0 , 1 } ( max y { 0 , 1 } 1 { x = y } )

关于对偶理论可以参考 运筹学(第四版) 清华大学出版社 第64页
对偶问题的一些性质:
1. 目标函数值相同时,各自的解为最优解
2. 若原问题有最优解,那么对偶问题也有最优解,且目标函数值相同
3. 还有互补松弛性,无界性,对称性等等

当原问题和对偶问题都取得最优解得时候,那么他们分别的目标函数也就到达了最优值。根据对偶问题的性质2,可以得到 p = d 那么我们就可以求解对偶问题来得到原问题 θ p ( w ) 的最优值。

为了使得 p = d 我们需要满足一些条件,接下来我们开始推演 p = d
假设一: f 是一个凸函数( f 的Hessian矩阵是半正定矩阵)。
假设二: h i 是仿射函数( h i ( w ) = θ T w + b ,仿射的意思是这个函数任何时候都是线性的)。
假设三: g i 是严格可执行的( w , 使 i , g i ( w ) < 0

通过这三个假设,我们得到KKT(Karush-Kuhn-Tucker conditions)条件( w , α , β w α , β 是对偶最优问题的解, p = d ),我们得到KKT:
这里写图片描述
其中, α i g i ( w ) = 0 成为KKT互补条件,对于 α i > 0 ,必有 g i ( w ) = 0

参考资料

https://blog.csdn.net/xiaocainiaodeboke/article/details/50443680

猜你喜欢

转载自blog.csdn.net/danerer/article/details/79903604