看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢 [軟體熟悉度]: 入門 [問題敘述]: 最近在研究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是否有其他函數可以求類似的問題? 謝謝大家耐心看完。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.165.34.184 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1467205354.A.397.html
qhair: sum(\alpha_i*y_i)=0是線性的,可以寫成矩陣式 06/30 00:05
MrSomebody: 謝謝Q大回應,但constrOptim函數已設定不等式為大於 06/30 07:11
MrSomebody: 等於,但sum條件為等於,解出來得alpha無法滿足,悲劇 06/30 07:11
MrSomebody: ... 06/30 07:11
qhair: 你的問題用kernlab套件的ipop或quadprog套件應該比較合適 06/30 12:19
MrSomebody: 謝謝Q大! 我用ipop可以解這個問題! 06/30 19:25