我想知道两个不同分类器的超参数之间是否存在某种相关性。
例如:假设我们在某个数据集上运行了LogisticRegression
,找到了最佳超参数(通过GridSearch
寻找),现在想在相同的数据集上运行另一个分类器如SVC
(SVM
分类器),但不是通过GridSearch
寻找所有超参数,我们能否固定一些超参数的值(或缩小GridSearch
的搜索范围)?
作为实验,我使用了scikit-learn
的分类器,如LogisticRegression
、SVS
、LinearSVC
、SGDClassifier
和Perceptron
来对一些知名数据集进行分类。在某些情况下,我能够 empirically 观察到一些相关性,但并非在所有数据集上都如此。
所以请帮助我澄清这一点。
回答:
我认为你不能这样将不同分类器的不同参数联系起来。这主要是因为每个分类器的行为不同,因为它们有自己的方法来调整数据,遵循各自的一套方程。例如,考虑SVC
使用两种不同的核函数rbf
和sigmoid
的情况。可能rbf
核函数在数据上完美拟合时,截距参数C
设置为0.001,而sigmoid
核函数在相同数据上拟合时,C
值可能为0.00001。两个值也可能相等。然而,你永远不能确定这一点。当你说:
在某些情况下,我能够 empirically 观察到一些相关性,但并非在所有数据集上都如此。
这可能仅仅是巧合。因为这完全取决于数据和分类器。你不能全局应用这种相关性。相关性并不总是等于因果关系。
你可以访问这个网站,自己看看,尽管不同的回归函数有相同的参数a
,但它们的方程却大不相同,因此在相同的数据集上,a
的值可能会有显著的不同。