聊聊推荐系统中的偏差
文 | 成指導
源 | 知乎
背景
推薦系統中大量使用用戶行為數據,作為系統學習的標簽或者說信號。但用戶行為數據天生存在各式各樣的偏差(bias),如果直接作為信號的話,學習出的模型參數不能準確表征用戶在推薦系統中的真實行為意圖,造成推薦效果的下降。
因此,本篇聊一聊推薦系統中常見的偏差,與相應的去偏思路與方法。本篇的主要脈絡依據中科大何向南教授、合工大汪萌教授聯合在 TKDE 上的一篇綜述文章展開:Bias and Debias in Recommender System: A Survey and Future Directions。
推薦的反饋閉環
推薦系統是由用戶、數據、模型,三者互相作用產生的一個動態的反饋閉環。閉環分為三個階段:
User -> Data
用戶會產生大量的 user-item(對抖音是用戶-視頻、對頭條是用戶-文章)交互數據,以及各類周邊信息包括 user 特征、item 屬性、交互上下文信息等。其中 user-item 交互數據中 user 集合被表示成 ,item 集合被表示成 。
user 與 item 兩者間互相作用形成反饋矩陣(feedback matrix),類型分為兩種:
隱式反饋:表示為 ,矩陣中元素 是二值化 0、1 取值表示 user u 是否發生與 item i 的交互行為(bool 類型,例如購買、點擊、查看等行為)
顯式反饋:表示為 ,矩陣中元素 是 user u 對 item i 的評分(float 類型,例如豆瓣評分)
Data -> Model
根據歷史觀測數據,訓練模型預測 user 是否采納 item 的程度。
Model -> User
模型返回預測推薦結果給到用戶,進一步影響用戶的未來行為和決策。
三個階段不斷循環,在閉環中逐漸加劇各階段的 bias,會造成更嚴重的問題。
常見偏差
數據偏差
顯式反饋數據 - Selection Bias
定義:當用戶可以自由選擇 item 進行評分,可觀測到的評分并不是所有評分的有代表性樣本。換而言之,評分數據是“非隨機缺失”(missing not at random, MNAR)的
這個偏差的來源比較好理解,我們也可以想想自己是不是也是這樣:傾向于評分喜愛的 item(例如,熱衷粉絲的電影、歌曲等) ,傾向于評分特別好或者特別差的 item(例如,去看電影很想夸好片,很想噴爛片)
顯式反饋數據 - Conformity Bias
定義:用戶評分傾向于與其他人相似,即使是完全基于他們自己的判斷,也會受到影響
這個偏差是由從眾心理導致的。對于大眾一致喜歡/討厭的 item,個體用戶做判斷時經常會受到外界聲音的影響
隱式反饋數據 - Exposure Bias
定義:僅有一部分特定 item 曝光給了用戶,因此沒有觀測到的交互行為并不直接等同于是訓練中的負例
可以想一想,對于沒有產生交互行為(沒有點擊、購買等行為)的數據樣本而言,其實是由 2 個原因造成:
用戶的確不喜歡當前 item;
當前 item 沒有曝光給用戶(對于從沒刷到過的視頻,我們無法確定自己是否喜歡)
對于數據曝光問題,之前的研究有幾個角度:
當前版本的曝光取決于上一個推薦系統版本的策略,決定了如何展現;
因為用戶會主動搜索或尋找感興趣的 item,因此用戶選擇成為了影響曝光的因素,使得高度相關/吸引力(例如標題黨、美女圖片類新聞)的 item 更容易被曝光;
用戶的背景關系是影響曝光的一個因素,例如好友、社區、地理位置等因素會影響曝光;
流行的 item 會更容易曝光給用戶,因此 Popularity Bias 是另一種形式 Exposure Bias
隱式反饋數據 - Position Bias
定義:用戶傾向于無視相關性地去對推薦列表中更高位置上的 item 產生交互行為
位置偏差在搜索系統中是一個經典并持續存在的偏差,同樣在推薦系統中也會存在,用戶普遍會對于頭部觀測到的 item 產生更多點擊(還沒有產生審美疲勞?)。尤其會對“用戶點擊行為”作為正例信號進行學習的模型,位置偏差會在訓練、評估階段產生錯誤影響
模型偏差
Inductive Bias
偏差不一定總是有害的,實際上一些歸納偏差被故意加入到模型設計中為了實現某些特性
定義:為了模型更好地學習目標函數并且泛化到訓練數據上,會設置一些模型假設。假設未必都是準確的,會產生一些偏差
列舉某些經典的假設(未必造成有害影響):
用戶交互行為可以由向量內積表示
Adaptive negative sampler 提出用于增加學習速度,即使結果損失函數不同于最初分布
CNN 網絡的局部特征重要性
推薦結果的偏差與不公平性
Popularity Bias
定義:流行的 item 會被更頻繁地推薦、產生用戶交互
長尾效應或者說二八定律帶來了這個偏差,會降低個性化層次、用戶對于平臺的驚喜體驗,造成馬太效應
Unfairness
定義:整個系統不公平歧視某些群體用戶
這個偏差的本質原因是數據的不平衡性,會帶來社會性問題(年齡、性別、種族、社交關系多少等歧視)。不公平的數據,會造成更不公平的用戶體驗,產生惡循環
不公平性更多是由于系統數據分布不平衡造成的,例如某個基本由中老年用戶組成的 app 較難對于年輕用戶的行為進行建模,系統推薦出的視頻會更傾向于有“年代感”
反饋閉環加劇各類偏差
User->Data->Model->User 的不斷循環,會在已有偏差的基礎上,進一步放大偏差
這篇文章簡單介紹了一些推薦系統中常見的偏差 bias,并進行了一些簡單的分類。這里的分類體系并非絕對合理但卻具有一定代表性。
尋求報道、約稿、文案投放:
添加微信xixiaoyao-1,備注“商務合作”
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
總結
以上是生活随笔為你收集整理的聊聊推荐系统中的偏差的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 再介绍一篇Contrastive Sel
- 下一篇: 不卷学术了,这次卷一波NLP实战落地经验