zoukankan      html  css  js  c++  java
  • 支持向量机

    上图中2为划分超平面:

                          WTx+b=0

    假设超平面能将训练样本真确分类,yi=1时WTx+b>0 yi=-1 时WTx+b<0,令1和3表达式为 WTx1+b=-1 和 WTx2+b=1

    故两支持向量之间的距离为

                                    WT(x1-x2)=2

    两边取范数:

                                   ||W||||x1-x2||cosθ=2

    而||x1-x2||cosθ就是两支持向量之间的距离d,所以

                                   ||W||d=2

                                   即d=2/||W||

    欲找到最大硬间隔的距离,只需找到满足表达式的W和b,使b最大

                                   maxw,b 2/||w||

                                   约束为 yi(WTxi+b)>=1

    也等价于:

                                   minW,b 1/2||W||2-----1

                                   约束为 yi(WTxi+b)>=1

    对1式使用拉格朗日乘子可得到其对应的对偶问题,其中拉格朗日乘子αi>=0,所以1式的拉格朗日函数可以写成:

                                 L(W,b,α)=1/2||W||2+∑m=1 to Mαi(1-yi(WTxi+b))

    对上式中的W和b求偏导数:

                                ∂L(W,b,α)/ ∂W=0

                                 ∂L(W,b,α)/ ∂b=0

    得到:

                               W-∑m=1 to Mαiyixi=0

                                ∑m=1 to Mαiyi=0

    将其带入拉格朗日函数得到问题的对偶问题:

                              maxα  ∑m=1 to Mαi- ∑i=1 to M ∑j=1 to MαiyiαiyiαjyjxiTxi

                              约束为 ∑m=1 to Mαiyi=0

                                         αi>=0

    如何求得αi SMO算法是求此类问题的算法,流程如下:

    1 初始化所有αi

    2 选取其中两个αi和αj,并固定其他参数

    3 重复第一和第二步,根据对偶函数和约束条件迭代得到αi和αj更新后的值,直到收敛    

    上面所讨论样本在特征空间中是线性可分的,即存在一个超平面将不同类的样本完全分开,但是实际应用中的样本显然不是这样的,故现在引入软间隔的概念,软间隔允许某些样本不满足约束条件:

                          yi(WTx+b)>=1

    故引入松弛变量ζi>=0,每一个样本对应一个松弛变量,反映样本对约束条件的不满足程度,其中C是惩罚项,C越大,表示对样本的重视程度高,是一个很重要的参数

    将1式重写:

                             minW,b 1/2||W||2+C∑i=1 to Mζi

                            约束为 yi(WTxi+b)>=1-ζi

                                     ζi>=0

    使用拉格朗日乘子得到原问题的对偶问题,原问题的拉格朗日函数是:

                        L(W,b,α,ζ,μ)=1/2||W||2+∑m=1 to Mαi(1-ζi-yi(WTxi+b))+C∑i=1 to Mζi-∑i=1 to Mζiμi

     L(W,b,α,ζ,μ)对W,b,ζ求偏导数:

                              W-∑m=1 to Mαiyixi=0

                               ∑m=1 to Mαiyi=0

                               C=αii

    将上面三式带入拉格朗日函数得到:

                              maxα  ∑m=1 to Mαi- ∑i=1 to M ∑j=1 to MαiyiαiyiαjyjxiTxi

                              约束为 ∑m=1 to Mαiyi=0

                                         C>=αi>=0

    同样使用SMO算法可求得αi

    对于线性不可分的问题,引入将样本从低维空间映射到高维空间的映射函数Φ(x),使得映射到高维空间的样本线性可分

    类似地,可以写出:

                            minW,b 1/2||W||2-----1

                           约束为 yi(WTΦ(xi)+b)>=1

    其对偶形式为:

                           maxα  ∑m=1 to Mαi- ∑i=1 to M ∑j=1 to MαiyiαiyiαjyjΦ(xi)TΦ(xi)

                              约束为 ∑m=1 to Mαiyi=0

                                         αi>=0

    Φ(xi)TΦ(xi)是高维空间的内积运算,存在维度灾难问题,所以很难计算,现引入核函数K(xi,xj)=Φ(xi)TΦ(xi)

    将上式重写:

                maxα  ∑m=1 to Mαi- ∑i=1 to M ∑j=1 to MαiyiαiyiαjyjK(xi,xj)

                              约束为 ∑m=1 to Mαiyi=0

                                         αi>=0

    同样的有SMO算法求解αi

    下面说说核函数的选取标准:

                  核矩阵K=[K(x1,x2),K(x1,x2),..(x1,xm);K(x2,x1),K(x2,x2),...(x2,xm);...;K(xm,x1),K(xm,x2),..,K(xm,xm)]是半正定的,即矩阵K的eig(K)>=0

                             

  • 相关阅读:
    12.22冲刺总结
    Android远程服务
    短信电话监听
    Android本地服务
    意图
    多线程下载
    异步HTTP请求
    提交数据到服务器
    通过HTTP访问网络资源
    观察者
  • 原文地址:https://www.cnblogs.com/semen/p/6813125.html
Copyright © 2011-2022 走看看