2014-04-25 40 views
0

我想訓練一個帶有非線性邊界的SVM。邊界是已知的,用公式 表示y = sgn((w11 * x1 + w12 * x2 + w13 * x3)*(w21 * x4 + w22 * x5 + w23 * x6)),其中[x1 x2 ... x6] 1位輸入[w11 w12 w13 w21 w22 w23]是未知參數。如何在MATLAB中定製SVM非線性決策boudary?

我該如何用火車數據學習[w11 w12 w13 w21 w22 w22 w23]?

回答

0

SVM不是這種任務的算法。支持向量機有它自己的標準來最大化,這與決策邊界形狀無關(好吧,不是沒有,但很難將其轉換爲另一個)。顯然,可以嘗試預定義自定義內核函數來執行此操作,但是這個任務看起來幾乎是無法解決的問題(我無法想到具有這種決策邊界的任何複製希爾伯特空間)。

總之:你的問題有點像「如何讓西瓜從牆上取下釘子?」。顯然 - 你可以做一些非常難的「魔術」來做到這一點,但這不是西瓜的目的。

+0

謝謝,我也意識到這不是很相關。我的問題更像參數估計。對於SVM,是基於核函數生成的邊界嗎?這是自動的,所以我只能自定義內核函數,而不是自定義邊界。 – Husen

+0

決策邊界從基於核空間的超平面投影到輸入空間。支持向量機不是將「擬合分離曲線」納入數據中,您似乎在尋找。雖然你的模型非常簡單,但你應該做的很簡單,就是在等效誤差函數 – lejlot

+0

Ja上進行簡單梯度優化,你是對的。我正在嘗試基於幾個線性預測器與lr的乘法來擬合參數的模型。這是更合理的。 – Husen