炼丹知识点:模型评估里的陷阱
在實踐中,做推薦系統(tǒng)的很多朋友思考的問題是如何對數(shù)據(jù)進行挖掘,大多數(shù)論文致力于開發(fā)機器學習模型來更好地擬合用戶行為數(shù)據(jù)。然而,用戶行為數(shù)據(jù)是觀察性的,而不是實驗性的。這里面帶來了非常多的偏差,典型的有:選擇偏差、位置偏差、曝光偏差和流行度偏差等。如果不考慮固有的偏差,盲目地對數(shù)據(jù)進行擬合,會導致很多嚴重的問題,如線下評價與在線指標的不一致,損害用戶對推薦服務的滿意度和信任度等。
在《流量為王:ABTest流量分層分桶機制》一文中,我們介紹了什么是A/B Test和怎么做A/B測試,本文介紹線下模型評估的幾種方法。
在交叉校驗方法里,又有兩種驗證形式,一種是K-Flod交叉驗證,另一種是留一驗證。
K-Flod交叉驗證
- 首先,將全部樣本劃分為大小相等的K份;
- 然后,依次遍歷K個子集,將第i個子集作為驗證集,其他子集作為訓練和評估;
- 最后,將k次評估的結(jié)果的平均值作為最終評估結(jié)果。
留一驗證
每次留下1個樣本作為驗證集,N個數(shù)據(jù),驗證時產(chǎn)生N個模型。最后計算N個模型評估的平均值作為最終評估結(jié)果。
從上述描述中我們能看到,留一驗證法的時間開銷極大,真實場景使用較少。
沒錯,Holdout檢驗就是最簡單的最直接的驗證方法,比如我們在做排序模型時,我們把樣本按照80%和20%的比例分成兩部分,80%樣本用作模型訓練,20%樣本用作驗證。
這種方法簡單,但是缺點也很明顯,即隨機得到的20%得到的評估結(jié)果也具有一定的隨機性。
自助法對于總數(shù)為N的樣本,進行n次又放回的隨機抽樣,n次采樣有的樣本重復,有的從未被抽中過,最后將沒有被抽中的部分作為驗證集。驗證集的評估指標作為最終的評估指標。
這時候,你可能會問,沒抽中的樣本有多少呢?根據(jù)n次抽樣均未被抽中的概率為(1-1/n)的n次方,根據(jù)重要極限定理解之,當樣本足夠多的時候,大約有36.8%的樣本未被抽中過。
目前業(yè)界應用最多的,是可重疊分層分桶方法。具體來說,就是將流量分成可重疊的多個層或桶。因為很多類實驗從修改的實驗參數(shù)到觀察的產(chǎn)品指標都是不相關的,完全可以將實驗分成互相獨立的多個層。例如推薦算法召回層、推薦算法排序?qū)印⒋蛏?#xff0c;或者首頁、業(yè)務頁、詳情頁等。
流量分桶原理
采用如下步驟將流量分配到具體模型上面去:
- 把所有流量分成N個桶。
- 每個具體的流量Hash到某個桶里面去。
- 給每個模型一定的配額,也就是每個策略模型占據(jù)對應比例的流量桶。
- 所有策略模型流量配額總和為100%。
- 當流量和模型落到同一個桶的時候,該模型擁有該流量。
舉個栗子來說,所有流量分為32個桶,A、B、C三個模型分別擁有37.5%、25%和37.5%的配額。對應的,A、B、C應該占據(jù)12、8和12個桶。為了確保模型和流量的正交性,模型和流量的Hash Key采用不同的前綴。
首先,線下評估無法消除模型過擬合歷史數(shù)據(jù)的問題。
其次,線下評估沒法模擬線上真實環(huán)境,包括但不限于數(shù)據(jù)丟失、特征延遲等問題。
而且,線下評估沒法真實的再現(xiàn)線上類似 用戶點擊率、用戶完播率、用戶停留時長等指標。因為這些指標只有真實發(fā)生時,才是真實的數(shù)據(jù)。
最后,從系統(tǒng)偏差角度,我們在《推薦系統(tǒng)Bias大全》一文中介紹了,由于用戶交互的數(shù)據(jù)是觀察性的,而不是實驗性的,因此很容易在數(shù)據(jù)中引入偏差。它們通常來自不同的數(shù)據(jù)分組,并使推薦模型捕捉到這些偏差,甚至對其進行縮放,從而導致系統(tǒng)性種族主義和次優(yōu)決策。本文將數(shù)據(jù)偏差分為四類:外顯反饋中的選擇偏差和從眾偏差,內(nèi)隱反饋中的暴露偏差和位置偏差。
現(xiàn)實世界中的推薦系統(tǒng)通常會產(chǎn)生一個有害的反饋回路。前面的小節(jié)總結(jié)了在循環(huán)的不同階段發(fā)生的偏差,隨著時間的推移,這些偏差可能會進一步加劇。以位置偏差為例,排名靠前的項目通常會從更大的流量中受益,這反過來又會增加排名的顯著性和它們所接收的流量,從而形成一個“富起來越富”的情景。許多研究者還研究了反饋回路對流行偏差的影響。他們的模擬結(jié)果顯示,反饋回路會放大流行偏差,流行的商品變得更加流行,而非流行的商品變得更不受歡迎。這些放大的偏差也會降低用戶的多樣性,加劇用戶的同質(zhì)化,從而產(chǎn)生所謂的 “echo chambers”或“filter bubbles”。
總結(jié)
以上是生活随笔為你收集整理的炼丹知识点:模型评估里的陷阱的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Short-Session的推荐如何做?
- 下一篇: 那些决定模型上限的操作