機器學習Lesson 9 — 解析Label Ranking Average Precision的計算方式

施威銘研究室
5 min readMar 12, 2021

--

我們常常在訓練完模型之後,根據評價指標調整模型的閾值來改變輸出,以獲得更好的分數。因此,了解評價指標的計算方式成了重要的一環,在旗標出版的「Kaggle競賽攻頂秘笈 - 揭開Grandmaster的特徵工程心法,掌握制勝的關鍵技術」一書當中,提到了數個閾值調整的方法,大家可以看看高手們是如何思考。

在多元分類的任務中,有時候會使用Label Ranking Average Precision Score(LRAP),像是Kaggle的Rainforest Connection Species Audio Detection。這個評價指標到底是什麼東西呢?今天就來好好分析一下,以後讀者遇到這種評價指標,就會比較清楚知道怎麼調整模型囉。

假設有兩筆資料,標籤分別為[1, 1, 0]、[0, 1, 1],預測機率分別為[0.8, 0.9, 0]、[0.9, 0.1, 0.2]:

一、第1筆資料

首先要看第1筆資料中,三個預測值的排名:

1、第一個標籤

「標籤的預測機率」在「所有預測機率中」排名第2。從「預測機率排名第1」到「標籤預測機率的排名」,有2個預測機率對應的標籤為1。因此分數為2/2 = 1。

2、第二個標籤

「標籤的預測機率」在「所有預測機率中」排名第1。從「預測機率排名第1」到「標籤預測機率的排名」,有1個預測機率對應的標籤為1。因此分數為1/1 = 1。

3、第三個標籤,標籤值為0,不用計算

二、第2筆資料

同樣,先看預測值的排名:

1、第一個標籤,標籤值為0,不用計算

2、第二個標籤:

「標籤的預測機率」在「所有預測機率中」排名第3。從「預測機率排名第1」到「標籤預測機率的排名」,有2個預測機率對應的標籤為1。因此分數為2/3。

3、第三個標籤:

「標籤的預測機率」在「所有預測機率中」排名第2。從「預測機率排名第1」到「標籤預測機率的排名」,有1個預測機率對應的標籤為1。因此分數為1/2。

三、各個標籤的總分數

1、第一個標籤的平均分數為1

2、第二個標籤的平均分數為(1+2/3)/2 = 5/6

3、第三個標籤的平均分數為1/2

四、所有資料的總分數

我們統計各標籤出現的次數,再根據出現次數來對平均分數做加權平均:

總分 = 1*0.25+5/6*0.5+1/2*0.25 = 0.7916666666666667

五、如果出現預測機率相同的狀況

假設有一筆資料,標籤為[1, 1, 0],預測機率為[0.1, 0.1, 0.9],那該怎麼算呢?簡單說,就是排名取較差的就對了。

1、第一個標籤

「標籤的預測機率」在「所有預測機率中」排名第3。從「預測機率排名第1」到「標籤預測機率的排名」,有2個預測機率對應的標籤為1。因此分數為2/3。

2、第二個標籤

「標籤的預測機率」在「所有預測機率中」排名第3。從「預測機率排名第1」到「標籤預測機率的排名」,有2個預測機率對應的標籤為1。因此分數為2/3 。

3、第三個標籤,標籤值為0,不用計算

這樣大家會算了嘛?

重點整理

1、Label-Weighted Label Ranking Average Precision Score為多元分類中的一種評價指標。

2、Label-Weighted Label Ranking Average Precision Score這種評價指標,在意的是預測機率的大小排名,而非絕對的數值。

參考資料

Scikit-learn developers (2020). Metrics and scoring: quantifying the quality of predictions. [online]. Available at: https://scikit-learn.org/stable/modules/model_evaluation.html#label-ranking-average-precision [Accessed 27 Feb. 2021].

關於作者

Chia-Hao Li received the M.S. degree in computer science from Durham University, United Kingdom. He engages in computer algorithm, machine learning, and hardware/software codesign. He was former senior engineer in Mediatek, Taiwan. His currently research topic is the application of machine learning techniques for fault detection in the high-performance computing systems.

--

--

施威銘研究室
施威銘研究室

Written by 施威銘研究室

致力開發AI領域的圖書、創客、教具,希望培養更多的AI人才。整合各種人才,投入創客產品的開發,推廣「實作學習」,希望實踐學以致用的理想。

No responses yet