李宏毅svm_李宏毅2020 ML/DL补充Structured Learning Structured SVM
李宏毅2020 ML/DL補充Structured Learning Structured SVM
【李宏毅2020 ML/DL】補充:Structured Learning: Structured SVM
我已經(jīng)有兩年 ML 經(jīng)歷,這系列課主要用來查缺補漏,會記錄一些細節(jié)的、自己不知道的東西。
本次筆記補充視頻 BV1JE411g7XF 的缺失部分。在另一個UP主上傳的2017課程BV13x411v7US中可找到。本節(jié)內(nèi)容 131 分鐘左右。
內(nèi)容承接上一節(jié)課,我們需要一個更加有效的 FFF 。還是,要解決 Structured Learning 的三個問題。并且用目標(biāo)檢測作為例子。
對于第一個問題 Evaluation ,我們假設(shè)模型 F(x,y)F(x,y)F(x,y) 是線性的。這個具有一般性,為后文討論打基礎(chǔ)。
對于第二個問題 Inference ,窮舉所有 yyy ?實際上,會有比較有效率的方法可以窮舉,比如:Branch and Bound algorithm, Selective Search, Viterbi Algorithm 。我們假設(shè)問題二已經(jīng)解決。
我們今天研究如何解決問題三,即訓(xùn)練問題。并且假設(shè)前兩個問題都解決了。
今天的內(nèi)容分為 8 個層次,見 Outline 。
首先來討論 Separable case ,包括算法收斂步數(shù)上界的數(shù)學(xué)證明。
接著,對 Non-separable 這種情況進行講解,包括 Cost Function 的定義。
在 Considering Errors 中,定義了更合的 Cost Function 。
接著,我們來討論 Regularization 。
之后,我們來討論,為什么我們講的這個東西是 Structured SVM 。
最后經(jīng)過推導(dǎo),發(fā)現(xiàn) Structured SVM 中約束過多,如何解決?進入 Cutting Plane Algorithm for Structured SVM 。
簡單拓展一下 Multi-class and binary SVM (用于分類問題)。
最后,我們將討論與 DNN 結(jié)合等內(nèi)容, Beyond Structured SVM (open question) 。
文章目錄本節(jié)內(nèi)容綜述
小細節(jié)Example Task: Object Detection
Outline
Separable caseAssumption: Separable
Structured Perceptron
Math
How to make training fast?
Non-separableDefining Cost Function
(Stochastic) Gradient Descent
Considering ErrorsDefining Error Function
Another Cost Function
Gradient Descent
Another Viewpoint
More Cost Functions
Regularization
Structured SVM
Cutting Plane Algorithm for Structured SVMCutting Plane Algorithm
Find the most violated one
Multi-class and binary SVMMulti-class SVM
Binary SVM
Beyond Structured SVM (open question)Involving DNN when generating Φ(x, y)
Jointly training structured SVM and DNN
Replacing Structured SVM with DNN
Example Task: Object Detection
結(jié)構(gòu)化學(xué)習(xí)可以做的目標(biāo)檢測方法不僅僅是畫正方形,如上,右邊的骨骼分析等等都可以完成。
Outline
Separable case
Non-separable case
Considering Errors
Regularization
Structured SVM
Cutting Plane Algorithm for Structured SVM
Multi-class and binary SVM
Beyond Structured SVM (open question)
Separable case
Assumption: Separable
如上,我們定義了一個 δ\deltaδ ,同形狀各點在線上的投影,一定大于等于 δ\deltaδ 。
我們希望紅色比同形狀的藍色的內(nèi)容,離線更遠。
Structured Perceptron
如上,可以使用結(jié)構(gòu)化感知器來解決這個問題。
Math
將證明,最多迭代 (R/δ)2(R / \delta)^2(R/δ)2 次,就可以找到最優(yōu)解:
δ\deltaδ:margin
RRR:the largest distance between ?(x,y)\phi(x,y)?(x,y) and ?(x,y′)\phi(x,y')?(x,y′)
而與 space of y 無關(guān)。
如上,w 發(fā)現(xiàn)一筆錯誤,就會更新。y^\hat{y}y^? 是某一個正確的 y ,而y~\tilde{y}y~?是某一個錯誤的數(shù)據(jù) y 。
并且,假設(shè)存在一個 w^\hat{w}w^ 滿足上圖性質(zhì),可以不失一般性地假設(shè) ∣∣w^∣∣=1||\hat{w}||=1∣∣w^∣∣=1 。
如上,發(fā)現(xiàn),隨著更新的進行,w^\hat{w}w^ 與 wkw^kwk 的夾角在變小,即 cos 的值越來越大。
而把 w^?wk\hat{w}\cdot w^kw^?wk 拆開,得到如上關(guān)系:w^?wk≥w^?wk?1+δ\hat{w}\cdot w^k \ge \hat{w}\cdot w^{k-1} + \deltaw^?wk≥w^?wk?1+δ。
而又有 w0=0w^0 = 0w0=0,因此由遞推式,得到關(guān)系:w^?w0≥kδ\hat{w}\cdot w^0\ge k\deltaw^?w0≥kδ。
此外,我們考慮 cos 中的分母,∣∣wk∣∣||w^k||∣∣wk∣∣。
如上,發(fā)現(xiàn)展開后最后一項是小于 0 。假設(shè)兩個特征向量的距離一定小于 R2R^2R2 ,可以進行如上推導(dǎo)。
因此,分子分母都有了一個范圍,最后得到 coscoscos 的下界。
因此,得證。
李老師只是想告訴我們,盡管反例樣本可能有很多,但是算法的更新并沒有我們想象的困難。
How to make training fast?
如上,從 δ\deltaδ 與 RRR 考慮,加快訓(xùn)練速度。但是增加其中一者,另一者就也跟著增加。
下面我們開始考慮 Non-separable 。
Non-separable
如上,對于這種情況,我們?nèi)杂?w 可以進行優(yōu)化。如上圖,左邊的 w 就好于右邊的 w 。
Defining Cost Function
Define a cost C to evaluate how bad a w is, and then pick the w minimizing the cost C.
如上 C 最小值一定是 0 ,因此 C 是小于等于 0 的。
(Stochastic) Gradient Descent
Find w minimizing the cost C:
C=∑n=1NCnC=\sum_{n=1}^N C^nC=n=1∑N?Cn
Cn=max?y[w??(xn,y)]?w??(xn,y^n)C^n = \max_y [w\cdot \phi(x^n,y)]-w\cdot \phi(x^n , \hat{y}^n)Cn=ymax?[w??(xn,y)]?w??(xn,y^?n)
我們只需要求出 ?Cn\nabla C^n?Cn 。
這其實可以計算的。
如上。
因此,其算法如上(上圖有一處筆誤,y~n\tilde{y}^ny~?n應(yīng)該等于argmax)。
Considering Errors
如上,我們不應(yīng)把所有錯誤都平等地對待。
Defining Error Function
如上,不同問題有不同檢測方式,比如目標(biāo)檢測,如 IoU ,交并比。
Another Cost Function
因此,我們重新定義了 Cost Function 。我們管這段指標(biāo)上的距離叫 margin 。
Gradient Descent
如上,重新定義了 yyy 。為了應(yīng)對問題 2.1 ,要自己根據(jù) case 進行設(shè)計一下。
Another Viewpoint
如上,有另一種觀點,我們實際上在優(yōu)化的,是cost function 的 upper bound 。
如上是證明,很簡單。
More Cost Functions
如上,還有其他費用函數(shù),如 Margin rescaling , Slack variable rescaling 。
Regularization
Training data and testing data can have different distribution. w close to zero can minimize the influence of mismatch.
如上,在迭代中加一項,weight decay 。
Structured SVM
如上,我們對 CnC^nCn 做一個移項,進而得出對所有的 y 的一個規(guī)律。
因此,我們轉(zhuǎn)換出了一個規(guī)劃問題。并且,把 CnC^nCn 記為 ?n\epsilon^n?n ,叫做松弛變量。
如上,如果 y=y^ny=\hat{y}^ny=y^?n ,那么 ?n≥0\epsilon^n \ge 0?n≥0 。因此,對于所有 y≠y^ny\neq\hat{y}^ny?=y^?n 的情況,則列出原式;而此外,再加上 ?n≥0\epsilon^n \ge 0?n≥0 就可。
此外,我們還可以從“松弛變量”本意來理解,如果沒有松弛變量,我們可能很難滿足所有約束。
這個符合 SVM 的形式,可以用 SVM package 中的 solver 來解決。
Cutting Plane Algorithm for Structured SVM
如上,www與?\epsilon?形成的平面為空間中的彩色曲面。但是,每個約束都是一個線條,限制其只有某一邊可取。
Cutting Plane Algorithm
如上,在沒有約束時,右下角值最小。我們只要找到“磚石”即可。而很多約束其實都沒有用。我們將起作用的邊的集合叫做 working set 。
使用迭代的方法去找。
如上,動態(tài)地檢測哪些是起了作用的約束。求解的同時,可以改變(增加) working set 中的原始:
使用 working set 中的約束求解,讓這個 QP 問題可解;
每次求解完成,看哪些約束沒有被滿足,如果有,那就把最沒有被滿足的那個,加入 working set 。
Find the most violated one
什么是“最沒有被滿足的那個”呢?
如上,定義一個 Degree of Violation 。
最終,Cutting Plane Algorithm 如上圖所示。直到 working set 不再改變?yōu)橹埂?/p>
Multi-class and binary SVM
Multi-class SVM
對于多類別 Multi-class SVM 的建模如上。
對于 Inference ,就是窮舉標(biāo)簽。
在訓(xùn)練中,可以進行些推導(dǎo),將等式關(guān)系帶回原約束式。并且,還可以定義錯誤的懲罰。
Binary SVM
對于二分類問題,則可以定義更多特殊的關(guān)系。可以推導(dǎo)回原來的SVM。
Beyond Structured SVM (open question)
Involving DNN when generating Φ(x, y)
宏毅老師的實驗室在 2010 年用這個方法做了語音辨識。
Jointly training structured SVM and DNN
如上,可以把 θ\thetaθ 與 www 即神經(jīng)網(wǎng)絡(luò)與 SVM 的參數(shù)一起學(xué)習(xí)。
Replacing Structured SVM with DNN
此外,也可用 DNN 代替 SVM 。
李宏毅2020 ML/DL補充Structured Learning Structured SVM相關(guān)教程
總結(jié)
以上是生活随笔為你收集整理的李宏毅svm_李宏毅2020 ML/DL补充Structured Learning Structured SVM的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JVM,JER,JDK各自的作用和之间的
- 下一篇: 天高任鸟飞,在你还苦闷Android出路