網格搜尋和交叉驗證

2021-08-17 03:38:58 字數 817 閱讀 6027

在介紹網格搜尋和交叉驗證以前先要介紹下什麼是機器學習的超引數。

我們常說的機器學習的引數指的是和特徵相關的係數,超引數指的是對於模型的整體規劃具有重要意義的指標:例如支援向量機中的乘法因子c(用於權衡經驗風險和模型複雜度),當支援向量機核函式是為徑向基rbf核函式,對應的鐘型函式的寬度gamma就是核函式對應的超引數。只有當這兩個超引數都確定的條件下,對相應支援向量機模型餵給資料後就能自動將模型引數-特徵係數訓練出來。

但是如何確定模型中的超引數(比方說是徑向基支援向量機中的超引數c和gamma)?

將機器學習模型需要確立的超引數進行列表操作,框定這些超引數的取值範圍。當模型只對應於乙個超引數時就是一維座標,當對應於兩個超引數時就可以構建二維座標,設計每個超引數的優化步進值,得到超引數的網格分離。

遍歷搜尋網格中的每一對超引數(這個就是網格搜尋法,也叫做暴力搜尋),對於每一對超引數進行評估,得到評估分數指標,將各對超引數的評估指標進行比對,得到最優超引數對,選出來用於模型訓練。

對於每一對引數對進行指標評估就是使用交叉驗證法了

將資料集分割為訓練集和測試集,驗證集在交叉驗證中沒有用。將分割後得訓練集進行k個子集的分割,每一次將乙個子集取為驗證集,其餘子集為訓練集,共得到k種情況下的訓練資料集分割;在當前的超引數條件下,使用k種情況的資料集對於模型進行訓練,得到k個模型,使用相應驗證集對於這k個模型進行**結果分析得到k個正確率指標,將這k個正確率指標進行平均作為當前超引數條件下的對應分數。

總結來說交叉驗證是為了對於使用當前超引數

進行訓練的

模型的好壞的評估

需要使用

網格搜尋法將每一種可能的超引數對應的分數進行計算,比對後用於超引數的選擇

交叉驗證與網格搜尋

交叉驗證與網格搜尋是機器學習中的兩個非常重要且基本的概念,但是這兩個概念在剛入門的時候並不是非常容易理解與掌握,自己開始學習的時候,對這兩個概念理解的並不到位,現在寫一篇關於交叉驗證與網格搜尋的文章,將這兩個基本的概念做一下梳理。網格搜尋 grid search 名字非常大氣,但是用簡答的話來說就是...

網格搜尋與交叉驗證

一.網格搜尋驗證 sklearn.model selection.gridsearchcv estimator,param grid,scoring none,fit params none,n jobs 1,iid true,refit true,cv none,verbose 0,pre dis...

機器學習入門 交叉驗證,網格搜尋

author 楊曉 file cv demo.py software pycharm from sklearn.datasets import load iris from sklearn.model selection import train test split,gridsearchcv fr...