過去學者曾經使用過的覆蓋率指標計算方式不只一種,第一種最常見的叫做預測覆蓋率( prediction coverage)。推薦系統在消費者每瀏覽一種商品時,會依據資料庫的內容,以預先設計好的演算法,做出估計和預測,當資料不足,或是受限於演算法能力時,也可能無法產出預估值(這是可能的,cold start 就可能產生這樣的結果)。
預測覆蓋率的計算方式,依照分母定義的不同,又可分成兩種計算方式,一種是可以產生預測品項相對於整個資料庫內容的比率,第二種則是相對於「曾經瀏覽過(表示消費者可能有興趣)」的項目的比率。
當要計算 prediction coverage 時,通常以隨機方式選擇一組 user/item 組合樣本,逐一檢查每個 user/item pair,是否能夠得到預測值。
第二種覆蓋率計算方式,叫做目錄覆蓋率(catalog coverage),計算時將所有曾經被推薦的商品項目除以商品目錄中所有項目的數值,得到的比值,就是 catalog coverage。
我在討論準確率( accuracy)的不足時,舉的第二個例子,就是典型的低目錄覆蓋率的情境,這種情況,和 long tail 所追求的方向恰好是背道而馳的。去年(2007)十月初,老貓學出版發表的「好書會自動販賣時代」之消逝一文,也曾經談到這種情況,他談到現在出版業界各式各樣的推薦與行銷動作,其實只是把「火力」放在少數書籍上,與「網路促進長尾」的概念是不符的。
通常覆蓋率不是一個單獨使用的評估指標,它必須搭配準確率(accuracy),或者加上其他指標,才能對推薦系統的能力,作較精準有用的評估。有的學者,甚至直接了當的警告 : this metric distorts if it is not considered in combination with accuracy,換言之,在實務上,結合單純的準確度與覆蓋率,才是比較有用的指標 (accuracy + coverage = practical accuracy)。
推薦閱讀:
- 準確率的各種計算方式
- 為什麼只有準確率是不夠的?
- 推薦系統的精度和多樣性 (@xlvector 的大作)
No comments:
Post a Comment