Member-only story
心理學和機器學習中的 Accuracy、Precision、Recall Rate 和 Confusion Matrix
心理學家用生動的故事帶你快速掌握讓人混淆的混淆矩陣!這篇會努力都用中文打,介紹統計中重要的準確率、精確率和召回率,再從心理學到機器學習的應用,讓我們先從日常生活的角度出發,了解為什麼需要混淆矩陣吧!
一般人生活中常用的是準確率,從小考試的分數就是準確率,考卷 100 題裡答對 95 題,你的準確率就是 95%。
那為什麼會需要精確率和召回率呢?
如果今天有一個老師,他出的考卷 100 題有 99 題的答案都是 C ,如果你知道這件事,以後遇到這個老師出的考卷你就全部猜 C ,雖然你不一定有唸書,但每次都可以考 99 分上下,這時候準確率就不是一個好的衡量方法。
再舉一個資料科學中的例子,如果你要做出一個判斷垃圾郵件的模型,你已經知道 100 封郵件中有 2% 是垃圾郵件,你想要寫一個準確率很高的模型,直接設定所有郵件都非垃圾郵件即可,你的模型準確率就會高達 98% ,聽起來很厲害,皆大歡喜,但其實你的模型在判斷垃圾郵件上一點功用都沒有。
準確率的限制在這種情況就很明顯,如果你要判斷的情況及資料是不均衡狀態(imbalance)的時候,除了準確率之外,還要考慮精確率(precision)和召回率(recall rate)就非常重要了。
之前念心理系時每天都在算的型一錯誤(type one error)和型二錯誤(type two error),在 machine learning 領域其實是一樣的概念,只是應用不同而有了新的名字 — Confusion Matrix。看到眾多老外表示真的很 Confusing 啊!
我們就先回到平易近人的心理學,重新出發吧!

在心理學實驗中,如果受試者要對某個訊號做出反應(舉例來說按下按鈕好了),總共會有以下四種可能:
- 訊號出現且受試者按下按鈕(Hit)
- 訊號出現且受試者沒按下按鈕(Miss)
- 訊號沒出現且受試者按下按鈕(False alarm)
- 訊號沒出現且受試者沒按下按扭(Correct Reject)
如果是關於一個理論的假設檢定,根據 H0 虛無假設和 H1 研究假設的表現,有下列四種可能:
- 研究假設為真的情況下拒絕虛無假設(Correct)
- 研究假設為真的情況下不拒絕虛無假設(Type II Error)
- 研究假設為假的情況下拒絕虛無假設(Type I Error)
- 研究假設為假的情況下不拒絕虛無假設(Correct)
有沒有發現概念其實非常類似!?
實驗中很在意的是 Type I Error ,因為那代表你的理論是錯的,但實驗結果卻表示你是對的。可能是花了很多錢去研究一個根本沒有效的新藥,實驗結果卻顯示這個藥有效,然後實驗室就會花更多的錢去量產這個沒有效的藥。比起 Type II Error ,亦即你的藥其實有效,但實驗結果卻沒有顯示出來,研究者比較害怕的是 Type I Error,所以我們通常都把它設得超小,像是百分之一, 型一錯誤超過這個標準,這個理論就掰掰了。
也可以注意到心理學實驗關於正確的情況有分成 Hit 跟 Correct Reject,而假設檢定都把他們歸在正確,這也是因為心理學實驗在意「你是在什麼情況下答對/答錯的」,而假設檢定模型在意的是「模型有沒有正確分辨真假」。
舉個極端的小例子幫大家理解,這跟心理學的酬賞理論有關係。
如果一個實驗是螢幕上出現閃光受試者就要按下按鈕,有兩種實驗設計。
第一種:如果你正確的在閃光時按下按鈕,就給你一千塊,如果你答錯了,扣你一塊錢。
第二種:如果你正確的在閃光時按下按鈕,就給你一塊錢,如果你答錯了,扣你一千塊。
這兩種實驗設計分別會造成完全不同的 Hit, Miss, False Alarm 和 Correct Reject…