zoukankan      html  css  js  c++  java
  • SVM中为何间隔边界的值为正负1

    在WB二面中,问到让讲一下SVM算法。

    我回答的时候,直接答道线性分隔面将样本分为正负两类,取平行于线性切割面的两个面作为间隔边界,分别为:wx+b=1和wx+ b = -1。

    面试官就问,为什么是正负1?

    当时没有答上来,看来还是对模型不够理解。

    回来查资料和ppt等,解答例如以下:

    线性切割面是f(x) = wx + b,该线性切割面是要把样本点分为两类:

    对于正样本,都满足:wx + b > 0;

    对于负样本。都满足:wx + b < 0;

    从式子中能够观察到,假设同一时候放大或缩小w和b。最后的结果是不受影响的,还是同一个线性切割面。

    因此,我们能够做一个要求:

    对于全部正样本。都满足:wx + b >= 1;

    对于全部负样本。都满足:wx + b <= -1;

    当中,间隔边界外的点相应的是">"或"<"号。而间隔边界上的点,相应的是"="号。

    即得到:

    对于间隔边界上的正样本,都满足:wx + b = 1。

    对于间隔边界上的负样本。都满足:wx + b = -1;

    这就是间隔边界上的值为正负1的由来。


    PS1:

    硬间隔SVM中,最小化间隔为:

    min f(w) = w.T * w / 2

    其约束条件为:使全部的样本点都能正确划分,即:

    s.t.   y_i(w * x_i + b) >= 1。

    注意:不等式是包括等号"="的,是说。全部的点都在间隔边界之上或之外。不同意出如今间隔边界与分类超平面之间的!


    PS2:

    对于软间隔SVM中的松弛变量的概念。噪声点并不是仅仅能存在于正确间隔边界外,因为有了松弛变量把它拉回来,因此,噪声点是能够到两个间隔边界之中,或者到错误的间隔边界之外的(当然,假设仅仅是出如今分类超平面和正确的间隔边界之间,此时该点还是会被正确分类的。可是,此时它还是会为l(w)函数贡献松弛变量e的。)。

    此时的限制条件为:

    s.t. y_i(w * x_i + b) + e_i >= 1,当中,e_i >= 0。


  • 相关阅读:
    学习笔记81—matlab通过界面按钮查看回调函数
    学习笔记80—火狐设置
    学习笔记79—几个典型的距离
    学习笔记78—三大统计相关系数:Pearson、Spearman秩相关系数、kendall等级相关系数
    Xcode7修改模块生成网络权限(ATS配置)
    关于解决“No matching provisioning profiles found”问题-ios
    There was a problem parsing the package(android)
    SDK does not contain any platforms. error (android)
    Objective-C中的instancetype与id的区别
    iOS动画编程
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10554654.html
Copyright © 2011-2022 走看看