Q1:什么是bias
bias可能來(lái)自于很多地方。
在這里bias是個(gè)廣義的概念:這里bias的含義既可以是統(tǒng)計(jì)學(xué)意義上的bias(如CTR校準(zhǔn)中便有一部分是校準(zhǔn)其統(tǒng)計(jì)學(xué)意義上的bias)耗绿,也可以是直覺(jué)(邏輯)意義上的bias姑蓝,偏差,差異储狭,天然偏差等等(CTR校準(zhǔn)中對(duì)位置信息帶來(lái)天然偏差的校準(zhǔn))〉方迹【這里其實(shí)也很好理解辽狈,在統(tǒng)計(jì)學(xué)意義上,我們對(duì)數(shù)據(jù)的估計(jì)可以是unbiased呛牲,但是實(shí)際中刮萌,很多分布是變化的,我們要詳細(xì)地分析這些可能帶來(lái)數(shù)據(jù)本身就“bias”掉的問(wèn)題娘扩∽湃祝】
前者是statistically defined,后者是logically defined琐旁。Q1.1:Bias的根源是什么
在我們信息不完全(比如沒(méi)有population涮阔,或者缺失一些特征)的時(shí)候,或者使用有誤差的估計(jì)方法時(shí)旋膳。得到的結(jié)果澎语。Q2:為什么要消除bias
其實(shí)這個(gè)問(wèn)題也可以換個(gè)方式來(lái)問(wèn):什么時(shí)候需要消除bias?
1、需要消除bias的例子:
舉個(gè)例子擅羞,我們希望通過(guò)廣告歷史的曝光點(diǎn)擊數(shù)據(jù)來(lái)表征一個(gè)廣告是否吸引人(ctr)尸变,那么歷史的廣告點(diǎn)擊是否能直接表征呢?其實(shí)不能减俏,因?yàn)樵趶V告行業(yè)中召烂,廣告的展現(xiàn)位置對(duì)廣告是否會(huì)被spotted到有很大的影響。所以真實(shí)的ctr是廣告位帶來(lái)的ctr bias和廣告本身的ctr疊加的結(jié)果娃承。如果我們希望評(píng)估廣告本身的ctr時(shí)奏夫,就需要消除廣告位帶來(lái)的bias
2、不需要消除bias的例子:
同樣在上面那個(gè)例子中历筝,當(dāng)我們需要評(píng)估廣告本身的ctr時(shí)酗昼,需要消除廣告位帶來(lái)的偏差,但是當(dāng)我們需要評(píng)估某個(gè)廣告位a投出b廣告時(shí)期望的ctr時(shí)梳猪,我們就不需要消除“廣告位帶來(lái)的bias”麻削,因?yàn)樵谶@個(gè)任務(wù)中,廣告位只是其中的因素之一春弥,并不是biasQ3:何時(shí)呛哟,如何消除bias
而如何消除這些bias是機(jī)器學(xué)習(xí)中非常重要的課題,一些場(chǎng)景以及手段如下:
1匿沛、特征去偏:【反饋特征為了表征對(duì)象(商品扫责,內(nèi)容,廣告)本身的差異逃呼,可能會(huì)由上層的差異(如曝光位置等)帶來(lái)bias】
比如廣告中的coec:click over excepted click便是一個(gè)用廣告位或者其他固有屬性的expected click做為分母鳖孤,以此來(lái)作為normalizer對(duì)click進(jìn)行去偏的手段。
還有特征上的去偏比如y2b論文中對(duì)召回的建模用到了網(wǎng)站各個(gè)場(chǎng)景的樣本和數(shù)據(jù)抡笼。那么如果將即時(shí)的搜索的數(shù)據(jù)和搜索頁(yè)的點(diǎn)擊樣本一起輸入淌铐,那么模型就很容易學(xué)到當(dāng)前搜索詞與用戶(hù)后續(xù)點(diǎn)擊的關(guān)聯(lián)性,而以此來(lái)作為首頁(yè)推薦直覺(jué)上也是很有問(wèn)題的(我剛剛搜索完car蔫缸,那么回到主頁(yè)就全是car相關(guān)的視頻?)际起,會(huì)導(dǎo)致模型overfitting拾碌。所以在其論文中,google去掉了時(shí)序信息街望,并且將用戶(hù)的所有搜索詞作為無(wú)序詞袋校翔,防止模型直接學(xué)習(xí)搜索詞與用戶(hù)在搜索頁(yè)的后續(xù)點(diǎn)擊的關(guān)聯(lián)關(guān)系。(凡事都有對(duì)應(yīng)的場(chǎng)景灾前,當(dāng)我們?cè)谧鏊阉魍扑]的排序建模時(shí)防症,搜索詞與后續(xù)點(diǎn)擊的item是有較強(qiáng)關(guān)聯(lián)關(guān)系的,這個(gè)關(guān)系也是需要模型去學(xué)習(xí)的,而不是一個(gè)bias)
其實(shí)ctr平滑也是特征去偏的一個(gè)體現(xiàn)蔫敲。因?yàn)閏tr評(píng)估其被點(diǎn)擊的概率饲嗽,但是當(dāng)后驗(yàn)數(shù)據(jù)較少時(shí),其計(jì)算的ctr置信度較低奈嘿,即其ctr值偏差的范圍較大貌虾,那么CTR平滑便是一種降低偏差的方法,也可以被理解去消減bias裙犹。
2尽狠、用模型感知性輸入去偏:【由于模型在預(yù)估和訓(xùn)練中的差異,可能會(huì)帶來(lái)bias叶圃,比如下面的位置的bias袄膏,以及樣本偏差的bias:ssb[1],這些需要在模型中有特別的設(shè)計(jì)來(lái)解決】
比如樣本中商品展現(xiàn)的位置(順序)可能直接影響到其點(diǎn)擊率掺冠。那么在dnn模型的最后一層沉馆,將位置信息作為特征與hidden layer拼接后輸入模型進(jìn)行訓(xùn)練(注意其與最后的label最好只有直接的線性關(guān)系,不與其他特征交叉)赫舒。在預(yù)估的時(shí)候悍及,再去掉位置信息這個(gè)輸入,以此來(lái)讓模型訓(xùn)練時(shí)感知位置本身帶來(lái)的偏差接癌,并且在排序的時(shí)候去掉此偏差帶來(lái)的影響(point wise模型排序打分的時(shí)候無(wú)法預(yù)知其位置心赶,否則預(yù)估空間需要放大很多倍=candidate num * impression num)∪泵停【讓模型學(xué)習(xí)到這個(gè)bias缨叫,再在預(yù)估的時(shí)候去除這個(gè)bias】,當(dāng)然荔燎,這個(gè)去偏也是要分場(chǎng)景的耻姥,例如,位置信息在底層point-wise模型中是一個(gè)bias有咨,但是在上層的list-wise模型中琐簇,它就是一個(gè)特性,并不是bias座享。討論bias消除的必要性
在y2b的論文中婉商,同樣有類(lèi)似的方法:為了消除模型對(duì)老視頻的傾向性(因?yàn)橛?xùn)練樣本可能都是多天以前的,固然會(huì)對(duì)之前樣本中出現(xiàn)的視頻有天然的bias)渣叛,在訓(xùn)練的時(shí)候加入了example age丈秩,而在預(yù)估的時(shí)候去除了example age,或者賦予了一個(gè)很小的負(fù)值淳衙。
3蘑秽、樣本去偏:【這里主要是整體feedback loop形成的偏差饺著,馬太效應(yīng)。這里解決方式是通過(guò)我們的認(rèn)知修改樣本肠牲,來(lái)修正這種bias】
有時(shí)候這也不能算作是“偏”幼衰,因?yàn)橛袝r(shí)候樣本的分布就是長(zhǎng)尾或者“有偏重”的,導(dǎo)致很有可能少數(shù)的用戶(hù)的樣本dominate了整個(gè)模型埂材。所以我們需要對(duì)樣本進(jìn)行reweight塑顺,給特別高頻的用戶(hù)降低權(quán)重∏蜗眨或者像google在y2b的論文中那樣严拒,直接對(duì)每個(gè)用戶(hù)產(chǎn)生相同(相近)的樣本數(shù)量。同時(shí)論文中用上全站的數(shù)據(jù)做樣本(包括搜索竖独,等其他渠道裤唠,不僅僅只有推薦),也是為了防止模型overly biased towards exploitation莹痢。(只有推薦流反饋的話种蘸,會(huì)讓新內(nèi)容難以曝光,過(guò)度exploitation)
4竞膳、metric去偏:【metric本身其實(shí)也受到當(dāng)前數(shù)據(jù)分布的影響航瞭,當(dāng)我們?cè)u(píng)估的條件,和真實(shí)的條件不一致的時(shí)候坦辟,對(duì)評(píng)估的metric也需要去偏】
類(lèi)似高頻用戶(hù)dominate模型訓(xùn)練的問(wèn)題刊侯,metric也可能被dominate,例如AUC做為ctr預(yù)估模型的metric時(shí)锉走,很可能模型僅僅對(duì)“用戶(hù)是否點(diǎn)擊”這個(gè)問(wèn)題進(jìn)行了判別滨彻,并非我們想要的“用戶(hù)對(duì)某個(gè)商品是否點(diǎn)擊”。那么這個(gè)指標(biāo)與我們實(shí)際的預(yù)期相比挪蹭,是有偏的亭饵。類(lèi)似地,其實(shí)每個(gè)用戶(hù)都可以計(jì)算其單獨(dú)的AUC梁厉,用這個(gè)思想辜羊,用點(diǎn)擊數(shù)量對(duì)每個(gè)用戶(hù)的AUC加權(quán),得到GAUC即是在此場(chǎng)景下對(duì)AUC的去偏
5词顾、訓(xùn)練過(guò)程去偏:【訓(xùn)練模型的過(guò)程本身只冻,會(huì)由算法本身產(chǎn)生bias,為了讓特征數(shù)據(jù)能夠充分訓(xùn)練计技,則需要修正】
由于訓(xùn)練過(guò)程中,不同特征出現(xiàn)的概率不同(onehot的每一位山橄,embedding的每一個(gè)id)那么訓(xùn)練中垮媒,其被更新的次數(shù)也不同舍悯,高頻的特征被更新的次數(shù)較多,低頻的特征可能訓(xùn)練不充分睡雇。高頻特征打壓中闡述了這種做法萌衬。同時(shí),過(guò)于低頻的特征它抱,也可能泛化能力較弱秕豫,影響模型的泛化能力,可以將過(guò)低頻的特征過(guò)濾掉观蓄。類(lèi)似地混移,在阿里的DIN文章中提出了mini batch aware regularization,其對(duì)embedding layer的進(jìn)行的l2 reg(weight decay)僅對(duì)一個(gè)batch中出現(xiàn)過(guò)的emebdding進(jìn)行weight decay侮穿。雖然原本的intention是優(yōu)化計(jì)算量歌径,提升計(jì)算速度。但這樣也變相降低了低頻embedding被decay的次數(shù)亲茅,防止其在訓(xùn)練過(guò)程中被過(guò)度的decay(本身被更新的次數(shù)很少)回铛,可能也變相提升了效果。
6克锣、對(duì)預(yù)估值去偏:【這里其一消除了算法本身在數(shù)學(xué)上的bias茵肃,其二的ctr校準(zhǔn)也可以當(dāng)作是去除模型預(yù)估的bias】
簡(jiǎn)述一下就是,當(dāng)我們對(duì)樣本采樣時(shí)袭祟,會(huì)導(dǎo)致模型預(yù)估值有偏验残,見(jiàn):非均衡數(shù)據(jù)分類(lèi),以及采樣對(duì)其的影響榕酒,以及不均衡正負(fù)樣本的訓(xùn)練本身會(huì)導(dǎo)致pCtr被低估胚膊,見(jiàn):有偏估計(jì)在CTR預(yù)估中引入的問(wèn)題,在CTR校準(zhǔn)中有詳細(xì)的討論想鹰,這里CTR校準(zhǔn)即是用一定的手段來(lái)消除此偏差紊婉,使得預(yù)估值更準(zhǔn)確,當(dāng)預(yù)估絕對(duì)值有意義的時(shí)候(例如廣告競(jìng)價(jià))辑舷,則這樣的去偏是非常必要的喻犁。
7、模型選擇的去偏:【這是個(gè)CV的例子何缓,解釋了如何正確地評(píng)估“泛化誤差”肢础,而不能引入?yún)?shù)selection帶來(lái)的bias】
當(dāng)我們使用validation set來(lái)選擇參數(shù)的時(shí)候,此參數(shù)在validation set上的表現(xiàn)不能作為評(píng)估標(biāo)準(zhǔn)碌廓,是因?yàn)檫@個(gè)選擇過(guò)程對(duì)特定的validation set是aware的(是以此作為標(biāo)準(zhǔn)來(lái)選擇的)传轰,所以在validation set上的評(píng)估指標(biāo)是有偏的。要評(píng)估這個(gè)模型本身的泛化能力谷婆,需要test set來(lái)評(píng)估慨蛙。(當(dāng)然辽聊,由于大規(guī)模機(jī)器學(xué)習(xí)會(huì)消耗太多的資源,一般不會(huì)有這么復(fù)雜的模型參數(shù)評(píng)估選擇過(guò)程)期贫。類(lèi)似地跟匆,我們?nèi)绻卯?dāng)前的多個(gè)模型預(yù)估值進(jìn)行了公式的組合grid search 出一些超參數(shù),例如我們搜索rankscore= ctr ^ a * cvr ^ b中的a通砍,b參數(shù)玛臂,用grid search在當(dāng)前的數(shù)據(jù)集上搜索出一系列參數(shù),其實(shí)這些參數(shù)對(duì)當(dāng)前的數(shù)據(jù)集是aware的封孙,不能作為評(píng)估的標(biāo)準(zhǔn)迹冤。需要用另一份數(shù)據(jù)集做評(píng)估。
8敛瓷、數(shù)據(jù)認(rèn)知不足帶來(lái)bias:【這里其實(shí)是數(shù)據(jù)本身不完整準(zhǔn)確叁巨,或者我們對(duì)數(shù)據(jù)的認(rèn)知不足造成的偏差,需要我們更深入并嚴(yán)謹(jǐn)?shù)貙?duì)待并分析數(shù)據(jù)呐籽,避免導(dǎo)致錯(cuò)誤的認(rèn)知(其實(shí)這個(gè)很常見(jiàn)锋勺,也很容易被忽略,結(jié)果可能帶來(lái)錯(cuò)誤的特征狡蝶,結(jié)論庶橱,與決策)】
有時(shí)候,統(tǒng)計(jì)數(shù)據(jù)本身攜帶了過(guò)多的偏差贪惹,可能導(dǎo)致我門(mén)錯(cuò)誤的認(rèn)知苏章。例如某頁(yè)面下方有個(gè)推薦feed流,feed流前5個(gè)數(shù)據(jù)為興趣推薦奏瞬,最后兩個(gè)為探索推薦枫绅。直接統(tǒng)計(jì)結(jié)果發(fā)現(xiàn)興趣推薦點(diǎn)擊率甚至小于探索推薦。追查下去發(fā)現(xiàn)很多用戶(hù)點(diǎn)擊此頁(yè)面并非想看下面feed流推薦硼端,而是點(diǎn)擊頁(yè)面上方別的tab并淋,而點(diǎn)擊進(jìn)來(lái)就會(huì)記錄曝光,而默認(rèn)曝光的數(shù)量<5珍昨,所以前面的興趣推薦有很多無(wú)效的曝光县耽,固被拉低了點(diǎn)擊率。去除無(wú)效曝光(例如用是否下拉進(jìn)行過(guò)濾)后再統(tǒng)計(jì)則恢復(fù)正常認(rèn)知镣典。
[1] ssb:sample selection bias :傳統(tǒng)cvr模型在點(diǎn)擊樣本上訓(xùn)練兔毙,但是預(yù)估的時(shí)候會(huì)在全量數(shù)據(jù)上inference
refer : Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate