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 ∈ { 0 , 1 } → y ∈ { − 1 , 1 } ,来作为分类的标识来区分不同类别。例如 y=1 y = − 1 标识类别一, y=1 y = 1 标识类别二。
  2. 假设函数由 hθ(x)=g(θTx),xRn+1hw,b(x)=g(wTx+b),xRn h θ ( x ) = g ( θ T x ) , x ∈ R n + 1 → h w , b ( x ) = g ( w T x + b ) , x ∈ R n
    其中, hw,b(x)=g(wTx+b),xRn h w , b ( x ) = g ( w T x + b ) , x ∈ R n 中的w与b分别对应于 hθ(x)=g(θTx) h θ ( x ) = g ( θ T x ) 中的对应关系为:
    ω=[θ1,θ2...θn]T ω = [ θ 1 , θ 2 . . . θ n ] T
    b=θ0 b = θ 0

Functional Margins

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

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

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

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

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

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

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

Geometric Margins

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

x(i)γ(i)ww(3) (3) x ( i ) − γ ( i ) w ‖ w ‖

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

wT(x(i)γ(i)ww)+b=0(4) (4) w T ( x ( i ) − γ ( i ) w ‖ w ‖ ) + b = 0

  • 注: wTw=w2 w T w = ‖ w ‖ 2

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

γ(i)=wTx(i)+bw=(ww)Tx(i)+bw(5) (5) γ ( i ) = w T x ( i ) + b ‖ w ‖ = ( w ‖ w ‖ ) T x ( i ) + b ‖ w ‖

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

γ(i)=y(i)(wTx(i)+bw=(ww)Tx(i)+bw)(6) (6) γ ( i ) = y ( i ) ( w T x ( i ) + b ‖ w ‖ = ( w ‖ w ‖ ) T x ( i ) + b ‖ w ‖ )

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

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

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

Optimal Margin Classifier

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

Step1:条件假设

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

Step2:公式推演

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

形式一:
(8)maxγ,w,bγs.t.y(i)(wTx(i)+b)γi=1,...,mw=1
形式二:
maxγ,w,bγ^ws.t.y(i)(wTx(i)+b)γ^i=1,...,m(9) (9) max γ , w , b γ ^ ‖ w ‖ s . t . y ( i ) ( w T x ( i ) + b ) ≥ γ ^ , i = 1 , . . . , m
形式三:
minγ,w,bw2s.t.y(i)(wTx(i)+b)γ^i=1,...,mγ^=1s.t.miny(i)(wTx(i)+b)=1ormaxγ,w,b1ws.t.y(i)(wTx(i)+b)γ^i=1,...,mγ^=1s.t.miny(i)(wTx(i)+b)=1(10) (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

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

Primal Problem

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

Dual Optimization Problem

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

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

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

有这样一个在通常条件下成立的事实: dp d ∗ ≤ p ∗ ,即对偶优化问题的最优值小于等于原始优化问题的最优值。更一般的有,对于某个函数 f(x) f ( x ) 而言,总是存在 maxminf(x)minmaxf(x) max min f ( x ) ≤ min max f ( x )
For example: maxy{0,1}(minx{0,1}1{x=y})minx{0,1}(maxy{0,1}1{x=y}) 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 ∗ = d ∗ 那么我们就可以求解对偶问题来得到原问题 θp(w) θ p ( w ) 的最优值。

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

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

参考资料

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值