如何評估推薦系統(二)

最近有網友看了舊文《如何評估推薦系統(一) 》,詢問這文章是否有續集。依印象所及,續集是有的,只是打散了,分成幾篇短文。想想又覺得似乎少了什麼東西,於是翻了以前 Google+ 的私人訊息,實驗室的學弟五年前就問過我第二篇怎麼不見了,我在 blogger 後台找了又找,無奈發現真的不見了,究竟是我半夜夢遊把文章殺了,還是系統資料庫的異常,已經不可考

之所以確定真的有第二篇,是因為在私訊中,我們討論了第二篇中我談到某個罕見指標 confidence 的參考文獻,因為找不到第二篇筆記原稿,只好找了 2004 最早談 confidence 原始概念的文章,讓學弟自己循線鑽下去。

不管怎麼呼天搶地,沒有存檔讓整件事情完全無解,只好摸摸鼻子認了。時間久了,我自已也忘了這件公案,若不是網友詢問,我自己都忘了這件事。

後來我寫了幾篇短文,談常見數字指標之外,商業意義更濃的幾個指標,只是沒有再用數字二、三、四為文章編號下去。

這篇自白,就權當評估系列的第二篇吧

我承認,確實有些數字指標的定義還沒寫進如何評估系列,比如機器學習領域著名部落格 FastML 的文章 Evaluating recommender systems 介紹的 NDCGMAP 。有些已經談過的指標,其實還有未盡之意,比如 ResysChina 知乎專欄,有篇文章《多高的 AUC 才算高》就把 ROC/AUC 的統計意義和陷阱說的透徹許多。既然已經有更好的資訊源,我就不做沒必要的複製貼上了。

第一篇文章最後,我說接下來要討論的是推薦系統的 usefulness ,但關於推薦系統效用的討論後來分成幾篇短文,沒有彙整成一篇比較全面的長文。

所謂「有沒有用」這檔事,很難量化,至少都目前為止,我們沒有精準度量用戶情緒和感覺的辦法。如何解讀用戶與系統的互動、用戶對接收到訊息的回饋的複雜與困難,從之前 Netflix 為什麼改變用戶評分機制的討論,和去年 Xavier Amatriaia 在 RecSys 2016 的演講 Lessons Learned from Building Real­-Life Recommender Systems 中特別提到隱式回饋(implicit feedback)的重要性這兩件事,可見到冰山一角

儘管如此,推薦系統的研究者還是很努力的抓出一些所謂的共性和特徵,比如據說曾經存在的第二篇文章談過的 confidence,或者我在《為什麼只有準確率是不夠的》提到的 familiarity, novelty & relevance,還有在《Novelty and Serendipity》裡面我簡短提了一些對 serendipity 的看法。簡而言之,推薦系統要有效,必須要夠「切題」、「有趣」、「驚喜」。但是這些指標,與其說是 metrics,不如說是「期望(expectation)」或「要求(criteria)」。****

除了上面提到的各式指標和評估準則,現在還有另外一種想法。推薦系統在商業領域的運用越來越廣泛,有實務經驗的專業人才越來越多,關於如何評估推薦系統這個問題,有了不一樣的體會(和態度),對於數字指標的追求,態度也不同了。Cloudera 資料科學總監 Sean Owen 在回答 Quora 問題 What metrics are used for evaluating recommender systems? 時,就直截了當的表達「不管黑貓白貓,會抓老鼠的才是好貓」的態度:

Yes, absolutely. The best metric is how much a system adds value to the end user and/or business. (Hopefully the same thing.) Really, you want to do some kind of A/B testing to see whether recommendations increase usage, clicks, etc. and how much.

還有更直接的,比如 Recombee (這家公司提供的服務是 Recommender as a Service)的 Tomáš Řehořek 在他們的企業部落格發表 Evaluating Recommender Systems: Choosing the best one for your business,用他自己的話說,在我的評估系列第一篇講過的 RMSE、MAP、Recall、Precision、Coverage 等等,是「離線的學術指標」,真正面對客戶解決問題的人,用的是「線上商業評估技術」。其實這些所謂的 online business evaluation 就是我們已經聽到耳朵都生繭的 performance review ,比如:

  • A/B testing with CTR/CR,
  • ROI calculation,
  • QA, empiric evaluation, compatibility with your product vision,
  • CLV (difficult to measure, yet Holy Grail to achieve)

這種實用主義者的態度,是商人和工程師的態度,很難說是不是最「合適」的態度。但是我們不得不承認,像 Seredipity 和 Novelty 這種指標,最多只能提供我們一些商業上如何行動的導引和建議,我們很難具體的評估推薦名單「新奇」或是「有用」的程度,因為我們沒辦法衡量、體會消費者的感受與情緒(也許以後辦得到)。我們也只能試試這個,試試那個,然後讓 A/B Test 告訴我們那個招式有機會能老闆賺更多錢!

攤手…

Advertisements

One Comment Add yours

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s