10.1支持向量机

50
支支支支支 支支 10 支支支支支支 支支 2014 支 11 支 9 支

description

北京10月机器学习班 邹博 2014年11月9日

Transcript of 10.1支持向量机

Page 1: 10.1支持向量机

支持向量机

北京 10 月机器学习班 邹博 2014 年 11 月 9 日

Page 2: 10.1支持向量机

2/50

谱聚类历史遗留问题 最小化 f’Lf ,为什么等价于最小特征值和特征向量? 其不满足 f⊥1 的条件,为什么? 特征向量 v 里的元素是连续的任意实数,能否具体点? 求拉普拉斯矩阵的前 K 个特征值,再对前 K 个特征

值对应的特征向量进行 K-means  聚类,对特征向量进行 K 聚类的目的是什么?

最小的系列特征向量对应着图最优的系列划分方法,怎么理解向量划分图?

什么是 NP 问题?

Page 3: 10.1支持向量机

3/50

解答 其不满足 f⊥1 的条件,为什么?

Page 4: 10.1支持向量机

4/50

切割代价与 f’Lf 的关系

Page 5: 10.1支持向量机

5/50

解答

Page 6: 10.1支持向量机

6/50

解答 特征向量 v 里的元素是连续的任意实数,能否具体点? 求拉普拉斯矩阵的前 K 个特征值,再对前 K 个特征值对应的

特征向量进行 K-means  聚类,对特征向量进行 K 聚类的目的是什么?

L 是实对称正定阵,那么, L 的特征向量 u ,是实向量。即:u 的每个元素都是实数。 这其实不是我们想要的。如果计算 L 的次小特征向量 v ,得

到的 v 中的元素都只能取 -1 , +1 ,那么,直接就可以用 -1 , +1 将原始样本聚类成两簇了。(可惜现实中不是这样子)

所以,必须将特征向量 v 根据是否大于 0 (或其他定值)分成两部分,进而把原始样本聚类成两簇。

实践中,往往不是只选择次小的特征向量,而是选择前 K 个特征向量进行 K 均值聚类。

Page 7: 10.1支持向量机

7/50

解答 最小的系列特征向量对应着图最优的系列划

分方法,怎么理解向量划分图? 一般翻译成“连通分量”。

什么是 NP 问题? 有些问题,目前人们从未找到过多项式级的时间

复杂度,我们把这种问题,叫做 NP 问题。

Page 8: 10.1支持向量机

8/50

复习:对偶问题 一般优化问题的 Lagrange 乘子法

Lagrange 函数

对固定的 x , Lagrange 函数 L(x,λ,v) 为关于 λ和 v 的仿射函数

Page 9: 10.1支持向量机

9/50

复习: Lagrange 对偶函数 (dual function)

Lagrange 对偶函数

若没有下确界,定义:

根据定义,显然有:对∀ λ>0 ,∀ v ,若原优化问题有最优值 p* ,则

进一步: Lagrange 对偶函数为凹函数。

Page 10: 10.1支持向量机

10/50

另一种表述 原始问题

引入拉格朗日乘子: 原始问题: 有如下结论:

,,max0:,xLx

ip

ljxh

kixctsxf

i

iRx n

,2,1,0

,2,1,0..min

l

jjj

k

iii xhxcxfxL

11

,,

原始问题的可行域原始问题的可行域

x

xxfxp

Page 11: 10.1支持向量机

11/50

主要内容和目标 理解支持向量机 SVM 的原理和目标 掌握支持向量机的计算过程和算法步骤 对线性不可分的数据,理解软间隔最大化的

含义 了解核函数的思想 了解 SMO 算法的过程

Page 12: 10.1支持向量机

12/50

线性分类问题

Page 13: 10.1支持向量机

13/50

输入数据 假设给定一个特征空间上的训练数据集

T={(x1,y1), (x2,y2)…(xN,yN)} ,其中, xi R∈ n , yi {+1,-1}∈ , i=1,2,…N 。 xi为第 i 个特征向量,也称为实例, yi 为 xi 的类标记;当 yi=+1 时,称 xi 为正例;当 yi=-1 时,称 xi 为负例。 (xi,yi) 称为样本点。

Page 14: 10.1支持向量机

14/50

各种概念 线性可分支持向量机

硬间隔最大化 hard margin maximization 硬间隔支持向量机

线性支持向量机 软间隔最大化 soft margin maximization 软间隔支持向量机

非线性支持向量机 核函数 kernel function

Page 15: 10.1支持向量机

15/50

线性可分支持向量机 给定线性可分训练数据集,通过间隔最大化

或等价的求解相应的凸二次规划问题学习得到的分离超平面为

wx + b = 0 ,相应的分类决策函数

f(x)=sign(wx + b )

该决策函数称为线性可分支持向量机。

Page 16: 10.1支持向量机

16/50

二维平面上线性分类问题

Page 17: 10.1支持向量机

17/50

线性可分支持向量机

Page 18: 10.1支持向量机

18/50

函数间隔和几何间隔 给定的训练数据集 T 和超平面 (w,b) ,定义

超平面 (w,b) 关于样本点 (xi,yi) 的函数间隔为:

平面法向单位化的函数间隔,即几何间隔

Page 19: 10.1支持向量机

19/50

最大间隔分离超平面

Page 20: 10.1支持向量机

20/50

最大间隔分离超平面

Niw

bx

w

wyts ii

bw

,2,1,..

max,

Page 21: 10.1支持向量机

21/50

最大间隔分离超平面

Nibxwyts

w

ii

bw

,2,1,ˆ..

ˆmax

,

Page 22: 10.1支持向量机

22/50

最大间隔分离超平面

Nibxwyts

w

ii

bw

,2,1,1..

1max

,

Nibxwyts

w

ii

bw

,2,1,1..2

1min

2

,

Page 23: 10.1支持向量机

23/50

拉格朗日乘子法

原问题是极小极大问题

原始问题的对偶问题,是极大极小问题

,,minmax

,bwL

bw

,,maxmin,

bwLbw

Page 24: 10.1支持向量机

24/50

拉格朗日乘子法 将拉格朗日函数 L(w,b,α) 分别对 w , b 求偏

导并令其为 0 :

Page 25: 10.1支持向量机

25/50

拉格朗日乘子法 将上式带入拉格朗日函数 L(w,b,α) 中,得到:

Page 26: 10.1支持向量机

26/50

继续求 minw,bL(w,b,α) 对 α 的极大

Page 27: 10.1支持向量机

27/50

整理目标函数:添加负号

Ni

yyts

xxyy

i

N

iii

N

ii

N

i

N

jjijiji

,,2,1,0

..

2

1min

1

11 1

Page 28: 10.1支持向量机

28/50

线性可分支持向量机学习算法 构造并求解约束最优化问题

求得最优解 α*

Ni

yts

xxyy

i

N

iii

N

ii

N

i

N

jjijiji

,,2,1,0

0..

2

1min

1

11 1

Page 29: 10.1支持向量机

29/50

线性可分支持向量机学习算法 计算

求得分离超平面

分类决策函数

N

ijiiii

N

iiii

xxyyb

xyw

1

*

1

*

*

*

0** bxw

** bxwsignxf

Page 30: 10.1支持向量机

30/50

举例 给定 3 个数据点:正例点 x1=(3,3)T , x2=

=(4,3)T ,负例点 x3=(1,1) T ,求线性可分支持向量机。

Page 31: 10.1支持向量机

31/50

目标

3,2,1,0

0..

141242225182

1

2

1min

321

32132312123

22

21

11 1

i

ts

xxyy

i

N

ii

N

i

N

jjijiji

Page 32: 10.1支持向量机

32/50

将约束带入目标函数,化简计算 将 带入目标函数,得到关于 α1α2 的函数:

对 α1α2 求偏导并令其为 0 ,易知 s(α1,α2) 在点(1.5,-1) 处取极值。而改点不满足条件 α2≥0 ,所以,最小值在边界上达到。

当 α1=0 时,最小值 s(0,2/13)=-2/13 当 α2=0 时,最小值 s(1/4,0)=-1/4 于是, s(α1,α2) 在 α1=1/4 , α2=0 时达到最小,此

时, α3= α1+α2=1/4

321

212122

2121 2210

2

134, s

Page 33: 10.1支持向量机

33/50

分离超平面 α1=α3=1/4 对应的点 x1,x3 是支持向量。 带入公式:

得到 w1=w2=0.5 , b=-2 因此,分离超平面为 分离决策函数为

N

ijiiii

N

iiii

xxyyb

xyw

1

*

1

*

*

*

022

1

2

121 xx

2

2

1

2

121 xxsignxf

Page 34: 10.1支持向量机

34/50

线性支持向量机 若数据线性不可分,则增加松弛因子 ξi≥0 ,使函数间隔加上松弛变量大于等于 1 。这样,约束条件变成

目标函数:

iii bxwy 1

N

ii

bwCw

1

2

, 2

1min

iii bxwy 1

N

ii

bwCw

1

2

, 2

1min

Page 35: 10.1支持向量机

35/50

线性 SVM 的目标函数

Ni

Nibxwyts

Cw

i

iii

N

ii

bw

,2,1,0

,2,1,1..

2

1min

1

2

,,

Page 36: 10.1支持向量机

36/50

拉格朗日函数 拉格朗日函数

对 w,b, ξ 求偏导

N

iii

N

iiiii

N

ii bxwyCwbwL

111

21

2

1,,,,

0 iiC

Page 37: 10.1支持向量机

37/50

带入目标函数 将三式带入 L 中,得到

对上式求关于 α 的极大,得到:

Ci 0

N

ii

N

i

N

jjijiji

bwxxyybwL

11 1,, 2

1,,,,min

Ni

C

yts

xxyy

i

i

ii

N

iii

N

ii

N

i

N

jjijiji

,2,10

0

0

0..

2

1max

1

11 1

Page 38: 10.1支持向量机

38/50

最终的目标函数 整理,得到对偶问题:

NiC

yts

xxyy

i

N

iii

N

ii

N

i

N

jjijiji

,2,1,0

0..

2

1min

1

11 1

Page 39: 10.1支持向量机

39/50

线性支持向量机学习算法 构造并求解约束最优化问题

求得最优解 α*

NiC

yts

xxyy

i

N

iii

N

ii

N

i

N

jjijiji

,,2,1,0

0..

2

1min

1

11 1

Page 40: 10.1支持向量机

40/50

线性支持向量机学习算法 计算

注意:计算 b* 时,需要满足 0<αj<C

求得分离超平面 分类决策函数

N

ijiiii

N

iiii

xxyyb

xyw

1

*

1

*

*

*

0** bxw

** bxwsignxf

Page 41: 10.1支持向量机

41/50

核函数 可以使用核函数,将输入空间映射到特征空间,从

而,使得原本线性不可分的样本可以在特征空间可分。

在实际应用中,往往依赖先验领域知识才能选择有效的核函数

多项式核函数 高斯核函数

字符串核函数 如:两个字符串的最长公共子序列 LCS(X,Y)

Page 42: 10.1支持向量机

42/50

核函数影射

Page 43: 10.1支持向量机

43/50

SMO

序列最小最优化 Sequential Minimal Optimization

有多个拉格朗日乘子 每次只选择其中两个乘子做优化,其他因子认为是常数。 关于这两个变量的解应该更接近原始二次规划

问题的解。

Page 44: 10.1支持向量机

44/50

SMO

考察目标函数,假设 α1 和 α2 是变量,其他是定值:

C

yyyts

i

N

iii

0

..3

2211

N

iiii

N

iiii KyyKyy

yyKK

W

3222

3111

2121212222

2111

21,

2

1

2

1

,min21

NiC

yts

xxKyy

i

N

iii

N

ii

N

i

N

jjijiji

,2,1,0

0..

2

1min

1

11 1

Page 45: 10.1支持向量机

45/50

二变量优化问题

Page 46: 10.1支持向量机

46/50

SMO 的迭代公式 迭代公式:

N

iiii bxxKyxg

1

,

2,1,,1

iybxxKyyxgE i

N

jijjjiii

Page 47: 10.1支持向量机

47/50

SMO 算法 1. 取初值 α(0)=0 ,令 k=0 2. 选择优化变量 α1

(k) , α2(k) ,解析求解两个

变量的优化问题,求得最优解α1

(k+1) , α2(k+1) ,更新 α 为 α(k+1)

3. 若在精度 ε范围内满足退出条件 ( 下一页 ) ,则转 4 ;否则, k++ ,转 2

4. 取 α=α(k+1)

Page 48: 10.1支持向量机

48/50

退出条件

N

jijjji

ii

ii

ii

ii

i

N

iii

bxxKyxg

Cx

Cx

x

xgy

NiC

y

1

1

,

,1

0,1

0,1

,2,1,0

0

Page 49: 10.1支持向量机

49/50

参考文献 统计学习方法,李航著,清华大学出版社, 2012 年 http://blog.csdn.net/v_july_v/article/details/7624837 http://www.cnblogs.com/zjgtan/archive/2013/09/03/329

8213.html( 对偶问题 )

Support Vector Machines, Charlie Frogner, 2011 Sequential Minimal Optimization: A Fast Algorithm for

Training Support Vector Machines, John C. Platt. 1998 Support Vector Machines, Andrew W. Moore, 2001

Page 50: 10.1支持向量机

50/50

感谢大家!

恳请大家批评指正!