日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习笔记:训练集、验证集与测试集

發(fā)布時間:2023/12/31 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习笔记:训练集、验证集与测试集 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在學(xué)習(xí)《深度學(xué)習(xí)原理與pythorch實戰(zhàn)》這本書的4.3.4劃分?jǐn)?shù)據(jù)集這一小節(jié)(即76頁劃分?jǐn)?shù)據(jù)集)的過程中,提到了訓(xùn)練集、測試集與驗證集這幾個概念,以及為何相對于通用的訓(xùn)練集、測試集,多了一個驗證集的概念。不過這本書講解還是沒有那么透徹清晰,基于此查了很多資料,又加深鞏固理解了訓(xùn)練集、測試集和驗證集的概念。

一、定義

Ripley, B.D在《Pattern Recognition and Neural Networks》(1996)中給出了這三個詞的定義。

  • Training set: A set of examples used for learning, which is to fit the parameters [i.e., weights] of the classifier.
  • Validation set: A set of examples used to tune the parameters [i.e., architecture, not weights] of a classifier, for example to choose the number of hidden units in a neural network.
  • Test set: A set of examples used only to assess the performance [generalization] of a fully specified classifier.

翻譯為中文大白話就是

訓(xùn)練集(train set) —— 用于訓(xùn)練模型(擬合參數(shù)):即模型擬合的數(shù)據(jù)樣本集合,如通過訓(xùn)練擬合一些參數(shù)來建立一個分類器。

驗證集(validation set)——?用于確定網(wǎng)絡(luò)結(jié)構(gòu)或者控制模型復(fù)雜程度的超參數(shù)(擬合超參數(shù)):是模型訓(xùn)練過程中單獨(dú)留出的樣本集,它可以用于調(diào)整模型的超參數(shù)和用于對模型的能力進(jìn)行初步評估。 通常用來在模型迭代訓(xùn)練時,用以驗證當(dāng)前模型泛化能力(準(zhǔn)確率,召回率等),防止過你話的現(xiàn)象出現(xiàn),以決定如何調(diào)整超參數(shù)。具體原理參照本文的二(三)。

測試集(test set) —— 用來評估模最終模型的性能如何(評價模型好壞):測試集沒有參于訓(xùn)練,主要是測試訓(xùn)練好的模型的準(zhǔn)確能力等,但不能作為調(diào)參、選擇特征等算法相關(guān)的選擇的依據(jù)。說白了就只用于評價模型好壞的一個數(shù)據(jù)集。

二、圖解訓(xùn)練集、測試集和驗證集

(一)是否參與訓(xùn)練

基于數(shù)據(jù)集是否參與了訓(xùn)練過程,可通過下圖來理解,即測試集完全沒參與訓(xùn)練,它只是用于測試,評估模型到底性能如何

(二)訓(xùn)練集與測試集

這種最常見的方法就是將數(shù)據(jù)分為訓(xùn)練集和測試集兩個部分,先用訓(xùn)練集訓(xùn)練算法模型,再用測試集測試準(zhǔn)確率,示意圖如下。

?(三)訓(xùn)練集、測試集與驗證集

????????在機(jī)器學(xué)習(xí)的上下文中,超參數(shù)是在開始學(xué)習(xí)過程之前設(shè)置值的參數(shù),而不是通過訓(xùn)練得到的參數(shù)數(shù)據(jù)。通常情況下,需要對超參數(shù)進(jìn)行優(yōu)化,給學(xué)習(xí)機(jī)選擇一組最優(yōu)超參數(shù),以提高學(xué)習(xí)的性能和效果。

? ? ? ? 但是我們思考一下,如果數(shù)據(jù)集僅僅分為訓(xùn)練集和測試集,那么我們通過修改一些超參數(shù)(不能通過學(xué)習(xí)來自動調(diào)整的參數(shù))來降低誤差,但是這種方法在實際中的應(yīng)用效果卻并沒有想象的那么好。這是因為超參數(shù)都是基于測試集來調(diào)整的,就相當(dāng)于把測試集當(dāng)成了訓(xùn)練超參數(shù)的數(shù)據(jù)。這樣對于新的數(shù)據(jù)效果不一定會更好。

? ? ? ? 于是就想出一種解決辦法,即保留一個數(shù)據(jù)集作為驗證集,在這些步驟做完之后再進(jìn)行最終的驗證。

?

?而訓(xùn)練集、驗證集和測試集的工作流程如下圖所示,可以很明顯看到訓(xùn)練集用于訓(xùn)練模型,驗證集用于調(diào)節(jié)超參數(shù),而測試集就只是用于評估模型好壞的

(四)交叉驗證

?下圖示意3折交叉驗證法,如下所示

三、數(shù)據(jù)集劃分原則

數(shù)據(jù)劃分的方法并沒有明確的規(guī)定,不過可以參考3個原則:

1.對于小規(guī)模樣本集(幾萬量級),常用的分配比例是 60% 訓(xùn)練集、20% 驗證集、20% 測試集。
2.對于大規(guī)模樣本集(百萬級以上),只要驗證集和測試集的數(shù)量足夠即可,例如有 100w 條數(shù)據(jù),那么留 1w 驗證集,1w 測試集即可。1000w 的數(shù)據(jù),同樣留 1w 驗證集和 1w 測試集。
3.超參數(shù)越少,或者超參數(shù)很容易調(diào)整,那么可以減少驗證集的比例,更多的分配給訓(xùn)練集。

總結(jié)

以上是生活随笔為你收集整理的机器学习笔记:训练集、验证集与测试集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。