请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于 SVR 与 LinearSVR 疑问

老师好,关于 SVR 与 LinearSVR,sklearn 中,对这两者做了相关的解释。

LinearSVR 类似于SVR 参数下 kernel ='linear’的SVR。
不过 LinearSVR 以liblinear形式实现,而不是libsvm形式,因此它在惩罚和损失函数的选择方面具有更大的灵活性,并且应该更好地扩展到大量样本。

相关原文如下:
图片描述
图片描述

不过我看这两者的表述,还是不能直观的理解 liblinear 与 libsvm区别。
老师,您能简单的描述一下吗?

另外,我们日常使用 SVM做线性回归的话,一般使用 LinearSVR 还是 SVR 参数下 kernel =‘linear’ 呢?

正在回答

插入代码

1回答

liuyubobobo 2019-03-20 11:17:52

这二者的区别不在算法的原理上,而在求解的实现上。你可以理解成,同样是求解二次线性方程组,我们可以搜索,也可以使用公式;同样计算大数乘法,我们可以使用字符串模拟,也可以使用傅里叶变换;同样求解线性回归问题,我们可以使用normal equation,也可以使用梯度下降法:)


SVM算法的最优化求解问题远没有线性回归和逻辑回归那么简单,求得这个最优化问题的解也有很多不同的方法,liblinear和libsvm是两个不同的求解svm算法问题的底层库,背后的实现有区别。


我个人倾向于在一般情况下,对于线性SVM,用LinearSVR(或者LinearSVC),而不使用SVR(或者SVC) kernel='linear'。一般情况二者的结果没有差异。且LinearSVR(LinearSVC)效率会更高一些:)


继续加油!:) 

0 回复 有任何疑惑可以回复我~
  • 提问者 lemonlxn #1
    原来如此,我明白了。谢谢老师
    回复 有任何疑惑可以回复我~ 2019-03-20 11:21:07
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号