热门标签 | 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~

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


推荐阅读
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 判断数组是否全为0_连续子数组的最大和的解题思路及代码方法一_动态规划
    本文介绍了判断数组是否全为0以及求解连续子数组的最大和的解题思路及代码方法一,即动态规划。通过动态规划的方法,可以找出连续子数组的最大和,具体思路是尽量选择正数的部分,遇到负数则不选择进去,遇到正数则保留并继续考察。本文给出了状态定义和状态转移方程,并提供了具体的代码实现。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文讨论了一个数列求和问题,该数列按照一定规律生成。通过观察数列的规律,我们可以得出求解该问题的算法。具体算法为计算前n项i*f[i]的和,其中f[i]表示数列中有i个数字。根据参考的思路,我们可以将算法的时间复杂度控制在O(n),即计算到5e5即可满足1e9的要求。 ... [详细]
  • This article discusses the efficiency of using char str[] and char *str and whether there is any reason to prefer one over the other. It explains the difference between the two and provides an example to illustrate their usage. ... [详细]
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • IB 物理真题解析:比潜热、理想气体的应用
    本文是对2017年IB物理试卷paper 2中一道涉及比潜热、理想气体和功率的大题进行解析。题目涉及液氧蒸发成氧气的过程,讲解了液氧和氧气分子的结构以及蒸发后分子之间的作用力变化。同时,文章也给出了解题技巧,建议根据得分点的数量来合理分配答题时间。最后,文章提供了答案解析,标注了每个得分点的位置。 ... [详细]
  • 本文介绍了C++中省略号类型和参数个数不确定函数参数的使用方法,并提供了一个范例。通过宏定义的方式,可以方便地处理不定参数的情况。文章中给出了具体的代码实现,并对代码进行了解释和说明。这对于需要处理不定参数的情况的程序员来说,是一个很有用的参考资料。 ... [详细]
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社区 版权所有