推薦算法改版前的AB測試 | 實驗設計
編輯導語:所謂推薦算法就是利用用戶的一些行為,通過一些數(shù)學算法,推測出用戶可能喜歡的東西;如今很多軟件都有這樣的操作,對于此系統(tǒng)的設計也會進行測試;本文作者分享了關于推薦算法改版前的AB測試,我們一起來看一下。
一、實驗背景及目的
1. 實驗背景
某商城,搭建了以個性化推薦系統(tǒng)為核心的“猜你喜歡”功能;功能上線后,發(fā)現(xiàn)推薦的準確率(用戶進入物品詳情頁定義為判斷真正的正樣本)較低;對此,數(shù)據(jù)分析師優(yōu)化了推薦模型。
2. 實驗目的
在新的推薦模型上線前,進行AB測試,以此判斷新模型是否能夠顯著提升推薦的準確率。
二、AB測試說明及測試流程
1. AB測試定義
AB測試是為明確某個問題,制作兩個(A/B)或多個(A/B/n)版本,在同一時間維度,分別讓組成成分相同(相似)的訪客群組(目標人群)隨機的訪問這些版本,收集各群組的用戶體驗數(shù)據(jù)和業(yè)務數(shù)據(jù);最后分析、評估出最好版本,正式采用。
2. AB測試的特點
- 先驗性: A/B測試能夠先于上線,得出結(jié)論;不再需要先將版本發(fā)布,再通過數(shù)據(jù)驗證效果,從而一定程度上減少改版帶來的風險。
- 并行性: A/B測試是將兩個或以上的方案同時在線試驗,這樣做的好處在于保證了每個版本對應的時間環(huán)境、數(shù)據(jù)環(huán)境保持一致,便于更加科學客觀地對比優(yōu)劣。
- 科學性: 如果能保證流量分配的科學性,將相似特征的用戶均勻的分配到試驗組中,就可以避免出現(xiàn)數(shù)據(jù)偏差,使得試驗的結(jié)果更有代表性。
3. 應用場景
1)產(chǎn)品UI
不同行業(yè)的產(chǎn)品需要不同的風格,同時還要與企業(yè)的品牌相得益彰。利用A/B 測試優(yōu)化UI能給用戶帶來更好的交互體驗和視覺感受。
2)文案內(nèi)容
顧名思義是指用戶閱讀到的文字內(nèi)容——小到圖片配文和按鈕文字,大到文章標題甚至版塊主題;這些部分都可以嘗試變換文案內(nèi)容,測試不同方案的數(shù)據(jù)效果。
3)頁面布局
有些時候,可能根本不需要對產(chǎn)品的UI或是文案內(nèi)容作出調(diào)整,只是在布局排版上的改變,就可以出現(xiàn)增長的效果。
4)產(chǎn)品功能
想給產(chǎn)品增加一個新功能,可是很難確定是否能達到用戶的預期,如果盲目上線,可能會造成一些損失;使用A/B 測試,對你的用戶真正負責;例如,社交類產(chǎn)品在付費查看照片的新功能正式上線前,需要進行A/B 測試,以驗證功能的使用情況和效果。
5)算法/算法
包括基于內(nèi)容的推薦算法(根據(jù)用戶的歷史記錄推薦相似內(nèi)容)、基于協(xié)同過濾的推薦算法(根據(jù)有相似興趣用戶的行為推薦相關內(nèi)容)、基于關聯(lián)規(guī)則的推薦算法(根據(jù)商品/內(nèi)容本身的相關性給用戶推薦);算法優(yōu)化迭代前,需要真實的數(shù)據(jù)進行測試。
4. 實驗流程
三、實驗設計
1. 假設檢驗的基本概念
統(tǒng)計假設:是對總體參數(shù)(包括總體均值μ等)的具體數(shù)值所作的陳述。
原假設:是試驗者想收集證據(jù)予以反對的假設 ,又稱“零假設”,記為 H0。
備擇假設:也稱“研究假設”,是試驗者想收集證據(jù)予以支持的假設,記為 H1。
雙側(cè)檢驗與單側(cè)檢驗:如果備擇假設沒有特定的方向性,并含有符號“=”,這樣的稱為雙側(cè)檢驗;如果備擇假設具有特定的方向性,并含有符號 “>” 或 “<” 的假設檢驗,稱為單側(cè)檢驗。
臨界值:是指在原假設為真的條件下,樣本數(shù)據(jù)拒絕原假設這樣一個事件發(fā)生的概率。
第 I 類錯誤(棄真錯誤):原假設為真時拒絕原假設;第 I 類錯誤的概率記為 α(alpha)。
第 II 類錯誤(取偽錯誤):原假設為假時未拒絕原假設。第 II 類錯誤的概率記為 β(Beta)。
2. 實驗原理說明
先認定原假設成立,然后在事先給定的顯著性水平下,構(gòu)造一個小概率事件,根據(jù)抽樣結(jié)果觀察小概率事件是否發(fā)生;若小概率事件發(fā)生,則拒絕原假設,否則接受原假設。
3. 實驗流程設計
1) 提出假設
本次AB測試,目的是希望提升猜你喜歡功能的推薦效果。所以選取推薦系統(tǒng)的準確率,作為優(yōu)化指標。
準確率表示預測為正的樣本中,真正的正樣本的比例。公式如下:
R(u)是根據(jù)用戶在訓練集上的行為給用戶作出的推薦列表,而T(u)是用戶在測試集上的行為列表。
最簡單的例子:例如推薦系統(tǒng)給用戶推薦了10件物品,用戶進入物品詳情頁定義為判斷真正的正樣本的行為,用戶進入了其中3件物品的詳情頁,則此時準確率=3/10=30%。
假設我們認為,如果新的推薦算法,比原推薦算法,顯著高于5%以上,則可將新推薦算法發(fā)布至生產(chǎn)環(huán)境。
此時我們可以得到假設:
原假設H0:π2-π1≤5%
備擇假設H1:π2-π1>5%
2)確定顯著性水平α
本次實驗中,α 值設定 0.05(5%),這是假設檢驗中最常用的小概率標準值;表示原假設為真時,拒絕原假設的概率。
3)確定臨界值
臨界值是顯著性水平對應的標準正態(tài)分布的分位數(shù),顯著性水平0.05的情況下,單側(cè)檢驗對應的標準正態(tài)分布的分位數(shù)是1.645,雙側(cè)檢驗的標準正態(tài)分布的分位數(shù)為1.96。
4)收集實驗數(shù)據(jù),得出結(jié)論
由樣本值求得檢驗統(tǒng)計量的優(yōu)化指標的數(shù)值。若觀察值在拒絕域內(nèi),則拒絕原假設H0,否則接受原假設H1。
四、開始測試并分析數(shù)據(jù)
定義新推薦算法的準確率為π1,新推薦算法的準確率為π2。
Ho:π1-π2≤5%
H1:π1-π2>5%
實驗目標人群:從進入商城,且使用了“為你推薦”功能的用戶流量(UV)中,隨機抽取5%,作為實驗目標人群;其中的50%為實驗組,50%為對照組。
實驗時間:1周
假設檢驗方式:
不同的AB測試場景,適用于不同的檢驗方式,如上圖所示。
本次AB測試,由于兩個推薦系統(tǒng)版本是獨立的,且樣本數(shù)足夠大,認為滿足正態(tài)分布。
根據(jù)HO、H1的假設,可判斷本次檢驗為兩個獨立樣本的總體均值的單側(cè)檢驗,且總體方差未知,需要用樣本方差代替總體方差。
此時計算統(tǒng)計量公式為:
顯著性水平:0.05。
臨界值:在顯著性水平為0.05時,單側(cè)檢驗的臨界值Zα為1.645。
實驗數(shù)據(jù)(為方便計算):實驗一周后,有10000用戶,使用新推薦算法,準確率的平均值為41%,標準差為20%;有10000用戶,使用原推薦算法,準確率的平均值為35%,標準差為10%。此時新算法的準確率定義為x,則x的平均值=41%,原算法的推薦率定義為y,則y的平均值=35%。
計算檢驗統(tǒng)計量:
檢驗結(jié)果:統(tǒng)計量Z=4.4722,臨界值Zα=1.645.由于統(tǒng)計量的值大于臨界值而落入拒絕域內(nèi),所以拒絕原假設H0,認為新推薦算法的準確率,比原推薦算法顯著高出5%,新版本算法可發(fā)布至生產(chǎn)環(huán)境。
本文由 @16哥 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 unsplash,基于 CC0 協(xié)議
- 目前還沒評論,等你發(fā)揮!