機器學習-3

文章目錄

  • 前言
    • 訓練
    • 驗證
    • 測試
    • 評估
    • 評估方法
    • 交叉驗證法
    • 自助法
    • 評估指標
  • 練習題


前言

本篇介紹機器學習中的訓練、驗證、測試與評估的相關概念。


訓練

從數據中學得模型的過程稱為“學習”(learning)或“訓練”(training),這個過程通過執行某個學習算法來完成.訓練過程中使用的數據稱為“訓練數據”(training data),其中每個樣本稱為一個“訓練樣本”(training sample),訓練樣本組成的集合稱為“訓練集”(training set).

驗證

在現實任務中,我們往往有多種學習算法可供選擇,甚至對同一個學習算法,當使用不同的參數配置時,也會產生不同的模型.那么,我們該選用哪一個學習算法、使用哪一種參數配置呢?這就是機器學習中的“模型選擇”(modelselection)問題.這時候,我們對學習出來的模型,微調他們的參數,如在神經網絡中選擇隱藏單元數。驗證集還用來確定網絡結構或者控制模型復雜程度的參數。

測試

通常,我們可通過實驗測試來對學習器的泛化誤差進行評估并進而做出選擇.為此,需使用一個“測試集”(testing set)來測試學習器對新樣本的判別能力,然后以測試集上的“測試誤差”(testing error)作為泛化誤差的近似.通常我們假設測試樣本也是從樣本真實分布中獨立同分布采樣而得.但需注意的是,測試集應該盡可能與訓練集互斥,即測試樣本盡量不在訓練集中出現、未在訓練過程中使用過.

評估

機器學習領域中,對模型的評估同樣至關重要,只有選擇與問題相匹配的評估方法,才能快速地發現模型選擇或訓練過程中出現的問題,迭代地對模型進行優化。模型評估主要分為離線評估和在線評估兩個階段。針對分類、排序、回歸、序列預測等不同類型的機器學習問題,評估指標的選擇也有所不同。知道每種評估指標的精確定義、有針對性地選擇合適的評估指標、更具評估指標的反饋進行模型調整,這些都是模型評估階段的關鍵問題。

我們把學習器的實際預測輸出與樣本的真實輸出之間的差異稱為“誤差”(error),學習器在訓練集上的誤差稱為“訓練誤差”(training error)或“經驗誤差”(empirical error),在新樣本上的誤差稱為“泛化誤差”(generalizationerror).顯然,我們希望得到泛化誤差小的學習器.

通常,我們可通過實驗測試來對學習器的泛化誤差進行評估并進而做出選擇.為此,需使用一個測試集來測試學習器對新樣本的判別能力,然后以測試集上的誤差作為泛化誤差的近似.

評估方法

留出法
“留出法”(hold-out)直接將數據集D劃分為兩個互斥的集合,其中一個集合作為訓練集S,另一個作為測試集T.在S上訓練出模型后,用T來評估其測試誤差,作為對泛化誤差的估計.

交叉驗證法

“交叉驗證法”(cross validation)先將數據集D劃分為k個大小相似的互斥子集.每個子集D都盡可能保持數據分布的一致性,即從D中通過分層采樣得到.然后,每次用k-1個子集的并集作為訓練集,余下的那個子集作為測試集;這樣就可獲得k組訓練/測試集,從而可進行k次訓練和測試,最終返回的是這k個測試結果的均值.顯然,交叉驗證法評估結果的穩定性和保真性在很大程度上取決于k的取值,為強調這一點,通常把交叉驗證法稱為“k折交叉驗證”(k-fold crossvalidation).k最常用的取值是10,此時稱為10折交叉驗證;其他常用的k值有5、20等.下圖為10折交叉驗證的示意圖.
,
假定數據集D中包含m個樣本,若令k = m ,則得到了交叉驗證法的一個特例:留一法(Leave-One-Out,簡稱LOO).顯然,留一法不受隨機樣本劃分方式的影響。

自助法

給定包含m個樣本的數據集D,我們對它進行采樣產生數據集D’:每次隨機從D中挑選一個樣本,將其拷貝放入D’,然后再將該樣本放回初始數據集D中,使得該樣本在下次采樣時仍有可能被采到;這個過程重復執行m次后,我們就得到了包含m個樣本的數據集D’,這就是自助采樣的結果。
自助法在數據集較小難以有效劃分訓練集和測試集時很有用。

評估指標

準確率(Accuracy)的定義是:對于給定的測試集,分類模型正確分類的樣本數與總樣本數之比;

精確率(Precision)的定義是:對于給定測試集的某一個類別,分類模型預測正確的比例,或者說:分類模型預測的正樣本中有多少是真正的正樣本;

召回率(Recall)的定義為:對于給定測試集的某一個類別,樣本中的正類有多少被分類模型預測正確召回率的定義為:對于給定測試集的某一個類別,樣本中的正類有多少被分類模型預測正確;

F1_score,在理想情況下,我們希望模型的精確率越高越好,同時召回率也越高越高,但是,現實情況往往事與愿違,在現實情況下,精確率和召回率像是坐在蹺蹺板上一樣,往往出現一個值升高,另一個值降低,那么,有沒有一個指標來綜合考慮精確率和召回率了,這個指標就是F1值。F1值的計算公式為:
,


練習題

1、通過作業可以知道不同學生學習情況、進步的速度快慢這一過程屬于以下哪種?
A、訓練
B、驗證
C、測試
D、評估

2、常用的評估方法有哪些?
A、k折交叉驗證
B、自助法
C、留出法

3、____在數據集較小難以有效劃分訓練集和測試集時很有用。
A、留出法
B、自助法
C、k折交叉驗證法

4、評價指標有以下哪幾種?
A、召回率(Recall)
B、準確率(Accuracy)
C、F1_score
D、精確率(Precision)

5、學習器在訓練集上的誤差稱為____,在新樣本上的誤差稱為____.
A、“泛化誤差”(generalizationerror),“訓練誤差”(training error)
B、“訓練誤差”(training error),“泛化誤差”(generalizationerror)

6、k折交叉驗證是留一法的特例,這種表達正確嗎?
A、正確
B、不正確

參考答案:
1.B
2.ABC
3.B
4.ABCD
5.B
6.B

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

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

相關文章

Android T 遠程動畫顯示流程其三——桌面側動畫啟動到系統側結束流程

前言 接著前文分析Android T 遠程動畫顯示流程其二 我們通過IRemoteAnimationRunner跨進程通信從系統進程來到了桌面進程,這里是真正動畫播放的邏輯。 之后又通過IRemoteAnimationFinishedCallback跨進程通信回到系統進程,處理動畫結束時的邏輯。 進入…

使用maven項目引入jQuery

最近在自學 springBoot ,期間準備搞一個前后端不分離的東西,于是需要在 maven 中引入jQuery 依賴,網上百度了很多,這里來做一個總結。 1、pom.xml 導入依賴 打開我們項目的 pom.xml 文件,輸入以下坐標。這里我使用的是…

FPGA-學會使用vivado中的存儲器資源ROM(IP核)

問題: 某芯片,有500個寄存器,需要在上電的時候由FPGA向這些寄存器中寫入初始值,初始值已經通過相應的文檔給出了具體值,這些值都是已知的。 分析關鍵點: 數據量比較多(Verilog代碼,通過case語句、always語句這種查找表的方式,數…

Linux——匿名管道

Linux——匿名管道 什么是管道匿名管道的底層原理觀察匿名管道現象讀寫端的幾種情況寫端慢,讀端快寫端快,讀端慢 管道的大小寫端關閉,讀端一直讀寫端一直寫,讀端關閉 我們之前一直用的是vim來編寫代碼,現在有了vscode這…

bert 相似度任務訓練,簡單版本

目錄 任務 代碼 train.py predit.py 數據 任務 使用 bert-base-chinese 訓練相似度任務,參考:微調BERT模型實現相似性判斷 - 知乎 參考他上面代碼,他使用的是 BertForNextSentencePrediction 模型,BertForNextSentencePred…

thinkphp學習10-數據庫的修改刪除

數據修改 使用 update()方法來修改數據,修改成功返回影響行數,沒有修改返回 0 public function index(){$data [username > 孫悟空1,];return Db::name(user)->where(id,11)->update($data);}如果修改數據包含了主鍵信息,比如 i…

STM32標準庫開發——BKP備份RTC時鐘

備份寄存器BKP(Backup Registers) 由于RTC與BKP關聯性較高,所以RTC的時鐘校準寄存器以及一些功能都放在了BKP中。TAMPER引腳主要用于防止芯片數據泄露,可以設計一個機關當TAMPER引腳發生電平跳變時自動清除寄存器內數據不同芯片BKP區別,主要體…

c++入門(2)

上期我們說到了部分c修補C語言的不足,今天我們將剩下的一一說清楚。 函數重載 (1).函數重載的形式 C語言不允許函數名相同的同時存在,但是C允許同名函數存在,但是有要求:函數名相同,參數不同,構成函數重…

【數據結構-圖論】并查集

并查集(Union-Find)是一種數據結構,它提供了處理一些不交集的合并及查詢問題的高效方法。并查集主要支持兩種操作: 查找(Find):確定某個元素屬于哪個子集,這通常意味著找到該子集的…

vue購物車實戰

1.引入vue <script src"https://cdn.jsdelivr.net/npm/vue2.7.14/dist/vue.js"></script> 2.設置高亮部分的樣式 <style> table tr{text-align: center;}.skyblue{background-color: skyblue;}</style> 3.設置body的基本樣式 <div id&q…

人大金倉與mysql的差異與替換

人大金倉中不能使用~下面的符號&#xff0c;字段中使用”&#xff0c;無法識別建表語句 創建表時語句中只定義字段名.字段類型.是否是否為空 Varchar類型改為varchar&#xff08;長度 char&#xff09; Int(0) 類型為int4 定義主鍵&#xff1a;CONSTRAINT 鍵名 主鍵類型&#x…

Found option without preceding group in config file 問題解決

方法就是用記事本打開 然后 左上角點擊 文件 有另存為 就可以選擇編碼格式

Linux設置程序任意位置執行(設置環境變量)

問題 直接編譯出來的可執行程序在執行時需要寫出完整路徑比較麻煩&#xff0c;設置環境變量可以實現在任意位置直接運行。 解決 1.打開.bashrc文件 vim ~/.bashrc 2.修改該文件&#xff08;實現將/home/zhangziheng/file/seqrequester/build/bin&#xff0c;路徑下的可執…

文件流【文件輸入流】

文件流&#xff1a;使用文件輸入流讀取文件中的數據&#xff1a; public class FISDemo {public static void main(String[] args) throws IOException {//將fos.dat文件中的字節讀取回來/*fos.dat文件中的數據:00000001 00000010*/FileInputStream fis new FileInputStream(…

第六節:Vben Admin權限-后端控制方式

系列文章目錄 第一節:Vben Admin介紹和初次運行 第二節:Vben Admin 登錄邏輯梳理和對接后端準備 第三節:Vben Admin登錄對接后端login接口 第四節:Vben Admin登錄對接后端getUserInfo接口 第五節:Vben Admin權限-前端控制方式 文章目錄 系列文章目錄前言一、角色權限(后端…

Java面試題總結6

Spring中有哪些設計模式 簡單工廠&#xff1a;由一個工廠類根據傳入的參數&#xff0c;動態決定應該創建哪一個產品類 工廠方法&#xff1a;實現FactoryBean接口的bean是一類叫做factory的bean 單例模式&#xff1a;保證一個類僅有一個實例&#xff0c;并提供一個訪問它的全…

【辦公類-18-03】(Python)中班米羅可兒證書批量生成打印(班級、姓名)

作品展示——米羅可兒證書打印幼兒姓名 背景需求 2024年3月1日&#xff0c;中4班孩子一起整理美術操作材料《米羅可兒》的操作本——將每一頁紙撕下來&#xff0c;分類擺放、確保紙張上下位置正確。每位孩子們都非常厲害&#xff0c;不僅完成了自己的一本&#xff0c;還將沒有…

C++數據結構與算法——二叉搜索樹的屬性

C第二階段——數據結構和算法&#xff0c;之前學過一點點數據結構&#xff0c;當時是基于Python來學習的&#xff0c;現在基于C查漏補缺&#xff0c;尤其是樹的部分。這一部分計劃一個月&#xff0c;主要利用代碼隨想錄來學習&#xff0c;刷題使用力扣網站&#xff0c;不定時更…

C++編程面試復盤:數組降重+快排+函數指針+類模板

面試真題 真題1 #include <iostream> // 在函數 find_repetnum 的參數列表中&#xff0c;int& length 中的 & 符號表示引用。通過將 length 聲明為引用&#xff0c;函數可以修改傳入的 length 變量的值&#xff0c;并且這種修改會在函數外部生效。 void find_r…

Vue2:路由history模式的項目部署后頁面刷新404問題處理

一、問題描述 我們把Vue項目的路由模式&#xff0c;設置成history 然后&#xff0c;build 并把dist中的代碼部署到nodeexpress服務中 訪問頁面后&#xff0c;刷新頁面報404問題 二、原因分析 server.js文件 會發現&#xff0c;文件中配置的路徑沒有Vue項目中對應的路徑 所以…