SVM中为何间隔边界的值为正负1
来源:互联网 发布:android 系统相机源码 编辑:程序博客网 时间:2024/06/05 23:21
在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。
- SVM中为何间隔边界的值为正负1
- Python中输入一个以空格为间隔的数组
- OPENCV 改写SVM的计算可以自己控制边界的值
- svm 中的几何间隔
- LR 关联函数的边界值可以为参数
- 为何为何为何为何为
- Andrew Ng - SVM【1】最优间隔分类器
- SVM学习记录1:线性可分硬间隔最大化
- SVM 支持向量机(1) 硬间隔最大化
- 算法1:一个无序的int数组,包含正负数, 排序成:左边为负数 右边为正数
- Manchester- 求s=a+aa+aaa+aaaa+aa...a的值(n为1亿都ok,可正负,带图解)
- 进程1中copy_page_tables中页表项为何设置为只读?
- 支持向量机SVM(一):支持向量机SVM的推倒:从logistic回归,到函数间隔,集合间隔,到寻找最优间隔分类器。
- mysql 取得表中重复值之间的间隔以及最大间隔
- SVM学习笔记-软间隔SVM
- SVM 软间隔分类器
- 最优间隔分类器-SVM
- 为UITableView的列设置间隔颜色
- 最长回文子串模板
- VIM装X神器
- MFC ProcessShellCommand()
- 创业公司的每月收入与支出做帐
- 虚拟化基础知识
- SVM中为何间隔边界的值为正负1
- C/S与B/S架构区别
- tomcat的一些发布问题
- 线性表的顺序实现
- C# 未在本地计算机上注册“Microsoft.ACE.OlEDB.12.0”提供程序
- as3结构学习笔记:单例和管理单例
- 国产操作系统进入被彻底抛弃的时代
- Android屏幕自适应
- ant入门学习