热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

林轩田机器学习技法(MachineLearningTechniques)笔记(二)

林轩田机器学习技法(MachineLearningTechniques)笔记(一)林轩田机器学习技法(Mach

林轩田机器学习技法(Machine Learning Techniques)笔记(一)
林轩田机器学习技法(Machine Learning Techniques)笔记(三)



Dual Support Vector Machine



P6 2.1
在这里插入图片描述
L1 讲的是线性支持向量机,接下来L2讲的是对偶支持向量机。
在这里插入图片描述
上节就讲了下求non-linear SVM的方法,转换到z空间的时候,QP问题会有 d~ + 1 个变数(和N个常数)来解,要解决 d~ 很大,甚至是无穷的问题,让SVM不依赖于d~ :

我们可以把original的SVM转成等效的SVM
在这里插入图片描述
这就是对偶问题:
在这里插入图片描述
我们可以仿照之前regularization,引入λ,将条件问题转换为非条件问题,而λ的个数就是N
在这里插入图片描述
在这里插入图片描述
定义拉格朗日函数,相关文献通常把 λ 写成 α
在这里插入图片描述
把SVM转换成右式子
在这里插入图片描述
如果满足不了 s.t. 的(b,w)那么1-yn(wTzn+b)就是整数,选取max的话,就会到达无穷大,因为最终要到是min,这样就会筛掉这种不满足 s.t. 的(b,w)
如果满足了的话,yn(wTzn+b)会是个非负数,因为有个max且a>=0,所以 yn(wTzn+b)=0(注意可以不要∑\sum,因为a>=0,只能是每一项都=0,才可以求和=0),那么式子就是 12wTw\frac{1}{2} w^Tw21wTw
这样即有效地筛掉不满足 s.t. 的数据,又能找到最小的12wTw\frac{1}{2} w^Tw21wTw



P7 2.2
上节把SVM转成拉格朗日式子,那么,如何找到该式子的下限?对于任何(b,w)来说,都有这个:
在这里插入图片描述
因为对于任何都成立,所以取右式子最大的,还是成立的:
在这里插入图片描述
右式成为拉格朗日的对偶(dual)问题,如果解决了这个问题,也就找出SVM的下限。

在这里插入图片描述
因为满足绿色的三个条件,所以是个强关系(对于QP问题),所以就可以直接等同了,也说明了有组(b,w,α)满足等式两边:
在这里插入图片描述
现在没有什么限制了,所以开始解这个:
在这里插入图片描述
因为是min,所以要求:
在这里插入图片描述
因此我们可以加上这个限制,并把式子化一化:
在这里插入图片描述
可以看出最后一项是 b*0 ,所以变成:
在这里插入图片描述
同样,因为min,所以要给L求个w的偏导=0,得出w为一个固定的数,然后开始化简,min可以不用看了,是因为max有了下面一系列规定之后,式子里头没有b和w,剩下的就只用考虑 α 就可以了。
在这里插入图片描述
最后成这个满足最佳化的4个条件为KKT。补充一下:第四点(哈利波特和伏地魔必须活一个)那个,yn(wTzn+b)=1的话(说明点正好在分界线上,这些α>=0点就是SV),式子自然为0,>1的话,根据2.1最后那个图,使得2.1那个图的式子取min,那么αn就只能取0了,所以最终这里的式子也是0。
在这里插入图片描述
最后是funtime小练习巩固,感觉挺有意思的,②要去看回 L(b,w,α) 的定义,就知道了yn和zn=1,然后w=∑αnynzn\sumα_ny_nz_nαnynzn就出来了。③是因为sigma的每一项都要是0(KKT下),所以就 = 0,对于α2(w-3)的问题,感觉可以不用管具体w和yn,zn怎么弄的,总之整体要为0就是了。



P8 2.3
在这里插入图片描述
把上节的式子简单化简一下,max->min,然后把平方化开。不加上w = … 的条件是因为这个十字关注点是在 αn 上。然后发现这是个凸(convex)QP问题,有N个变量(αn),然后又N+1的条件(constraint)(N个αn要大于零,1个∑n=1Nynαn=0\sum_{n=1}^N y_nα_n=0n=1Nynαn=0,共N+1个),然后开始套QP。
在这里插入图片描述
注:一般QP输入的时候可以不用把"="拆成两个不等式,直接写,然后范围bound也可以直接写。
在这里插入图片描述
然而,注意到q是dense的,稠密的矩阵,即里面的值很多不是非零的,计算量和存储量很大,所以要用一个专门为SVM设计的方法。
在这里插入图片描述
通过KKT的4个条件,我们可以推出w和b。特别的,当αn>0α_n>0αn>0的时候,1−yn∗(wTzn+b)=11-y_n*(w^Tz_n+b) = 11yn(wTzn+b)=1,而=1 恰好表示点是在SVM胖胖的边界上的(fat boundary),至于为什么嘛。。估计又得看看超平面了。
在这里插入图片描述



P9 2.4
在这里插入图片描述
我们在上节知道了α > 0 的时候,点在边界上。但是在分类线上的点不一定支持向量(可能有α = 0的情况),所以现在称α>0的点为support vectors(SV),仅针对这些SV(就是α>0的)做研究,范围可能会缩小一些。
在这里插入图片描述
因此 w和b 都可以只靠SV算出来,因为不是SV的话,即 α = 0 的话,它俩没有意义。
在这里插入图片描述
SVM和PLA的式子很像,他们都是ynzny_nz_nynzn的线性组合,其他的w也差不多,可以说,w是资料表现出来的。SVM中的w是只由SV表示的,PLA则是由犯错的点表示出来。哲学上,我们要知道要用什么东西,来表现我们的w。

在这里插入图片描述
对比两种SVM的表示方法:原始(primal)和对偶(dual),hard-margin就是ooxx严格分类不容出错的意思。一般是用Dual SVM。

在这里插入图片描述
最后:虽然说dual svm只和N有关,但其实 d~藏在了q中,接下来会讲解怎么避开这个 d~

最最后的总结:
在这里插入图片描述


推荐阅读
  • 机器学习算法:SVM(支持向量机)
    SVM算法(SupportVectorMachine,支持向量机)的核心思想有2点:1、如果数据线性可分,那么基于最大间隔的方式来确定超平面,以确保全局最优, ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 如何选择机器学习方法http:scikit-learn.orgstabletutorialmachine_learning_mapindex.html通用学习模式只需要先定义 ... [详细]
  • Irish budget airline Ryanair announced plans to significantly increase its route network from Frankfurt Airport, marking a direct challenge to Lufthansa, Germany's leading carrier. ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 深度学习: 目标函数
    Introduction目标函数是深度学习之心,是模型训练的发动机。目标函数(objectfunction)损失函数(lossfunction)代价函数(costfunction) ... [详细]
  • 分隔超平面:将数据集分割开来的直线叫做分隔超平面。超平面:如果数据集是N维的,那么就需要N-1维的某对象来对数据进行分割。该对象叫做超平面,也就是分类的决策边界。间隔:一个点 ... [详细]
  • td{border:1pxsolid#808080;}参考:和FMX相关的类(表)TFmxObjectIFreeNotification ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • publicclassBindActionextendsActionSupport{privateStringproString;privateStringcitString; ... [详细]
  • 一、Advice执行顺序二、Advice在同一个Aspect中三、Advice在不同的Aspect中一、Advice执行顺序如果多个Advice和同一个JointPoint连接& ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
author-avatar
平凡2188
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有