2014-09-10 19 views
3

我知道大量的問題詢問關於爲SVM(RBF內核)選擇'最佳'C和gamma值。 標準答案是網格搜索,但是,我的問題始於網格搜索的結果之後。讓我解釋一下:如何在使用libSVM(RBF內核)進行網格搜索之後選擇C和gamma以獲得最佳泛化?

我有一個10個主題的數據集,我在這個主題上執行leave-one-subject-out-xfold-validation,這意味着我對每個被遺漏的主題執行網格搜索。爲了不優化這些訓練數據,我不想通過在所有10個模型上建立平均精度並搜索最大值來選擇最佳的C和伽馬參數。考慮到xfold中的一個模型,我只能對此模型中的訓練數據執行另一個xfold(不涉及遺漏的驗證主題)。但你可以想象計算的努力,我沒有足夠的時間atm。

由於網格搜索對於每個10個模型導致寬範圍的良好的C和伽馬參數(僅2-4%的準確度之間的差值,見圖1)我考慮以不同的方式。

我在網格中定義了一個區域,它只包含與網格的最大精度相差2%的精度。差異高於2%的所有其他精度值都設爲零(請參見圖2)。我爲每個模型都做了這件事,並構建了每個模型區域之間的相交點。這導致C和伽瑪值的範圍小得多,這將產生在最大值的2%內的精度。每個型號的準確性。但是,範圍還是很大的。 所以我想選擇C值最低的C-gamma對,因爲這意味着我離過度配合最近並且更接近一個很好的概括。我可以這樣爭論嗎?


如何將我一般都選擇C-伽馬對這個區域內的C和伽瑪,所有校對是我在所有的10款車型分類調整可靠? 我應該專注於最小化C參數嗎?或者我應該專注於最小化C和伽馬參數?


我發現這裏一個相關答案(Are high values for c or gamma problematic when using an RBF kernel SVM?),說高C和高伽馬的組合將意味着過度擬合。我明白伽馬值會改變數據點周圍高斯曲線的寬度,但我仍然無法理解它在數據集中的實際含義。

這篇文章給了我另一個想法。我可以使用與數據點數量相關的SV數作爲所有C-gamma對之間的選擇標準嗎?低(SV數/數據點數)意味着更好的泛化? 如果我得到一個更好的泛化(至少從理論的角度來看),我願意放鬆準確性,因爲它不應該影響我感興趣的結果。

Balanced accuries after grid search

Balanced accuries that follow my region and intersect criterium

回答

相關問題