Andrew Ng机器学习笔记+Weka相关算法实现(四)SVM和原始对偶问题
这篇博客主要解说了Ng的课第六、七个视频,涉及到的内容包含,函数间隔和几何间隔、最优间隔分类器 ( Optimal Margin 
Classifier)、原始/对偶问题 ( Primal/Dual Problem)、 SVM 的对偶问题几个部分。
- 函数间隔和几何间隔
函数间隔( functional margin) 与几何间隔( geometric margin)是理解SVM的基础和前提。 
如果y∈{-1,1},而不再是0,1,我们能够将分类器函数表演示样例如以下: 
 
这里的b參数事实上就是原来的X0,那么我们能够知道,W和B决定了一个确定的超平面。 
给定一个训练样本,我们定义函数间隔: 
 
则当y(i)=1的时候,为了使函数间隔最大,我们要使取得一个较大的正数,当y(i)=-1时。我们要使得上式取到一个非常小的负值。 
接下来我们能够定义全局的函数间隔: 
 
也就是说全局的函数间隔取决于函数间隔最小的那个样本点。 
但同一时候也不难发现这里有一个问题,如果同一时候加大 w 和 b。则能够非常easy的添加函数间隔。可是这样对实际求解是没有意义的的。我们为了限制 w 和 b。须要添加归一化条件。 
接下来引入几何间隔: 
 
对于上面的图片,如果切割面上有一点B,它是A在这个切割面上的投影。这个间隔我们用γ表示,那么我们非常easy知道BA的方向事实上就是切割面的梯度方向。其单位向量是:,它的长度是1,方向和BA方向一致。那么我们如果A点的坐标是:
, 
这样我们不难表示出B点的坐标: 
 
将坐标代入切割面方程 
我们得到下式: 
 
所以: 
 
对于全局的γ,我们须要乘上类别: 
 
这就是点到平面的几何间隔。我们不难看出,当||W||=1时。几何间隔就是函数间隔。相同我们能够定义全局几何间隔: 
- 最优间隔分类器
我们的目标是寻找到一个超平面。使得这个平面与离它近期的点距离最大,而不关心其它的点到平面的距离。 
形式化表演示样例如以下: 
 
接下来的目标就是求得这个切割面的參数W和b。可是我们看到上述函数的约束条件是||W||=1。这是一个球面,典型的非凸优化问题,难以求解。我们要进行适当的变换。考虑几何间隔和函数间隔的关系: 
 
我们能够将原问题转化为: 
 
我们最好还是再令: 
那么原问题就是求取1/||W||的最大值。也就是||W||平方的最大值,原问题进一步能够转化为以下问题: 
 
这个问题就变成了一个典型的二次规划问题,原问题变得能够求解。
- 拉格朗日对偶
为了求解上述问题。我们先看下一种最简单的等式约束: 
 
对于上述问题。我们一般能够用拉格朗日乘子法来求解。引入变量β: 
 
构造出上述拉格朗日乘式子。则原问题能够通过分别对W和β求偏导数 
 
并令偏导数为0来求解出W和β。详细的数学证明就不在此解说了,本科《微积分》都学过。 
以下我们就是要将等式的情况推广到不等式,考虑到以下的求解问题: 
 
存在不等式约束条件。依旧构造拉格朗日表达式: 
 
由于两个表达式。我们要引入αβ两个变量。 
依照之前的求解方法,这个问题求解会遇到一个非常大的问题: 
由于g(W)<0,我们将α=正无穷,则表达式值变为负无穷,这样是没有意义的。因此我们必须避免这种情况,定义下式: 
 
我们令α>0,则仅仅有 g 和 h 满足约束时。 θ(w)为 f(w),也就是: 
 
这样原问题求 min f(w)就等价于求minθ(w)。 
我们令: 
 
又一次定义一个函数: 
 
并令: 
 
则有下列关系: 
 
也就是最小值的最大值小于或等于最大值的最小值。这个问题是原问题的对偶问题。相对于原问题仅仅是更换了 min 和 max 的顺序,在这里取等号。条件例如以下描写叙述:
①如果约束不等式 gi都是凸 ( convex)函数(线性函数都属于凸函数) 
②约束等式 hi 都是仿射( affine)函数(形如h(w)=wTx+b) 
③而且存在 w使得对于全部的 i,gi(W)< 0
在这些如果下,肯定存在 ω∗, α∗, β∗,使得ω∗是原始问题的解,  α∗, β∗是对偶问题的解,且P∗ = d∗ = L(ω∗, α∗, β∗)。这种ω∗, α∗, β∗须要满足 KKT( Karush-Kuhn-Tucker)条件。 KKT条件例如以下: 
 
如果ω∗, α∗, β∗满足了库恩-塔克条件,那么他们就是原问题和对偶问题的解。 
从上式能够看出来: 
α∗> 0,那么gi(w∗) = 0。
满足gi(w∗) = 0的w 处于可行域的边界上。这时候的W才干真正实用。内部的点,满足gi(w∗) <0都是没有意义的。这就引出了SVM的支持向量的概念。
Andrew Ng机器学习笔记+Weka相关算法实现(四)SVM和原始对偶问题的更多相关文章
- Andrew Ng机器学习笔记+Weka相关算法实现(五)SVM最优间隔和核方法
		这一章主要解说Ng的机器学习中SVM的兴许内容.主要包括最优间隔分类器求解.核方法. 最优间隔分类器的求解 利用以一篇讲过的的原始对偶问题求解的思路,我们能够将相似思路运用到SVM的求解上来. 详细的 ... 
- 斯坦福大学Andrew Ng - 机器学习笔记(5) -- 支持向量机(SVM)
		大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ... 
- 斯坦福大学Andrew Ng - 机器学习笔记(4) -- 机器学习算法的选择与评估
		大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ... 
- 吴恩达(Andrew Ng)——机器学习笔记1
		之前经学长推荐,开始在B站上看Andrew Ng的机器学习课程.其实已经看了1/3了吧,今天把学习笔记补上吧. 吴恩达老师的Machine learning课程共有113节(B站上的版本https:/ ... 
- 斯坦福大学Andrew Ng - 机器学习笔记(8) -- 推荐系统  &  大规模机器学习  &  图片文字识别
		大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ... 
- 斯坦福大学Andrew Ng - 机器学习笔记(7) -- 异常检测
		大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ... 
- 斯坦福大学Andrew Ng - 机器学习笔记(6) -- 聚类  &  降维
		大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ... 
- 斯坦福大学Andrew Ng - 机器学习笔记(3) -- 神经网络模型
		大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ... 
- 斯坦福大学Andrew Ng - 机器学习笔记(2) -- 逻辑回归 & 正则化
		大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ... 
随机推荐
- Android之 服务(1)
			1 简介 服务是Android四大组件之一.不过与Activity不同的是,服务不会直接与用户交互,而是摸摸地在后台运行. 有两种方式来启动系统服务. 一种是调用 Context.startServi ... 
- 最短路——spfa
			适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了. 我们约定有向加权图G不存在负权回路,即最短路径一 ... 
- 【BZOJ 1062】 1062: [NOI2008]糖果雨 (二维树状数组)**
			1062: [NOI2008]糖果雨 Description 有一个美丽的童话:在天空的尽头有一个" 糖果国" ,这里大到摩天大厦,小到小花小草都是用糖果建造而成的.更加神奇的是, ... 
- Android Studio --> Gradle Build设置自动
			ps:http://www.cnblogs.com/kangyi/p/4448398.html 应用场景 通常情况下我们的apps发布后也就是release模式下log是不显示的,debug模式下是显 ... 
- Codeforces Round #302 (Div. 1) C. Remembering Strings DP
			C. Remembering Strings Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/5 ... 
- leetcode47. Permutations II
			leetcode47. Permutations II 题意: 给定可能包含重复的数字的集合,返回所有可能的唯一排列. 思路: 这题全排列两种写法. 用hash表记录已经visit的数字,虽然看起来很 ... 
- Visual Studio 2015创建Shared Project时出错
			今天使用Visual Studio 2015创建共享项目的时候发现如下错误: 网上搜了一下,发现了同样有人问这个问题的问题:Why can't I create Shared Project in V ... 
- [SQL基础]入门
			目录 什么是SQL? SQL能做什么? RDBMS SQL常见数据类型 SQL语法 什么是SQL? 结构化查询语言(Structured Query Language)简称SQL. 结构化查询语言是一 ... 
- FIS3配置fis-conf.js
			设置规则的配置接口: fis.match(selector, props); 1.添加md5戳:对 js.css.png 图片引用 URL 添加 md5 戳: fis.match('*.{js,css ... 
- 如何编译Linux内核
			内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广 大爱好者的支持下,内核版本不断更新.新的内核修订了旧内 ... 
