大家,當我使用libSVM做出一些預測時,這是一個奇怪的現象。SVM的gamma和cost參數
當我沒有設置SVM的參數時,我會在測試集上獲得99.9%的性能。而如果我設置了參數'-c 10 -g 5',那麼測試集的精確度就會提高大約33%。
順便說一句,我使用的SVM工具包是LibSVM。
我想知道數據集是否有問題。我無法弄清楚哪個結果更具說服力。
大家,當我使用libSVM做出一些預測時,這是一個奇怪的現象。SVM的gamma和cost參數
當我沒有設置SVM的參數時,我會在測試集上獲得99.9%的性能。而如果我設置了參數'-c 10 -g 5',那麼測試集的精確度就會提高大約33%。
順便說一句,我使用的SVM工具包是LibSVM。
我想知道數據集是否有問題。我無法弄清楚哪個結果更具說服力。
你恰好碰到一個問題,其中C
和gamma
的默認值很好地工作(分別爲1和1/num_features)。
gamma=5
明顯大於默認值。當默認值接近最佳時,gamma=5
導致非常差的結果是完全合理的。大型gamma
和大型C
的組合是過度擬合的完美配方(例如高訓練集性能和低測試集性能)。
除了Marc的回答,您應該使用單獨的驗證集來爲C和g選擇合適的值。或者使用grid.py(隨libsvm提供)通過交叉驗證獲取這些參數。 – Bull
這是強烈建議閱讀:http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf – Bull
LIBSVM指南確實是一個非常好的初始參考。 –