这一章主要解说Ng的机器学习中SVM的兴许内容。主要包括最优间隔分类器求解。核方法。

  • 最优间隔分类器的求解

利用以一篇讲过的的原始对偶问题求解的思路,我们能够将相似思路运用到SVM的求解上来。

详细的分析例如以下:

对于SVM求解的问题:



我们把约束条件略微变形一下:



仅仅有函数间隔是1的点才干使上式取等号,也就是有意义的。例如以下图:



叉叉和圈圈分别代表正反例,能够看出,仅仅有落在边缘的点的α≠0,这些点才是支持向量。其它的点α=0,对切割超平面没有意义。上图的支持向量一共同拥有3个。

写出拉格朗日表达式:



依据对偶问题求解思路:

解对偶问题时,首先要固定α,以 w,b 为变量,最小化 L;

最小化 L 时,求解 L 对 w和 b 的偏导。并将导数设为 0。能够得到:





解出来:



代入原始的拉格朗日表达式:



部分推导步骤例如以下(感谢大神分享):



最后一项是0,原式化简为:



注意到:是向量的内积,我们能够进一步简化书写。

此时的拉格朗日函数仅仅包括了变量α,我们求出了α就能够得到b和w。

接下来极大化最小值:



这里的目标函数和线性约束都是凸函数,不存在等式约束 h。存在 w使得对于全部的 i。gi(W)< 0。因此,一定存在w∗, α∗使

得w∗是原问题的解, α∗是对偶问题的解。接下来就是求得α。

然后就能够得到:



也能够得到W:



即离超平面近期的正的函数间隔要等于离超平面近期的负的函数间隔。这个不难理解,就是仅仅有是平分线时候才离两側都最远。

求得W后,我们得到:



对于怎样求得α,在下一篇博客中介绍。

  • 核方法

对于開始时提出来的房屋价格与面积的关系问题,设XY各自是房屋面积和价格,假设我们知道x和y满足三次函数关系,那么我们就能够使用三次多项式拟合x和y的关系。可是我们首先要将特征扩展到(x,x^2,x^3),这个过程叫做特征映射。我们表示为φ,在这个问题中:



假设我们希望将映射后的特征用于SVM的分类,就要将内积

映射为:

假设例子可能存在线性不可分的情况,而将特征映射到高维空间后。往往就可分了。

我们定义核函数:



我们仅仅须要做计算,就能够完毕映射,可是这样做复杂度非常高。比方最初的特征是 n 维的,我们将其映射到n^2维,然后再计算,这样须要O(n^2)的时间。我们考虑简化方法:

对于一个特例:假设 x 和 z 都是 n 维的,



展开后:

不难看出。这个时候发现我们能够仅仅计算原始特征 x 和 z 内积的平方,就等价与计算映射后特征的内积。此时:



对于还有一个相似的核函数:



我们能够表示为:



更一般的表示。对于一个形如:

的核函数。其映射后的特征是 维度。 向量中每一个元素都是最高为 d 阶的变量的组合。

假设直接计算核函数的值。其复杂度均为 O(n),这就避免了直接计算内积结果的复杂度。

假设ϕ(x)和ϕ(z)在其相应的维度空间中位置接近,那么内积值 K 会非常大,

反之则内积会小。这有点相似两个向量的乘积。这意味着核函数 K 是一个度量向量 x 和向量 z接近程度的指标 。

假设 x 和 z 相差非常大( ||x − z|| ≫ 0)。那么核函数值约等于 0。



由于这个函数相似于高斯分布,因此称为高斯核

函数,也叫做径向基函数(Radial Basis Function 简称 RBF)。

它能够把原始特征映射到无穷维(泰勒展开式有无穷项多项式)。

使用了核函数后,原始的 变成了,我们不必求解核函数表达式,仅仅须要将内积替换为 就可以。

那么什么样的函数才干作为核函数呢?

给定一个函数K,是否存在φ,使得 对全部的x和z都成立?也就是说,假设核函数合法,那么必定能写成两个映射函数乘积的形式。

首先定义核矩阵。对于一个数据集, 定义一个

m*m 的矩阵 K( K 既代表核函数也代表核矩阵)。 K 中的每一个元素定义例如以下:

这样能够计算出 m*m 的核函数矩阵( Kernel Matrix)。

依据核函数定义,有下式子:





也就是说,矩阵K是对称的。我们令 代表矩阵K的第k维,那么对于随意的向量Z,我们得到:

从这个公式我们能够看出,假设 K 是个有效的核函数。那么。在训练集上得到的核函数矩阵 K 应该是半正定的( K ≥ 0)。结合曾经的结论,K矩阵应该是对称半正定的。

这个条件也是充分的,由 Mercer 定理来表达:



核函数不仅仅用在 SVM 上,仅仅要是计算中有内积出现。就能够替换为核函数。

  • 不可分情况的处理

对于低维不可分问题,我们能够通过核函数映射到高维,一般就能够线性可分,可是仍然不能保证一定能够线性可分,那么我们应该採用零哟中思路找到一个最合适的超平面进行切割。例如以下图所看到的:



第二图由于一个噪声点可能会造成切割平面移动甚至线性不可分。我们应该同意一些点游离在我们定义的规则之外,此时的条件例如以下:



原有的问题增加了非负參数ξ。可是放松限制条件后。我们需

要又一次调整目标函数,以对离群点进行处罚,也就是增加了惩处项C,C越大。代表越不希望出现离群点。

能够得到修改后的拉格朗日表达式:



依照之前的求解思路:



能够看到公式并没有什么变化,仅仅是多了一个限制条件。可是事实上b的求解也会发生变化,详细到SMO算法的时候再解说。

KKT条件也会发生变化:

Andrew Ng机器学习笔记+Weka相关算法实现(五)SVM最优间隔和核方法的更多相关文章

  1. Andrew Ng机器学习笔记+Weka相关算法实现(四)SVM和原始对偶问题

    这篇博客主要解说了Ng的课第六.七个视频,涉及到的内容包含,函数间隔和几何间隔.最优间隔分类器 ( Optimal Margin Classifier).原始/对偶问题 ( Primal/Dual P ...

  2. 斯坦福大学Andrew Ng - 机器学习笔记(5) -- 支持向量机(SVM)

    大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ...

  3. 斯坦福大学Andrew Ng - 机器学习笔记(4) -- 机器学习算法的选择与评估

    大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ...

  4. 吴恩达(Andrew Ng)——机器学习笔记1

    之前经学长推荐,开始在B站上看Andrew Ng的机器学习课程.其实已经看了1/3了吧,今天把学习笔记补上吧. 吴恩达老师的Machine learning课程共有113节(B站上的版本https:/ ...

  5. 斯坦福大学Andrew Ng - 机器学习笔记(8) -- 推荐系统 & 大规模机器学习 & 图片文字识别

    大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ...

  6. 斯坦福大学Andrew Ng - 机器学习笔记(7) -- 异常检测

    大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ...

  7. 斯坦福大学Andrew Ng - 机器学习笔记(6) -- 聚类 & 降维

    大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ...

  8. 斯坦福大学Andrew Ng - 机器学习笔记(3) -- 神经网络模型

    大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ...

  9. 斯坦福大学Andrew Ng - 机器学习笔记(2) -- 逻辑回归 & 正则化

    大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ...

随机推荐

  1. Visual Studio跨平台开发(4):Xamarin Android控制项介绍

    前言 不同于iOS, Xamarin 在Visual Studio中针对Android, 可以直接设计使用者界面. 在本篇教学文章中, 笔者会针对Android的专案目录结构以及基本控制项进行介绍, ...

  2. Visual Studio跨平台开发(1):Hello Xamarin!

    前言 应用程序发展的脚步, 从来没有停过. 从早期的Windows 应用程序, 到网络时代的web 应用程序, 再到近几年相当盛行的行动装置应用程序(Mobile Application), 身为C# ...

  3. js-限制参与活动的范围(微信H5活动)

    近期接到大连某个项目,一个H5的活动,其中有一个需求就是:这个活动的参与者仅限大连地区的用户 所以参考了微信API 得出的操作结果为: wx.ready(function() { wx.getLoca ...

  4. (28)C#委托,匿名函数,lambda表达式,事件

    一.委托 委托是一种用于封装命名和匿名方法的引用类型. 把方法当参数,传给另一个方法(这么说好理解,但实际上方法不能当参数,传入的是委托类型),委托是一种引用类型,委托里包含很多方法的引用 创建的方法 ...

  5. 用SparkSQL构建用户画像

    用SparkSQL构建用户画像 二.  前言 大数据时代已经到来,企业迫切希望从已经积累的数据中分析出有价值的东西,而用户行为的分析尤为重要. 利用大数据来分析用户的行为与消费习惯,可以预测商品的发展 ...

  6. Lightoj 1348 Aladdin and the Return Journey (树链剖分)(线段树单点修改区间求和)

    Finally the Great Magical Lamp was in Aladdin's hand. Now he wanted to return home. But he didn't wa ...

  7. TCP/IP,HTTP,SOAP等协议之区别

    术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议.“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络.把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到 ...

  8. DB Link

    oracle中DB Link select * from TB_APP_HEADER@SSDPPORTAL

  9. spirng整合rmi

        Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可 ...

  10. apache 单独生成模块

    apache 单独生成模块 一般这种模块都是后期自己去生成的,比如一般在安装apache时都会--enable-so  ,允许动态加载模块. 这个模块你可以这样去生成. 1.下载一个与当前使用的apa ...