作者MrSomebody (MrSomebody)
看板R_Language
标题[问题] R的规划求解 optim()、constrOptim()
时间Wed Jun 29 21:02:31 2016
[问题类型]:
程式谘询
[软体熟悉度]:
入门
[问题叙述]:
最近在研究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://webptt.com/cn.aspx?n=bbs/R_Language/M.1467205354.A.397.html
1F:推 qhair: sum(\alpha_i*y_i)=0是线性的,可以写成矩阵式 06/30 00:05
2F:→ MrSomebody: 谢谢Q大回应,但constrOptim函数已设定不等式为大於 06/30 07:11
3F:→ MrSomebody: 等於,但sum条件为等於,解出来得alpha无法满足,悲剧 06/30 07:11
4F:→ MrSomebody: ... 06/30 07:11
5F:推 qhair: 你的问题用kernlab套件的ipop或quadprog套件应该比较合适 06/30 12:19
6F:→ MrSomebody: 谢谢Q大! 我用ipop可以解这个问题! 06/30 19:25