今天介紹一篇比較有意思的論文,發表在SIGIR 20上,關于在推薦系統中應用行為經濟學理論。
省流小助手:
- 前景理論(Prospect Theory)
- 推薦的item需要有評分(ratings)
解決的問題
行為經濟學是研究“非理性人”在經濟活動中的行為規律的學科,很多結論都非常有意思。這篇paper最根本的想法是觀察到在電商推薦中,用戶選擇商品會受到評論的影響,購買好評率比較低的商品有更高的“風險”,而每個人對于風險的偏好和忍耐程度是不同的,通過構建每個用戶對每個商品的價值函數(value function),排序,就可以得到對每個用戶的推薦結果(top k)。
方法
前景理論的簡單介紹
行為經濟學的最近非常熱的學科,已經有三次諾貝爾經濟學獎都頒給了相關的學者(分別是2002年頒給提出前景理論的丹尼爾·卡尼曼,2013年頒給《非理性繁榮》的作者羅伯特·J·席勒,2017年頒給提出心理賬戶的理查德·塞勒)。如果想了解更多關于行為經濟學的知識,非常推薦理查德·塞勒的書《助推》和《錯誤的行為》,但我在這里只是前景理論做非常簡要的介紹。
這篇paper主要會使用前景理論的兩個結論:
1、人在損失100元得到的痛苦,要比獲得100元時得到的快樂是不同的,痛苦要比快樂要大。形式化的表示如下圖
2、人對于小概率事情會高估它的概率(典型的如買彩票),對于高概率事件會低估它的概率
模型細節
1、如何評估損失(loss)和獲得(gain)?
前景理論的基礎在于loss和gain對應的價值是不等的,所以首先要解決的問題就是,如何定義電商場景里的loss和gain。
引入參數 r_u 表示用戶心中對于商品評分的期望(注意這個r_u是用戶級別的,不是用戶-商品級別的),如果商品的評分小于r_u,表示損失,反之,表示獲得。因為商品有價格,所以用如下的公式將損失或者獲得歸一化:
這里假設了商品的評分取值范圍是1-5。
2、計算價值(value function)
這里要說明的是 alpha, beta, gamma 都是每個用戶的超參數。(是的,每個用戶上的參數,這也就是paper題目中personalized risk preferences的來源,這也就意味著,為了真正用起來,泛化方式要重新考慮)。這些含義就是每個人對同樣的loss或者gain,反應程度也是不同的。
3、計算評分的分布
上面的 r_i 并不是單個商品的平均評分,而是單個評分,所以這里要使用評分的分布做加權。這里會用到第二個結論,weighting function。
這里有一個細節,考慮到部分商品的部分評分是0,為了解決0概率的問題,在4.2節中講了如何去估計評分的分布(Weibull分布)。
4、計算加權的前景價值(Prospect Value)
這里,我們可以計算得到每個用戶對每個商品的的前景價值,然后選擇top K商品作為推薦的結果。
結果
作者在Amazon、Movielens、Ciao和Epinions數據集上做了對比實驗,后三個數據集中實際上是沒有價格這個數據的,所以作者統一對所有item設置了1元的price。
對比的模型分別是:
- SVD
- Bayesian Personalized Ranking
- Neural Collaborative Filtering
- MPUM:Multi-Product Utility Maximization for recommendation
結果上看,F1和NDCG都有明顯的提升。
總結
將前景理論融入到推薦系統中,我覺得文章給了一個不錯的定義問題的方法,但受限于使用場景,比如推薦商品本身需要有評分,并且商品需要和廣義的風險有關系(比如基金、股票有虧損風險),這個方法的適用性并不是很廣。
更普遍的一種使用方式,可能是將前景理論在每個人身上體現出來的規律,作為一種用戶特征加入到推薦系統中。