此处的文档。
我想知道coef0
参数对多项式核和S形核下的奇异值集有多重要。据我所知,它是截距项,只是线性回归中的一个常数,用来将函数从零偏移。然而,据我所知,SVM(scikit使用libsvm)应该找到这个值。
什么是一个好的测试范围(有吗?)。例如,通常使用C
,安全的选择是10^-5。。。10^5,呈指数级递增。
但对于coef0
,该值似乎高度依赖于数据,我不知道如何在每个数据集上自动为每个网格搜索选择好的范围。有指针吗?
首先,sigmoid函数很少是内核。事实上,对于几乎none的参数值,已知会引发有效内核(在Mercer的意义上)。
其次,coeff0不是截距项,它是核投影的一个参数,可以用来克服多项式核的一个重要问题。通常,只使用coeff0=0应该很好,但多项式核有一个问题,随着p->inf,它越来越多地分离点对,其中<x,y>
小于1,<a,b>
的值更大。这是因为值小于1的幂越来越接近0,而值大于1的幂则增长到无穷大。您可以使用coeff0来"缩放"数据,这样就没有这样的区别——您可以添加1-min <x,y>
,这样就不会有小于1的值。如果你真的觉得有必要调整这个参数,我建议在[min(1-min,0),max(<x,y>
)]的范围内搜索,其中max是通过所有训练集计算的。