1. 程式人生 > >模型調參-網格搜尋

模型調參-網格搜尋

  調參中的引數是指模型本身的超引數,而不是求解目標函式可以得到的引數解析解。常用的方法是網格搜尋,所謂的網格搜尋可以理解成窮舉法。而現實中,我們往往不能窮舉所有的引數的組合。因此需要對部分引數,在一定範圍內調參。具體的調參邏輯依賴於引數在不同演算法中的數學含義。本文簡單介紹網格搜尋的邏輯,實際的應用需要結合演算法和業務場景。

1.網格搜尋

  網格搜尋是傳統並且常用的超引數優化方法,一般使用交叉驗證,選取指定的衡量指標(例如auc)進行引數選擇。由於超引數空間可能很大且是連續型變數,因此常常在某個範圍內,離散化超引數。
  舉個例子,在SVM中,RBF核函式至少需要調整兩個引數:
1. 正則化引數C


2. 核函式超引數 γ
這兩個引數都是連續性變數,在網格搜尋前,指定範圍,離散化。

C
{ 10 , 100 , 1000 } γ
{ 0.1 , 0.2 , 0.5 , 1.0 }

使用網格搜尋時,自動組合 p a i r ( C , γ ) ,那麼上面共計 3*4=12個引數組合,根據其在交叉驗證中的表現選擇效能最好的一個引數組合。

2. 總結

  網格搜尋在實際應用中需要對演算法的理論比較理解,引數較多時,可能有幾個引數是互相影響的,這個時候需要共同調參。具體到某個演算法的調參在看細節。
  至於應用,sklearn中有GridSearchCV可以使用。

3.Ref

[1] 維基百科
                      2018-07-16 於南京市建鄴區新城科技園