編者按:Cheng-Tao Chu簡要概述了統(tǒng)計假設(shè)測試、多臂老虎機(jī)(湯普森采樣)方法后,揭示了多臂老虎機(jī)在實(shí)踐中的優(yōu)勢。
隨著精益創(chuàng)業(yè)和大數(shù)據(jù)的興起,越來越多的公司開始擁抱A/B測試。盡管業(yè)界開始基于數(shù)據(jù)統(tǒng)計測試特性這一點(diǎn)很是振奮人心,但很少有公司意識到多臂老虎機(jī)這一優(yōu)于傳統(tǒng)統(tǒng)計假設(shè)測試的替代方案。本文將概述為何在大多數(shù)應(yīng)用中,多臂老虎機(jī)優(yōu)于假設(shè)測試。不熟悉為何基于數(shù)據(jù)測試特性很重要的讀者,可以看看我之前寫的博客文章 Bridging the gap between lean startup in theory and in practice。需要社會認(rèn)同的讀者,Google Analytics用的就是多臂老虎機(jī)方案。
統(tǒng)計假設(shè)測試概述
A/B測試的假設(shè)測試的目標(biāo)是查明觀測到的轉(zhuǎn)化率差異是否有運(yùn)氣以外的解釋。標(biāo)準(zhǔn)方法如下:
計算零假設(shè)(null hypothesis)下的采樣分布
計算采樣分布下觀測到的似然,并
將概率與預(yù)先確定的閾值比較
盡管初看起來很直觀,實(shí)際上它需要不少統(tǒng)計學(xué)知識來恰當(dāng)?shù)卦O(shè)計試驗(yàn)及解釋結(jié)果。例如:
如何約束第二類錯誤?
如何同時測試兩個以上的實(shí)驗(yàn)組?
需要多少項(xiàng)觀測?
正確的閾值是多少?
能不能提前查看結(jié)果并及早終止試驗(yàn)?
多臂老虎機(jī)概述
“多臂老虎機(jī)”這一名稱描述了這樣一個場景:一名賭徒面對著幾臺“單臂老虎機(jī)”,每臺老虎機(jī)的期望返水不同。目標(biāo)是最大化一系列拉桿操作的總回報。為了達(dá)成這一目標(biāo),多臂老虎機(jī)動態(tài)平衡通過拉動不確定的搖桿收集信息的代價(探索)和拉動已知回報豐厚的拉桿的累計回報(利用)。
在A/B測試的語境下,每臺老虎機(jī)代表試驗(yàn)中的一個實(shí)驗(yàn)組,每次拉動搖桿代表一個實(shí)驗(yàn)組的一次曝光,累計回報代表累計轉(zhuǎn)化。多臂老虎機(jī)問題有很多不同的算法,比如UCB、Epsilon-Greedy等,本文將聚焦于一種名為“湯普森采樣”的算法。
湯普森采樣概述
湯普森采樣的思路非常簡單。該算法維護(hù)每臂的返水率的后驗(yàn)分布,按照在該后驗(yàn)分布下給定臂最優(yōu)的概率,成比例地拉動拉桿,接著根據(jù)新觀測更新后驗(yàn)。例如,對兩個觀測到轉(zhuǎn)化率為10/150和5/100(轉(zhuǎn)化數(shù)/曝光)的實(shí)驗(yàn)組而言,其后驗(yàn)轉(zhuǎn)化率分布為Beta(10, 140)和(5, 95)。根據(jù)轉(zhuǎn)化率,后續(xù)的測試應(yīng)該在第一個實(shí)驗(yàn)組上進(jìn)行,因?yàn)樵摻M的轉(zhuǎn)化率較高。但湯普森采樣并不采用這種確定的方法,而是基于當(dāng)前的后驗(yàn)轉(zhuǎn)化率分布隨機(jī)取樣,決定在哪個實(shí)驗(yàn)組上進(jìn)行,兩者的概率分別為P(第一組是最佳實(shí)驗(yàn)組)和P(第二組是最佳實(shí)驗(yàn)組)。最后,根據(jù)新觀測數(shù)據(jù)更新后驗(yàn)分布。致不熟悉貝葉斯統(tǒng)計的讀者,貝塔分布經(jīng)常用作伯努利分布(用來建模轉(zhuǎn)化率)的共軛先驗(yàn)分布。
比較
現(xiàn)在我們已經(jīng)基本了解統(tǒng)計假設(shè)測試和多臂老虎機(jī)(湯普森采樣),讓我們比較一下兩者。
湯普森采樣更簡單。要恰當(dāng)?shù)亟忉尳y(tǒng)計假設(shè)測試,從業(yè)者需要對基本的統(tǒng)計學(xué)測試具有良好的理解,例如,提前查看結(jié)果需要了解功效分析、偏差修正,處理多實(shí)驗(yàn)組同樣需要了解偏差修正,等等。另一方面,從業(yè)者只需理解基本的貝葉斯統(tǒng)計就可以理解湯普森采樣。解釋結(jié)果時,較簡單的概念不容易出錯。
湯普森采樣直接估計哪個臂最優(yōu)的概率。統(tǒng)計假設(shè)測試試圖回答“假定所有實(shí)驗(yàn)組轉(zhuǎn)化率相同的極端情形下,觀測到當(dāng)前狀況的概率”。而湯普森采樣則試圖回答“給定這些觀測,給定的每個臂最優(yōu)的概率”。盡管這兩個問題都是合理的,湯普森采樣要容易理解得多,并自然而然地折衷第一類錯誤和第二類錯誤。
多臂老虎機(jī)通常更快收斂。由于多臂老虎機(jī)方案是自適應(yīng)的,識別最佳臂(如果它存在)所需的試驗(yàn)數(shù)通常遠(yuǎn)低于統(tǒng)計假設(shè)測試所需的試驗(yàn)數(shù)。然而,它也意味著,當(dāng)所有實(shí)驗(yàn)組一樣的時候,需要一個單獨(dú)的停止標(biāo)準(zhǔn)。
多臂老虎機(jī)可以自然地推廣至多實(shí)驗(yàn)組。這是多臂老虎機(jī)真正出彩之處。由于多臂老虎機(jī)是自適應(yīng)的,它可以很快決定哪個臂不太可能是最優(yōu)的,并以較低的概率拉動這些較差的拉桿。另一方面,在統(tǒng)計假設(shè)測試中,每個實(shí)驗(yàn)組分配到的試驗(yàn)數(shù)目是一樣的(由試驗(yàn)之前的功效分析決定)。
總結(jié)一下,在實(shí)踐中,相比傳統(tǒng)統(tǒng)計假設(shè)測試,多臂老虎機(jī)有許多優(yōu)勢。它通常更快收斂,誤解的空間更小,能更好地推廣至多實(shí)驗(yàn)組,需要調(diào)節(jié)的參數(shù)也較少。向認(rèn)真對待A/B測試的創(chuàng)業(yè)公司強(qiáng)烈推薦多臂老虎機(jī)方法。
如果你喜歡這篇博客文章,可以在Twitter上關(guān)注我(chengtao_chu)或者訂閱我的博客ML in the Valley。另外,特別感謝 Ian Wong(ihat)和Bob Ren (bobrenjc93) 審閱本文草稿。
-
算法
+關(guān)注
關(guān)注
23文章
4630瀏覽量
93364 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8908瀏覽量
137799
原文標(biāo)題:A/B測試:對比統(tǒng)計假設(shè)測試與多臂老虎機(jī)
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
請問sst89e516rd插在51開發(fā)板上卻不能下載,請問這是為什么?如何才能使用?
CAD建筑制圖入門加老虎窗
【社區(qū)之星】王培瑞:電子人的成長之路——注重在實(shí)踐中學(xué)習(xí)
【Start_DSC28034PNT湖人開發(fā)板免費(fèi)體驗(yàn)】(開源)控制機(jī)械臂小游戲3
基于單片機(jī)的多機(jī)并行通信設(shè)計
![基于單片<b class='flag-5'>機(jī)</b>的<b class='flag-5'>多</b><b class='flag-5'>機(jī)</b>并行通信設(shè)計](https://file1.elecfans.com//web2/M00/A6/0D/wKgZomUMO3-Aa9y4AAAWkXRe4ps656.jpg)
表面電容式觸摸屏讓老虎機(jī)和桌游機(jī)更有趣
蒙特卡洛模擬方法
基于多假設(shè)跟蹤框架的多攝像機(jī)多目標(biāo)跟蹤方法
![基于<b class='flag-5'>多</b><b class='flag-5'>假設(shè)</b>跟蹤框架的<b class='flag-5'>多</b>攝像<b class='flag-5'>機(jī)</b>多目標(biāo)跟蹤<b class='flag-5'>方法</b>](https://file.elecfans.com/web1/M00/EA/92/pIYBAGB0ABiARpoZAAMLwSz2lgE924.png)
中型C形臂X光機(jī)的應(yīng)用及優(yōu)勢
平板小C臂的優(yōu)勢特點(diǎn)是怎樣的
MindSpore 首發(fā):隱私保護(hù)的 Bandit 算法,實(shí)現(xiàn)電影推薦
![MindSpore 首發(fā):隱私保護(hù)的 Bandit 算法,實(shí)現(xiàn)電影推薦](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
帶渦輪開關(guān)的插槽車控制器電路
![帶渦輪開關(guān)的插槽車控制器電路](https://file1.elecfans.com/web2/M00/8B/DD/wKgZomSg5BSAf3UOAAEW5_iWSWU537.png)
使用Arduino實(shí)現(xiàn)老虎機(jī)自動化
![使用Arduino實(shí)現(xiàn)<b class='flag-5'>老虎機(jī)</b>自動化](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論