Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

支持向量机算法

1,123 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

支持向量机算法

  1. 1. 统计决策方法 支持向量机 简介
  2. 2. 支持向量机是数据挖掘中的一项新技术,是借助于最优化方法解决机器学习的问题的新工具,它由 Vap n ik 等根据提出的一种新的机器学习方法,它以结构风险最小为原则,它本质上是求解凸二次规划问题,在解决小样本、非线性和高维模式识别问题中有较大优势。
  3. 3. 基本原理给定样本 {(x1 , y1 ), (x 2 , y2 ),L , (x n , yn )}, xi  yi问题转化为寻找映射 f(x,w) :x i  f (x i , w) R( w) = E ( L(Y , f ( X , w))) = ∫ L( y, f ( x, w))dF ( x, y )其中 L( y, f ( x, w)) 损失函数。 它是评价预测准确度的一种度量,不同的学习问题有不同形式的损失函数。例  0 y = f ( x, ω )(1) L( y, f ( x, ω )) =  (2) L( y, f ( x, ω )) = ( y − f ( x, ω )) 2 1 y ≠ f ( x, ω )(3) L( p( x, ω )) = − log p( x, ω )
  4. 4. 基本原理 定义经验风险 Remp(w): 1 n Remp ( w) = ∑ L( yi , f ( xi , w)) ⇒ min n i =1 理论上证明: lim P{sup | R( w) − Remp ( w) |> ε } = 0, ∀ε > 0如果采用损失函数 (1 ) ,则 m in (Remp(w)) 表示错判率达最小如果采用损失函数 (2) ,则 m in (Remp(w)) 即是最小二乘法;;如果采用损失函数 (3) ,则 m in (Remp(w)) 即是极大似然法;
  5. 5. 经验风险最小化存在的问题:( 1 ) Remp(w)≠R(w) ,推广能力或泛化能力受影响;( 2 )所需样本容量大;( 3 )某些情况下,当经验风险过小时,推广能力反而下降;经验风险和期望风险的最小点不一致。… 需要一种在有限的样本条件下建立有效的学习和推广方法的理论,统计学习理论的发展和完善对解决上面的问题,提供了坚实的理论基础与有效的学习方法。
  6. 6. 统计学习理论 统计学习理论主要包括 VC 理论、泛化性的界、结构风险最小化等。1. VC 维的直观定义:对于一个指示函数集,如果存在 k 个样本能被函数集中的函数按所有可能的 2k 种形式分开,则称函数集能把 k 个样本打散; VC 维反映了函数集的一种学习能力。 VC 维越大则学习机越复杂。
  7. 7. 统计学习理论 ** * * * * * * * * * * VC 维: 23=8 * * * 平面上任何一条直线都不能正确划分
  8. 8. 统计学习理论2. 推广性的界 统计学习理论研究了对于各种类型的函数集,经验风险和实际风险之间的关系,即推广性的界。对于两分类的问题,推广性的界是指对指示函数集中的所有函数 f ,经验风险和实际风险之间至少以 1-p 的概率满足如下关系: h(ln(2n / h) + 1) − ln(4 / p) R ( f ) ≤ Remp ( f ) + ( ) n其中 h 是函数集的 VC 维, n 是样本数。 实际风险由两部分组成:一部分是经验风险,另一部分称作置信范围,它和学习机的 VC 维和样本数有关。
  9. 9. 统计学习理论3. 结构风险最小化原则 基本思想:要使实际风险最小,就需要使得不等式中两项相互平衡,共同趋于极小。统计学习理论中提出了一种新的策略,即把函数集合构造为一个函数子集序列: f1 ⊂ f 2 ⊂ L ⊂ f k ⊂ L各个子集按照 VC 维的大小排序: h1 < h 2 < L < hk < L 而 Remp ( f1 ) > Remp ( f 2 ) > L > Remp ( f k ) > L
  10. 10. 统计学习理论4. 支持向量机的基本思想 通过最大化分类边界及最小化 VC 维,在保证经验风险最小的基础上最小化置信范围,从而达到最小化结构风险的目的。 2 1 分类间隔 || w || min || w ||2 w ,b 2 s.t. yi (( w ⋅ xi ) + b) ≥ 1 , i = 1,L l , yi ∈ {−1, 1}H :ω x + b = 0 ( 1 )线性可分情形
  11. 11. 1 支持向量机 min || w ||2 w ,b 2 s.t. yi (( w ⋅ xi ) + b) ≥ 1 , i = 1,L l ,引入 Lagrange 函数: yi ∈ {−1, 1} l 1 L(ω , b, α ) = Pω P −∑ α i ( yi ((ω ⋅ xi ) + b) − 1) 2 2 i =1 ∂L(ω , b, α ) ∂L(ω , b, α ) KKT 由条件 ⇒ = 0, =0 ∂b ∂w l l ∑ yαi =1 i i = 0, ω = ∑ α i yi xi i =1对偶问题: min 1 l l l ∑∑ yi y jα iα j ( xi ⋅ x j ) − ∑ α i α 2 i =1 j =1 i =1 l s.t. ∑ yα i =1 i i = 0, (1. 1) α i ≥ 0, i = 1,L , l.注意:求解过程涉及到了样本的内积运算。
  12. 12. 支持向量机算法步骤:( 1 )设训练集 T = {( x1 , y1 ), ( x2 , y2 ),L ( xl , yl )} ∈ ( X , Y ) l 其中 xi ∈ X ∈ R P , yi ∈ Y = {−1,1}, i = 1,L , l ;( 2 )求解最优化问题 (1.1) ,得最优解: α * = (α1* , α 2 ,K , α l* )T *( 3 )计算 w* = l y α * x ∑ i i i i =1 l 并选择 α b = y j − ∑ yiα i* ( xi ⋅ x j ) * * 的正分量,计 i =1 算( 4 )构造线性最优分类超平面,得出决策函数:  l ∗  f ( x) = sgn  ∑ ai yi ( x ⋅ xi ) + b∗   i =1 
  13. 13. 支持向量机 情形 1 :当训练样本线性不可分时,允许有不满足约束条件i ) + b) ≥ 1 yi (( w ⋅ x 的样本点存在。通过引入松弛变量,“软化”约束条件 yi (( w ⋅ xi ) + b) ≥ 1 − ξi , i = 1,L l , ξ i ≥ 0 , i = 1,L l ,
  14. 14. 支持向量机得到如下优化问题: l 1 min || w || +C ∑ ξi 2 w ,b 2 i =1 s.t. yi (( w ⋅ xi ) + b) ≥ 1 − ξi , i = 1,L l , ξ i ≥ 0 , i = 1,L l , C>0 其中为惩罚参数。转化为对偶问题: 1 l l l min α ∑∑ yi y jαiα j ( xi ⋅ x j ) − ∑ αi 2 i =1 j =1 i =1 l s.t. ∑ yα i =1 i i = 0, 1.2 () 0 ≤ α i ≤ C , i = 1,L , l.
  15. 15. 支持向量机 情形 2 :当训练集线性不可分时,可以通过非线性映射将原始空间的样本映射到高维特征空间中,即寻找非线性变换: p → φ ( x) ∈ R m , (m > p) φ : x∈ R 1 l l l min α ∑∑ yi y jα iα j (φ ( xi ) ⋅ φ ( x j )) − ∑ α i 2 i =1 j =1 i =1 l s.t. ∑ yα i =1 i i = 0, (1.3) α i ≥ 0, i = 1,L , l. 由于内积运算是在相对的高维空间中进行,容易引起维数灾难。为此引入核函数 K(.) ,满足 K ( xi , x j ) = (φ ( xi ) ⋅ φ ( x j ))
  16. 16. 支持向量机即 1 l l l min α ∑∑ yi y jα iα j K ( xi , x j ) − ∑ α i 2 i =1 j =1 i =1 l s.t. ∑ yα i =1 i i = 0, (1.4) α i ≥ 0, i = 1,L , l.注意:还可以引入松弛变量到优化问题中。
  17. 17. 支持向量机常见的核函数: K ( x, x′) = (( x ⋅ x′) + c) d c≥0( 1 )多项式核 Px − x′ P( 2 )高斯径向基核 K ( x, x′) = exp(− ) σ2( 3 ) Sigmoid 核 K ( x, x′) = tanh(λ ( x ⋅ x′) + a ) λ > 0, a < 0 1 − q2( 4 ) Fourier 核函数K1 ( x, x ) = 2(1 − 2q cos( x − x ) + q 2 )…… π − x − x cosh( ) π r K 2 ( x, x ) = 2r π sin( ) r
  18. 18. 支持向量机核函数的性质:2. 封闭性 K1 + K 2 , α K1 , K1 ⋅ K 2 , K = lim K n是核函数。 n →∞ K ( x, z ) =< ϕ ( x), ϕ ( z ) >=< ϕ ( z ), ϕ ( x) >= K ( z , x )3. 对称性4. 复合性 若是核函数,是任意函数, f : X → R K:X×X →R 则和也是核函数。 ( x, z ) f ( z ) f ( x) f ( z ) f ( x) K针对问题,如何选择核函数?
  19. 19. 支持向量机算法的改进问题: 1. 对于核函数及其参数的选择没有形成一个统一 的模式,只能凭经验、实验对比、大范围的搜索或交 叉验证等方法进行寻优。 2. 当样本数很大时,一般的二次规划求解方法不 再适用,需要用到 “ 分块 ” 或 “ 分解 ” 的近似算法,但 所耗内存空间大,迭代次数多,训练时间长等。
  20. 20. 支持向量机算法的改进1 ) v- S VM 特点:克服了 S VM 中 C 参数难以确定问题。同时 还可以减少两类样本不平衡问题。适用于样本不均衡 问题。2 ) L S - S VM 特点:通过映射将原空间的不等式约束转化为特征 空间中的等式约束,转化后的对偶问题为求解一组线 性方程组。优点:计算代价小,泛化性能好,不易陷 入局部极小。
  21. 21. 支持向量机算法的改进3 ) G S VM 当数据线性不可分时, S VM 要求满足 Me rc e r 条件 ,即正定核条件。 G S VM 突破了这一限制。4 ) S mo o th S VM 特点:通过一定的变形技巧,使其转化为光滑的无 约束问题,再利用经典的最优化方法求解。
  22. 22. 支持向量机算法的改进5 ) P o s s ib ilis tic S VM 结合输入数据的几何分布,每个数据有一个可能性 隶属值,反映对本类的隶属度,有效克服 S VM 中对 每个数据平等对待的缺点。当样本点个数小于维数时 ,能有效解决过拟合问题。6 ) S e mi S up e rvis e d S VM 适用于训练集规模比工作集大得多的情况。加进约 束条件:两类中的误分误差情形,有效地增强了它的 泛化能力。……
  23. 23. 构造映射的 svm基本思想:对原样本进行特征提取,引入距离映射或条件概率映射 φ ,将高维空间的样本 x φ转化为二维空间的样本( x) = ( z1 , z2 ) ∈ R , T 2 K (φ引入核函数:x) ⋅ φ ( x )) ( x), φ ( x )) = (φ (1 . 距离映射 ˆˆ ˆ − d12 ( x) = ( x − µ1 )T ∑1 1 ( x − µ1 ) 2 ˆˆ ˆ − d 2 ( x) = ( x − µ2 )T ∑1 1 ( x − µ2 ) —— 马氏距离 定义映射 φ : x → (d1 ( x), d 2 ( x)) 2 2 T 由此定义核函数: K ( x, x′) = (φ ( x) ⋅ φ ( x′)) = d12 ( x) d12 ( x ) + d 2 ( x)d 2 ( x′), x, x ∈ R p 2 2
  24. 24. 构造映射的 svm2. 条件概率映射 φ : x → ( P(G1 ) P ( x | G1 ), P(G2 ) P ( x | G2 ))T K ( x, x′) = (φ ( x) ⋅ φ ( x′)) = P(G1 ) 2 P( x | G1 ) P ( x | G1 ) + P(G2 ) 2 P ( x | G2 ) P ( x | G2 ) 在二维空间中求解原始最优化问题: 1 min || w || 2 w ,b 2 s.t. y i (( w ⋅ xi′ ) + b) ≥ 1 , i = 1, l, 决策变量只有三个: w1,w2, b ′ ′ f ( x) = sgn((φ ( x) ⋅ w∗ ) + b∗ ) = sgn(α w1∗ x1 + w2 x2 + b∗ ) ∗ 其中为修正参数,一般取 α ∈ [0, 2] α
  25. 25. 构造映射的 svm3025 正类2015 负类10 5 0 0 5 10 15 20 25 30
  26. 26. 构造映射的 svm
  27. 27. 构造映射的 svm
  28. 28. 构造映射的 svm
  29. 29. 构造映射的 svm
  30. 30. 构造映射的 svm
  31. 31. 支持向量机多分类问题1 . 一对多分类方法 基本思路: 对 k 个类别的分类问题,构造 k 个两分类的支持向量 分类机。 在构建第 j 个分类器中时,将训练集中属于第 j 类的样本标为 +1 , 属于其它类的样本标为 -1 。这样第 i 个分类器的最优化问题: 1 l i 2 min i Pω P +C ∑ ξ j ω i bi ξ i 2 j =1  y j ((ω i ⋅ x j ) + bi ) ≥ 1 − ξ ij  s.t  i i = 1, 2,..., k ξ j ≥ 0 j = 1,L , l  f1 ( x) = ω1 ⋅ x + b1求出 k 个决策函数 M ⇒ x ∈ class = arg max fi ( x) f k ( x) = ω k ⋅ x + b k i
  32. 32. Ck2 支持向量机多分类问题 2. 一对一分类方法 基本思路: 分解为多个二分类问题的算法。总共需要构建 k(k-1)/2 Ck2 个子 SVM 分类器。得到 决策函数 f1,2 ( x) = ω 1,2 ⋅ x + b1,2 M k fi , j ( x) + 1 f i , j ( x ) = ω i , j ⋅ x + bi , j M (i < j ) ⇒ Di ( x) = ∑ j =1, j ≠ i 2 (i = 1,L , k ) f k −1,k ( x) = ω k −1,k ⋅ x + b k −1,k x ∈ class = arg max Di ( x) i
  33. 33. 支持向量机多分类问题1 . 二叉树分类方法对有 k 个类别的多分类问题,需要构造 k-1 个二分类 SVM 分类器, Svm1 Svm2 Svm3 Class1 Class2 Class3 Class4

×