[問題] R的規劃求解 optim()、constrOptim()

作者: MrSomebody (MrSomebody)   2016-06-29 21:02:31
[問題類型]:
程式諮詢
[軟體熟悉度]:
入門
[問題敘述]:
最近在研究SVM,但同樣資料用R和matlab跑出來結果不一樣,所以想嘗試寫演算法,
在過程中有地方卡住,故上PTT求助各位大大。
http://imgur.com/5c2wQue
解線性kernal的SVM演算法,即解出函數max{L_D function}(如圖中紅框),
x_i為解釋變數(已知)、y_i為反應變數(已知),
要求alpha_i帶入甚麼值時使L_D function最大。
可利用optim() 函數求主要L_D最大值,但無法加入條件式(圖中藍框兩條件式);
constrOptim() 函數可以加不等式條件,但只限定alpha_i線性組合之不等式,無法設
sum(alpha_i&y_i)=0條件式。
不知R是否有其他函數可以求類似的問題?
謝謝大家耐心看完。
作者: qhair (卡早睡卡有眠)   2016-06-30 00:05:00
sum(\alpha_i*y_i)=0是線性的,可以寫成矩陣式
作者: MrSomebody (MrSomebody)   2016-06-30 07:11:00
謝謝Q大回應,但constrOptim函數已設定不等式為大於等於,但sum條件為等於,解出來得alpha無法滿足,悲劇...
作者: qhair (卡早睡卡有眠)   2016-06-30 12:19:00
你的問題用kernlab套件的ipop或quadprog套件應該比較合適
作者: MrSomebody (MrSomebody)   2016-06-30 19:25:00
謝謝Q大! 我用ipop可以解這個問題!

Links booklink

Contact Us: admin [ a t ] ucptt.com