• 机器学习技法笔记-Lecture 1 Linear support vector machine


    线性支持向量机。

    从PLA引入。对PLA而言,下面任何一条线都可能被选为g,其实我们直观上会觉得第三条线更好。

    对以后要预测的点x假设和xn很接近,可以看做xn加上的一些noise,那么我们希望这样的x也能和xn的结果一样。

    所以如果点和分隔平面距离大,那么可以认为平面能够容忍更多noise,更加健壮,robust.

    因此我们希望找到这样的一条线,首先能够把所有点都正确分开,另外使得点到线的距离的最小值,能够最大。也就是找到一条最胖的线。

    问题重写一下

    这里呢,把w拆成w和常数项b,假设空间是的集合

    任意一点x到分隔平面的距离是

    那么问题继续改写成

    注意这里去掉绝对值的方法是乘以了yn,因为这条线能够正确分类,所以 yn * h(xn)可以替换掉绝对值。

    然后我们做一个scale, 使,问题改写成

    那由于有第二个st的限制,第一个肯定成立,所以省去,问题成为 

    现在希望把st里面的min去掉,方法是把条件放宽。放宽条件并不影响找到原始的最优b、w

    目前就得到了通常的SVM问题的形式

    这个不等式约束优化问题是一个二次规划问题(quadratic programming, QP),目标函数是关于 b和w的二次式,约束是关于b和w的一次式

    将问题写成标准的二次规划的形式,通过软件就可以求解

    线性硬间隔SVM的求解过程

    hard-margin是说能将所有点都正确的分开,不允许犯错。linear是指我们使用的就是原始的xn,没有经过变换。

    将xn映射到zn,就可以做非线性的分隔。

    SVM与正则的联系

    SVM可以看做一种正则,最小化的目标和约束条件交换了一下。它要求Ein=0后再使w的长度最小。这个regularizetion是希望要一个胖胖的边界,能够抵抗一些误差。

    SVM与VC维的联系

    我们的最大边界算法希望找一个g,它的边界要求大于某一个数。那么它在特征的资料上,能够做的二分的组合变少了。理解为有效的vc维变小了。

    所以可以通过控制线的胖瘦,来控制模型的复杂度。

  • 相关阅读:
    高性能SQL编码规范
    识别SQL Server 性能杀手
    centOS7安装nginx
    linux安装apache
    算术表达式的前缀表达式,中缀表达式和后缀表达式
    有特殊字符的JSON串
    sqlserver 找到执行慢的sql
    SQL索引建立遵守六大铁律
    [SQL Server 2005/2008] select语句中指定索引
    ubuntu下vsftpd虚拟用户配置
  • 原文地址:https://www.cnblogs.com/akanecode/p/7055101.html
Copyright © 2020-2023  润新知