斯坦福公开课《机器学习》第五章SVM笔记

为函数间隔的定义

考虑训练样本里r hat的最小值,对应的是训练样本里函数间隔的最坏情形:

几何间隔:

= r hat / || w ||

最优间隔分类器的定义:

拉格朗日对偶性:略。

若要dual*=primary*=L(w*, α*, β*),w*, α*,β*满足KKT dual complementarity condition(KKT对偶互补条件):

优化间隔分类器:

考虑此分类器的定义,令:

则可得拉格朗日优化问题:

对w, b求偏导数如下:

此外又有:

进而得到:

核函数:(未理解明白)

用核函数代替上式中的内积,将变量映射到更高维空间。这样计算内积就好,而不必把向量装入内存(事实上也装不下)。

此式对应的 映射 为:

高斯核:

如何判断一个核是valid的:

即:K是一个valid的核     等价于     它所对应的核矩阵是对称半正定矩阵

在数据是非线性可分的情况下:

称为     L1 norm soft margin SVM。是一个凸优化问题。

它允许间隔小于1,即允许有错误的分类。

SMO算法:

坐标上升算法:

这个算法的迭代次数比较多,但在某时某情况下如果W(a1,,,am)中的某个参数求最优值的代价非常小,那么内层循环将会非常快。

SMO:

如果像svm那样只对一个α求解,同时固定其他的α。由等式(19)得到

即α也就固定了。SMO同时对两个α求解,随即得到:

此式是一个一元二次函数,易得到α1。

Andrew Ng让在John Platt的论文里寻找下面两个问题的答案:

SMO算法:

由等式

可知问题转化为求α的问题,如下:

此等式中各个参数的求解如下:

ps:不知不觉好久不写笔记。

时间: 2024-10-10 06:04:57

斯坦福公开课《机器学习》第五章SVM笔记的相关文章

Coursera公开课机器学习:Linear Regression with multiple variables

多特征 实际上我们真正买过房子的都知道,在选择房子的时候,需要考虑的不仅仅是面积,地段.结构.房龄.邻里关系之类的都应该是考虑对象,所以前面几讲谈论的,单纯用面积来谈房价,不免失之偏颇. 多考虑些特性 我们加入一些特性来考虑房价问题: 符号解释 $n$:特性数目 $x ^{(i)}$:输入的第$i$个训练数据 $x ^{(i)} _j$:第$i$个训练数据的第$j$个特性 $h _\theta (x)$ 相应的,$h _\theta (x)$也就变了: $h _\theta (x) = \the

Coursera公开课机器学习:Introduction

机器学习的定义 Arthur Samuel (1959). Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed. Tom Mitchell (1998) Well-posed Learning Problem: A computer program is said to learnfrom experience E with r

Coursera公开课机器学习:Linear Algebra Review(选修)

这节主要是回顾了下线性代数的一些简单知识. 矩阵与向量 矩阵 由$m\times n$个数$a _{ij}(i=1,2,...,m;j=1,2,...,n)$排成的$m$行$n$列的数表,称为$m$行$n$列的矩阵,简称$m\times n$矩阵,记作: $$ \matrix{A}= \begin{bmatrix} a _{11} & a _{12} & \cdots & a _{1n} \cr a _{21} & a _{22} & \cdots & a

Android深度探索——第五章读书笔记及心得

搭建S3C6410开发板的测试环境 ——第五章读书笔记及心得 通过本章的学习学会了如何在开发板上安装Android.开发板是学习和开发嵌入式技术的主要硬件设备,想要顺利的通过linux驱动访问硬件,是不能在PC板上模拟的,需要在卡发板上进行调试和测试.其相对于手机更适合与对程序进行测试,尤其是对底层linux程序进行测试.还了解了S3C6410开发板的基本信息.知道了如何安装串口调试工具以及烧写Android系统.知道了如何配置有线网络. S3C6410是一款低功耗.高性价比的精简指令集计算机处

Stanford公开课机器学习---1.Intrduction 机器学习介绍

文章是下面这个公开课的个人笔记,推荐的笔记里记的比较全,完全依据视频课程(有少量小错误),我的笔记依据课程按自己的理解记录一些重点,方便快速回顾.另外自己开始学这门课时搜到的好的资料,推荐给大家: |- Coursera上斯坦福大学Andrew Ng教授的"机器学习公开课" |-- 类 别:适合入门 |-- 网页地址: https://www.coursera.org/learn/machine-learning/outline |-- 学习笔记:推荐 @小小人_V 同学这门课程的学习

斯坦福大学公开课:iOS 7应用开发 笔记

2015-07-06 第一讲   课务.iOS概述 -------------------------------------------------- 开始学习斯坦福大学公开课:iOS 7应用开发留下笔记

斯坦福公开课:Developing IOS 8 App with Swift(1-3)心得体会

最近开始学习Swift开发移动程序.跟随斯坦福大学的公开课进行自学. 这真是一个美好的时代,虽然不能在斯坦福求学,但是可以观看录制的授课录像.讲义,好似老师在给我们上课一样! 心得: 1.每节课信息量很大,每个词,每个操作都是有意而为之的.需要课后好好体会,针对课上讲的知识点多练习.多阅读才能有所体会并掌握要点. 2.英语不过关是短腿.这导致了要看字幕.老师的屏幕上输出的代码.老师鼠标操作.另外字幕中出现的不容易翻译的词语是直接输出的英文原文. 导致眼睛要上下左右到处看,很是狼狈.即便如此也经常

JavaScript高级程序设计(第3版)第五章读书笔记

第五章 引用类型 创建Object实例的方式有两种,第一种是使用new操作符后跟Object构造函数,例如: var person = new Object( ); person.name = “Nicholas”; person.age=29; 第二种是使用对象字面量表示法.如: var person = { name : “Nicholas”, age : 29 }; 在最后一个属性后面添加逗号,会在IE7及更早版本和Opera中导致错误. 两种访问对象属性的方法,一是方括号语法,例如per

大道至简第五章阅读笔记

这次第五章的内容谈到了工程的实质内容,那就是做工程做项目的过程.在一个项目中,理解了客户的需求之后就该分析具体的实施计划,很多人总是会做瀑布模型然后按照模型的样子去做完过程的每一个阶段,但是每个阶段又是做过场一样,说起来是有这个步骤,有这一项的规划,但真正的实质内容并没有多少,这样的过场真的是没有什么意义,只是空有其表罢了,做一个项目,我们面对的的客户,我们在最后是要把成型的,有用的,能达到客户要求的项目拿出来的,所以说实现才是我们最终的目的,无论我们要做的是一个小的工具还是一个大的项目,做工程