1. 程式人生 > >【NLP】驀然回首:談談學習模型的評估系列文章(二)

【NLP】驀然回首:談談學習模型的評估系列文章(二)

作者:白寧超

2016年7月19日10:24:24

摘要:寫本文的初衷源於基於HMM模型序列標註的一個實驗,實驗完成之後,迫切想知道採用的序列標註模型的好壞,有哪些指標可以度量。於是,就產生了對這一專題進度學習總結,這樣也便於其他人蔘考,節約大家的時間。本文依舊旨在簡明扼要梳理出模型評估核心指標,重點達到實用。本文佈局如下:第一章採用統計學習角度介紹什麼是學習模型以及如何選擇,因為現今的自然語言處理方面大都採用概率統計完成的,事實證明這也比規則的方法好。第二章採用基於資料探勘的角度探討模型評估指標和選擇。第三章採用統計自然語言處理的方法看看模型評價方法。第四章以R語言為例項,進行實戰操作,更深入瞭解模型的相關問題。(本文原創,轉載請註明出處

基於Data Mining角度的模型評估與選擇。)

目錄

【自然語言處理:談談學習模型的評估(一)】:

【自然語言處理:談談學習模型的評估(三)】:

【自然語言處理:談談學習模型的評估(四)】:

1 模型評估的概念介紹?

評估準確率的常用技術:保持和隨機子抽樣、K-折交叉驗證、自助方法

統計顯著性檢驗:評估模型準確率

ROC曲線:接收者操作特徵曲線比較分類器效果好壞

2 評估分類器模型效能的度量

混淆矩陣:正元組和負元組的合計

評估度量:(其中P:正樣本數 N:負樣本數 TP:真正例 TN:真負例 FP:假正例 FN:假負例)

注意:學習器的準確率最好在檢驗集上估計,檢驗集的由訓練集模型時未使用的含有標記的元組組成資料。

各引數描述如下:

TP(真正例/真陽性):是指被學習器正確學習的正元組,令TP為真正例的個數。

TN(真負例/真陰性):是指被學習器正確學習的負元組,令TN為真負例的個數。

FP(假正例/假陽性):是被錯誤的標記為正元組的負元組。令FP為假正例的個數。

FN(假負例/假陰性):是被錯誤的標記為負元組的正元組。令FN為假負例的個數。

高準確率的學習模型:大部分元組應該在混合矩陣的對角線上,而其他為0或者接近0,即FP和FN為0.其本質上是一個對角矩陣時準確率最高。

準確率:正確識別的元組所佔的比例。又叫做識別率,公式如下:

 

3 例項分析:詞性標註為例

 

錯誤率:錯誤識別元組所佔的比例,又叫誤識別率,公式如下:

 或者1-accuracy(M)

檢驗時,應採用檢驗集未加入訓練集的資料,當採用訓練集估計模型時,為再帶入誤差,這種稱為樂觀估計。準確率可以度量正確標註的百分比,但是不能正確度量錯誤率。諸如樣本不平衡時,即負樣本是稀疏卻是感興趣的。比如:欺詐、癌症等。這種情況下應使用靈敏性特效性度量。

靈敏度又叫真正識別率:正確識別的正元組的百分比,公式如下:

特效性又叫真負例率:正確識別的正元組的百分比,公式如下:

準確率的靈敏度和特效性的函式關係

精度:精確性的度量即標記為正元組實際為正元組的百分比,公式如下:

召回率:完全性的度量即正元組標記為正的百分比,公式如下:

精度和召回率之間趨向於逆關係,有可能以降低一個指標提升另一個指標。此刻兩個指標預想達到綜合引出了F度量值

F度量(又叫F分數):用精度和召回率的方法把他們組合到一個度量中。公式如下:

 

 

比較:F度量是精度和召回率的調和均值,賦予精度和召回率相等的權重, 度量是精度和召回率加權度量,它賦予召回率權重是精度的β倍,諸如中文詞彙中,常用詞的權重比生僻詞的權重大是一樣的道理,也符合實際應用。

注意:當元組屬於多個類時,不適合使用準確率。當資料均衡分佈即正負元組基本相當時,準確率效果最好,而召回率、特效性、精度、F和 更適合於樣本分佈不均的情況。

4 模型評估的幾種方法介紹

 

1)隨機二次抽樣評估準確率:是保持方法的一種變形,將保持方法重複K次,總準確率估計是每次迭代準確率的平均值

2)K-折交叉驗證評估準確率:(建議10折)

K-折交叉驗證:將初始的資料隨機分為大小大致相同的K份,訓練和檢驗進行K次,如第1次迭代第一份資料作為檢查集,其餘K-1份作為訓練集,第2次迭代。第二份資料作為檢驗集,其餘K-1份作為訓練集,以此類推直到第K份資料作為檢驗集為止。此方法每份樣本用於訓練的次數一致且每份樣本只作為一次檢驗集。準確率是K次迭代正確元組總數除以初始資料元組總數。一般建議採用10-折交叉驗證估計準確率,因為它的偏移和方差較低。

3)自助法評估準確率:

自助法有放回的均勻抽樣,常用632自助法。即63.2%原資料將出現在自助樣本中。而其餘38.8%元資料形成檢驗集。

5 學習器模型的比較:ROC曲線

成本效益(風險增益):如錯誤的預測癌症患者沒有患病比將沒有患病的病人歸類癌症的代價大等等事件,據此給於不同的權重。

ROC曲線又叫接受者操作特徵曲線,比較兩個學習器模型的視覺化工具,橫座標引數假正例率,縱座標引數是真正例率。以此匯聚成的曲線,越靠近對角線(隨機猜測線)模型越不好。

真正例率(召回率):

假正例率

例項解析:以10個檢驗元組的概率分類器為例繪製ROC曲線

由以上資料繪製ROC曲線(左圖)和兩個分類器模型M1、M2的ROC曲線

由此可知,對角線為隨機猜測線,模型的ROC曲線越靠近對角線,模型的準確率越低。如果很好的模型,真正比例比較多,曲線應是陡峭的從0開始上升,後來遇到真正比例越來越少,假正比例元組越來越多,曲線平緩變的更加水平。完全正確的模型面積為1。

4 參考文獻

【1】 資料探勘概念與技術(364--386) 韓家煒

【2】 資料探勘:R語言實戰(274--292) 黃文、王正林

【3】 統計自然語言處理基礎 (166—169) 宛春法等譯

【4】 統計學習方法(10---13) 李航

5 自然語言相關係列文章

【自然語言處理:馬爾可夫模型(一)】:

宣告:關於此文各個篇章,本人採取梳理扼要,順暢通明的寫作手法。系統閱讀相關書目和資料總結梳理而成,旨在技術分享,知識沉澱。在此感謝原著無私的將其匯聚成書,才得以引薦學習之用。其次,本人水平有限,權作知識理解積累之用,難免主觀理解不當,造成讀者不便,基於此類情況,望讀者留言反饋,便於及時更正。本文原創,轉載請註明出處基於Data Mining角度的模型評估與選擇。

相關推薦

NLP驀然回首談談學習模型評估系列文章

作者:白寧超 2016年7月19日19:04:51 摘要:寫本文的初衷源於基於HMM模型序列標註的一個實驗,實驗完成之後,迫切想知道採用的序列標註模型的好壞,有哪些指標可以度量。於是,就產生了對這一專題進度學習總結,這樣也便於其他人蔘考,節約大家的時間。本文依舊旨在簡明扼要梳理出模型評估核心指標,

NLP驀然回首談談學習模型評估系列文章

作者:白寧超 2016年7月19日10:24:24 摘要:寫本文的初衷源於基於HMM模型序列標註的一個實驗,實驗完成之後,迫切想知道採用的序列標註模型的好壞,有哪些指標可以度量。於是,就產生了對這一專題進度學習總結,這樣也便於其他人蔘考,節約大家的時間。本文依舊旨在簡明扼要梳理出模型評估核心指標,

NLP驀然回首談談學習模型評估系列文章

作者:白寧超 2016年7月18日17:18:43 摘要:寫本文的初衷源於基於HMM模型序列標註的一個實驗,實驗完成之後,迫切想知道採用的序列標註模型的好壞,有哪些指標可以度量。於是,就產生了對這一專題進度學習總結,這樣也便於其他人蔘考,節約大家的時間。本文依舊旨在簡明扼要梳理出模型評估核心指標,

python爬蟲篇python對於html頁面的解析

我,菜雞,有什麼錯誤,還望大家批評指出!! 前言: 根據自己寫的上一篇文章,我繼續更第二部分的內容,詳情請點選如下連結 【python】爬蟲篇:python連線postgresql(一):https://blog.csdn.net/lsr40/article/details/833118

pykafka爬蟲篇python使用python連線kafka介紹

本人菜雞,最近還更新python的爬蟲系列,有什麼錯誤,還望大家批評指出! 該系列暫時總共有4篇文章,連線如下: 【python】爬蟲篇:python連線postgresql(一):https://blog.csdn.net/lsr40/article/details/83311860

python爬蟲篇python使用psycopg2批量插入資料

本人菜雞,有什麼錯誤,還望大家批評指出,最近在更新python的爬蟲系列,○( ^皿^)っHiahiahia… 該系列暫時總共有3篇文章,連線如下 【python】爬蟲篇:python連線postgresql(一):https://blog.csdn.net/lsr40/article/de

NLP揭祕馬爾可夫模型神祕面紗系列文章

作者:白寧超 2016年7月11日15:31:11 摘要:最早接觸馬爾可夫模型的定義源於吳軍先生《數學之美》一書,起初覺得深奧難懂且無什麼用場。直到學習自然語言處理時,才真正使用到隱馬爾可夫模型,並體會到此模型的妙用之處。馬爾可夫模型在處理序列分類時具體強大的功能,諸如解決:詞類標註、語音識別、句

轉載Vue 2.x 實戰之後臺管理系統開發

null element asc 其他 就會 ans 目錄 asi all 2. 常見需求 01. 父子組件通信 a. 父 -> 子(父組件傳遞數據給子組件) 使用 props,具體查看文檔 - 使用 Prop 傳遞數據(cn.vuejs.org/v2/guide

Java模擬Sping,實現其IOC和AOP核心

接著上一篇,在上一篇完成了有關IOC的註解實現,這一篇用XML的方式實現IOC,並且完成AOP。 簡易的IOC框圖 註解的方式實現了左邊的分支,那麼就剩下右邊的XML分支: XmlContext:這個類是也是AbstractApplicationContext的子類,和AnnotationContext

CSS淺談css中格式化上下文BFC、IFC

Inline Formatting Context Inline Formatting Context的縮寫就是IFC。中文名叫,行內格式化上下文。行內框參與IFC。 什麼是行框? 在IFC中,每個框都是一個接一個地水平排列,起點是包含塊的頂部,水平方向

統計SQL中的case when then else end用法

轉載自:https://www.cnblogs.com/prefect/p/5746624.html(一)和(二)的文章開頭一樣,後面例子不一樣Case具有兩種格式。簡單Case函式和Case搜尋函式。--簡單Case函式 CASE sex WHEN '1'

西瓜書《機器學習學習筆記 模型評估與選擇 效能度量 ROC AUC...

目錄 3、效能度量(performance measure) 衡量模型泛化能力的評價標準,就是效能度量。 效能度量 <————> 任務需求 在對比不同模型的“好壞”時,使用不同的效能度量往往會導致不同的結果,這也意味著模型的好壞是相

Git系列文章從github上下載專案,本地修改後提交至github

Spring官方demo綠房子:spring-projects/greenhouse 1、獲取github遠端倉庫地址: [email protected]:spring-projects/greenhouse.git 2、用git克隆專案到本地 選擇要克隆的程式碼,滑鼠右

NLPPython例項基於文字相似度對申報專案進行查重設計

作者:白寧超 2017年5月18日17:51:37 摘要:關於查重系統很多人並不陌生,無論本科還是碩博畢業都不可避免涉及論文查重問題,這也對學術不正之風起到一定糾正作用。單位主要針對科技專案申報稽核,傳統的方式人力物力比較大,且伴隨季度性的繁重工作,效率不高。基於此,單位覺得開發一款可以達到實用的

NLP前戲一起走進條件隨機場

作者:白寧超 2016年8月2日13:59:46 【摘要】:條件隨機場用於序列標註,資料分割等自然語言處理中,表現出很好的效果。在中文分詞、中文人名識別和歧義消解等任務中都有應用。本文源於筆者做語句識別序列標註過程中,對條件隨機場的瞭解,逐步研究基於自然語言處理方面的應用。成文主要源於自然語言處理

溫故知新——BABYLON.js學習之路·前輩經驗

前言:在上一篇隨筆BABYLON.js學習之路·前輩經驗(一)中回顧了組內同事們長時間在Babylon開發實踐中的總結出的學習之路和經驗,這一篇主要對開發中常見的一些功能點做一個梳理,這裡只作為溫故知新。   一、相機    

NLP揭祕馬爾可夫模型神祕面紗系列文章

作者:白寧超 2016年7月10日20:34:20 摘要:最早接觸馬爾可夫模型的定義源於吳軍先生《數學之美》一書,起初覺得深奧難懂且無什麼用場。直到學習自然語言處理時,才真正使用到隱馬爾可夫模型,並體會到此模型的妙用之處。馬爾可夫模型在處理序列分類時具體強大的功能,諸如解決:詞類標註、語音識別、句

NLP揭祕馬爾可夫模型神祕面紗系列文章

作者:白寧超 2016年7月11日22:54:57 摘要:最早接觸馬爾可夫模型的定義源於吳軍先生《數學之美》一書,起初覺得深奧難懂且無什麼用場。直到學習自然語言處理時,才真正使用到隱馬爾可夫模型,並體會到此模型的妙用之處。馬爾可夫模型在處理序列分類時具體強大的功能,諸如解決:詞類標註、語音識別、句

NLP揭祕馬爾可夫模型神祕面紗系列文章

作者:白寧超 2016年7月12日14:28:10 摘要:最早接觸馬爾可夫模型的定義源於吳軍先生《數學之美》一書,起初覺得深奧難懂且無什麼用場。直到學習自然語言處理時,才真正使用到隱馬爾可夫模型,並體會到此模型的妙用之處。馬爾可夫模型在處理序列分類時具體強大的功能,諸如解決:詞類標註、語音識別、句

NLP揭祕馬爾可夫模型神祕面紗系列文章

作者:白寧超 2016年7月12日14:08:28 摘要:最早接觸馬爾可夫模型的定義源於吳軍先生《數學之美》一書,起初覺得深奧難懂且無什麼用場。直到學習自然語言處理時,才真正使用到隱馬爾可夫模型,並體會到此模型的妙用之處。馬爾可夫模型在處理序列分類時具體強大的功能,諸如解決:詞類標註、語音識別、句