首頁 資料庫 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 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
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教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
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

GoogleAI拿下IMO奧數銀牌,數學推理模型AlphaProof面世,強化學習 is so back GoogleAI拿下IMO奧數銀牌,數學推理模型AlphaProof面世,強化學習 is so back Jul 26, 2024 pm 02:40 PM

對AI來說,奧數不再是問題了。本週四,GoogleDeepMind的人工智慧完成了一項壯舉:用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