svm回归

来源:11-9 SVM思想解决回归问题

O_O_似水流年_O_O

2019-01-30

在分类中,margin不是2d,这边的d不是垂直距离吗,那这边回归的epsilon怎么变成y轴方向的差了
http://img.mukewang.com/szimg/5c5118c80001813704520250.jpg

写回答

1回答

liuyubobobo

2019-01-30

首先,这二者的表意是等价的,都是代表margin的宽度。


区别在于,在SVC中(使用SVM解决分类问题的时候),d是一个算法内部的中间变量,回忆一下我们的SVM的推导过程,我们通过要最大化d,最终得到SVM的有条件优化公式:)

//img.mukewang.com/szimg/5c51408a0001742a14881092.jpg


但是在使用SVM解决回归问题稍有不同,这个表示margin大小的量变成了一个超参数。这是因为当使用SVM解决回归问题的时候,我们希望这个margin范围内的点越多越好。那么显然margin无限大,就可以容纳所有的点,这也不是我们想要的结果,所以我们需要人为的约束margin的大小。此时,习惯上,愿意使用这个epsilon的值来表示margin的大小。因为更直观,计算也方便,很容易得到两条margin的边界和中间的那条分界线:)


你也可以理解成这是一个习惯。使用d肯定是可以的,但是通常,对于SVR问题,我们调节超参数来决定margin的大小,使用这个epsilon:)


scikit-learn本身也是这么设计的,可以参考scikit-learn中的SVR(SVM Regression)的参数文档:https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVR.html


如果对SVR更多的内部计算感兴趣,可以参考这篇论文:http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=35FA013DB49C20961D237097E1397BD0?doi=10.1.1.114.4288&rep=rep1&type=pdf


继续加油!:)

1
0

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5968 学习 · 2456 问题

查看课程

相似问题