• SVM 之线性支持向量机


    支持向量机是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。

    模型包括以下几类:

    1. 基本概念

       如果数据集不是线性可分的,比如二维空间中,就是找不到一条直线能刚好把正负例分开,此时忽略掉一些异常点,就可以用一个分离超平面把正负例给分开。

       这样的话也就不是硬间隔了,而是软间隔。

       对每个样本点引入一个松弛变量 $xi_{i} geq 0$,并引入一个惩罚系数 $C > 0$,$C$ 越大表示对特异点的惩罚越大,此时最优化问题变为:

    $$min ;; frac{1}{2}||w||^{2} + Csum_{i=1}^{n}xi_{i}\
    s.t. ;;; y_{i}left ( w^{T}x_{i} + b ight ) geq 1 - xi_{i}, ; i = 1,2,cdots,n \
    xi_{i} geq 0, ; i = 1,2,cdots,n$$

       也就是说,现在所选的支撑超平面之间并不是严格“真空”的,存在一些特异点,我们允许它存在,但这样的模型得付出一点代价。

    2. 学习的对偶算法

       建立拉格朗日函数:

    $$L(w,b,xi,alpha,mu) = frac{1}{2}||w||^{2} + Csum_{i=1}^{n}xi_{i} + sum_{i=1}^{n}alpha_{i}left [ 1 - xi _{i} - y_{i}left ( w^{T}x_{i} + b ight ) ight ] - sum_{i = 1}^{n}mu_{i}xi_{i} \
    = frac{1}{2}||w||^{2} + Csum_{i=1}^{n}xi_{i} - sum_{i=1}^{n}alpha_{i}y_{i}left ( w^{T}x_{i} + b ight ) + sum_{i=1}^{n}alpha_{i}left ( 1 - xi_{i} ight ) - sum_{i = 1}^{n}mu_{i}xi_{i}, ;; alpha_{i} geq 0, mu_{i} geq 0$$

       求解此不等式约束问题的 KKT 条件为

    $$left{egin{matrix}
    L_{w} = w - sum_{i=1}^{n}alpha_{i}y_{i}x_{i} = 0 \
    L_{b} = -sum_{i=1}^{n}alpha_{i}y_{i} = 0 \
    L_{xi_{i}} = C - alpha_{i} - mu_{i} = 0, ; i = 1,2,cdots,n \
    y_{i}left ( w^{T}x_{i} + b ight ) - 1 + xi_{i} geq 0, ; i = 1,2,cdots,n \
    xi_{i} geq 0, ; i = 1,2,cdots,n \
    alpha_{i} left [ y_{i}left ( w^{T}x_{i} + b ight ) - 1 + xi_{i} ight ] = 0, ; i = 1,2,cdots,n \
    mu_{i}xi_{i} = 0, ; i = 1,2,cdots,n \
    alpha_{i} geq 0,; i = 1,2,cdots,n \
    mu_{i} geq 0,; i = 1,2,cdots,n
    end{matrix} ight. ; Rightarrow ;
    left{egin{matrix}
    w = sum_{i=1}^{n}alpha_{i}y_{i}x_{i} \
    sum_{i=1}^{n}alpha_{i}y_{i} = 0 \
    C - alpha_{i} - mu_{i} = 0, ; i = 1,2,cdots,n \
    b = y_{j}(1 - xi_{j}) - w^{T}x_{j} = y_{j} - sum_{i=1}^{n}alpha_{i}y_{i}x_{i}^{T}x_{j}, ;(0 < alpha_{j} < C)
    end{matrix} ight.$$

       若存在一个 $0 < alpha_{j} < C$,则根据 $C - alpha_{j} - mu_{j} = 0$ 可知,必有 $mu_{j} > 0$,又 $mu_{j}xi_{j} = 0$,所以 $xi_{j} = 0$。

       根据拉格朗日对偶转化原始问题,最终我们所要求解的最优化问题为

    $$min_{alpha } ; frac{1}{2}sum_{i=1}^{n}sum_{j=1}^{n}alpha_{i}alpha_{j}y_{i}y_{j}(x_{i}^{T}x_{j}) -sum_{i=1}^{n}alpha_{i} \
    s.t. ;;; sum_{i=1}^{n}alpha_{i}y_{i} = 0 \
    0 leq alpha_{i} leq C, ; i = 1,2,cdots,n$$

  • 相关阅读:
    http协议
    db2 将逗号分隔数据转换为多值IN列表
    jquery deferred
    ps -ef|grep htpd|wd -l
    mysql 触发器
    css 五角星 (转)
    java 问题
    浏览器假死
    js math atan2
    CSS伪类选择器
  • 原文地址:https://www.cnblogs.com/yanghh/p/13806618.html
Copyright © 2020-2023  润新知