训练集,验证集,测试集
關鍵字:普通參數,超參數,訓練集,驗證集,測試集 ??
很多機器學習過程實際上就是選擇模型,由于模型只是參數未知,所以就需要得到一個最優參數,使得模型可以比較準確的描述自變量到因變量的變化情況。對于模型的訓練和度量,就需要用到已知的數據集。
????數據集一般分為以下3種。如果已經有了一個大的標注數據集,那么通過隨機抽樣獲得三種數據集,三者的比例為8:1:1。如果有標注的話,也可以只隨機抽樣出訓練集和驗證集。如果無標注,就用作訓練集。(這部分寫的不清楚,會后續更新)
??? 通常的方法就是先訓練訓練集,即最小化代價函數,然后再把測試集代入代價函數看看效果如何。
1.訓練集
??? 確定模型后,用于訓練參數,注意訓練的是普通參數(每多加入一個數據對模型進行訓練,模型中就會受到影響的參數,通過多次迭代不斷更新,是一個梯度下降的過程)而不是超參數(超參數是指訓練開始之前設置的參數,超參數的選擇與訓練過程實際上是獨立的,訓練過程不會影響超參數。但是訓練結束后可以根據訓練結果考慮超參數是否可優化,可優化的話就調整超參數的值開始下一次訓練)
2.驗證集(交叉驗證集CV)
??? 用訓練集對模型訓練完畢后,再用驗證集對模型測試,測試模型是否準確而不是訓練模型的參數
3.測試集
????? 雖然驗證集沒有對模型的參數產生影響,但是我們卻根據驗證集的測試結果的準確度來調整參數(這里調整超參數?),所以驗證集對結果還是有影響的,即使得模型在驗證集上達到最優。就是在很多個模型中,驗證集選擇了代價函數最小的一個模型。雖然在這個模型上代價很小,但并不代表在其他數據上代價也小。所以需要一個完全沒有經過訓練的測試集來再最后測試模型的準確率。
4.高偏差和高方差
4.1 定義
下圖是訓練集和驗證集的誤差比較
高偏差:欠擬合,此時訓練集和驗證集的誤差都比較大(像圖里面的d=1的情況)
高方差:過擬合,對訓練集擬合的好,但是對驗證集擬合不好(像d=4那樣)
4.2 與正則化
三種數據集的代價函數定義如下:
下圖反映高偏差時候的隨著訓練數據的增大,訓練集和驗證集的誤差變化情況,最后都趨向平緩
所以對于高偏差的情況,無論增加多少訓練集都不會使得誤差減小。所以如果預感到模型為高偏差,最好的辦法就是停下來換一個模型。
高方差情況:增加訓練數據有用
5.模型優化
在各個情況下應該做什么?(從右往左看)
參考:https://baike.baidu.com/item/%E8%B6%85%E5%8F%82%E6%95%B0/3101858
總結
以上是生活随笔為你收集整理的训练集,验证集,测试集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kettle文件下载
- 下一篇: 利用计算机模拟,科学家试图利用计算机模拟