【SVM】简单介绍(二)

1、SVM另一种推法

在这里插入图片描述
我们不管分类平面,直接去假设Margin的两个边界:
Plus-plane ={x:w⋅x+b=+1}Minus-plane ={x:w⋅x+b=−1}\begin{aligned} & \text { Plus-plane }=\{\boldsymbol{x}: \boldsymbol{w} \cdot \boldsymbol{x}+b=+1\} \\ & \text { Minus-plane }=\{\boldsymbol{x}: \boldsymbol{w} \cdot \boldsymbol{x}+b=-1\} \end{aligned}  Plus-plane ={x:wx+b=+1} Minus-plane ={x:wx+b=1}
这个时候Margin就是这两个平面之间的距离了

回忆一下:
Given 2 parallel lines with equations
ax+by+c1=0a x+b y+c_1=0 ax+by+c1=0
and
ax+by+c2=0a x+b y+c_2=0 ax+by+c2=0
the distance between them is given by:
d=∣c2−c1∣a2+b2d=\frac{\left|c_2-c_1\right|}{\sqrt{a^2+b^2}} d=a2+b2c2c1
在这里插入图片描述
于是就有:

maximize 2∥w∥\frac{2}{\|\mathbf{w}\|}w2
such that
For yi=+1,wTxi+b≥1y_i=+1, \quad \mathbf{w}^T \mathbf{x}_i+b \geq 1yi=+1,wTxi+b1
For yi=−1,wTxi+b≤−1y_i=-1, \quad \mathbf{w}^T \mathbf{x}_i+b \leq-1yi=1,wTxi+b1

进一步的,有
argmin⁡w,b∑i=1dwi2subject to ∀xi∈D:yi(xi⋅w+b)≥1\begin{aligned} & \underset{\mathbf{w}, b}{\operatorname{argmin}} \sum_{i=1}^d w_i^2 \\ & \text { subject to } \forall \mathbf{x}_i \in D: y_i\left(\mathbf{x}_i \cdot \mathbf{w}+b\right) \geq 1 \end{aligned} w,bargmini=1dwi2 subject to xiD:yi(xiw+b)1

模型是一样的

2、二次规划(Quadratic Programming)

二次规划问题是这样的
Find arg⁡max⁡uc+dTu+uTRu2\text { Find } \underset{\mathbf{u}}{\arg \max } \quad c+\mathbf{d}^T \mathbf{u}+\frac{\mathbf{u}^T R \mathbf{u}}{2}  Find uargmaxc+dTu+2uTRu
若干个不等式约束
a11u1+a12u2+…+a1mum≤b1a21u1+a22u2+…+a2mum≤b2:an1u1+an2u2+…+anmum≤bn\begin{gathered} a_{11} u_1+a_{12} u_2+\ldots+a_{1 m} u_m \leq b_1 \\ a_{21} u_1+a_{22} u_2+\ldots+a_{2 m} u_m \leq b_2 \\ : \\ a_{n 1} u_1+a_{n 2} u_2+\ldots+a_{n m} u_m \leq b_n \end{gathered} a11u1+a12u2++a1mumb1a21u1+a22u2++a2mumb2:an1u1+an2u2++anmumbn
若干个等式约束
a(n+1)1u1+a(n+1)2u2+…+a(n+1)mum=b(n+1)a(n+2)1u1+a(n+2)2u2+…+a(n+2)mum=b(n+2):a(n+e)1u1+a(n+e)2u2+…+a(n+e)mum=b(n+e)\begin{gathered} a_{(n+1) 1} u_1+a_{(n+1) 2} u_2+\ldots+a_{(n+1) m} u_m=b_{(n+1)} \\ a_{(n+2) 1} u_1+a_{(n+2) 2} u_2+\ldots+a_{(n+2) m} u_m=b_{(n+2)} \\ : \\ a_{(n+e) 1} u_1+a_{(n+e) 2} u_2+\ldots+a_{(n+e) m} u_m=b_{(n+e)} \end{gathered} a(n+1)1u1+a(n+1)2u2++a(n+1)mum=b(n+1)a(n+2)1u1+a(n+2)2u2++a(n+2)mum=b(n+2):a(n+e)1u1+a(n+e)2u2++a(n+e)mum=b(n+e)
而我们线性SVM要求解的问题是
{w⃗∗,b∗}=min⁡w⃗,b∑iwi2subject to yi(w⃗⋅x⃗i+b)≥1for all training data (x⃗i,yi)\begin{aligned} & \left\{\vec{w}^*, b^*\right\}=\min _{\vec{w}, b} \sum_i w_i^2 \\ & \text { subject to } y_i\left(\vec{w} \cdot \vec{x}_i+b\right) \geq 1 \text { for all training data }\left(\vec{x}_i, y_i\right) \end{aligned} {w,b}=w,bminiwi2 subject to yi(wxi+b)1 for all training data (xi,yi)
其实本质上就是一个QP问题
{w⃗∗,b∗}=argmax⁡w⃗,b{0+0→⋅w⃗−w⃗TInw⃗}\left\{\vec{w}^*, b^*\right\}=\underset{\vec{w}, b}{\operatorname{argmax}}\left\{0+\overrightarrow{0} \cdot \vec{w}-\vec{w}^T \mathbf{I}_{\mathbf{n}} \vec{w}\right\} {w,b}=w,bargmax{0+0wwTInw}
y1(w⃗⋅x⃗1+b)≥1y2(w⃗⋅x⃗2+b)≥1…yN(w⃗⋅x⃗N+b)≥1\begin{aligned} & y_1\left(\vec{w} \cdot \vec{x}_1+b\right) \geq 1 \\ & y_2\left(\vec{w} \cdot \vec{x}_2+b\right) \geq 1 \\ & \ldots \\ & y_N\left(\vec{w} \cdot \vec{x}_N+b\right) \geq 1 \end{aligned} y1(wx1+b)1y2(wx2+b)1yN(wxN+b)1

3、Soft Margin SVM

咱们的Hard Margin SVM要求样本必须是线性可分的(看它的约束条件),那么问题来了,要是样本线性不可分呢?
在这里插入图片描述

那么咱们就希望Margin大的同时,让分类的损失尽量小一点,于是问题就变为

Minimize
w⋅w+C\boldsymbol{w}\cdot \boldsymbol{w}+Cww+C (#train errors)

这样问题就来了。首先这不再是一个QP问题,QP问题的求解方法很成熟;其次这边有一个超参数C,这个参数又叫tradeoff parameter。C越大说明你更希望分类误差小一点,C越小说明你更希望Margin大一点,所以这边C的取值就是一门学问了。
在这里插入图片描述
我们将误差建模为分类错误点到分类平面的距离
{w⃗∗,b∗}=min⁡w⃗,b∑i=1dwi2+c∑j=1Nεjy1(w⃗⋅x⃗1+b)≥1−ε1y2(w⃗⋅x⃗2+b)≥1−ε2…yN(w⃗⋅x⃗N+b)≥1−εN\begin{aligned} & \left\{\vec{w}^*, b^*\right\}=\min _{\vec{w}, b} \sum_{i=1}^{\mathrm{d}} w_i^2+c \sum_{j=1}^N \varepsilon_j \\ & y_1\left(\vec{w} \cdot \vec{x}_1+b\right) \geq 1-\varepsilon_1 \\ & y_2\left(\vec{w} \cdot \vec{x}_2+b\right) \geq 1-\varepsilon_2 \\ & \ldots \\ & y_N\left(\vec{w} \cdot \vec{x}_N+b\right) \geq 1-\varepsilon_N \end{aligned} {w,b}=w,bmini=1dwi2+cj=1Nεjy1(wx1+b)1ε1y2(wx2+b)1ε2yN(wxN+b)1εN
在这里插入图片描述

如果εi<0?\varepsilon_i<0?εi<0?,这是我们不想看到的,因为当样本分类正确时,我们希望损失是000
{w⃗∗,b∗}=min⁡w⃗,b∑i=1dwi2+c∑j=1Nεjy1(w⃗⋅x⃗1+b)≥1−ε1,ε1>=0y2(w⃗⋅x⃗2+b)≥1−ε2,ε2>=0…yN(w⃗⋅x⃗N+b)≥1−εN,εN>=0\begin{aligned} & \left\{\vec{w}^*, b^*\right\}=\min _{\vec{w}, b} \sum_{i=1}^{\mathrm{d}} w_i^2+c \sum_{j=1}^N \varepsilon_j \\ & y_1\left(\vec{w} \cdot \vec{x}_1+b\right) \geq 1-\varepsilon_1 ,\varepsilon_1>=0\\ & y_2\left(\vec{w} \cdot \vec{x}_2+b\right) \geq 1-\varepsilon_2 ,\varepsilon_2>=0\\ & \ldots \\ & y_N\left(\vec{w} \cdot \vec{x}_N+b\right) \geq 1-\varepsilon_N,\varepsilon_N>=0 \end{aligned} {w,b}=w,bmini=1dwi2+cj=1Nεjy1(wx1+b)1ε1,ε1>=0y2(wx2+b)1ε2,ε2>=0yN(wxN+b)1εN,εN>=0

想象一下,一个样本点错得很离谱,离分界面无穷大,那么其对应的损失也是无限大,所以我们说,SVM对噪声是很敏感的

SVM的损失函数是Hinge loss
hinge⁡(x)=max⁡(1−x,0)\operatorname{hinge}(x)=\max (1-x, 0) hinge(x)=max(1x,0)
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258296.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图像像素点赋值_Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像...

普通操作1. 读取像素读取像素可以通过行坐标和列坐标来进行访问&#xff0c;灰度图像直接返回灰度值&#xff0c;彩色图像则返回B、G、R三个分量。需要注意的是&#xff0c; OpenCV 读取图像是 BGR 存储显示。灰度图片读取操作&#xff1a;import cv2 as cv# 灰度图像读取gray_…

cocopods

一、什么是CocoaPods 1、为什么需要CocoaPods 在进行iOS开发的时候&#xff0c;总免不了使用第三方的开源库&#xff0c;比如SBJson、AFNetworking、Reachability等等。使用这些库的时候通常需要&#xff1a; 下载开源库的源代码并引入工程向工程中添加开源库使用到的framework…

CSS3学习手记(10) 过渡

CSS3过渡 允许css的属性值在一定的时间内平滑地过渡在鼠标单击、获取焦点、被点击或对元素任何改变中触发&#xff0c;并圆滑地以动画效果改变CSS的属性值transition transition-property属性检索或设置对象中的参与过渡的属性 语法 transition-property:none|all|property …

全局搜索快捷键_Windows 自带的聚合搜索来了,与 Mac 的 Spotlight 相比体验如何?...

最近 Windows 10 推出了自带的聚合搜索功能 PowerToys Run&#xff0c;取代了之前的 WinR。苹果的 macOS 以人性化著称&#xff0c;有几个功能让 Windows 用户一直很羡慕&#xff0c;比如全局的聚合搜索工具 Spotlight。在任何界面 command空格&#xff0c;输入关键字就能搜索电…

【SVM】简单介绍(三)

我们考虑SVM的对偶问题&#xff0c;我们通常是在对偶空间中进行求解的。 1、Lagrange Multipliers 对于一个很一般的问题 Minimize f(x)subject to {a(x)≥0b(x)≤0c(x)0\begin{aligned} \text { Minimize } & f(x) \\ \text { subject to } \quad & \left\{\begin{a…

寻找白板上的便签条

问题来源&#xff1a;http://answers.opencv.org/question/162480/contour-detection-for-gray-stickers-on-white-background/ 题目的大概意思就是这样的白板&#xff0c;寻找上面的各种便签条。我找到了橘色的&#xff0c;结果是这样代码是这样Mat src imread("gray-st…

gg

转载于:https://www.cnblogs.com/lyzuikeai/p/7091206.html

HDU 1728 逃离迷宫

这道题做的我想哭啊。。WA了将近十次了吧 一开始我用数组模拟的队列&#xff0c;后来和老大代码对拍&#xff0c;感觉改的是基本都一模一样了&#xff0c;还是WA 实在没有办法了&#xff0c;改用queue了 题目里的x是列y是行&#xff0c;和代码里的反过来的&#xff0c;要注意&a…

Nginx(六)-- 配置文件之Gzip

1.概念及作用 Gizp主要对内容、静态文件做压缩&#xff0c;用来提升网站访问速度&#xff0c;节省带宽。 2.使用方法 gzip既可以配置在server中&#xff0c;也可以配置在server外&#xff0c;此处配置在server中&#xff0c;如下&#xff1a; 说明&#xff1a;  gizp on|off 是…

误码率越高越好还是越低越好_夜间护理步骤越多越好还是越少越好?NFF

现在很多人都知道了夜晚是护肤的黄金护肤时间&#xff0c;有些很聪明的姐妹就从夜晚着手&#xff0c;使用很多种护肤品&#xff0c;希望达到事半功倍的效果&#xff0c;但好皮肤不常有&#xff0c;皮肤问题却常有&#xff01;既然如此&#xff0c;不少人就问了&#xff0c;夜间…

【随机森林】random forests 简单介绍

Random Forest&#xff0c;顾名思义 Random 就是随机抽取&#xff1b; Forest 就是说这里不止一棵树&#xff0c;而由 一群决策树组成的一片森林 &#xff0c;连起来就是用随机抽取的方法训练出一群决策树来完成分类任务。RF用了两次随机抽取, 一次是对训练样本的随机抽取; 另一…

信息安全系统设计基础第三周学习总结—20135227黄晓妍

一.Vim编辑器 1.Vim的六种模式 2.Vim三种常用模式的使用方式&#xff0c;以及三者的切换。打开Vim即默认进入普通模式&#xff0c;按i进入插入模式&#xff0c;按esc从插入模式退出普通模式&#xff0c;再按&#xff1a;进入命令行模式。 普通模式下游标的移动 按键 说明 h …

脚本命令_SAP HANA数据库备份命令脚本

需求场景&#xff1a;HANA数据库版本 2.044 &#xff0c; SYSTEMDB库1个&#xff0c;Tenant库有3个 PRD、POP、HAP需要用命令行备份。备份原理说明&#xff1a;1、脚本同hana studio 一样&#xff0c;用SYSTEM用户去备份所有的数据库。2、备份脚本工作在数据库管理员用户下&…

CSS3中border-radius、box-shadow与gradient那点事儿

一、border-radius border-radius用于添加圆角边框&#xff0c;用处非常广泛。 1&#xff09;一个值&#xff0c;代表了四个角 .radius-one {/* Safari 3-4, iOS 1-3.2, Android 1.6- */-webkit-border-radius: 12px; /* Firefox 1-3.6 */-moz-border-radius: 12px; /* Opera 1…

编程 跳台阶_Java版剑指offer编程题第8题--跳台阶

跟learnjiawa一起每天一道算法编程题&#xff0c;既可以增强对常用API的熟悉能力&#xff0c;也能增强自己的编程能力和解决问题的能力。算法和数据结构&#xff0c;是基础中的基础&#xff0c;更是笔试的重中之重。不积硅步&#xff0c;无以至千里&#xff1b;不积小流&#x…

获取汉字的首字母(转)

转换 获取一个汉字的拼音首字母。 GB码两个字节分别减去160&#xff0c;转换成10进制码组合就可以得到区位码例如汉字“你”的GB码是0xC4/0xE3&#xff0c;分别减去0xA0&#xf…

Deep Learning(深度学习) 学习笔记(四)

神经概率语言模型&#xff0c;内容分为三块&#xff1a;问题&#xff0c;模型与准则&#xff0c;实验结果。[此节内容未完待续...] 1&#xff0c;语言模型问题 语言模型问题就是给定一个语言词典包括v个单词&#xff0c;对一个字串做出二元推断&#xff0c;推断其是否符合该语言…

JavaScript 运行机制

JavaScript 运行机制 阅读目录 一、为什么JavaScript是单线程&#xff1f;二、任务队列三、事件和回调函数四、Event Loop五、定时器六、Node.js的Event Loop七、关于setTimeout的测试一、为什么JavaScript是单线程&#xff1f; JavaScript语言是单线程&#xff0c;也就是说&am…

android自定义倒计时控件示例

这篇文章主要介绍了Android秒杀倒计时自定义TextView示例&#xff0c;大家参考使用吧 自定义TextView控件TimeTextView代码&#xff1a; 复制代码 代码如下:import android.content.Context;import android.content.res.TypedArray;import android.graphics.Paint;import andro…

从gitlab上拉代码_从gitlab上拉取代码并一键部署

一、gitlab安装GitLab是一个利用Ruby on Rails开发的开源应用程序&#xff0c;实现一个自托管的Git项目仓库&#xff0c;可通过Web界面进行访问公开的或者私人项目。GitLab拥有与Github类似的功能&#xff0c;能够浏览源代码&#xff0c;管理缺陷和注释。可以管理团队对仓库的访…