為什么有的深度學習訓練,有訓練集、驗證集、測試集3個劃分,有的只是劃分訓練集和測試集?

在機器學習和深度學習中,數據集的劃分方式取決于任務需求、數據量以及模型開發流程的嚴謹性。

在這里插入圖片描述


1. 三者劃分:訓練集、驗證集、測試集

目的
  • 訓練集(Training Set):用于模型參數的直接訓練。
  • 驗證集(Validation Set):用于調參和模型選擇(如調整超參數、選擇網絡結構、防止過擬合)。
  • 測試集(Test Set):用于最終模型性能的無偏評估,模擬真實場景下的泛化能力。
為什么需要驗證集?
  • 避免過擬合測試集:如果僅用測試集評估模型并反復調整參數,模型可能間接“記憶”測試集的分布,導致評估結果虛高。
  • 模型選擇:驗證集幫助選擇最優超參數(如學習率、正則化系數)或模型架構(如ResNet vs. VGG)。
適用場景
  • 數據量充足(如ImageNet、COCO等大規模數據集)。
  • 需要嚴謹的模型開發流程(如學術研究、工業級應用)。
  • 超參數調優復雜(如網格搜索、隨機搜索)。
典型流程
  1. 訓練模型(訓練集)。
  2. 調參和模型選擇(驗證集)。
  3. 最終評估(測試集,僅一次)。

2. 兩者劃分:訓練集和測試集

省略驗證集的原因
  • 數據量極小:若數據量過小(如僅幾百樣本),劃分驗證集可能導致訓練數據不足,影響模型性能。
  • 簡化流程:在快速實驗或簡單任務中,可能直接使用測試集評估(但存在風險)。
  • 交叉驗證替代:若數據不足,常用K折交叉驗證替代固定驗證集。
潛在風險
  • 數據泄露(Data Leakage):若反復用測試集調整模型,可能高估模型真實性能。
  • 缺乏模型選擇依據:無法有效比較不同超參數或模型架構的優劣。
適用場景
  • 數據量極小(如醫學影像數據稀缺)。
  • 快速原型驗證(如教學示例、簡單實驗)。
  • 結合交叉驗證:如將訓練集拆分為K個子集,輪流作為驗證集(無需單獨劃分)。

關鍵區別與選擇建議

劃分方式適用場景優點缺點
訓練/驗證/測試集數據充足、嚴謹的模型開發無偏評估、調參靈活需要更多數據
訓練/測試集數據稀缺、快速實驗簡單直接風險高、無法調參

實際案例

  1. 三者劃分

    • 在ImageNet競賽中,訓練集用于訓練,驗證集用于調參,測試集用于最終排名。
    • Kaggle比賽中,選手在本地用驗證集調參,提交結果后由平臺用隱藏測試集評分。
  2. 兩者劃分+交叉驗證

    • 在小數據集(如MNIST)上,可能將數據劃分為訓練集和測試集,同時通過交叉驗證調參。

  • 推薦做法
    如果數據量允許,始終使用訓練集、驗證集、測試集三者劃分,確保模型開發的嚴謹性。
  • 數據不足時
    優先使用交叉驗證(如K折交叉驗證),而不是簡單地省略驗證集。

最終,測試集應被視為“不可見數據”,僅在模型完全確定后使用一次,以反映真實泛化能力。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/75498.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/75498.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/75498.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux驅動開發 塊設備

目錄 序言 1.塊設備結構 分區(gendisk) 請求(request) 請求隊列 1. 多隊列架構 2. 默認限制與擴展 bio 2.塊設備的使用 頭文件與宏定義 blk-mq 相關結構和操作 塊設備操作函數 模塊初始化函數 模塊退出函數 3.總結 序言 塊設備(如硬盤、虛擬盤&#x…

ResNet改進(14):添加 EMA注意力機制提升跨空間學習效率

本專欄代碼均經過測試,可以直接替換項目中的模型,一鍵運行! 采用最新的即插即用模塊,有效漲點!! 1.EMA注意力機制 EMA(Efficient Multi-scale Attention)注意力機制是一種創新的注意力設計,能夠有效提升模型在跨空間學習任務中的表現。以下是對該機制的詳細解析: EM…

計算機硬件——CPU 主要參數

什么是 CPU ? CPU 的英文全稱是 Central Processing Unit,即中央處理器。CPU 的內部結構可分為控制單元、邏輯單元和存儲單元三大部分。CPU 的性能大致上反映出了它所配置的微機的性能,因此 CPU 的性能指標十分重要。 CPU 的主要參數 CPU …

針對 Python 3.7.0,以下是 Selenium 版本的兼容性建議和安裝步驟

1. Selenium 版本推薦 最高兼容版本: Selenium 4.11.2(官方明確支持 Python 3.7,但需注意部分新功能可能受限)。 穩定兼容版本: Selenium 3.141.0(經典版本,完全兼容 Python 3.7,適…

stm32 主頻216MHz,寫個ms延時函數,us延時函數

在 STM32 微控制器中,實現精確的 ms(毫秒)和 us(微秒)延時函數通常依賴于系統時鐘(SysTick)或定時器。以下是基于主頻為 216 MHz 的實現方法: 1. 使用 SysTick 實現延時函數 SysTic…

modus開源程序是一個由 WebAssembly 提供支持的構建代理流的框架

一、軟件介紹 文末提供程序和源碼下載 Modus 是一個開源的無服務器框架,用于在 Go 和 AssemblyScript 中構建代理系統和 AI 應用程序。 它簡化了模型、上下文和數據的集成。我們將繼續添加其他功能,以更好地支持工具的構建和調用。 You write a functi…

從零構建大語言模型全棧開發指南:第四部分:工程實踐與部署-4.3.2知識庫增強與外部API集成(代碼示例:HTTP節點與檢索增強生成)

?? 點擊關注不迷路 ?? 點擊關注不迷路 ?? 點擊關注不迷路 文章大綱 知識庫增強與外部API集成:HTTP節點與檢索增強生成實戰4.3.2 知識庫增強與外部API集成(代碼示例:HTTP節點與檢索增強生成)1. 核心挑戰與優化目標1.1 技術瓶頸分析1.2 設計目標2. 關鍵技術方案2.1 知識…

藍橋杯Java B組省賽真題高頻考點近6年統計分類

基礎考點 考點高頻難度模擬9基礎枚舉5基礎思維4基礎動態規劃3基礎規律2基礎單位換算2基礎搜索 1基礎雙指針1基礎數學1基礎哈希表1基礎暴力1基礎Dijkstra1基礎 二分1基礎 中等考點 考點高頻難度動態規劃6中等數學5中等枚舉4中等模擬3中等思維3中等貪心3中等前綴和3中等二分2中…

Rancher2.8.5架構

大多數 Rancher 2.x 軟件均運行在 Rancher Server 上。Rancher Server 包括用于管理整個 Rancher 部署的所有軟件組件。 下圖展示了 Rancher 2.x 的上層架構。下圖中,Rancher Server 管理兩個下游 Kubernetes 集群,其中一個由 RKE 創建,另一…

Java Lambda 表達式提升效率

lambda 表達式的應用場景 Stream 的應用場景 Lambda/Stream 的進一步封裝 自定義函數式接口(用 jdk 自帶的函數式接口也可以) https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html import java.io.Serializable;/*** 可序…

keep-alive緩存

#keep-alive緩存動態路由的使用指南# 代碼如下圖 &#xff1a; <router-view v-slot"{ Component }"> <keep-alive :include"[Hot, Notifications, User, Setting, Test]"> <component :is"Component" …

使用 PyTorch 的 `GradualWarmupScheduler` 實現學習率預熱

使用 PyTorch 的 GradualWarmupScheduler 實現學習率預熱 在深度學習中,學習率(Learning Rate, LR)是影響模型訓練效果的關鍵超參數之一。為了提升模型的收斂速度和穩定性,學習率調度策略變得尤為重要。其中,學習率預熱(Learning Rate Warmup) 是一種常用的策略,它通過…

【DLI】Generative AI with Diffusion Models通關秘籍

Generative AI with Diffusion Models&#xff0c;加載時間在20分鐘左右&#xff0c;耐心等待。 6.2TODO 這里是在設置擴散模型的參數&#xff0c;代碼里的FIXME部分需要根據上下文進行替換。以下是各個FIXME的替換說明&#xff1a; 1.a_bar 是 a 的累積乘積&#xff0c;在 …

如何在本地部署魔搭上千問Qwen2.5-VL-32B-Instruct-AWQ模型在顯卡1上面運行推理,并開啟api服務

環境: 云服務器Ubuntu NVIDIA H20 96GB Qwen2.5-VL-32B Qwen2.5-VL-72B 問題描述: 如何在本地部署魔搭上千問Qwen2.5-VL-32B-Instruct-AWQ模型在顯卡1上面運行推理,并開啟api服務 解決方案: 1.環境準備 硬件要求 顯卡1(顯存需≥48GB,推薦≥64GB)CUDA 11.7或更高…

基于方法分類的無監督圖像去霧論文

在之前的博客中&#xff0c;我從研究動機的角度對無監督圖像去霧論文進行了分類&#xff0c;而現在我打算根據論文中提出的方法進行新的分類。 1. 基于對比學習的方法 2022年 論文《UCL-Dehaze: Towards Real-world Image Dehazing via Unsupervised Contrastive Learning》&a…

4月3號.

JDK7前時間相關類: 時間的相關知識: Data時間類: //1.創建對象表示一個時間 Date d1 new Date(); //System.out.println(d1);//2.創建對象表示一個指定的時間 Date d2 new Date(0L); System.out.println(d2);//3.setTime修改時間 //1000毫秒1秒 d2.setTime(1000L); System.o…

數據結構與算法:子數組最大累加和問題及擴展

前言 子數組最大累加和問題看似簡單,但能延伸出的題目非常多,千題千面,而且會和其他算法結合出現。 一、最大子數組和 class Solution { public:int maxSubArray(vector<int>& nums) {int n=nums.size();vector<int>dp(n);//i位置往左能延伸出的最大累加…

MIT6.828 Lab3-2 Print a page table (easy)

實驗內容 實現一個函數來打印頁表的內容&#xff0c;幫助我們更好地理解 xv6 的三級頁表結構。 修改內容 kernel/defs.h中添加函數聲明&#xff0c;方便其它函數調用 void vmprint(pagetable_t);// lab3-2 Print a page tablekernel/vm.c中添加函數具體定義 采用…

2025高頻面試設計模型總結篇

文章目錄 設計模型概念單例模式工廠模式策略模式責任鏈模式 設計模型概念 設計模式是前人總結的軟件設計經驗和解決問題的最佳方案&#xff0c;它們為我們提供了一套可復用、易維護、可擴展的設計思路。 &#xff08;1&#xff09;定義&#xff1a; 設計模式是一套經過驗證的…

Java基礎:面向對象進階(二)

01-static static修飾成員方法 static注意事項&#xff08;3種&#xff09; static應用知識&#xff1a;代碼塊 static應用知識&#xff1a;單列模式 02-面向對象三大特征之二&#xff1a;繼承 什么是繼承&#xff1f; 使用繼承有啥好處? 權限修飾符 單繼承、Object類 方法重…