首页 数据库 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脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 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)

突破传统缺陷检测的界限,\'Defect Spectrum\'首次实现超高精度丰富语义的工业缺陷检测。 突破传统缺陷检测的界限,\'Defect Spectrum\'首次实现超高精度丰富语义的工业缺陷检测。 Jul 26, 2024 pm 05:38 PM

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

英伟达对话模型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是历史最悠久、规模最大、最负

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

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

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

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

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

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

SOTA性能,厦大多模态蛋白质-配体亲和力预测AI方法,首次结合分子表面信息 SOTA性能,厦大多模态蛋白质-配体亲和力预测AI方法,首次结合分子表面信息 Jul 17, 2024 pm 06:37 PM

编辑|KX在药物研发领域,准确有效地预测蛋白质与配体的结合亲和力对于药物筛选和优化至关重要。然而,目前的研究没有考虑到分子表面信息在蛋白质-配体相互作用中的重要作用。基于此,来自厦门大学的研究人员提出了一种新颖的多模态特征提取(MFE)框架,该框架首次结合了蛋白质表面、3D结构和序列的信息,并使用交叉注意机制进行不同模态之间的特征对齐。实验结果表明,该方法在预测蛋白质-配体结合亲和力方面取得了最先进的性能。此外,消融研究证明了该框架内蛋白质表面信息和多模态特征对齐的有效性和必要性。相关研究以「S

涵盖文本、定位和分割任务,智源、港中文联合提出首个多功能3D医学多模态大模型 涵盖文本、定位和分割任务,智源、港中文联合提出首个多功能3D医学多模态大模型 Jun 22, 2024 am 07:16 AM

作者|香港中文大学白帆编辑|ScienceAI近日,香港中文大学和智源联合提出的M3D系列工作,包括M3D-Data,M3D-LaMed和M3D-Bench,从数据集、模型和测评全方面推动3D医学图像分析的发展。(1)M3D-Data是目前最大的3D医学图像数据集,包括M3D-Cap(120K3D图文对),M3D-VQA(510K问答对),M3D-Seg(150K3DMask),M3D-RefSeg(3K推理分割)共四个子数据集。(2)M3D-LaMed是目前最多功能的3D医学多模态大模型,能够

See all articles