SVM的算法是很versatile的,在回归领域SVM同样十分出色的。而且和SVC类似,SVR的原理也是基于支持向量(来绘制辅助线),只不过在分类领域,支持向量是最靠近超平面的点,在回归领域,支持向量是那些距离拟合曲线(回归的目标函数/模型是拟合曲线)。
上图我们看到还有一个变量,是ϵ,ϵ决定了街道的宽度,它是拟合曲线和支持向量的距离。在svr的实现原理上,定义的损失函数是:
|yi−w∙ϕ(xi)−b|≤ϵ,则损失为0,因为落在了街道里面;
|yi−w∙ϕ(xi)−b|>ϵ,则损失函数值为|yi−w∙ϕ(xi)−b| - ϵ(即outlier到支持线的距离)
所以从损失函数的定义来看,其实还hinge loss要么是0,要么是距离值,只不过class的距离是到y值为1的点,而regression则是到y值为ϵ的点。
svr也是支持松弛变量,其原理和svm是一样的,只不过svc的符合松弛变量的点是在街道里面,到了svr,松弛变量对应的点是在街道的外面,通过松弛变量的指定来增加泛华。