對交叉驗證的認識

2022-05-10 03:42:10 字數 772 閱讀 3522

在我們比賽的演算法中,我們使用了交叉驗證方法來篩選比較重要的特徵,現在我們來了解一下什麼是交叉驗證(cross-validation):有時亦稱迴圈估計, 是一種統計學上將資料樣本切割成較小子集的實用方法。於是可以先在乙個子集上做分析, 而其它子集則用來做後續對此分析的確認及驗證。 一開始的子集被稱為訓練集。而其它的子集則被稱為驗證集或測試集。

交叉驗證對於人工智慧,機器學習,模式識別,分類器等研究都具有很強的指導與驗證意義。

基本思想是把在某種意義下將原始資料(dataset)進行分組,一部分做為訓練集(train set),另一部分做為驗證集(validation set or test set),首先用訓練集對分類器進行訓練,在利用驗證集來測試訓練得到的模型(model),以此來做為評價分類器的效能指標.

資料集分割原則

交叉驗證在,原始資料集分割為訓練集與測試集,必須遵守兩個要點:

訓練集中樣本數量必須夠多,一般至少大於總樣本數的 50%。

兩組子集必須從完整集合中均勻取樣。

其中第2點特別重要,均勻取樣的目的是希望減少 訓練集/測試集 與完整集合之間的偏差(bias),但卻也不易做到。一般的作法是隨機取樣,當樣本數量足夠時,便可達到均勻取樣的效果。然而隨機也正是此作法的盲點,也是經常是可以在資料上做手腳的地方。舉例來說,當辨識率不理想時,便重新取樣一組訓練集 與測試集,直到測試集的辨識率滿意為止,但嚴格來說便算是作弊。

對「認識」的認識

很早就想談談關於 認識 的認識。這是乙個巨集大深刻的哲學問題。只是覺得沒有完全思考清楚,還以為觀點有些偏頗,擔心自己沒能力系統論述,就遲遲沒有動筆。但想到談論的問題本身就是乙個偏頗的問題,而且,我始終覺得,問題儘管偏頗,但卻不無道理。所以,提筆寫下這篇文字。正像思想的本質是不安一樣,認識的本質是片面...

spark PIPELINE 的交叉驗證

1.建立crossvalidator val crossval new crossvalidator setestimator pipeline setevaluator new binaryclassificationevaluator 第乙個是pipeline程式 第二個是模型的求值函式 2.p...

交叉驗證的作用

1.可以使用所有的資料 一般模型訓練都要把資料分成訓練集和驗證集合,這就導致訓練資料比原始的資料要少,並且驗證集也無法是所有的原始資料。如果使用交叉驗證,所有資料都可以用作訓練 但不是同乙個模型 所有資料也都可以用作驗證集。2.評估模型的穩定性及調參 比如5折交叉驗證,在引數確定了的情況下,我們可以...