推荐系统炼丹笔记:推荐系统Bias/Debias大全
背景
在實踐中,做推薦系統的很多朋友思考的問題是如何對數據進行挖掘,大多數論文致力于開發機器學習模型來更好地擬合用戶行為數據。然而,用戶行為數據是觀察性的,而不是實驗性的。這里面帶來了非常多的偏差,典型的有:選擇偏差、位置偏差、曝光偏差和流行度偏差等。如果不考慮固有的偏差,盲目地對數據進行擬合,會導致很多嚴重的問題,如線下評價與在線指標的不一致,損害用戶對推薦服務的滿意度和信任度等,本篇文章對推薦系統中的Bias問題進行了調研并總結了推薦中的七種偏差類型及其定義和特點。詳細的細節可以參考引文。
推薦系統中的反饋循環
我們可以將推薦系統的循環表述為下面的幾個階段。
User -> Data
Data -> Model
基于收集到的數據進行推薦模型的學習,從歷史的交互中學習用戶的喜好,并且預測用戶可能購買某個商品的概率等;
Model -> User
將推薦的結果返回給用戶,以滿足用戶的信息需求。這一階段將影響用戶未來的行為和決策。
通過上面的循環,用戶和推薦系統在交互的過程中,用戶的行為通過推薦進行更新,這樣土建系統可以通過利用更新的數據進行自我強化。
在推薦系統中的Bias
數據中的Bias
由于用戶交互的數據是觀察性的,而不是實驗性的,因此很容易在數據中引入偏差。它們通常來自不同的數據分組,并使推薦模型捕捉到這些偏差,甚至對其進行縮放,從而導致系統性種族主義和次優決策。本文將數據偏差分為四類:外顯反饋中的選擇偏差和從眾偏差,內隱反饋中的暴露偏差和位置偏差。
1. 顯示反饋數據中的Bias
1.1 選擇偏差(Selection Bias):當用戶可以自由選擇要評分的項目時,會出現選擇偏差,因此觀察到的評分并不是所有評分的代表性樣本。換言之,評級數據往往是不隨機缺失的(MNAR)。
在rating數據集上面, 用戶并非是隨機打分的.
- 用戶會選擇它們喜歡的商品進行打分;
- 用戶更傾向于給特別好的商品和壞的商品打分;
1.2.一致性偏差(Conformity Bias):一致性偏差發生在用戶傾向于與組中其他人的評分相似時,即使這樣做違背了他們自己的判斷,使得評分值并不總是表示用戶真正的偏好。
這個最典型的例子就是:一個用戶會受到諸多其它人的評分的影響,如果很多其他人都打了高分,他可能會改變自己的評分,避免過于嚴厲。這個問題主要是由于用戶受社會影響導致,一個用戶往往會受到他朋友的影響。所以我們觀測到的評分是有偏的,有些是沒法反映真實用戶的喜好。
2. 隱式反饋數據的Bias
和顯示反饋提供評分不一樣,隱式反饋主要反映的是用戶的自然行為, 例如購買,瀏覽,點擊等。所以會有很多bias是從one-class的數據中帶來的,例如曝光的bias和位置的bias等。
2.1.曝光Bias:暴露偏差的發生是因為用戶只接觸到特定項目的一部分,因此未觀察到的交互并不總是代表消極偏好。
特殊地,用戶和商品之間未被觀察到的交互可以歸因于兩大原因:1)商品與用戶興趣不匹配;2)用戶不知道該商品。因此,在解釋未觀察到的相互作用時會產生歧義。無法區分真正的消極互動(如暴露但不感興趣)和潛在的積極互動(如未暴露)將導致嚴重的Bias。以前的研究已經調查了數據暴露的幾個方面:
1)暴露受先前推薦系統的策略的影響,這些策略控制要顯示哪些商品。
最近的一些工作也將這種“曝光偏差”(exposure bias)稱為“前一模式偏差”(previous mode bias)。2) 因為用戶可以主動搜索和查找自己感興趣的商品,這樣會導致相關的商品更大概率的被曝光。在這種情況下,exposure bias也被稱作為是selection bias;
3)用戶的背景是商品曝光的另一個因素,例如社交朋友、他們所屬的社區和地理位置等;
4)流行的商品有更大的概率被曝光(popularity bias)。我們認為流行度bias也是Exposure Bias的一種。
2.位置Bias:位置偏差是因為用戶傾向于與位于推薦列表中較高位置的商品進行交互,而不管這些商品的實際相關性如何,因此交互的商品可能不是高度相關的;
它描述了一種用戶傾向于以更高的概率注意到列表中某些位置上的商品或與之交互,而不管這些項目的實際相關性。關聯性在信息檢索領域得到了廣泛的應用,它反映了用戶對信息的偏好程度。例如,最近關于眼球追蹤的研究表明,用戶不太可能瀏覽在垂直列表中排名較低的項目,而他們只檢查列表頂部的前幾個項目。此外,Maeve等人表明用戶通常信任列表中的前幾個結果,然后停止評估其余結果,而沒有全面評估整個列表。因此,從用戶對推薦列表的反饋中收集的數據可能無法忠實地反映用戶偏好。
模型中的Bias
模型中最典型的就是歸納Bias,
1.歸納偏差(Inductive Bias):歸納偏差是指模型為了更好地學習目標函數并將其推廣到訓練數據之外而做出的假設。
我們在做推薦的時候,經常會做一些假設.典型的例子如:Johnson等人假設相互作用可以通過嵌入內積(embedding inner product)來估計,而He等人采用神經網絡作為其較好的泛化方法。除了目標函數外,在其它方面也增加了inductive bias。一個例子是自適應負取樣器,其目的是對“困難”的實例進行過采樣,以提高學習速度,即使結果損失函數與原始值相差很大。另一個例子是離散排序模型,它以犧牲表示能力為代價,將用戶和項目嵌入二進制代碼,以提高推薦效率.
結果的Bias和Unfairness
1.流行度偏差(Popularity Bias):熱門商品的推薦頻率甚至超過了它們的受歡迎程度.
長尾現象在推薦數據中很常見:在大多數情況下,一小部分受歡迎的商品占了大多數用戶交互的比例。當對這些長尾數據進行訓練時,該模型通常會給熱門項目的評分高于其理想值,而只是簡單地將不受歡迎的商品預測為負值。因此,推薦熱門商品的頻率甚至比數據集中顯示的原始受歡迎程度還要高。
Himan等人對流行偏見進行了實證檢驗。如上圖所示,項目流行度和推薦頻率之間的關系。我們可以發現,大多數推薦的商品都位于高人氣區(H)。事實上,他們被推薦的程度甚至超過了他們最初的受歡迎程度.
忽略流行度經常會帶來非常多的問題:(1).降低個性化的程度影響,影響用戶的體驗; (2).降低了推薦系統的公平性, 流行的商品卻不一定是高質量的, 對流行商品的推薦會降低其它商品的曝光,這是不公平的; (3).Popular Bias會增加流行商品的曝光率, 使得流行的商品越加流行,使模型訓練更加不平衡;
另外一個不平衡的問題的原因是由于推薦結果的不公平帶來的。
2.不平衡(Unfairness):系統地、不公平地歧視某些個人或個人群體而偏袒其他人是不公平的。
不公平問題一直是阻礙推薦系統的一個障礙。特別地,基于諸如種族、性別、年齡、教育程度或財富等屬性,不同的用戶群體通常在數據中不平等地表示。在對這些不平衡數據進行訓練時,模型很可能學習這些表示性過高的群體,在排名結果中對其進行強化,并可能導致系統性歧視,降低弱勢群體的可見度(例如,代表少數群體不足、種族或性別陳規定型觀念)。
反饋回路放大了偏差
現實世界中的推薦系統通常會產生一個有害的反饋回路。前面的小節總結了在循環的不同階段發生的偏差,隨著時間的推移,這些偏差可能會進一步加劇。以位置偏差為例,排名靠前的項目通常會從更大的流量中受益,這反過來又會增加排名的顯著性和它們所接收的流量,從而形成一個“富起來越富”的情景。許多研究者還研究了反饋回路對流行偏差的影響。他們的模擬結果顯示,反饋回路會放大流行偏差,流行的商品變得更加流行,而非流行的商品變得更不受歡迎。這些放大的偏差也會降低用戶的多樣性,加劇用戶的同質化,從而產生所謂的 “echo chambers”或“filter bubbles”。
現有Debias的方案
選擇偏差的方案(Selection Bias)
1. 評估Debiasing(Debiasing in evaluation)
目前處理Selection Bias的方法主要有:
Propensity scores和ATOP是彌補Selection Bias的兩種策略,但它們仍然有兩個弱點。基于IPS的估計器的無偏性只有在真實傾向可用的情況下才能得到保證。如果不正確地指定傾向性,IPS估計量仍然是有偏的。只有當這兩個假設成立時,才能保證ATOP的無偏性。在實踐中,缺失機制往往很復雜,假設并不總是有效的。開發一個強大而有效的系統仍然是一個挑戰。
2. 模型訓練的Debiasing(Debiasing in model trianing)
一致性偏差(Conformity Bias)的方案
一致性的偏差主要由于用戶經常被其它的觀念或者其它的分數所影響。目前解決一致性偏差的方案主要有兩類:
- 第一類認為用戶的rating是符合公眾意見;
- 將用戶的評分只作為用戶喜好和social影響的綜合結果。很多工作直接利用base推薦模型的social因子來生成最終的預測結果,與此同時,引入特定的參數來控制一致性偏差的影響。
曝光偏差(Exposure Bias)的方案
曝光偏差會誤導模型的訓練和評估;
1. 評估的Debiasing
目前處理該問題的策略主要還是使用inverse propersity score。為了解決這個問題,類似于外顯反饋數據中的選擇偏差處理,Yang等人建議用隱式反饋數據傾向的倒數來加權每個觀測值。intuition是把經常觀察到的交互降權,而對少的樣本進行升權;
2. 模型訓練的Debiasing
為了解決曝光偏差的問題,傳統的策略就是將所有被觀測的交互作為負例并且明確它們的交互。confidence weight可以被分為三類:
1.Heuristic:典型的例子是加權的矩陣分解以及動態MF,未觀測到的交互被賦予較低的權重。還有很多工作則基于用戶的活躍度指定置信度等;但是賦予準確的置信權重是非常有挑戰的,所以這塊依然處理的不是非常好。
2.Sampling: 另一種解決曝光bias的方式就是采樣,經常采用的采樣策略有均勻的負采樣,對于流行的負樣本過采樣,但是這些策略卻較難捕捉到真實的負樣本。
3.Exposure-based model:另外一個策略是開發基于曝光的模型,這樣可以知道一個商品被曝光到某個用戶的可能性等。
4.Others:例如考慮用戶的序列行為等,對應的設計inverse propensity的模型等。
位置偏差的方法(Position Bias)
位置偏差表明,無論相關性如何,排名較高的項目更有可能被選中
1. 點擊模型
目前有很多模型將position bias直接建模到模型中,在預測的時候則忽略這塊分支。當然策略還有很多。不過大多數模型模型通常需要為每個查詢項或用戶項對進行大量的點擊,這使得它們很難應用于點擊數據高度稀疏的系統中。
2. Propensity score
采用inverse propensity score來糾正position bias。
流行度偏差(Popularity Bias)的方法
解決流行度偏差的方案有四類:
1.正則
合適的正則可以將模型推向平衡的推薦列表。
2. 對抗訓練
基本思路在推薦G以及引入的adversary D進行min-max博弈,這樣D可以給出提升推薦錫惠的信號。通過G和D之間的對抗學習,D學習流行項和利基項之間的隱式關聯,G學習捕捉更多與用戶歷史相關的niche商品,從而為用戶推薦更多長尾商品。
3. Causal graph
因果圖是反事實推理的有力工具。Zheng等人利用因果推理解決流行偏差。他們假設用戶對商品的點擊行為取決于興趣和流行程度,并構建了一個特定的因果圖。為了解決用戶興趣和流行偏差的問題,作者考慮了兩種嵌入方法:興趣嵌入以捕獲用戶對商品的真實興趣,以及流行度嵌入來捕獲由流行度引起的偽興趣。在多任務學習的框架下,可以利用特定原因的數據對這些嵌入進行訓練。最后,興趣嵌入將被用于最終推薦,在這里,受歡迎度偏差已經被消除。
4. 其它方法
通過引入其它side information來降低流行度的偏差, propensity score也可以被用來做popularity的bias.通過降低流行項對模型訓練的影響,可以減輕流行偏差.
不公平(Unfairness)的方案
fairness的定義有四種:
- fairness through unawareness:如果在建模過程中沒有顯式地使用任何敏感屬性A,那么模型是公平的;
- individual fairness:如果一個模型對相似的個體給出了相似的預測,那么它是公平的。形式上,如果個體i和j在某個度量下是相似的,那么他們的預測應該是相似的:
- group fairness:包括demographic parity, Equality of Opportunity;
- counterfactual fairness
關于不公平的方案有四種處理策略:
緩和回路效應(Mitigating Loop Effect)的方案
處理該問題的方案目前主要有下面三種:
未來工作
1. Propensity Scores的評估
Propensity Scores是一種傳統的debias策略。然而,只有當傾向性得分被正確地指定時,IPS策略的有效性和公正性才得到保證。
如何獲得正確的Propensity Score仍是一個重要的研究課題。現有的方法通常假設給定了Propensities。雖然在一些簡單的情境中,例如對于位置偏差,Propensity Score的評估已經被探索過,但是對于更復雜的情境,例如選擇偏差或曝光偏差,Propensity Score的評估仍然是一個開放的問題,值得進一步探索。
2. 通用的Debiasing框架
我們可以發現,現有的方法通常只針對一個或兩個特定的偏差而設計。然而,在現實世界中,各種Bias通常同時發生。例如,用戶通常對自己喜歡的商品進行評分,他們的評分值受公眾意見的影響,在收集的數據中混合了conformity偏差和選擇偏差。此外,被評價的用戶商品對的分布通常傾向于熱門商品或特定的用戶組,這使得推薦結果容易受到受歡迎度偏差和不公平的影響。推薦系統需要一個通用的借記框架來處理混合的偏差。這是一個很有前途的領域,但在很大程度上還沒有得到充分的研究。盡管具有挑戰性,但簡單的案例——僅僅是兩到三種偏見的混合體——值得首先探討。IPS或其變體,已經成功地應用于各種偏差,是解決這一問題的一個有希望的解決方案。探索一種新的基于IPS的學習框架,總結IPS在不同偏差下的應用,并提供一種通用的傾向評分學習算法。
3. 知識加強的Debiasing
如何更好地利用這些輔助信息,因為屬性不是孤立的,而是相互連接形成知識圖的。知識圖捕捉到更豐富的信息,這可能有助于理解數據偏差;知識圖譜可能會成為開發featue-enhanced通用的debiasing框架的強有力工具;
4. 使用歸因圖來解釋和推理
降低Bias的關鍵是對推薦模型或數據的發生、原因和影響進行推理。大多數Bias可以通過原因假設和因果圖中的其他混淆因素來理解;Bias的理解還可以通過圖中的因果路徑來推理。所以設計一個更好的合適的因果圖,它可以推理、debiasing和解釋。
5. 動態Bias
實踐中,bias通常是動態的而不是靜態的, 因素或bias往往會隨著時間的推移而演變。探討bias是如何演變的,分析動態bias是如何影響推薦系統的,這將是一個有趣而有價值的研究課題。
6. Fairness-Accuracy的平衡
現有的方法主要假設用戶(或商品、組)的敏感屬性作為輸入的一部分提供。這種假設在某些實際情況下可能不成立。例如,在協同過濾中,包含諸如年齡和性別等敏感屬性的用戶配置文件會導致他們的行為模式不同;然而,這些配置文件是不被觀察到的,但卻隱含地影響了推薦性能。一個研究方向是了解在causality,設計公平性感知的協同過濾算法目前還沒有。
參考文獻
總結
以上是生活随笔為你收集整理的推荐系统炼丹笔记:推荐系统Bias/Debias大全的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐搜索炼丹笔记:双塔模型在Airbnb
- 下一篇: 推荐搜索炼丹笔记:SIM 用户行为序列点