我想使用Quadprog函數在MATLAB中求解SVM原始形式。當兩個類是線性可分,則SVM優化問題以得到權向量w,變得 1/2(|| || w^2)如何在MATLAB中求解SVM軟邊緣原始形式quadprog
服從約束義(WXI-B)> = 1
http://en.wikipedia.org/wiki/Support_vector_machine#Primal_form
這個matlab quadprog功能解決了以下方程
X = quadprog(H,F,A,b)最小化2分之1* X '* H * X + F' * X受限制A * x≤b。 A是雙打的矩陣,而b是雙打的矢量。
因此,原始形式可以很容易地映射到quadprog函數,以輕鬆獲得權重向量w .. H成爲一個單位矩陣。 f'變成零點矩陣。 A是較早 的約束的左側,因爲原始約束> = 1,b等於-1,因此當我們在兩側乘以-1時,它變爲< = -1。
當我這樣做時,體重矢量變得非常好。現在
,我試圖從這裏
http://en.wikipedia.org/wiki/Support_vector_machine#Soft_margin
這裏最小化方程是
分鐘((1/2)||解決SVM軟保證金情況瓦特|| 2 + C(小量的總和(I)) W,b
服從約束 義(WXI-b)> = 1 - eplison(I)> = 0。
如何使用MATLAB quadprog函數解決這個優化問題。它不清楚如何將方程映射到quadprog函數的參數。我一直在不顧運氣的情況下喋喋不休地說。
自從我研究SVM以來,雖然我花了很長時間,但從模糊的記憶中,我記得Soft Margin中的Primal Form是一個NP問題,這就是爲什麼我們將它轉換爲Wolfe Dual Representation來解決它,但我是不確定。
我將它轉換成雙重形式,並能夠在雙重形式中得到拉格朗日變量值,但是我想確認原始形式本身無法解決。
有誰知道如何使用matlab quadprog函數來解決這個問題嗎?或者如果它實際上是一個NP問題?
這是一個二次規劃問題,所以 - 是的,它可以通過MATLAB的'quadprog'解決。你有什麼困難? – Romeo 2013-03-20 16:27:01
我能夠解決正常的SVM罰款。但對於軟邊緣SVM,我無法理解最小化問題如何映射到quadprog函數。哪個變量映射到quadprog函數中的哪個參數,這就是我發現的困難。 – user1067334 2013-03-20 16:41:17
看到我對這個問題的回答。 – Romeo 2013-03-20 16:45:59