因果糾偏法在螞蟻行銷推薦場景中的應用
一、因果糾偏的背景
1、偏差的產生
在推薦系統中,透過收集資料來訓練推薦模型,以向使用者推薦合適的物品。當使用者與推薦的物品互動時,收集的資料又會用於進一步訓練模型,形成一個閉環循環。然而,這個閉環中可能存在各種影響因素,導致誤差的產生。主要的誤差原因在於訓練模式所使用的數據大多是觀測數據,而非理想的訓練數據,受到曝光策略和使用者選擇等因素的影響。這種偏差的本質在於經驗風險估計的期望和真實理想風險估計的期望之間的差異。
2、常見的偏差
推薦行銷系統裡面比較常見的偏差主要有以下三種:
- 選擇性偏差:是由於使用者根據自己的偏好主動選擇互動的item 所造成的。
- 曝光偏差:推薦的item 通常只是整體item 候選池裡的子集,用戶選擇時只能與系統推薦的item 進行交互,導致了觀測數據產生偏差。
- 流行性偏差:一些熱門的item 在訓練資料中的佔比高導致模型會學到這個表現,就會更多推薦熱門的item ,造成馬太效應。
還有其它一些偏差,例如位置偏差、一致性偏差等。
3、因果糾偏
#下面透過一個例子來理解偏差對建模過程造成的影響。假設我們想研究咖啡飲用與心臟病之間的關係。我們發現咖啡飲用者更容易罹患心臟病,因此可能會得出結論咖啡飲用與心臟病有直接的因果關係。 然而,我們需要注意混雜因子的存在。例如,假設咖啡飲用者更可能也是吸煙者。吸煙本身就與心臟病有關。因此,我們不能簡單地將咖啡飲用與心臟病之間的關係歸因於因果關係,而是可能是由於吸菸這個混雜因子的存在所導致的。 為了更準確地研究咖啡飲用與心臟病之間的關係,我們需要控制吸菸的影響。一種方法是進行配對研究,即將吸煙者和非吸煙者進行配對,然後比較他們在咖啡飲用和心臟病之間的關係。這樣可以消除吸菸對結果的混雜影響。 因果關係是一個what if的問題,即在其他條件不變的情況下,改變咖啡飲用會不會導致心臟病發生的改變。只有在控制了混雜因子的影響後,才能更精確地判斷咖啡飲用與心臟病之間是否存在因果關係。
如何避免這種問題呢? 一種比較常見的方法就是引入無偏的數據,透過使用無偏的數據來幫助模型學習無偏的表徵;另外一種方法是從因果圖的角度出發,透過後期對觀測資料進行調整來進行糾偏。因果糾偏就是透過因果的手段對資料或模型進行處理,去除偏差的影響。
4、因果圖
#因果圖是一個有向無環圖,用於描述場景中節點之間的因果關係。它由鍊式結構、分叉結構和對撞結構三個組成。
- 鍊式結構:給定 C,A、B 是獨立的。
- 分叉結構:給定 C,A 變化,B 不會隨之變化。
- 對撞結構:在沒有 C 的情況下,不能觀察到 A、B 是獨立的;但是觀察到 C 後,A 跟 B 是不獨立的。
可以參考上圖的範例來決定後門路徑和後門準則。後門路徑是指連結X到Y的路徑,但是從Z出發最終指向了Y。與先前的例子類似,感染新冠肺炎與死亡率之間並不是純粹的因果關係。感染新冠肺炎受到年齡的影響,老年族群感染新冠肺炎的機率較高,而老年族群的死亡率也較高。然而,如果我們有足夠的數據,能夠將X和Y之間的後門路徑全部阻斷,即給定了Z,那麼X和Y就可以被建模為獨立的關係,這樣就可以得到真正的因果關係。
#二、基於資料融合的糾偏
#1、資料融合糾偏模型介紹
下面介紹螞蟻團隊基於資料融合糾偏的工作,目前已經發表在 SIGIR2023 的Industry Track 上。工作的想法是透過無偏資料來做資料增廣,指導模型的糾偏。
無偏資料整體跟有偏資料的分佈不相同,有偏資料會集中在整個樣本空間的某部分區域,缺少的樣本會集中在有偏數據相對較少的部分區域,所以增廣的樣本如果是靠近無偏區域比較多的區域,那無偏數據會發揮更多的作用;如果增廣樣本靠近有偏數據的區域,那有偏數據就會發揮更多的作用。對此這篇論文設計了 MDI 的模型,可以更好地利用無偏和有偏資料來做資料增廣。
上圖中展示了演算法的框架圖,MDI 模型是透過元學習的方法,在無偏資料上調整樣本的權重以及加權的係數。首先,MDI 模型訓練有兩個階段:
- 階段一:利用無偏資料訓練無偏的 teacher 模型 fu。
- 階段二:使用原始學習的方法來更新示意圖裡的其它結構。
透過優化L(fd) 的經營損失來訓練融合去偏模型fd,最終的Lose 損失主要有兩項,一個是L-IPS,一個是L -IMP。 L-IPS 是我們利用原始樣本來進行最佳化的一個IPS 模組;R-UI 是利用任意模型來求導傾向性分數(判斷樣本屬於無偏樣本的機率或屬於有偏樣本的機率);第二項的L-IMP 是預設的增廣模組的權重,R-UI 是預設的增廣模組產生的尾標;P-UI 與1—P-UI 是無偏的Teacher 模型和融合模型在當前樣本的傾向分數;fp 就是用來學傾向性分數的一個函數,透過學習fp 自適應結合無偏資料的Teacher 模型與目前的有偏資料訓練的模型,共同為增廣樣本產生偽標記;透過這種方法來學習更複雜的pattern 訊息,fp 透過Meta learning 的方式求解。
以下是演算法完整的訓練流程:
- #在無偏資料上預訓練 fu。
- 拷貝 fd 的參數到 fd(u,i),並在有偏 增廣資料上更新參數。
- 在增廣資料上更新 fp 的參數。
- 在有偏 增廣資料上基於更新後的 fp 正式更新 fd。
- 重複 2-4,直到模型收斂。
2、資料融合糾偏模型的實驗
##
我們在 Yahoo R3 和 Coat 這兩個公開資料集上進行了評估。 Yahoo R3 透過收集 15000 用戶對 1000 首歌曲的評分,總共收集了 31 萬用戶對 1000 首歌曲的評分,總共收集了 31 萬個有偏數據
以及 5400 個無偏數據。 Coat 資料集是透過 290 個使用者對三百件衣服的評分收集了 6900 條有偏資料和 4600 個無偏資料。兩個資料集用戶的評分都在 1 到 5 之間,有偏的資料來自於平台的資料用戶,無偏的樣本是透過隨機給予使用者選擇評分的形式來收集。除了兩個公開的資料集,螞蟻還使用了業界實際場景的一個資料集,為了模擬無偏資料樣本非常少的情況,我們把全部的有偏資料和10% 的無偏資料用來訓練,保留10% 的無偏資料作為驗證,剩下80% 作為測試集。
我們使用的Baseline 對比的方法主要是以下幾種:第一個方法是分別利用無偏資料、單有偏資料和直接資料融合訓練的模型;第二個方法是透過少部分無偏數據,設計了一個正則性的表徵約束有偏數據、無偏數據表徵的相似度來進行糾偏的操作;第三個方法是逆概率權重的方法,傾向性分數的一個逆概率。 Double robust 也是一個比較常見的糾偏的方法;Propensity free double robust 是一個資料增廣的方法,它先用無偏的樣本學習一個增廣的模型,然後透過增廣的樣本幫助整個模型進行糾偏;Auto debias 也會用到一些無偏的資料做增廣來幫助模型糾偏。
我們使用了 MSE 和 MAE 這兩個指標來評估表現。如圖所示,我們提出的 MDI 方法,在 Coat 以及 Product 兩個資料集上,兩個指標都有比較好的表現。
在 Yahoo R3 資料集上,我們提出的方法在 MAE 上的表現指標最好,在 MSE 除了 IPS 以外的方法表現是最好的。三種資料增廣的方法,PFDR、Auto Debias 以及我們提出的MDI,在多數情況下表現的都會更好,但是由於PFDR 是提前利用無偏資料訓練增廣模型,會嚴重依賴於無偏資料的質量,因此它在Coat 模型上就只有464 個無偏訓練資料樣本,當無偏樣本比較少的時候,它的增廣模組就會比較差,資料表現也會相對差一些。
AutoDebias 在不同資料上的表現與 PFDR 剛好相反。由於MDI 設計了同時利用無偏資料以及有偏資料的增廣方法,所以具有更強的資料增廣模組,因此它在無偏資料比較少或無偏資料比較充足這兩種情況下都可以獲得比較好的效果。
我們在兩個公開資料集上也評估了這些模型在不同比例的無偏資料下的表現,分別使用了50% 到40% 的無偏資料以及全部的有偏資料來用於訓練,其它邏輯與前面 10% 的無偏資料做驗證,剩下的資料做測試,這個設定與前面的實驗一樣。
上圖展示了採用不同方法在不同比例的無偏數據下的MAE 的表現,橫坐標表示無偏數據的比例,縱坐標表示各個方法在無偏數據上的效果,可以看到隨著無偏資料比例的增加AutoDebias、IPS 以及DoubleRubus 的MAE 沒有明顯的下降過程。但不按Debias 的方式,直接利用原始資料融合來學習的方法則會有比較明顯的下降,這是因為無偏資料的樣本比例越高,我們整體的資料品質就越好,所以模型可以學到更好的表現。 當 Yahoo R3 的資料使用超過 30% 的無偏資料來訓練的時候,
這種方式甚至超過了除 MDI 以外其它所有的糾偏方法。但 MDI 的方式相對來說可以獲得更好的表現,這也可以證明 MDI 方法在不同規模的無偏數據下都有比較穩健的結果。同時我們也進行了消融實驗,在三個資料集上分別驗證增廣模組當中各個部分的設定是否有效。 ######
λ=0 的設定表示直接去除了增廣模組;Pu,i = 1 表示只利用無偏資料建模增廣資料模組;Pu,i = 0 表示只利用有偏以及增廣的融合資料建模增廣資料模組。
上圖中展示了消融實驗的結果,可以看到 MDI 方法在三個資料集上都取得了比較好的效果,說明增廣模組是有必要的。
無論是在公開資料集上,或是實際業務場景的資料集上,我們提出的融合無偏和有偏資料的增廣方法相比之前已有的數據融合方案都有更好的效果,同時透過參數敏感度實驗以及消融實驗也驗證了MDI 的穩健性。
#三、基於後門調整的糾偏
以下來介紹下團隊的另一個工作:基於後門調整糾偏。這項工作也已發表在了 SIGIR2023 的 Industry Track 上。後門調整糾偏應用的場景就是行銷推薦的場景,如下圖所示,用戶與優惠券或用戶與任意廣告、item 的交互是不受任何干預的,有均等的可能去任意交互,每張券也有均等的可能會曝光給任意用戶。
但在實際的業務場景當中,為了保護或幫助一些小商家提升流量,以及保證全局的使用者參與體驗,通常會設置一系列的策略約束,這種情況就會導致一部分用戶會更多的曝光某些優惠券,另一部分用戶會更多的曝光另外一張優惠券,這種幹預就是前文中提到的confounder。
這種介入在電商行銷場景裡會產生什麼問題呢?如上圖所示,為了簡化,我們將用戶簡單地分為高參與意願和低參與意願兩類,將優惠券簡單地分為大折扣和小折扣兩類。圖中長條圖的高低表示了對應樣本的全局佔比,長條圖越高,表示對應樣本在整體訓練資料當中佔比越多。圖中所顯示的小折扣的優惠券以及高參與意願用戶樣本佔據了大多數,會導致模型學到圖中所示的分佈,模型會認為高參與意願用戶更喜歡小折扣的優惠券。但實際上面對同樣的使用門檻,用戶肯定會傾向於折扣更高的優惠券,這樣才會更省錢。圖中模型對於實際的轉換機率是小折扣優惠券低於大折扣優惠券的,但是模型對於某一個樣本的預估反而會認為小折扣優惠券核銷概率更高,所以模型也會推薦這個打分對應的優惠券,這就形成了一個悖論。
從因果圖的角度分析這個悖論產生的原因,在當前的場景下應用非糾偏的推薦模型,其因果圖構造如上圖所示,U 表示使用者的表徵,I 表示item 的表徵。 D 和K 分別是使用者視角與權益視角的歷史互動情況,T 表示目前業務設定的一些規則約束,T 是沒辦法直接量化的,但是我們可以透過D 和K 來間接地看出它對使用者和item的影響。 y 表示使用者與 item 的交互,結果就是 item 是否被點擊、被核銷等。
因果圖所代表的條件機率公式如圖右上所示,公式推導遵循貝葉斯機率公式。在給定U 和I 的條件下,最終求導P|Y ui 並不是只與U 和I 相關,因為U 會受到 du 的影響,也就是p 給定u 的時候 p(du)的機率也是存在的。在給定 I 的時候同理,I 也會受到 ki 的影響,而這個情況產生的原因是因為 D 和 K 的存在導致了場景當中存在後門路徑。也就是不從 U 出發,但是最終指向 y 的路徑(U-D-T-Y 或 I-K-T-Y 路徑)這種後門路徑會表示一個虛假觀念,也就是 U 不僅可以透過 T 影響 y,也可以透過 D 影響 y。
調整的方法是將D 到U 的路徑人為切斷,這樣U 只能透過U-T-Y 跟 U-Y直接影響y,這種方式可以去除虛假關聯,從而建模真正的因果關係。後門調整是對觀測資料做do-calculus,然後用do算子聚合所有D以及所有K的情況表現,避免U和I受到D和K的影響。透過這種方式建模一個真正的因果關係。這個公式的推導近似估計形式如下圖所示。
4a 和前面 3b 形式是一樣的,而 4b 則是做了樣本空間的近似。因為理論上來講 D 和 K 的樣本空間是無限的,只能透過收集到的資料(樣本空間的 D 和 K 取一個大小)來做近似。 4c 和 4d 都是期望的近似的推導,透過這種方式最終只需額外建模一個無偏表徵 T。 T 是透過遍歷所有情況下使用者跟 item 的表徵機率分佈和,額外建模無偏表徵 T,來幫助模型得到最終的無偏資料估計。
實驗採用了兩個開源的資料集,天池和 84.51(優惠券)資料集。透過採樣的方式模擬這種規則策略對整體資料的影響。同時,使用了某個真實的電商行銷活動場景所產生的數據,共同評測演算法的好壞。比較了一些主流的糾偏方法,例如IPW 是透過逆機率加權做糾偏;Unawareness 是透過去除偏差特徵來緩解偏差的影響;FairCo 是透過引入誤差項約束表徵來獲得相對無偏的估計;MACR 是透過多任務的框架分別估計使用者的一致性以及item 的流行程度,在預測階段減去一致性跟流行度這種方式來實現無偏估計;PDA 是透過因果乾預,對損失項做調整的方式去除流行性偏差的影響;DecRS 也是藉助後門調整去除資訊偏差,但是它只針對使用者視角的偏差進行修正。
實驗的評估指標是AUC,因為行銷推進場景對於推薦優惠券或推薦候選的商品只有一個,所以本質上是二分類的問題,因此採用AUC 來評估比較適合。比較了 DNN 和 MMOE 不同架構下的表現,可以看出,我們提出的 DMBR 模型相比於原始無糾偏方式以及其它糾偏方式都有著更好的效果。同時Ds_A 跟Ds_B 在模擬資料集上比真實的業務資料集上得到了更高的提升效果,這是因為真實業務資料集的資料會更複雜,不僅會受到規則策略的影響,還可能會受到其它因素的影響。
目前模型已在某電商行銷活動場景上線,上圖展示了線上的效果,對比基線模型,DMBR 模型在核銷率以及核子銷量上都有一定的提升。
#四、在螞蟻的應用
因果糾偏的方法,在螞蟻主要應用在存在規則或存在策略約束的場景,例如廣告場景,可能會設定約束不同廣告的投放人群,一些針對寵物的廣告,會更多地投放給有寵物的使用者。電商行銷的場景,會設定一些策略來確保小商家的流量,避免所有流量都被大商家消耗。並確保用戶活動參與體驗,因為活動的整體預算有限,有一些薅羊毛的用戶反覆參與活動,就會佔用掉大量的資源,導致其他用戶的活動參與體驗較差。諸如此類的場景中,都有因果糾偏的應用。
以上是因果糾偏法在螞蟻行銷推薦場景中的應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何使用Go語言和Redis實現推薦系統推薦系統是現代網路平台中重要的一環,它幫助使用者發現和獲取感興趣的資訊。而Go語言和Redis是兩個非常流行的工具,它們在實現推薦系統的過程中能夠發揮重要作用。本文將介紹如何使用Go語言和Redis來實作一個簡單的推薦系統,並提供具體的程式碼範例。 Redis是一個開源的記憶體資料庫,它提供了鍵值對的儲存接口,並支援多種數據

隨著網路應用的普及,微服務架構成為目前較受歡迎的架構方式。其中,微服務架構的關鍵在於將應用程式拆分為不同的服務,透過RPC方式進行通信,實現鬆散耦合的服務架構。在本文中,我們將結合實際案例,介紹如何使用go-micro建構一個微服務推薦系統。一、什麼是微服務推薦系統微服務推薦系統是一種基於微服務架構的推薦系統,它將推薦系統中的不同模組(如特徵工程、分類

隨著網路技術的不斷發展和普及,推薦系統作為一種重要的資訊過濾技術,越來越受到廣泛的應用和關注。在實作推薦系統演算法方面,Java作為一種快速、可靠的程式語言,已被廣泛應用。本文將介紹利用Java實現的推薦系統演算法和應用,並著重介紹三種常見的推薦系統演算法:基於使用者的協同過濾演算法、基於物品的協同過濾演算法和基於內容的推薦演算法。基於用戶的協同過濾演算法是基於用戶的協同過

一、場景介紹首先來介紹本文涉及的場景—「有好貨」場景。它的位置是在淘寶首頁的四宮格,分為一跳精選頁和二跳承接頁。承接頁主要有兩種形式,一種是圖文的承接頁,另一種是短視頻的承接頁。這個場景的目標主要是為使用者提供滿意的好貨,帶動GMV的成長,從而進一步撬動達人的供給。二、流行度偏差是什麼,為什麼接下來進入本文的重點,流行度偏差。流行度偏差是什麼?為什麼會產生流行度偏差? 1.流行度偏差是什麼流行度偏差有很多別名,例如馬太效應、資訊繭房,直觀來講它是高爆品的狂歡,越熱門的商品,越容易曝光。這會導致

隨著雲端運算技術的不斷發展和普及,雲端搜尋和推薦系統也越來越得到了人們的青睞。而針對這項需求,Go語言也提供了很好的解決方案。在Go語言中,我們可以利用其高速的並發處理能力和豐富的標準庫來實現一個高效的雲端搜尋和推薦系統。以下將介紹Go語言如何實現這樣的系統。一、雲上搜尋首先,我們需要對搜尋的姿勢和原理進行了解。搜尋姿勢指的是搜尋引擎根據使用者輸入的關鍵字來配對頁面

一、问题背景:冷启动建模的必要性和重要性作为一个内容平台,云音乐每天都会有大量的新内容上线。虽然相较于短视频等其他平台,云音乐平台的新内容数量相对较少,但实际数量可能远远超出大家的想象。同时,音乐内容与短视频、新闻、商品推荐又有着显著的不同。音乐的生命周期跨度极长,通常会以年为单位。有些歌曲可能在沉寂几个月、几年之后爆发,经典歌曲甚至可能经过十几年仍然有着极强的生命力。因此,对于音乐平台的推荐系统来说,发掘冷门、长尾的优质内容,并把它们推荐给合适的用户,相比其他类目的推荐显得更加重要冷门、长尾的

一、因果糾偏的背景1、偏差的產生在推薦系統中,透過收集資料來訓練推薦模型,以向使用者推薦合適的物品。當使用者與推薦的物品互動時,收集的資料又會用於進一步訓練模型,形成一個閉環循環。然而,這個閉環中可能存在各種影響因素,導致誤差的產生。主要的誤差原因在於訓練模式所使用的數據大多是觀測數據,而非理想的訓練數據,受到曝光策略和使用者選擇等因素的影響。這種偏差的本質在於經驗風險估計的期望和真實理想風險估計的期望之間的差異。 2.常見的偏差推薦行銷系統裡面比較常見的偏差主要有以下三種:選擇性偏差:是由於使用者根

隨著網路的快速發展,推薦系統變得越來越重要。推薦系統是一種用於預測使用者感興趣的物品的演算法。在網路應用程式中,推薦系統可以提供個人化建議和推薦,從而提高用戶滿意度和轉換率。 PHP是一種被廣泛應用於Web開發的程式語言。本文將探討PHP中的建議系統與協同過濾技術。推薦系統的原理推薦系統依賴機器學習演算法和資料分析,它透過對使用者歷史行為進行分析,預測
