SVM公式详尽推导,没有思维跳跃。
假定数据集\(T=\{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\},x_n \in R_k, y_n \in \{1,-1\}\)线性可分,SVM的优化目标是:
优化一个超平面的参数,使得这个超平面,能够正确划分两类数据,并且,距离(动词),两类数据最近的那个点,的距离最大。
tip: 优化一个超平面的参数指的是:调整超平面的参数值。
写成数学公式为:
使得这个超平面,能够正确划分两类数据[1]
\]
距离(动词),两类数据最近的那个点,的距离最大。[2]
\]
假设在所有\((w,b) \in \{(w_1,b_1),(w_2,b_2),\cdots\}\)中,最优解为\((w^*,b^*)\),该最优解对应的,离这个超平面最近的点为\((w_k,y_k)\),我们现在改写\(\eqref{2}\),但是毕竟是需要优化的,我们就不把最优解放到里面去,那么\(\eqref{2}\)可以改写为:
\]
如果要写进去,那么就可以写成:
\]
我们继续在上面的假设内,我们看到离超平面\((w^*,b^*)\)最近的点,到该超平面的距离为\(y_k\frac{w^*·x_k+b^*}{||w^*||}\),那么公式\(\eqref{1}\)可以改写为:
\]
现在让我们假设(注意,我现在已经在上面的假设上又假设了一次,相当于if语句里面又来了个if语句,我现在还没有说明对应的两个else语句,只有说明了两个else语句,所有情况才算全部讨论到),我们找到了\((w^*,b^*)\),但是让我们来看看这个解\((2w^*,2b^*)\)。首先,其满足\(\eqref{2}\),另外:
||2w^*||=\sqrt{(\sum{(2w_i)^2})}=\sqrt{(4\sum{w_i^2})}=2\sqrt{(\sum{w_i^2})}=2||w^*||
\]
我们再来看更一般的:
\]
tip: 我这里假设了\(k \neq 0\),其实这不是假设,而是必然的结果,因为如果\(k=0\),那么超平面\((kw^*,kb^*)=(0,0)\),这是不满足\(\eqref{1}\)的(把\(w\)和\(b\)均设为0,然后看看左边是否都大于0),既然不满足\(\eqref{1}\),\((0,0)\)就不是解,那么\(k=0\)就不在我们的讨论范围内,所以\(k \neq 0\)。\(k \neq 0\)的原因是其不在我们的讨论范围内,而不是简单的,听到已经麻木了的"分母不能为0,所以\(k \neq 0\)"。另外,通过穷举可以看出$ k \in R \space \and \neq 0$。
从上面的一个式子可以看出,就算我们找到了一个最优解\((w^*,b^*)\)(或者我们找到的是\((2w^*,2b^*)\),但是我们可以把\((kw^*,kb^*)\)记作\((w^*,b^*)\)),我们可以通过给予\(w\)和\(b\)一个非零参数\(k\),诞生出另一个解,但实际上集合\(\{(w^*,b^*),(2.2w^*,2.2b^*),(3w^*,3b^*),...\}\)都是同一个向量(如果\(w\)是一个n维向量,那么\((w,b)\),可以看作一个n+1维向量。),另外,因为\(k \in R \space \and \neq 0\),\(y(w·x+b) > 0\)(因为\(y\frac{w·x+b}{||w||}\)为点\((x,y)\)到超平面\((w,b)\)的距离,数据集T是线性可分的,那么该距离大于0,从而分子大于0),所以
\]
那么优化目标可以改写为[3]:
s.t: \frac{y(w·x+b)}{||w||} \geq \frac{y_k(w·x_k+b)}{||w||}=\frac{1}{||k_1w||}=\frac{1}{||w||},\\k \neq 0
\]
注意:
\]
所以最终优化目标为(在上面的两个假设内):
s.t \space\space y(w·x+b) \geq 1
\]
到这里为止,SVM的推导其实还未完,因为我们是做了两个假设才推出SVM的优化公式的,那万一假设不满足呢?
我们一共做了两个假设:
假设在所有\((w,b) \in \{(w_1,b_1),(w_2,b_2),\cdots\}\)中,最优解为\((w^*,b^*)\)
现在让我们假设,(xxx),我们找到了\((w^*,b^*)\)
现在让我们讨论另外的情况:
- 对应于假设”现在让我们假设,(xxx),我们找到了\((w^*,b^*)\)“,如果找不到\((w^*,b^*)\)怎么办,那就继续找嘛,因为大假设里面保证了最优解存在,所以\((w^*,b^*)\)是一定能找到的。所以,第二个if对应的else语句就是continue,即一直找。(应该是的,既然存在,那么就可以找到)
- 对应于假设”假设在所有\((w,b) \in \{(w_1,b_1),(w_2,b_2),\cdots\}\)中,最优解为\((w^*,b^*)\)“,如果\((w,b) \in \{\}\)怎么办?因为数据集线性可分,那么就存在\((w,b)\)能够正确划分数据集,所以\((w,b) \in \{\}\)不成立,那么\((w,b) \in \{(w_1,b_1),(w_2,b_2),\cdots\}\)一定成立,那么如果没有最优解怎么办?从最终的优化目标中可以看出,优化目标有下界(即值的变化范围存在一个最小值),那么最优解一定是存在的。所以,第一个if对应的else不用写,因为不会走else语句。
至此,SVM的推导才算真正完成。
注释:
线性可分:对于数据集\(S\),若存在一个超平面\((w,b)\),能够正确划分数据集,即对于任意样本\((x,y)\),如果\(y=1\),那么\(w·x+b>0\),否则\(w·x+b<0\),则(这个字对应前面的‘若’),超平面\((w,b)\)可分数据集\(S\),数据集\(S\)线性可分。
超平面:满足某个等式(如\(w·x-y+b=0\))的高维度(即\(x \in R_k,k>2\))点\((x,y)\)(这里的\(x\)和\(y\)对应前面一个括号里面的\(x\)和\(y\)),的集合。【另外可以看这里】
[1]:公式\(\eqref{1}\)的解释,见线性可分,运算符号‘\(·\)’为向量的点积运算.
[2]:公式\(\eqref{2}\)最里面的公式为点到超平面的距离,见文章:高维空间中,点的超平面的距离.
\(max(min(y\frac{kw·x+kb}{||kw||}))=max(y_k\frac{kw·x_k+kb}{||kw||})\)的解释:
对于任意一个超平面\((w,b)\)可行解,都存在一个点\((x_k,y_k)\)(自己在三维空间中想一下,对于某个能完全正确划分数据集的平面\((w,b)\),都会有一个离其最近的点\((x_k,y_k)\)),使得\(min(y\frac{kw·x+kb}{||kw||})\)=\(y_k\frac{kw·x_k+kb}{||kw||}\).\(max(y_k\frac{kw·x_k+kb}{||kw||})=max(\frac{1}{||k_1w||})\)的解释:
因为\(y(kw·x+kb)>0\)取任何值,都会有分母对应其值,使其回到原来的值。另外可以这样理解:不管\(y(w·x+b)>0\)取什么值,都存在一个值\(k_1\)使得\(y(k_1w·x+k_1b)=1\),所以我们可以把\(y(w·x+b)\)的值限制为1,至于为什么要这么做,应该是为了简化表达式,但是这样子\(b\)就没法优化了,后面的优化还没看。
可行解: 对于某个问题,如果某个结果满足其约束条件,那么该结果就是该问题的可行解。比如:
有以下问题:
s.t:\space y>= 1
\]
那么\(y=4\)就是可行解,因为其满足约束条件。
SVM公式详尽推导,没有思维跳跃。的更多相关文章
- 机器学习:SVM(目标函数推导:Hard Margin SVM、Soft Margin SVM)
一.Hard Margin SVM SVM 的思想,最终用数学表达出来,就是在优化一个有条件的目标函数: 此为 Hard Margin SVM,一切的前提都是样本类型线性可分: 1)思想 SVM 算法 ...
- kalman滤波器公式的推导
卡尔曼滤波的使用范围: 该系统要有如下关系: 计算步骤: PART0:INI PART1:Time update 迭代的目标:从X(K-1)+ 求得X(K) + 因此,先有X(K-1)+,已知F,G. ...
- 【知识总结】卡特兰数 (Catalan Number) 公式的推导
卡特兰数的英文维基讲得非常全面,强烈建议阅读! Catalan number - Wikipedia (本文中图片也来源于这个页面) 由于本人太菜,这里只选取其中两个公式进行总结. (似乎就是这两个比 ...
- Batch Normalization 反向传播(backpropagation )公式的推导
What does the gradient flowing through batch normalization looks like ? 反向传播梯度下降权值参数更新公式的推导全依赖于复合函数求 ...
- 蔡勒(Zeller)公式及其推导:快速将任意日期转换为星期数
0. 本文的初衷及蔡勒公式的用处 前一段时间,我在准备北邮计算机考研复试的时候,做了几道与日期计算相关的题目,在这个过程中我接触到了蔡勒公式.先简单的介绍一下蔡勒公式是干什么用的. 我们有时候会遇到这 ...
- 跟我学算法-svm支持向量机算法推导
Svm算法又称为支持向量机,是一种有监督的学习分类算法,目的是为了找到两个支持点,用来使得平面到达这两个支持点的距离最近. 通俗的说:找到一条直线,使得离该线最近的点与该线的距离最远. 我使用手写进行 ...
- SVM数学原理推导&鸢尾花实例
//看了多少遍SVM的数学原理讲解,就是不懂,对偶形式推导也是不懂,看来我真的是不太适合学数学啊,这是面试前最后一次认真的看,并且使用了sklearn包中的SVM来进行实现了一个鸢尾花分类的实例,进行 ...
- SVM数学原理推导
//2019.08.17 #支撑向量机SVM(Support Vector Machine)1.支撑向量机SVM是一种非常重要和广泛的机器学习算法,它的算法出发点是尽可能找到最优的决策边界,使得模型的 ...
- 回顾Games101图形学(一)几何变换中一些公式的推导
回顾Games101 chatper1 - 6 前言 本文只写回顾后重新加深认识的知识 透视除法的意义 经过MVP矩阵之后,将模型空间下某点的坐标,转换成了裁剪空间下的坐标,此时因为裁剪空间的范围是x ...
随机推荐
- 论文阅读 TEMPORAL GRAPH NETWORKS FOR DEEP LEARNING ON DYNAMIC GRAPHS
14 TEMPORAL GRAPH NETWORKS FOR DEEP LEARNING ON DYNAMIC GRAPHS link:https://scholar.google.com.hk/sc ...
- javascript与事件
javascript与事件 js常用事件 js捕捉回车键 js回调函数的event参数(一直都有传,就看你有没有接,有没有接的需求) event.keyCode(事件句柄:onkeydown) key ...
- day01--MarkDown语法格式
MarkDown语法格式 标题 一级标题 一级标题: 井号+空格+标题名字 二级标题 二级标题: 双井号+空格+标题名字 三级标题 三级标题: 三井号+空格+标题名字 ......... 字体 斜体( ...
- Javaweb-JSP详解
一.什么是JSP Java Server Pages:Java服务器端页面,和Servlet一样,用于动态web技术 最大的特点: 写JSP就像在写HTML 区别: HTML只给用户提供静态的数据 J ...
- LabVIEW图形化的AI视觉开发平台(非NI Vision),大幅降低人工智能开发门槛
前言 之前每次进行机器学习和模型训练的时候发现想要训练不同模型的时候需要使用不同的框架,有时候费了九牛二虎之力终于写下了几百行代码之后,才发现环境调试不通,运行效率也差强人意,于是自己写了一个基于La ...
- js入门基础
JavaScript语言介绍 JavaScript的历史 诞生于1995年,最初名字叫做Mocha,1995年9月改为LiveScript.Netscape公司与Sun公司(Java语言的发明者)达成 ...
- Swift高仿iOS网易云音乐Moya+RxSwift+Kingfisher+MVC+MVVM
效果 列文章目录 因为目录比较多,每次更新这里比较麻烦,所以推荐点击到主页,然后查看iOS Swift云音乐专栏. 目简介 这是一个使用Swift(还有OC版本)语言,从0开发一个iOS平台,接近企业 ...
- Win10系统下基于Docker构建Appium容器连接Android模拟器Genymotion完成移动端Python自动化测试
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_196 Python自动化,大概也许或者是今年最具热度的话题之一了.七月流火,招聘市场上对于Python自动化的追捧热度仍未消减,那 ...
- 使用rust调用c++静态库并编译nodejs包
在项目上经常要用到身份证阅读器.护照阅读仪.指纹仪等各种品牌硬件,假如每套系统的都做集成开发那代码的维护成本将变得很高,为此采用rust来调用厂家提供的sdk c++开发包并封装成nodejs包,用f ...
- odoo 14 一些常见问题集
1 # 当你往tree或者form视图中增加action的时候 2 # 记住!千万别重名 3 # 一旦重名,Export.Delete.Archive.Unarchive都会消失不见 4 # tree ...