美文网首页
支持向量机SVM

支持向量机SVM

作者: 陈文瑜 | 来源:发表于2019-11-01 17:45 被阅读0次

    概述(Support Vector Machines)

    • 可以做 有监督学习、无监督学习

    分类问题,聚类问题 (SVC),在输入空间做一个映射,映射到一个更高维的空间去做分类。

    L_2范数

    • 欧几里得距离

    点到超平面 g(x) = w\cdot x +b 的距离为 M= \frac {|g(x)|}{||w||},则圆点到超平面距离为\frac{|b|}{||w||}

    评估分类好坏

    • 是否无偏

    margin,边际,能平移的距离,目标是最大化margin。

    • 如何描述出margin

    +1 , -1代表两类问题。则有 g(x)>=1,g(x)<=-1两类,则M=\frac {2}{||w||}

    • 前提条件是把每个样本都分对

    则有 y_i(wx_i+b)-1\geq 0

    • 我们的目标是最大化Margin

    也就是 max M = \frac {2}{||w||} \Rightarrow min \frac{1}{2} w^Tw

    • 完整的表述

    在条件 y_i(w\cdot x_i +b) \geq 1下,最小化 \Phi(x) = \frac12 w^Tw

    • 求解方法 拉格朗日 乘子法

    有:L_p = \frac12 ||w||^2 - \sum _{i=1}^l a_iy_i(w\cdot x_i +b) + \sum_{i=1}^l a_i
    对w和b求导后有:
    \frac {\partial L_p}{\partial w} = 0 \quad \Rightarrow \quad w= \sum_{i=1}^l a_iy_ix_i
    \frac {\partial L_p}{\partial b} = 0 \quad \Rightarrow \quad \sum_{i=1}^l a_iy_i = 0
    将上式带入到 L_p中,可以得到其对偶函数:
    L_D = \sum_i a_i - \frac12 \sum_{i,j}a_ia_jy_iy_jx_i \cdot x_j = \sum_i a_i - \frac12 \alpha^T H\alpha \quad where \quad H_{ij} = y_iy_jx_i \cdot x_j
    前提是: \sum_i \alpha_i y_i =0 \quad \& \quad \alpha_i \geq 0

    • 少量不为0的 \alpha累加 得到w

    g(x) = \sum_i^l \alpha_iy_ix_i \cdot x +b,向量做内积,是svm设计最精妙的地方

    -求b 取x_s s表示上面求得的不为0的支持向量

    y_s (x_s \cdot w +b)=1
    y_s (\sum _{m \in S} \alpha _my_mx_m \cdot x_s +b)=1
    可以求得b,不写了,累死。


    以上前提条件是将点分对

    为解决 分不对情况,加入soft margin概念

    • 加入 \xi

    y_i(wx_i+b)-1 + \xi \geq 0

    处理线性不可分的问题

    • 线性不可分,可以将数据映射到另外一个空间中
    • 设计一个映射,将数据映射到高维空间

    K(a,b) = (a \cdot b +1)^2 = \Phi(\alpha)\cdot \Phi(b)这种高维空间的操作等价于低维空间的操作

    这就是所谓的 Kernel Trick
    
    • 我们有固定的几种映射方法

    Pllynomial : K(x_i,x_j) = (x_i \cdot x_j +1)^d
    Gaussian: K(x_i,x_j) = exp(- \frac {||x_i-x_j||^2}{2\sigma^2})

    相关文章

      网友评论

          本文标题:支持向量机SVM

          本文链接:https://www.haomeiwen.com/subject/hglqbctx.html