數據挖掘 4.8 評估泛化能力

4.8 Estimating Generalization
4.8 評估泛化能力

評估模型的泛化能力

  • 如何合理評估模型的泛化能力
    • 指導原則 (Guidelines)
    • 存在的問題 (Issues)
  • K-fold 交叉驗證(Cross-Validation)
    • 留一交叉驗證(Leave One Out CV)(LOOCV)
    • Stratification 分層
  • 訓練-驗證-測試拆分(training validation test split)
  • 引導策略(bootstrap)

如何合理評估模型的泛化能力

指導原則 (Guidelines)

訓練集要有 足夠多的樣本 留下,不要全部拿去訓練。
測試集的標簽 在訓練過程中絕對不能使用(不能直接用,也不能間接泄漏)。但是,測試數據本身(不帶標簽)可以用,比如做無監督的分布分析。
要明確模型的 應用場景和目的(intended use & application)。
要清楚性能評估的 目標(objective of evaluation),比如是比較算法還是用于實際部署。

存在的問題 (Issues)

測試集變小 → 估計的方差變大(因為樣本少,評估結果波動更大)
訓練集變小 → 偏差(bias)增加(數據不足,模型性能評估更悲觀)

K-fold 交叉驗證(Cross-Validation)

在這里插入圖片描述

測量泛化性能 (Measurement of Generalization Performance),用于估計性能的方差 (For estimation of variation),將數據劃分為 K 折 (Divide the data into K folds)

  • 對于每個 k = 1…K
    • 在 K-1 個子集上訓練,留出第 k 個子集作為驗證集
    • 在第 k 個子集上驗證,并計算性能指標
  • 匯總所有 K 次實驗的 平均值方差

不同的K值會如何影響結果,如何影響平均準確率或平均性能指標?
當訓練數據很小的時候,使用較大的K值; 當訓練數據很大的時候,使用較小的K值。

留一交叉驗證(Leave One Out CV)(LOOCV)

如果 K=樣本數K=樣本數K=樣本數,這種極端情況稱為留一交叉驗證(LOOCV)。適用于數據量很小的情況。

Stratification 分層

分層(分層交叉驗證)– 確保每一折包含的樣本數量與整體數據相同。
如果某個類別在整個數據集中占 20% 的樣本,那么在從數據集中抽取的所有樣本中,它也應該占大約 20% 的樣本。
舉例
一個數據集合,1000個數據,800個負例,200個正例。5-fold 交叉驗證。每個樣本fold,都要有80%的負例,20%的正例。

如果我們保證這一點,我們本質上所做的就說分層。與非分層交叉驗證相比,分層交叉驗證是一種更好的評估交叉驗證性能的方法。

訓練-驗證-測試拆分(training validation test split)

(10-fold cross-validation)10倍交叉驗證是很好常用的。如果有10,000個或5,000樣本,我們可以使用10倍交叉驗證,將會提供可靠的估計值。
但如果有大量或者少數樣本作為訓練,這是比較棘手的,需要使用其他方法。如果樣本數量非常大,我們繼續使用10倍交叉驗證,將花費很長時間。因此,這種情況,我們通常會將數據集拆分成為 訓練數據集(training dataset)、驗證數據集(validation dataset)、測試數據集(testing dataset)。常用占比是60%、20%、20%。

在這里插入圖片描述
我們使用一個模型,比如
SVM ,C=100, RBF r=0.1 ,將這個模型在Training dataset中進行訓練,在Valid dataset中進行驗證,得出AUCROC=0.8;
SVM ,C=1000, RBF r=0.2 ,將這個模型在Training dataset中進行訓練,在Valid dataset中進行驗證,得出AUCROC=0.9;

這些模型都在同一個數據集合中進行訓練和測試,最終我們根據測試結果,選出性能最好的模型,比如SVM ,C=1000, RBF r=0.2 。

引導策略(bootstrap)

當樣本數量非常少時,事情就會變得復雜。比如只有100個樣本可以用于訓練。通常情況下,訓練樣本數量很少,標記就很困難。例如,如果是生物或者生物醫學信息學領域,樣本數量可能非常少。因為標記成本很高。比如蛋白質結構測定實驗的成本很容易達到10萬美元。所以這會成為一個問題,如果樣本數量非常少,那準確率的估計就會更加困難。

如果樣本少,可以使用Lemon-outcross validation檸檬雜交實驗,還有別的策略,這些策略稱為 引導策略(bootstrap or bootstrapping),可以實現。
(這里不細說)

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

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

相關文章

46.【.NET8 實戰--孢子記賬--從單體到微服務--轉向微服務】--擴展功能--集成網關--網關集成日志

本篇文章,我們一起在網關中集成日志功能,我們要在網關中記錄下游微服務出現的異常信息、請求信息以及響應信息。在微服務架構中,網關作為系統的入口,承擔著非常重要的職責。通過在網關層面集成日志功能,我們可以更好地…

使用 FastAPI 的 WebSockets 和 Elasticsearch 來構建實時應用

作者:來自 Elastic Jeffrey Rengifo 學習如何使用 FastAPI WebSockets 和 Elasticsearch 構建實時應用程序。 更多閱讀:使用 FastAPI 構建 Elasticsearch API 想要獲得 Elastic 認證嗎?看看下一次 Elasticsearch Engineer 培訓什么時候開始&…

華為云ModelArts+Dify AI:雙劍合璧使能AI應用敏捷開發

引言:AI應用開發的敏捷化轉型需求 隨著大語言模型(LLM)技術的迅猛發展,企業與開發者對AI應用開發的敏捷化轉型需求日益凸顯,亟需將大模型能力快速轉化為實際業務價值。傳統AI開發模式中,復雜的模型工程化、流程編排和部署維護工作往往需要專業技術團隊支撐,典型痛點包括…

網絡實踐——Socket編程UDP

文章目錄Socket編程UDPUDP接口的使用鋪墊socketrecvform && sendtobind字節序轉化使用(Tips)實踐部分version_1echo_serverversion_2dict_serverversion_3chat_serverSocket編程UDP 在了解了相關的網絡基礎知識后,我們不會像學系統知識一樣,先學…

GD32 波形發生器,三角波,正弦波,方波。AD9833+MCP410生成和MCU自身的DAC生成。波形,頻率,振幅可以通過按鍵和OLED調整輸出。

DIY一個簡易的信號發生器驅動板,主要是三角波和正弦波,方波。主板有兩個通道能輸出波形,CH0由AD9833MCP410AD8051放大電路組成,理論可以生成0.1-12.5MHZ的頻率信號,單電源振幅范圍是1-9V。CH1由MCU外設DAC生成的信號&a…

VS2022的MFC中關聯使用控制臺并用printf輸出調試信息

前言 MFC一般在調試的時候,可以在IDE中方便的看到調試的信息。但是,有時候運行的時候也要看調試的信息怎么辦?最好如同在Console(控制臺)程序中輸出一般的方便,可以么?可以的。 一、設置 1.1、加…

ZKmall模塊商城的推薦數據體系:從多維度采集到高效存儲的實踐

在電商領域,個性化推薦已成為提升用戶體驗與轉化效率的核心手段。ZKmall 模塊商城基于用戶行為、商品屬性與交易數據,構建了一套完整的推薦算法體系,而數據采集的全面性與存儲的高效性是該體系的基礎。本文將聚焦推薦算法的 “數據輸入端”&a…

Qt + windows+exe+msvc打包教程

目錄 1. Qt + windows+exe+msvc打包教程1 1.1. Enigma Virtual Box下載?1 1.2. Enigma Virtual Box安裝2 1.3. Qt 打包成獨立exe教程6 1.3.1. Qt項目創建6 1.3.2. Qt項目編譯13 1.3.3. Qt 項目打包 windeployqt命令14 1.3.4. Qt 項目打包 Enigma Virtual Box工具18 Q…

大語言模型應用開發——利用OpenAI函數與LangChain結合從文本構建知識圖譜搭建RAG應用全流程

概述 從文本等非結構化數據中提取結構化信息并非新鮮事物,但大語言模型(LLMs)為該領域帶來了重大變革。以往需要機器學習專家團隊策劃數據集并訓練自定義模型,如今只需訪問LLM即可實現,顯著降低了技術門檻&#xff0c…

Vue3+Spring Boot技術棧,前端提交混合表單數據(普通字段+文件字段),上傳文件,后端插入數據,將文件保存到數據庫

一、技術棧1、前端 Vue3 Element Plus TypeSprict2、后端 Spring Boot 3.2.12 Mybatis Plus3、模型特點3.1、表格展示列表數據3.2、行點擊,彈出對話框3.3、前端使用 FormData 提交混合表單數據,包含普通字段和文件字段3.4、文件對應數據庫結構類型為 …

【Qt開發】Qt的背景介紹(四)

目錄 1 -> Qt Hello World 程序 1.1 -> 使用“按鈕”實現 1.1.1 -> 純代碼方式實現 1.1.2 -> 可視化操作實現 1.2 -> 使用“標簽”實現 1.2.1 -> 純代碼方式實現 1.2.2 -> 可視化操作實現 2 -> 項目文件解析 2.1 -> .pro文件解析 2.2 -&g…

Linux驅動開發筆記(六)——pinctrl GPIO

開發板:imx6ull mini 虛擬機:VMware17 ubuntu:ubuntu20.04 視頻:第8.1講 pinctrl和gpio子系統試驗-pincrl子系統詳解_嗶哩嗶哩_bilibili 文檔:《【正點原子】I.MX6U嵌入式Linux驅動開發指南.pdf》四十五章 這一章…

SpringBoot 快速上手:從環境搭建到 HelloWorld 實戰

在 Java 開發領域,Spring 框架占據著舉足輕重的地位,但它復雜的配置曾讓不少開發者望而卻步。SpringBoot 的出現,如同為 Spring 框架裝上了 “加速器”,以 “約定大于配置” 的理念簡化了開發流程。本文將從環境準備、Maven 配置入…

圖、最小生成樹與最短路徑

目錄 并查集 并查集實現 圖 概念 圖的存儲結構 鄰接矩陣 鄰接表 無向圖 有向圖 圖的遍歷 廣度優先遍歷 深度優先遍歷 最小生成樹 Kruskal算法(克魯斯卡爾算法) Prim算法(普利姆算法) 最短路徑 單源最短路徑--Dij…

互聯網電商新生態:開源AI智能名片、鏈動2+1模式與S2B2C商城小程序的融合賦能

摘要:本文聚焦互聯網電商領域,探討在當下直播電商蓬勃發展的背景下,開源AI智能名片、鏈動21模式以及S2B2C商城小程序如何相互融合,為創業者、企業和淘寶主播IP等電商參與者帶來新的發展機遇。通過分析各要素的特點與優勢&#xff…

企業車輛|基于SprinBoot+vue的企業車輛管理系統(源碼+數據庫+文檔)

企業車輛管理系統 基于SprinBootvue的企業車輛管理系統 一、前言 二、系統設計 三、系統功能設計 系統功能實現 后臺模塊實現 管理員模塊實現 駕駛員模塊實現 四、數據庫設計 五、核心代碼 六、論文參考 七、最新計算機畢設選題推薦 八、源碼獲取: 博…

自學嵌入式第二十五天:數據結構-隊列、樹

一、隊列隊列是只允許一段進行插入,另一端進行刪除操作的線性表;允許插入的一端叫隊尾,允許刪除的一端叫對頭;先進先出;用于解決速度不匹配(例如一快一慢),做緩沖用;二、…

MySQL索引原理與優化全解析

1、MySQL索引是什么? 在關系數據庫中,索引是一種單獨的、物理的對數據庫表中一列或多列的值進行排序的一種存儲結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標志這些值的數據頁的邏輯指針清單。索引的作用相當于圖書的目錄&a…

模型對話狀態管理方法詳解

模型對話狀態管理方法詳解 目錄 簡介手動管理對話狀態構建對話歷史追加響應內容 API 支持的自動化對話狀態管理使用 previous_response_id 鏈接話輪 Token 及上下文窗口管理上下文窗口定義與限制Token 計數與工具 安全與合規注意事項結語1. 簡介 在多輪對話場景中,合…

GPT-5 上線風波深度復盤:從口碑兩極到策略調整,OpenAI 的變與不變

摘要: 近日,備受矚目的 GPT-5 正式上線,卻意外地在社區引發了兩極化爭議。面對技術故障與用戶質疑,OpenAI 迅速推出一系列補救措施。本文將深度復盤此次發布風波,解析其背后的技術挑戰與應對策略,并探討這一…