首页 数据库 mysql教程 【理论】支持向量机2: Support Vector 介绍支持向量机目标

【理论】支持向量机2: Support Vector 介绍支持向量机目标

Jun 07, 2016 pm 03:43 PM
vector 介绍 支持 理论 目标

【原文:http://blog.pluskid.org/?p=682】 上一次介绍支持向量机,结果说到 Maximum Margin Classifier ,到最后都没有说“支持向量”到底是什么东西。不妨回忆一下上次最后一张图: 可以看到两个支撑着中间的 gap 的超平面,它们到中间的 separating hyper

【原文:http://blog.pluskid.org/?p=682】

上一次介绍支持向量机,结果说到 Maximum Margin Classifier ,到最后都没有说“支持向量”到底是什么东西。不妨回忆一下上次最后一张图:

【理论】支持向量机2: Support Vector  介绍支持向量机目标

可以看到两个支撑着中间的 gap 的超平面,它们到中间的 separating hyper plane 的距离相等(想想看:为什么一定是相等的?),即我们所能得到的最大的 geometrical margin γ? 。而“支撑”这两个超平面的必定会有一些点,试想,如果某超平面没有碰到任意一个点的话,那么我就可以进一步地扩充中间的 gap ,于是这个就不是最大的 margin 了。由于在 n 维向量空间里一个点实际上是和以原点为起点,该点为终点的一个向量是等价的,所以这些“支撑”的点便叫做支持向量。

很显然,由于这些 supporting vector 刚好在边界上,所以它们是满足 y(wTx+b)=1 (还记得我们把 functional margin 定为 1 了吗?),而对于所有不是支持向量的点,也就是在“阵地后方”的点,则显然有 y(wTx+b)>1 。事实上,当最优的超平面确定下来之后,这些后方的点就完全成了路人甲了,它们可以在自己的边界后方随便飘来飘去都不会对超平面产生任何影响。这样的特性在实际中有一个最直接的好处就在于存储和计算上的优越性,例如,如果使用 100 万个点求出一个最优的超平面,其中是 supporting vector 的有 100 个,那么我只需要记住这 100 个点的信息即可,对于后续分类也只需要利用这 100 个点而不是全部 100 万个点来做计算。(当然,通常除了 K-Nearest Neighbor 之类的 Memory-based Learning 算法,通常算法也都不会直接把所有的点记忆下来,并全部用来做后续 inference 中的计算。不过,如果算法使用了 Kernel 方法进行非线性化推广的话,就会遇到这个问题了。Kernel 方法在下一次会介绍。)

当然,除了从几何直观上之外,支持向量的概念也会从其优化过程的推导中得到。其实上一次还偷偷卖了另一个关子就是虽然给出了目标函数,却没有讲怎么来求解。现在就让我们来处理这个问题。回忆一下之前得到的目标函数:

max1ws.t.,yi(wTxi+b)1,i=1,,n

这个问题等价于(为了方便求解,我在这里加上了平方,还有一个系数,显然这两个问题是等价的,因为我们关心的并不是最优情况下目标函数的具体数值):

min12w2s.t.,yi(wTxi+b)1,i=1,,n

到这个形式以后,就可以很明显地看出来,它是一个凸优化问题,或者更具体地说,它是一个二次优化问题——目标函数是二次的,约束条件是线性的。这个问题可以用任何现成的 QP (Quadratic Programming) 的优化包进行求解。所以,我们的问题到此为止就算全部解决了,于是我睡午觉去了~ 【理论】支持向量机2: Support Vector  介绍支持向量机目标

啊?呃,有人说我偷懒不负责任了?好吧,嗯,其实呢,虽然这个问题确实是一个标准的 QP 问题,但是它也有它的特殊结构,通过 Lagrange Duality 变换到对偶变量 (dual variable) 的优化问题之后,可以找到一种更加有效的方法来进行求解——这也是 SVM 盛行的一大原因,通常情况下这种方法比直接使用通用的 QP 优化包进行优化要高效得多。此外,在推导过程中,许多有趣的特征也会被揭露出来,包括刚才提到的 supporting vector 的问题。

关于 Lagrange duality 我没有办法在这里细讲了,可以参考 Wikipedia 。简单地来说,通过给每一个约束条件加上一个 Lagrange multiplier,我们可以将它们融和到目标函数里去

L(w,b,α)=12w2?i=1nαi(yi(wTxi+b)?1)

然后我们令

θ(w)=maxαi0L(w,b,α)

容易验证,当某个约束条件不满足时,例如 yi(wTxi+b)1,那么我们显然有 θ(w)= (只要令 αi= 即可)。而当所有约束条件都满足时,则有 θ(w)=12w2 ,亦即我们最初要最小化的量。因此,在要求约束条件得到满足的情况下最小化 12w2 实际上等价于直接最小化 θ(w) (当然,这里也有约束条件,就是 αi0,i=1,,n),因为如果约束条件没有得到满足,θ(w) 会等于无穷大,自然不会是我们所要求的最小值。具体写出来,我们现在的目标函数变成了:

minw,bθ(w)=minw,bmaxαi0L(w,b,α)=p?

这里用 p? 表示这个问题的最优值,这个问题和我们最初的问题是等价的。不过,现在我们来把最小和最大的位置交换一下:

maxαi0minw,bL(w,b,α)=d?

当然,交换以后的问题不再等价于原问题,这个新问题的最优值用 d? 来表示。并,我们有 d?p? ,这在直观上也不难理解,最大值中最小的一个总也比最小值中最大的一个要大吧!【理论】支持向量机2: Support Vector  介绍支持向量机目标 总之,第二个问题的最优值 d? 在这里提供了一个第一个问题的最优值 p? 的一个下界,在满足某些条件的情况下,这两者相等,这个时候我们就可以通过求解第二个问题来间接地求解第一个问题。具体来说,就是要满足 KKT 条件,这里暂且先略过不说,直接给结论:我们这里的问题是满足 KKT 条件的,因此现在我们便转化为求解第二个问题。

首先要让 L 关于 w 和 b 最小化,我们分别令 ?L/?w 和 ?L/?b 等于零:

?L?w=0?L?b=0?w=i=1nαiyixi?i=1nαiyi=0

带回 L 得到:

L(w,b,α)=12i,j=1nαiαjyiyjxTixj?i,j=1nαiαjyiyjxTixj?bi=1nαiyi+i=1nαi=i=1nαi?12i,j=1nαiαjyiyjxTixj

此时我们得到关于 dual variable α 的优化问题:

maxαs.t.,i=1nαi?12i,j=1nαiαjyiyjxTixjαi0,i=1,,ni=1nαiyi=0

如前面所说,这个问题有更加高效的优化算法,不过具体方法在这里先不介绍,让我们先来看看推导过程中得到的一些有趣的形式。首先就是关于我们的 hyper plane ,对于一个数据点 x 进行分类,实际上是通过把 x 带入到 f(x)=wTx+b 算出结果然后根据其正负号来进行类别划分的。而前面的推导中我们得到 w=ni=1αiyixi ,因此

f(x)=(i=1nαiyixi)Tx+b=i=1nαiyi?xi,x?+b

这里的形式的有趣之处在于,对于新点 x 的预测,只需要计算它与训练数据点的内积即可(这里 ??,?? 表示向量内积),这一点至关重要,是之后使用 Kernel 进行非线性推广的基本前提。此外,所谓 Supporting Vector 也在这里显示出来——事实上,所有非 Supporting Vector 所对应的系数 α 都是等于零的,因此对于新点的内积计算实际上只要针对少量的“支持向量”而不是所有的训练数据即可。

为什么非支持向量对应的 α 等于零呢?直观上来理解的话,就是这些“后方”的点——正如我们之前分析过的一样,对超平面是没有影响的,由于分类完全有超平面决定,所以这些无关的点并不会参与分类问题的计算,因而也就不会产生任何影响了。这个结论也可由刚才的推导中得出,回忆一下我们刚才通过 Lagrange multiplier 得到的目标函数:

maxαi0L(w,b,α)=maxαi012w2?i=1nαi(yi(wTxi+b)?1)

注意到如果 xi 是支持向量的话,上式中红颜色的部分是等于 0 的(因为支持向量的 functional margin 等于 1 ),而对于非支持向量来说,functional margin 会大于 1 ,因此红颜色部分是大于零的,而 αi 又是非负的,为了满足最大化,αi 必须等于 0 。这也就是这些非 Supporting Vector 的点的悲惨命运了。 【理论】支持向量机2: Support Vector  介绍支持向量机目标

嗯,于是呢,把所有的这些东西整合起来,得到的一个 maximum margin hyper plane classifier 就是支持向量机(Support Vector Machine),经过直观的感觉和数学上的推导,为什么叫“支持向量”,应该也就明了了吧?当然,到目前为止,我们的 SVM 还比较弱,只能处理线性的情况,不过,在得到了 dual 形式之后,通过 Kernel 推广到非线性的情况就变成了一件非常容易的事情了。不过,具体细节,还要留到下一次再细说了。 【理论】支持向量机2: Support Vector  介绍支持向量机目标

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
突破传统缺陷检测的界限,\'Defect Spectrum\'首次实现超高精度丰富语义的工业缺陷检测。 突破传统缺陷检测的界限,\'Defect Spectrum\'首次实现超高精度丰富语义的工业缺陷检测。 Jul 26, 2024 pm 05:38 PM

在现代制造业中,精准的缺陷检测不仅是保证产品质量的关键,更是提升生产效率的核心。然而,现有的缺陷检测数据集常常缺乏实际应用所需的精确度和语义丰富性,导致模型无法识别具体的缺陷类别或位置。为了解决这一难题,由香港科技大学广州和思谋科技组成的顶尖研究团队,创新性地开发出了“DefectSpectrum”数据集,为工业缺陷提供了详尽、语义丰富的大规模标注。如表一所示,相比其他工业数据集,“DefectSpectrum”数据集提供了最多的缺陷标注(5438张缺陷样本),最细致的缺陷分类(125种缺陷类别

数百万晶体数据训练,解决晶体学相位问题,深度学习方法PhAI登Science 数百万晶体数据训练,解决晶体学相位问题,深度学习方法PhAI登Science Aug 08, 2024 pm 09:22 PM

编辑|KX时至今日,晶体学所测定的结构细节和精度,从简单的金属到大型膜蛋白,是任何其他方法都无法比拟的。然而,最大的挑战——所谓的相位问题,仍然是从实验确定的振幅中检索相位信息。丹麦哥本哈根大学研究人员,开发了一种解决晶体相问题的深度学习方法PhAI,利用数百万人工晶体结构及其相应的合成衍射数据训练的深度学习神经网络,可以生成准确的电子密度图。研究表明,这种基于深度学习的从头算结构解决方案方法,可以以仅2埃的分辨率解决相位问题,该分辨率仅相当于原子分辨率可用数据的10%到20%,而传统的从头算方

英伟达对话模型ChatQA进化到2.0版本,上下文长度提到128K 英伟达对话模型ChatQA进化到2.0版本,上下文长度提到128K Jul 26, 2024 am 08:40 AM

开放LLM社区正是百花齐放、竞相争鸣的时代,你能看到Llama-3-70B-Instruct、QWen2-72B-Instruct、Nemotron-4-340B-Instruct、Mixtral-8x22BInstruct-v0.1等许多表现优良的模型。但是,相比于以GPT-4-Turbo为代表的专有大模型,开放模型在很多领域依然还有明显差距。在通用模型之外,也有一些专精关键领域的开放模型已被开发出来,比如用于编程和数学的DeepSeek-Coder-V2、用于视觉-语言任务的InternVL

谷歌AI拿下IMO奥数银牌,数学推理模型AlphaProof面世,强化学习 is so back 谷歌AI拿下IMO奥数银牌,数学推理模型AlphaProof面世,强化学习 is so back Jul 26, 2024 pm 02:40 PM

对于AI来说,奥数不再是问题了。本周四,谷歌DeepMind的人工智能完成了一项壮举:用AI做出了今年国际数学奥林匹克竞赛IMO的真题,并且距拿金牌仅一步之遥。上周刚刚结束的IMO竞赛共有六道赛题,涉及代数、组合学、几何和数论。谷歌提出的混合AI系统做对了四道,获得28分,达到了银牌水平。本月初,UCLA终身教授陶哲轩刚刚宣传了百万美元奖金的AI数学奥林匹克竞赛(AIMO进步奖),没想到7月还没过,AI的做题水平就进步到了这种水平。IMO上同步做题,做对了最难题IMO是历史最悠久、规模最大、最负

PRO | 为什么基于 MoE 的大模型更值得关注? PRO | 为什么基于 MoE 的大模型更值得关注? Aug 07, 2024 pm 07:08 PM

2023年,几乎AI的每个领域都在以前所未有的速度进化,同时,AI也在不断地推动着具身智能、自动驾驶等关键赛道的技术边界。多模态趋势下,Transformer作为AI大模型主流架构的局面是否会撼动?为何探索基于MoE(专家混合)架构的大模型成为业内新趋势?大型视觉模型(LVM)能否成为通用视觉的新突破?...我们从过去的半年发布的2023年本站PRO会员通讯中,挑选了10份针对以上领域技术趋势、产业变革进行深入剖析的专题解读,助您在新的一年里为大展宏图做好准备。本篇解读来自2023年Week50

为大模型提供全新科学复杂问答基准与测评体系,UNSW、阿贡、芝加哥大学等多家机构联合推出SciQAG框架 为大模型提供全新科学复杂问答基准与测评体系,UNSW、阿贡、芝加哥大学等多家机构联合推出SciQAG框架 Jul 25, 2024 am 06:42 AM

编辑|ScienceAI问答(QA)数据集在推动自然语言处理(NLP)研究发挥着至关重要的作用。高质量QA数据集不仅可以用于微调模型,也可以有效评估大语言模型(LLM)的能力,尤其是针对科学知识的理解和推理能力。尽管当前已有许多科学QA数据集,涵盖了医学、化学、生物等领域,但这些数据集仍存在一些不足。其一,数据形式较为单一,大多数为多项选择题(multiple-choicequestions),它们易于进行评估,但限制了模型的答案选择范围,无法充分测试模型的科学问题解答能力。相比之下,开放式问答

准确率达60.8%,浙大基于Transformer的化学逆合成预测模型,登Nature子刊 准确率达60.8%,浙大基于Transformer的化学逆合成预测模型,登Nature子刊 Aug 06, 2024 pm 07:34 PM

编辑|KX逆合成是药物发现和有机合成中的一项关键任务,AI越来越多地用于加快这一过程。现有AI方法性能不尽人意,多样性有限。在实践中,化学反应通常会引起局部分子变化,反应物和产物之间存在很大重叠。受此启发,浙江大学侯廷军团队提出将单步逆合成预测重新定义为分子串编辑任务,迭代细化目标分子串以生成前体化合物。并提出了基于编辑的逆合成模型EditRetro,该模型可以实现高质量和多样化的预测。大量实验表明,模型在标准基准数据集USPTO-50 K上取得了出色的性能,top-1准确率达到60.8%。

Nature观点,人工智能在医学中的测试一片混乱,应该怎么做? Nature观点,人工智能在医学中的测试一片混乱,应该怎么做? Aug 22, 2024 pm 04:37 PM

编辑|ScienceAI基于有限的临床数据,数百种医疗算法已被批准。科学家们正在讨论由谁来测试这些工具,以及如何最好地进行测试。DevinSingh在急诊室目睹了一名儿科患者因长时间等待救治而心脏骤停,这促使他探索AI在缩短等待时间中的应用。Singh利用了SickKids急诊室的分诊数据,与同事们建立了一系列AI模型,用于提供潜在诊断和推荐测试。一项研究表明,这些模型可以加快22.3%的就诊速度,将每位需要进行医学检查的患者的结果处理速度加快近3小时。然而,人工智能算法在研究中的成功只是验证此

See all articles