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

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

作者:白寧超

2016年7月19日19:04:51

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

基於NLP角度的模型評價方法。)

目錄

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

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

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

1 資訊檢索中的模型評價?

資訊檢索中的評價經常使用:精確率(precision)和召回率(recall)的概念,而且在自然語言處理模型評價中取得良好的效果。

資訊檢索中的精確度和召回率度量分析

例項:在資訊檢索中,我們去百度或者google一個詞條,通過搜尋演算法返回網頁資訊。這個搜尋演算法模型如何去度量呢?如圖:其中tn表示真的不相關的搜尋(一般數目非常大),tp表示就是要搜尋的目標網頁;fp表示非目標網頁,但是錯誤的標記成目標網頁;fn表示搜尋目標網頁但是錯誤標記成不相關的網頁了;selected表示選擇反饋搜尋者的資料集條目,系統認為相關的搜尋文件(含有標記錯誤的頁面);target是目標集,目標相關的文件(可能沒有被現實出來)。

如上資訊檢索的文件,其混淆矩陣如下:target是檢索目標,-target是非檢索目標

 

精確率:  

召回率:  

在資訊抽取中,精確率和召回率是相逆的(可以選擇文件集合中的所有文件,得到100%的召回率,但是精確率卻非常低),正是由於這樣的原因,將精確率和召回率得到一個全面的度量中,一種方法是使用F度量,公式如下:

 

其中P是精確度,R是召回率。α表示確定精確率和召回率的權重因子。α=0.5對應著P和R相同的權重;對應α這個值,F度量簡化:

 

總結:在資訊檢索結果矩陣中,TP+TN是檢索的正確數目,FP+FN是檢索的錯誤資訊數目,為何不採用準確率和錯誤率作為效能度量的指標?實際中不採用準確率和錯誤率去作為指標度量是有道理的,因為大部分實際問題中,TN的值(非目標網頁的數目很大,數以億計。)都非常大,從而使得其他資料顯得微不足道。針對該情況,一般採用精確率和召回率作為度量的方法。

2 採用精確率和召回率評估檢索模型的優點:

①    準確率數值對於比較小但是我們感興趣的數值TP、FP和FN不是特別敏感,而精確率和召回率對於這樣資料比較敏感。(其實就是避免FN這樣龐大的資料的原因)

②    在其他條件相等情況下,F度量和TP的數量成正比,而準確率只是針對錯誤的數量很敏感。F度量這種傾向和我們直觀感覺是一致的,我們對目標事件很敏感,甚至返回一些垃圾資料也在所不惜。

③    遺漏的目標事件和所謂的垃圾事件對系統的影響其實並不相同,而利用精確率和召回率可以衡量其中差異。

3 準確率和F度量評價結果比較

 

表中顯示的精確率、召回率、F度量(α=0.5)和準確率對於一個100 0000項資料集進行選擇的結果,這個資料集中150項資料是目標資料。

(a)表顯示隨著F度量值的增加準確率在下降。

(b)表顯示有同樣大小的準確率,但是F度量值仍在增加。F度量傾向最大化真正確TP,而準確率僅僅針對錯誤的數值敏感。

漏識率:一個不太常用的指標,表示被錯誤選擇的非目標項在非目標集中所佔的百分比,也就是錯誤出現,卻被系統判斷為正確的。公式表示如下:

 

當系統很少假正確FP情況下,漏識率可以評價系統構建困難程度。如果非目標項數目非常大,那麼FP較大而產生較低的精確率就有可能無法避免,因為非目標數目非常大,那麼由於FP較大產生的精確率就可能無法避免。

4 參考文獻

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

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

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

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

5 自然語言相關係列文章

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

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

相關推薦

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使用psycopg2批量插入資料

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

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

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

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

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

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

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

演算法紅黑樹插入資料的情況與實現

大家如果有玩魔方,我相信是可以理解我說的東西的,轉魔方就是先把第一面轉出來,然後把第一面作為底面,然後根據遇見的情況來轉魔方(是有公式的) 該系列到現在暫只有3篇文章:   【演算法】紅黑樹(二叉樹)概念與查詢(一):https://blog.csdn.net/lsr40/ar

解釋機器學習模型的一些方法——理解復雜的機器學習模型

p s 結果 origin 得出 驗證 場景 這樣的 機器 發的 在這一部分中我們所要展現的技術,可以為非線性、非單調的響應函數生成解釋。我們可以把它們與前兩部分提到的技巧結合起來,增加所有種類模型的可解釋性。實踐者很可能需要使用下列增強解釋性技巧中的一種以上,為他們手中

Git系列文章本地新建專案提交至遠端倉庫

------新建專案後,選中專案資料夾右鍵git Bash Here ------使用git init ------使用git status ------使用git add . ------使用git commit -m "新增檔案" ------使用gi

深度學習模型壓縮方法綜述

前言在前兩章,我們介紹了一些在已有的深度學習模型的基礎上,直接對其進行壓縮的方法,包括核的稀疏化,和模型的裁剪兩個方面的內容,其中核的稀疏化可能需要一些稀疏計算庫的支援,其加速的效果可能受到頻寬、稀疏度等很多因素的制約;而模型的裁剪方法則比較簡單明瞭,直接在原有的模型上剔除掉

Deep Learning深度學習學習筆記整理系列

Deep Learning(深度學習)學習筆記整理系列 作者:Zouxy version 1.0 2013-04-08 宣告: 1)該Deep Learning的學習系列是整理自網上很大牛和機器

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

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

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

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

面向物件day07類的例項化過程剖析

本節內容 1、概述 2、類的語法 3、總結 一、概述    之前我們說關於python中的類,都一臉懵逼,都想說,類這麼牛逼到底是什麼,什麼才是類?下面我們就來講講,什麼是類?它具有哪些特性。 二、類的語法 2.1 語法

面向物件林老師版__init__定製自己獨有的特徵

本節內容 1、是如何產生物件 2、例項化的步驟 一、是如何產生物件? __init__方法用來為物件定製物件自己獨有的特徵 1、stu1=LuffyStudent()呼叫報錯 1、程式碼 class LuffyStudent: school='luffycity' #

深度學習谷歌雲GPU伺服器建立與使用指南

sudo wget -O driver-384.deb http://cn.download.nvidia.com/tesla/384.66/nvidia-diag-driver-local-repo-ubuntu1604-384.66_1.0-1_amd64.deb按照官網“其他”中介紹的安裝方式安裝  2

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

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

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

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

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

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