利用數據分析量化協同過濾算法的兩大常見難題
原創【51CTO.com原創稿件】推薦系統自從問世以來解決了許多不同的商業產品問題,深受廣大互聯網從業者的喜愛。傳統的互聯網電商公司像阿里巴巴和京東已經把推薦系統當成了自己的核心技術資產之一,而新興的互聯網產品像今日頭條和抖音,也早已把推薦系統作為了自己的技術立足之本。然而伴隨著推薦系統的蓬勃發展,一些推薦系統在技術上的挑戰和困難卻總是揮之不去。
在優化算法的過程中,工程師總是強調分析數據進一步提高算法性能。但是對于一些老大難問題怎樣分析數據,業內目前還沒有一些較為全面和體系化的方法論。2018年在成都舉行的 ICCCBDA 2018 會議刊登了一篇題為 Quantitative Analysis of Matthew Effect and Sparsity Problem in Recommender Systems 的論文,嘗試著精準量化協同過濾算法中的兩個常見難題:馬太效應和稀疏性問題。
協同過濾是推薦系統最基本的方法。雖然如今推薦系統已經是深度學習的各種算法像 DeepFM 等的天下,但是一些基本的推薦系統的方法仍然是被用作 baseline 的工具。并且在一些并不具備深度學習能力的企業,協同過濾仍然是流行的算法。
協同過濾面臨的兩個主要挑戰,一個是馬太效應,另一個是數據稀疏性問題。馬太效應是指在協同過濾的相似性計算中與某個物品相似的物品數量極大,導致這個物品對所有的物品都有影響。另外馬太效應會導致數據分布不均衡,直接造成在 MapReduce 計算的過程中效率低下。而數據稀疏性問題指的是有的用戶對應的物品過少或者有的物品對應的用戶過少,導致算法的計算結果覆蓋率很低。研究界和工業界針對這兩個問題提出了很多不同的算法意圖解決相應問題。但是在 ICCCBDA 2018 的論文之前,并沒有人明確的用數學公式對這兩個問題進行量化,以方便數據分析和算法的進一步優化。
作者用相似度的期望值來衡量協同過濾中的馬太效應,而用相似度計算中關聯的用戶/物品數來衡量協同過濾中的稀疏性問題。因為推薦系統的應用場景大部分是長尾物品,作者假設了物品的分布服從 Zipf’s Law,也就是熱度排名第 i 位的物品的分布占比是 1/i。利用組合數學的方法,我們可以得到一系列的公式。推導過程論文中有詳細的記載。最終的推導結果如下:
針對于基于用戶的協同過濾的馬太效應,我們有用戶 A 和用戶 B 的平均期望為:
針對基于物品的協同過濾的馬太效應,我們有用戶 A 和用戶 B 的平均期望為:
針對基于用戶的協同過濾的稀疏性問題,參與相似性計算的物品數量期望為:
針對基于物品的協同過濾的稀疏性問題,參與相似度計算的物品數量期望為:
作者隨后進行了實驗,對于推導的公式進行了驗證:
上圖顯示的是基于物品的協同過濾的稀疏性在真實數據集合 LastFM 中的分布,與公式中的馬太效應基本吻合。
本文的數學公式推導過程以及整個的數據分析思路并不復雜。主要貢獻在于***提出了量化推薦系統馬太效應和數據稀疏性的方法,使得系統化的解決這兩個問題成為可能。
汪昊,區塊鏈公司科學家,前恒昌利通大數據部負責人,美國猶他大學本科/碩士,在百度,新浪,網易,豆瓣等公司有多年的研發和技術管理經驗,擅長機器學習,大數據,推薦系統,社交網絡分析等技術。在 TVCG 和 ASONAM 等國際會議和期刊發表論文 10 篇。本科畢業論文獲國際會議 IEEE SMI 2008 ***論文獎。
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】