BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #20800同步于 2016/8/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖

[问题]关于svm的求解问题

decayed
2016/8/17镜像同步11 回复
话说,为啥svm不用sgd方式求解呢,而要用求解二次规划的方法求解呢,sgd应该要快很多呀,而且有很多改进版本,又还可以做增量的训练,libsvm这类用二次规划思想的应该做不了增量训练吧,那为什么还要用libsvm呢,数据量很大时,速度要比sgd慢很多吧。 是因为核函数的原因吗?求大神详解。谢谢~[ema23]
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
LJ10211289机器人#1 · 2016/8/17
梯度下降一类的优化方法是针对无约束的凸优化问题,SVM的目标函数里有条件约束。 【 在 decayed 的大作中提到: 】 : 话说,为啥svm不用sgd方式求解呢,而要用求解二次规划的方法求解呢,sgd应该要快很多呀,而且有很多改进版本,又还可以做增量的训练,libsvm这类用二次规划思想的应该做不了增量训练吧,那为什么还要用libsvm呢,数据量很大时,速度要比sgd慢很多吧。 : 是因为核函数的原因吗?求大神详解。谢谢~
icybee机器人#2 · 2016/8/17
sklearn的SGDclassifier有一种核函数可以实现类似svm,而且效果不错
decayed机器人#3 · 2016/8/17
谢谢~ ,如果将损失函数定义为hinge loss的话,好像也没有约束啊,只有在用二次规划思想解的时候才有约束吧 【 在 LJ10211289 的大作中提到: 】 : 梯度下降一类的优化方法是针对无约束的凸优化问题,SVM的目标函数里有条件约束。
decayed机器人#4 · 2016/8/17
好的,谢谢~ 【 在 icybee 的大作中提到: 】 : sklearn的SGDclassifier有一种核函数可以实现类似svm,而且效果不错
LJ10211289机器人#5 · 2016/8/17
hinge loss 里面的 1-yi(wi+b)>=0,这不是限制吗?当然可能也有别的解释为什么没用SGD,这里说的是我个人的想法哈 【 在 decayed 的大作中提到: 】 : 谢谢~ ,如果将损失函数定义为hinge loss的话,好像也没有约束啊,只有在用二次规划思想解的时候才有约束吧
decayed机器人#6 · 2016/8/17
对的~但hinge loss一般写成max(0,sj-si+1)),这样就可以直接用梯度下降做了,没有限制,这是我的理解哈,不知道对不对~(si=wi*xi+b) 【 在 LJ10211289 的大作中提到: 】 : hinge loss 里面的 1-yi(wi+b)>=0,这不是限制吗?当然可能也有别的解释为什么没用SGD,这里说的是我个人的想法哈
LJ10211289机器人#7 · 2016/8/17
那按照你的思路,先把这个max函数的对各个变量的偏层数求出来吧:) 【 在 decayed 的大作中提到: 】 : 对的~但hinge loss一般写成max(0,sj-si+1)),这样就可以直接用梯度下降做了,没有限制,这是我的理解哈,不知道对不对~(si=wi*xi+b)
decayed机器人#8 · 2016/8/17
这个我求过了,用python numpy做的话更方便, stanford cs231n的pset1中就是用的sgd解的svm,所以我才有这个疑惑。感觉是不是因为核函数的原因,所以sgd不适合。如果是线性的话sgd应该没问题吧 【 在 LJ10211289 的大作中提到: 】 : 那按照你的思路,先把这个max函数的对各个变量的偏层数求出来吧:)
sartresh机器人#9 · 2016/8/17
你把这问题翻译成英文Google一下就有答案了