一.Hard Margin SVM SVM 的思想,最终用数学表达出来,就是在优化一个有条件的目标函数: 此为 Hard Margin SVM,一切的前提都是样本类型线性可分: 1)思想 SVM 算法的本质就是最大化 margin: margin = 2d,SVM 要最大化 margin,也就是要最大化 d,所以只要找到 d 的表达式,也能解决相应的问题: 2)特征空间中样本点到决策边界的距离 二维平面中: n 维空间中: 此处 n 维空间并不是 3 维的立体空间,而是指 n 个方面,或 n 个…
(写在前面:机器学习入行快2年了,多多少少用过一些算法,但由于敲公式太过浪费时间,所以一直搁置了开一个机器学习系列的博客.但是现在毕竟是电子化的时代,也不可能每时每刻都带着自己的记事本.如果可以掏出手机或iPad登陆网站就可以看到自己的一些笔记,才更有助于知识的巩固.借此机会,重新整理各大算法,希望自己能有更深的认识,如果有可能,也大言不惭的说希望能够帮助到需要帮助的朋友-) (本篇博客内容来自台大林轩田老师Coursera Machine Learning Technology视频及周志华老师…
之前分为两部分讨论过SVM.第一部分讨论了线性SVM,并且针对线性不可分的数据,把原始的问题转化为对偶的SVM求解.http://www.cnblogs.com/futurehau/p/6143178.html 然后考虑到特征数量特别特别多的时候,引入核函数的求解.http://www.cnblogs.com/futurehau/p/6149558.html 但是,之前也遗留了一个问题,就是比如高斯核函数或其他的核函数,虽然large margin能够在一定程度上防止过拟合,但是加入你的核函数太…
Soft Margin SVM  (1)Recall 之前分析到SVM的模型为: \begin{align}\mathop{\min}&\quad \frac{1}{2}w^\prime w\nonumber\\\mathop{s.t}&\quad y_i(x_i^\prime w+b)\geq 1, i=1,2,\cdots,m\label{model:SVM}\end{align} 利用Lagrange乘子法转化为对偶问题: \begin{align}\mathop{\max}&…
机器学习算法实践:Platt SMO 和遗传算法优化 SVM 之前实现了简单的SMO算法来优化SVM的对偶问题,其中在选取α的时候使用的是两重循环通过完全随机的方式选取,具体的实现参考<机器学习算法实践-SVM中的SMO算法>.(http://pytlab.github.io/2017/09/01/机器学习算法实践-SVM中的SMO算法/) 本文在之前简化版SMO算法的基础上实现了使用启发式选取α对的方式的Platt SMO算法来优化SVM.另外由于最近自己也实现了一个遗传算法框架GAFT,便…
支持向量机整理 参考: Alexandre KOWALCZYK大神的SVM Tutorial http://blog.csdn.net/alvine008/article/details/9097111 http://blog.csdn.net/zouxy09/article/details/17292011 http://blog.csdn.net/zy_zhengyang/article/details/45009431 介绍整理了SVM的基本数学推导,SMO算法的基本过程,LibSVM的用…
线性SVM算法的一般过程 线性SVM的推导 超平面方程 SVM是用来分类的.给定一系列输入数据(n维向量),需要找到一个切分界线(n-1维的超平面),这里假定数据是线性可分的.比如,二维数据的超平面是直线,三维数据的超平面是二维平面.以二维数据为例: 二维平面的直线一般式:\(Ax+By+C=0\),可以写成向量的形式: \[ \pmatrix {A \ B}\pmatrix {x\\y}+C=0 \] 令\(\vec w=\pmatrix {A\\B}\),\(\vec x=\pmatrix{…
主要记录了SVM思想的理解,关键环节的推导过程,主要是作为准备面试的需要. 1.准备知识-点到直线距离 点\(x_0\)到超平面(直线)\(w^Tx+b=0\)的距离,可通过如下公式计算: \[ d = \frac{w^Tx_0+b}{||w||}\] 因为公式分子部分没有带绝对值,因此计算得到的d有正负之分.因为超\(w^Tx+b=0\)将空间分为两部分(以2维为例,直线\(w_1x+w_2y+b=0\),将二维空间划分为上下两部分),其中一部分d大于0,另一部分d小于0. 上面距离公式的简单…
一.SVM SVM的英文全称是Support Vector Machines,我们叫它支持向量机.支持向量机是我们用于分类的一种算法. 1 示例: 先用一个例子,来了解一下SVM 桌子上放了两种颜色的球,用一根棍分开它们,要求:尽量在放更多球之后,仍然适用. 我们可以这样放: 又在桌上放了更多的球,似乎有一个球站错了阵营.显然,我们需要对棍做出调整. SVM就是试图把棍放在最佳位置,好让在棍的两边有尽可能大的间隙.这个间隙就是球到棍的距离. 现在好了,即使放了更多的球,棍仍然是一个好的分界线.…
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.1 SVM损失函数 从逻辑回归到支持向量机 为了描述支持向量机,事实上,我将会从逻辑回归开始展示我们如何一点一点修改来得到本质上的支持向量机. 逻辑回归公式 逻辑回归公式如下图所示, 可以看出逻辑回归公式由两个变量x和\(\theta\)构成,其中x表示输入的数据,而\(\theta\)是可学习的变量,如图中右半部分所示,其图像坐标轴横轴为x.\(h…