Machine Learning第七周笔记:支持向量机
来源:互联网 发布:彗星dns优化器 编辑:程序博客网 时间:2024/05/18 23:57
博客已经迁移到Marcovaldo’s blog (http://marcovaldong.github.io/)
今天在Cousera上学习了Machine Learning的第七周课程,这一周主要介绍了支持向量机(support vector machine),将学习笔记整理在下面。
Support Vector Machine
Large Margin Classification
Optimization Objective
我们通过逻辑回归来引出支持向量机。下图给出了逻辑回归的
我们来对逻辑回归的损失函数做一下分析,先在下面给出损失函数:
从training set中取出一组数据(
调整为
此时得到的这个函数就是我们在支持向量机中用到的损失函数,求解此最小值问题得到的
Large Margin Intuition
首先给出SVM的损失函数:
在逻辑回归中,我们的初衷是对于training set中的任何一组数据(
首先假设损失函数中的参数C是一个很大的值,我们来观察SVM是如何工作的。在对损失函数最小化的过程中,我们需要让
我们来看下图中的例子,图中的数据点是线性可分的,也就是说可以找到无数条直线(无数个超平面)来将两个类别完全分开。在下图中画出的三条decision boundary中,黑色直线所表示的那条要优于另外两条,因为它更robust地将两个类别分开了。图中两条蓝色直线分别表示两个类别中数据点与黑色decision boundary的最小距离,这一距离称作SVM中分类超平面关于training set的函数间隔。多个超平面也就对应多个函数间隔,我们将其中最大的函数间隔称作最大函数间隔。因此我们要做的就是找到最大间隔及其对应的最大间隔分离超平面,这个最大间隔分离超平面就是我们最终得到的hypothesis。
Mathematics Behind Large Margin Classification
这一小节我们来介绍SVM涉及到的一些数学,着有助于理解SVM中的最优化目标,帮助我们更快的找到最大间隔分离超平面。我们来回顾一下内积的概念。下图给出了两个二维向量并在坐标系中画出了他们。图中红色线段p表示向量v在向量u上的投影,两个向量的内积可以表示为
其中
回到SVM,下图给出了要求解的优化问题,给出了
所以原来的优化问题就转换成了下图所示的优化问题。,给定一个training set,下图给出了两个decision boundary。在图像中选择两个数据点(
Kernels
Kernel Ⅰ
这一小节我们来介绍处理线性不可分的数据集时经常用到的核技巧(kernel trick)。
在没有学习核技巧的情况下,我们需要引入一个多项式来表示decision boundary。
现在我们在坐标系中选定三个点
我们给出一个例子,如下图所示。给出了
现在我们将前面的东西应用到分类上,假设现在我们的hypothesis如下图所给公式,其中
Kernel Ⅱ
现在我们介绍如何选取landmark。下图给出了具体过程:给定training set,其中包含m个数据点。选择m个landmark,其中
下图给出了使用了kernel的SVM:
上面的方法不适用于很大的training set,例如数据量m为5000,那就会有5000个landmark,相应的参数
SVMs in Practice
Using An SVM
这一小节我们介绍如何实际应用SVM。现在在不同的语言环境下已经有很多求解SVM参数的包供我们使用,现在我们来讨论一下C和kernel的选取。(linear kernel是指我们在使用SVM时没用引入kernel)当我们选取Gaussian kernel时,我们考虑
并不是所有的similarity function都能构造有效的kernel,kernel需要满足Mercer’s Theorem以保证SVM中的优化问题有解。这里给出了使用率较高的几种kernel:polynomial kernel/string kernel/chi-square kernel/histogram,但最常用的还是linear kernel和Gaussian kernel。
Andrew Ng是从逻辑回归出发去介绍的SVM,所以这里的SVM看起来更像是逻辑回归的一个变形,我会在以后的文章中给出对SVM的介绍。
- Machine Learning第七周笔记:支持向量机
- Andrew Ng《Machine Learning》第七讲——支持向量机SVM(Support Vector Machine)
- 周志华《Machine Learning》学习笔记(7)--支持向量机
- 周志华《Machine Learning》学习笔记(7)--支持向量机
- Machine Learning第七讲[支持向量机] --(一)最大间隔分类
- Machine Learning第七讲[支持向量机] --(二)核函数
- Machine Learning第七讲[支持向量机] --(三)SVM在实践中的应用
- Machine Learning(七)支持向量机
- 《Machine Learning》第八讲 支持向量机(SVM)
- OpenCV Machine Learning 之 支持向量机 (Support Vector Machine)
- Andrew Ng -machine learning 课堂笔记(二)第七周
- 支持向量机SVM(Support Vector Machine)详解笔记
- 《统计学习方法》第七章支持向量机学习笔记
- Stanford Machine Learning: (5). Support Vector Machines(SVM支持向量机)
- Machine Learning - XII. Support Vector Machines支持向量机(Week 7)
- Machine Learning:支持向量机通俗导论(理解SVM的三层境界)
- 『MACHINE LEARNING』读书笔记|神经网络与支持向量机的联系
- machine-learning第七周 上机作业
- 第五周项目2一三角形类(1)
- retrofit框架探究(二)
- 运算符的计算顺序
- online learning,batch learning&批量梯度下降,随机梯度下降
- 第三届河南省程序设计大赛-NYOJ-248-BUYINGFEED
- Machine Learning第七周笔记:支持向量机
- Mastering Bitcoin(掌握比特币)读书笔记
- 『NYIST』第八届河南省ACM竞赛训练赛[正式赛一]-CodeForces 237C,素数打表,二分查找
- 多表查询,左外联结,唯一条件,有的表数据为null
- tcp粘包分析
- ECharts markPoint显示问题
- 第四周项目:猜数
- 在一个数组或字符串中找到出现频率最高的那个元素的方法
- activity页面跳转传递参数的几种方法