【机器学习】支持向量机 SVM 原理详解 详细数学推导

前排提示 多公式预警,如果想真正掌握、想对SVM的推导和原理理解透彻,就请耐心的看完推导过程,博主发现很多书籍文献资料上推导过程大多有所省略,这对数学基础不牢靠的同学来说不太友好(比如博主自己 - -#),所以在此给出最细致的推导过程。

由于公式符号繁多,博主也经过了多次修正检查,如有疏漏或不对的地方还请指正(公式编辑真的打的累死惹)~~

支持向量机 SVM(support vector machine)算法原理:

(首先给出一个图,svm最终目的就是要求解图中的超平面g,也叫决策边界。其中样本G,R,S可称为 支持向量)

【机器学习】支持向量机 SVM 原理详解 详细数学推导_第1张图片
        将含两种类别的样本空间通过一个决策边界分开,使得离决策边界最近的样本点能够尽可能远离决策边界 (通俗理解:找到一条线,使得离该线最近的点能够最远),下面直接进入正题开始推导:

    1.点面距离公式 =》svm的中最优解问题:
    ===》几何公式:
        点(x0,y0)到直线 Ax + By + C = 0 的距离   
    ===》样本空间下描述:(含x轴y轴的二维平面,等价于 含两种特征的样本空间)
        在含两种特征f1,f2的样本空间中,

        某个样本点Xi(特征f1 = x1,特征f2 = x2) 与某个特征划分边界D: w1f1 +w2f2 + b = 0 的欧氏距离为:

        【机器学习】支持向量机 SVM 原理详解 详细数学推导_第2张图片
        将特征划分边界 写成向量形式=》【机器学习】支持向量机 SVM 原理详解 详细数学推导_第3张图片
        其中,F=(f1,f2)表示样本空间中各个维度的特征,样本点        【0.3】


    ===》样本空间  推广至N维
        N维特征空间有样本点

        特征划分平面D': w1'f1'+w2'f2'+...+wn'fn' +  b' = 0 即 : 
        【机器学习】支持向量机 SVM 原理详解 详细数学推导_第4张图片        【0.4】
    决策方程的变换:设样本的类别Y:X为正例时 y = +1,负例时 y = -1,

        若决策方程为(令决策边界为WtΦ(x) + b = 0, Φ为对x执行某种变换)则有:
        决策边界的某一侧有正例点xi : y(xi) = WtΦ(xi) + b > 0 ,   正例,xi对应标记  yi = +1 > 0
        则决策边界另一侧的负例点xi': y(xi') = WtΦ(xi')+ b < 0 ,   负例,xi'对应标记 yi'= - 1 < 0

        标记值 * 代入了样本的决策方程  > 0
        于是, 令 yi * y(xi) 必定大于0 (根据这个性质,消去 距离公式中的绝对值符号 | ? |)
        经过化简得到SVM中的 样本·决策边界 "距离"为:(消去绝对值符号,下式的D不是严格意义上的 距离d)
            【机器学习】支持向量机 SVM 原理详解 详细数学推导_第5张图片        【0.5】
    初提目标函数:(在取最小的点线距离的情况下·支持向量,使得代入样本的决策边界的距离取得最大值·最大间隔,时W和b的值)

       
        ===>  【机器学习】支持向量机 SVM 原理详解 详细数学推导_第6张图片        【0.6】
    放缩&简化:通过对决策方程y(x; W,b)的放缩使其总是满足  yi * (WtΦ(xi) + b) >=1         【0.7】
        于是 ,【0.6】简化为:【机器学习】支持向量机 SVM 原理详解 详细数学推导_第7张图片    【0.8】
    max_W,b {1/||W||}  =最值转换=》    =问题转换=》 【机器学习】支持向量机 SVM 原理详解 详细数学推导_第8张图片    【0.9】,约束条件【0.7】不变

    2.先介绍一下【拉格朗日乘数法】:(常用于求解最优化问题,按条件分为三种:无约束 & 等式约束 & 不等式约束
        1.无约束:求目标函数对各个自变量?的导数,求导函数等于0的点可能是极值点,结果回代验证
        2.等式约束:
            求n元函数在 m个条件函数 其中j=1,2,…,m 下的条件极值:
            拉格朗日函数,

            求 L 关于x1,…xn的偏导数,令它们等于零并与m个条件函数联立φ,则
                【机器学习】支持向量机 SVM 原理详解 详细数学推导_第9张图片 ,其中i=1,2,…,n.j=1,2,…,m    【0.10】
                 ,其中j=1,2,…,m        【0.11】
            联立【0.10】& 【0.11】解得 x1,x2,…,xn 为ƒ可能极值点
        3.(含)不等式约束:
            求n元函数ƒ(x1,x2,…,xn)在 p个等式条件函数 hj(x1,x2,…,xn)=0 和q个不等式条件函数 gk(x1,x2,…,xn)<=0 ,其中j=1~p,k=1~q 下的条件极值:
            拉格朗日函数【机器学习】支持向量机 SVM 原理详解 详细数学推导_第10张图片
            KKT条件 -> 最优值必须满足的条件:【机器学习】支持向量机 SVM 原理详解 详细数学推导_第11张图片,联立求得可能的最优解。
            =》注意到 第三个KKT条件 θ*gk(x1,x2,…,xn)=0, gk <= 0. 若 gk != 0时必有 θ=0

 

    3.SVM中的 拉格朗日乘数法推导:
        对于最优化问题:【机器学习】支持向量机 SVM 原理详解 详细数学推导_第12张图片,(不等式)约束函数(参考【0.7】):
        求n+1元函数【机器学习】支持向量机 SVM 原理详解 详细数学推导_第13张图片在 n个不等式条件函数

        其中 i = 1~n下的条件极值:
        拉格朗日函数
        =》         【0.12】
        KKT条件 & 对偶性质:【机器学习】支持向量机 SVM 原理详解 详细数学推导_第14张图片  ==>  【机器学习】支持向量机 SVM 原理详解 详细数学推导_第15张图片
        ·L对W求偏导:【机器学习】支持向量机 SVM 原理详解 详细数学推导_第16张图片        【0.13】
        ·L对b求偏导:  【机器学习】支持向量机 SVM 原理详解 详细数学推导_第17张图片       【0.14】
        【0.12】展开得:     【0.15】
        将【0.13】与【0.14】代回到【0.12】得:    【0.16】

至此完成argmin_W,b{L}求解任务
        继续求 argmax_λ{ L } ,将【0.16】代入得:【0.17】
        =》由第三个KKT条件有:【机器学习】支持向量机 SVM 原理详解 详细数学推导_第18张图片 ,由拉格朗日乘数法条件:λi >=0; 
        【0.17】极大值问题转换成极小值问题:,

         约束条件 【机器学习】支持向量机 SVM 原理详解 详细数学推导_第19张图片   【0.18】 

    4.SVM中的 Soft-margin 软间隔:

【机器学习】支持向量机 SVM 原理详解 详细数学推导_第20张图片首先理解软间隔的目的,它是忽略极少数噪点样本,一求解全局最优的决策边界,如果严格按svm的要求来确定决策边界,有时候数据中的极少数噪点,会对 决策边界对样本的划分效果 (svm的分类效果) 产生较大影响
        因此,可以适当放松确定决策边界的要求,如通过引入 【松弛因子ξi】有:

        【0.19】(基于【0.7】引入ξi)
        令 ,可以写作     【0.20】
        将【0.19】代入拉格朗日函数【0.12】(目标函数):  【机器学习】支持向量机 SVM 原理详解 详细数学推导_第21张图片  
        =》  =》    
        设C为常数,新目标函数:       【0.20】
            C 大  ===》 严格按照要求确定决策边界 
            C 小  ===》 允许忽略少量噪声点的干扰 
        常数C 可根据实际样本情况来指定 =》 C越大,间隔越“硬”;C越小,间隔越“软”

 

    5.拉格朗日乘数法 中引入 松弛因子ξi 的推导:
        对【0.12】拉格朗日函数的推导:


【0.21】
        由【0.13】【0.14】有约束条件:【机器学习】支持向量机 SVM 原理详解 详细数学推导_第22张图片   【0.22】
        ·L对ξi求偏导: əL/əξi = 0    =》    C - λi - μi = 0     【0.23】
        ·拉格朗日乘数法-松弛因子条件:λi >=0, μi >= 0    【0.24】
        综合约束条件【0.22】【0.23】【0.24】可将原最优解问题转化为:
            ,约束条件【机器学习】支持向量机 SVM 原理详解 详细数学推导_第23张图片【0.25】

 

    6.K 核函数: 决策边界为中的Φ(x)(以下写为K)为对x执行某种变换,这种变换的
        目的:将 低维·线性不可分(难分) =转化=》高维·线性可分(易分)
        设,非线性函数Φ实现输入空间X到特征空间F的映射,其中F属于R(m),n<         ·低维n        原决策方程为,其中 i=1~n表示特征量下标
        ·映射到高维m    决策方程为,其中 j=1~m表示样本空间内的m个样本点的下标
            wjK(x,xj) 中的 x和xj 的意义:x是当前待分类的样本点,xj为训练时从样本空间中 手动(指定)选取的m个样本点
        核函数的类型有以下:( j =1~m 为预先选取的m个样本点的 样本下标) 
        1.线性 核函数:(线性可分情况下可使用)    
                (·点乘、<,>内积、对应项乘积之和)    
        2.多项式 核函数:
                  (通常取R = 1,d = 2)
        3.高斯 核函数 ( RBF径向基核函数 ):(灵活性高, 应用最广,)
            【机器学习】支持向量机 SVM 原理详解 详细数学推导_第24张图片        
        4.Sigmoid 核函数:
            

    7.SMO算法

    8.关于如何选取 核函数 的一些建议:
         0.一般用线性核和高斯核,时间上高斯核耗费较大,要注意需要对数据归一化处理
        1. 如果Feature 多,与样本量相当,选用 线性回归LR 或 线性核svm (Linear Kernel)
        2. 如果Feature 少,而样本量不大不小,选用 高斯核svm (Gaussian Kernel)
        3. 如果Feature 少,而样本量大,可以手动添加feature,参考情况1:线性回归LR 或 线性核svm (Linear Kernel)

你可能感兴趣的:(机器学习,算法)