機器學習復習3--模型評估

誤差與過擬合

?我們將學習器對樣本的實際預測結果與樣本的真實值之間的差異稱為:誤差(error)。

誤差定義:

①在訓練集上的誤差稱為訓練誤差(training error)或經驗誤差(empirical error)。
②在測試集上的誤差稱為測試誤差(test error)。
③學習器在所有新樣本上的誤差稱為泛化誤差(generalization error)

????????當學習器把訓練集學得“太好”的時候,即把一些訓練樣本的自身特點當做了普遍特征;同時也有學習能力不足的情況,即訓練集的基本特征都沒有學習出來。
①學習能力過強,以至于把訓練樣本所包含的不太一般的特性都學到了,稱為:過擬合(overfitting)。
②學習能太差,訓練樣本的一般性質尚未學好,稱為:欠擬合(underfitting)。

訓練集測試集劃分

1.留出法
????????將數據集D劃分為兩個互斥的集合,一個作為訓練集S,一個作為測試集T,滿足D=S∪T且S∩T=?,常見的劃分為:大約2/3-4/5的樣本用作訓練,剩下的用作測試。
2.交叉驗證法
????????將數據集D劃分為k個大小相同的互斥子集,滿足D=D1∪D2∪...∪Dk,Di∩Dj=?(i≠j),同樣地盡可能保持數據分布的一致性,即采用分層抽樣的方法獲得這些子集。

性能度量

1.均方誤差

?在回歸任務中,即預測連續值的問題,最常用的性能度量是“均方誤差”(mean squared error),很多的經典算法都是采用了MSE作為評價函數

2.P/R/F1

對于二分類問題,分類結果混淆矩陣與查準/查全率定義如下:

????????除了混淆矩陣,一般還會畫“P-R曲線”

????????P-R曲線定義如下:根據學習器的預測結果(一般為一個實值或概率)對測試樣本進行排序,將最可能是“正例”的樣本排在前面,最不可能是“正例”的排在后面,按此順序逐個把樣本作為“正例”進行預測,每次計算出當前的P值和R值,如下圖所示:


? ①若一個學習器A的P-R曲線被另一個學習器B的P-R曲線完全包住,則稱:B的性能優于A。

? ②若A和B的曲線發生了交叉,則誰的曲線下的面積大,誰的性能更優。

? ③但一般來說,曲線下的面積是很難進行估算的,所以衍生出了“平衡點”(Break-Event Point,簡稱BEP),即當P=R時的取值,平衡點的取值越高,性能更優。

????????P和R指標有時會出現矛盾的情況,這樣就需要綜合考慮他們,最常見的方法就是F-Measure,又稱F-Score。F-Measure是P和R的加權調和平均,即:

特別地,當β=1時,也就是常見的F1度量,是P和R的調和平均,當F1較高時,模型的性能越好。

3.ROC/AUC

????????學習器對測試樣本的評估結果一般為一個實值或概率,設定一個閾值,大于閾值為正例,小于閾值為負例,因此這個實值的好壞直接決定了學習器的泛化性能,若將這些實值排序,則排序的好壞決定了學習器的性能高低。

????????ROC曲線正是從這個角度出發來研究學習器的泛化性能,ROC曲線與P-R曲線十分類似,都是按照排序的順序逐一按照正例預測,不同的是ROC曲線以“真正例率”(True Positive Rate,簡稱TPR)為橫軸,縱軸為“假正例率”(False Positive Rate,簡稱FPR),ROC偏重研究基于測試樣本評估值的排序好壞。
????????進行模型的性能比較時

①若一個學習器A的ROC曲線被另一個學習器B的ROC曲線完全包住,則稱B的性能優于A。

②若A和B的曲線發生了交叉,則誰的曲線下的面積大,誰的性能更優。

????????ROC曲線下的面積定義為AUC(Area Uder ROC Curve),不同于P-R的是,這里的AUC是可估算的,即AOC曲線下每一個小矩形的面積之和。易知:AUC越大,證明排序的質量越好,AUC為1時,證明所有正例排在了負例的前面,AUC為0時,所有的負例排在了正例的前面。

比較檢驗

1 假設檢驗

????????“假設”指的是對樣本總體的分布或已知分布中某個參數值的一種猜想,例如:假設總體服從泊松分布,或假設正態總體的期望u=u0。

2.交叉驗證T檢驗

? ? ? ? 比較兩個學習率的性能。

3.McNemar檢驗

????????MaNemar主要用于二分類問題,與成對t檢驗一樣也是用于比較兩個學習器的性能大小。主要思想是:若兩學習器的性能相同,則A預測正確B預測錯誤數應等于B預測錯誤A預測正確數,即e01=e10,且|e01-e10|服從N(1,e01+e10)分布。

偏差與方差

①偏差指的是預測的期望值與真實值的偏差

②方差則是每一次預測值與預測值得期望之間的差均方。

????????實際上,偏差體現了學習器預測的準確度,而方差體現了學習器預測的穩定性。通過對泛化誤差的進行分解,可以得到:

期望泛化誤差=方差+偏差
偏差刻畫學習器的擬合能力
方差體現學習器的穩定性

????????在欠擬合時,偏差主導泛化誤差,而訓練到一定程度后,偏差越來越小,方差主導了泛化誤差。因此訓練也不要貪杯,適度輒止。

參考: https://www.heywhale.com/mw/project/5e4f89fb0e2b66002c1f6468

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

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

相關文章

Docker 鏡像上傳到 AWS ECR:從構建到推送的全流程

一、在 EC2 實例中安裝 Docker(適用于 Amazon Linux 2) 步驟 1:連接到 EC2 實例 ssh -i your-key.pem ec2-useryour-ec2-public-ip步驟 2:安裝 Docker sudo yum update -y sudo amazon-linux-extras enable docker sudo yum in…

MobileNet 改進:基于MobileNetV2和SSPP的圖像分類

1.創新點分析 在計算機視覺領域,高效的圖像分類模型一直是研究熱點。 本文將詳細解析一個結合了MobileNetV2和空間金字塔池化(SSPP)的深度學習模型實現。 模型概述 這個代碼實現了一個輕量級但功能強大的圖像分類器,主要包含兩個核心組件: MobileNetV2作為特征提取器 自定…

Java中List的forEach用法詳解

在 Java 中,List.forEach() 是 Java 8 引入的一種簡潔的遍歷集合元素的方法。它基于函數式編程思想,接受一個 Consumer 函數式接口作為參數,用于對集合中的每個元素執行操作。 基本語法 java 復制 下載 list.forEach(consumer); 使用示…

涂鴉T5AI手搓語音、emoji、otto機器人從入門到實戰

“🤖手搓TuyaAI語音指令 😍秒變表情包大師,讓萌系Otto機器人🔥玩出智能新花樣!開整!” 🤖 Otto機器人 → 直接點明主體 手搓TuyaAI語音 → 強調 自主編程/自定義 語音控制(TuyaAI…

計算機視覺與深度學習 | 基于MATLAB的相機標定

基于MATLAB的相機標定:原理、步驟與代碼實現 相機標定 基于MATLAB的相機標定:原理、步驟與代碼實現MATLAB相機標定完整流程1. 準備工作2. 采集標定圖像3. 導入圖像并檢測角點4. 生成世界坐標5. 執行相機標定6. 分析標定結果7. 應用標定結果校正圖像相機標定關鍵概念相機參數類…

物聯網專業核心課程以及就業方向

物聯網專業作為信息技術與產業應用深度融合的交叉學科,其課程體系覆蓋硬件、軟件、網絡、數據等全鏈條技術,就業方向則隨智能技術普及呈現多元化趨勢。以下是基于最新行業動態與教育實踐的系統分析: 📚 一、物聯網專業核心課程體系…

mac 安裝homebrew (nvm 及git)

mac 安裝nvm 及git 萬惡之源 mac 安裝這些東西離不開Xcode。及homebrew 一、先說安裝git步驟 通用: 方法一:使用 Homebrew 安裝 Git(推薦) 步驟如下:打開終端(Terminal.app) 1.安裝 Homebrew…

vue3 定時器-定義全局方法 vue+ts

1.創建ts文件 路徑&#xff1a;src/utils/timer.ts 完整代碼&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 創建定時器con…

線性代數證明:把行列式的某一行(列)的k倍加到另一行(列),行列式的值不變

線性代數證明 把行列式的某一行&#xff08;列&#xff09;的k倍加到另一行&#xff08;列&#xff09;&#xff0c;行列式的值不變&#xff1a; 注意五角星的位置要用到另一條性質&#xff1a;若行列式的某一行&#xff08;列&#xff09;的元素都是兩數之和&#xff0c;則可以…

webrtc 在線測試, 如何在線拉流測試

1. 如下所示&#xff0c;使用騰訊提供的網頁即可&#xff0c;非常贊&#xff0c;測試直播拉流 webrtc協議 WebRTC Player Demo 2.截圖&#xff1a;

基于Flask前后端分離智慧安防小區系統

基于Flask前后端分離智慧安防小區系統 本項目是一個基于前后端分離架構的智慧安防小區管理系統&#xff0c;采用現代化的技術棧和完善的功能設計&#xff0c;旨在提供一個高效、安全的小區管理解決方案。 技術架構 前端技術棧 基于Vue 3框架開發參考Geeker-Admin項目的基礎…

深入解析 Linux 死鎖:原理、原因及解決方案

深入解析 Linux 死鎖&#xff1a;原理、原因及解決方案 目錄 **深入解析 Linux 死鎖&#xff1a;原理、原因及解決方案**前言&#xff1a;一次凌晨 3 點的 “服務器崩潰”&#xff0c;揭開死鎖的致命性一、死鎖的基礎&#xff1a;資源與競爭的 “導火索”1.1 資源&#xff1a;死…

C學習--內存管理

#靈感# 當計算機執行一個程序時&#xff0c;必須有一種方法來存儲程序本身和運算所得的數據。 總的來講&#xff0c;計算機硬件中任何能夠存儲和檢索信息的部分都是存儲設備。當前運行的程序存放的存儲器稱為主存儲器&#xff08;primary storage&#xff09;&#xff0c;常常…

使用 Docker Compose 安裝 PostgreSQL 16

前面是指南&#xff0c;后面是實際工作日志。 1. 創建 docker-compose.yml 文件 yaml 復制 下載 version: 3.9 services:postgres:image: postgres:16container_name: postgres-16environment:POSTGRES_USER: your_username # 替換為你的用戶名POSTGRES_PASSWORD: your…

從數據報表到決策大腦:AI重構電商決策鏈條

在傳統電商運營中&#xff0c;決策鏈條往往止步于“數據報表層”&#xff1a;BI工具整合歷史數據&#xff0c;生成滯后一周甚至更久的銷售分析&#xff0c;運營團隊憑經驗預判需求。當爆款突然斷貨、促銷庫存積壓時&#xff0c;企業才驚覺標準化BI的決策時差正成為增長瓶頸。 一…

SpringBoot 自動化部署實戰:CI/CD 整合方案與避坑指南

引言 在微服務架構盛行的今天&#xff0c;SpringBoot 憑借其開箱即用的特性成為 Java 后端開發的主流框架。然而&#xff0c;隨著項目規模擴大&#xff0c;手動部署的效率瓶頸逐漸顯現。本文將結合 GitLab CI/CD、Jenkins 等工具&#xff0c;深入探討 SpringBoot 項目的自動化部…

力扣HOT100之二分查找:35. 搜索插入位置

這道題屬于是二分查找的入門題了&#xff0c;我依稀記得一些二分查找的編碼要點&#xff0c;但是最后還是寫出了一個死循環&#xff0c;無語(ˉ▽ˉ&#xff1b;)…又回去看了下自己當時的博客和卡哥的視頻&#xff0c;這才發現自己分情況只分了兩種&#xff0c;最后導致死循環…

VS創建Qt項目,Qt的關鍵字顯示紅色波浪線解決方法

如圖所示&#xff0c;VS2017新創建的Qt項目&#xff0c;編譯正常&#xff0c;關鍵字顯示識別失敗&#xff0c;顯示紅色波浪線&#xff0c;編譯運行沒問題。 解決方法&#xff1a; 如下圖所示&#xff0c;C/C -> 常規 -> 附加包含目錄 ->添加Qt的Include路徑 如下圖…

pikachu靶場通關筆記22-1 SQL注入05-1-insert注入(報錯法)

目錄 一、SQL注入 二、insert注入 三、報錯型注入 四、updatexml函數 五、源碼審計 六、insert滲透實戰 1、滲透準備 2、獲取數據庫名database 3、獲取表名table 4、獲取列名column 5、獲取字段 本系列為通過《pikachu靶場通關筆記》的SQL注入關卡(共10關&#xff0…

k8s從入門到放棄之HPA控制器

k8s從入門到放棄之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一種用于自動擴展部署、副本集或復制控制器中Pod數量的機制。它可以根據觀察到的CPU利用率&#xff08;或其他自定義指標&#xff09;來調整這些對象的規模&#xff0c;從而幫助應用程序在負…