因果推斷在微視激勵(lì)和供需場(chǎng)景的應(yīng)用
一、因果推斷與激勵(lì)算法
1、業(yè)務(wù)背景與業(yè)務(wù)建模
首先簡(jiǎn)單地介紹一下騰訊微視的紅包激勵(lì)業(yè)務(wù)背景。與其他的產(chǎn)品和場(chǎng)景類(lèi)似,在給定的預(yù)算之下,我們向騰訊微視的用戶(hù)發(fā)放一些現(xiàn)金激勵(lì),希望通過(guò)現(xiàn)金激勵(lì)最大化用戶(hù)的次日留存和當(dāng)天使用時(shí)長(zhǎng)?,F(xiàn)金激勵(lì)的形式主要是以不定的時(shí)間間隔為用戶(hù)發(fā)放不定數(shù)量和不定金額的現(xiàn)金紅包。以上提到的 3 個(gè)“不定”最終由算法來(lái)確定。這三個(gè)“不定”也稱(chēng)紅包激勵(lì)策略的三要素。
接下來(lái)講一下不同的現(xiàn)金激勵(lì)策略的抽象形式。第一種以紅包序列的形式來(lái)表示策略,比如對(duì)紅包序列進(jìn)行編號(hào),然后用 one-hot 的形式為每個(gè) treatment 獨(dú)立編號(hào)。它的優(yōu)點(diǎn)是能夠刻畫(huà)更多細(xì)節(jié),例如每一個(gè)紅包之間的金額等細(xì)致的策略,以及相對(duì)應(yīng)的效果。但是這必然會(huì)需要更多的變量來(lái)表示策略,策略的探索空間非常大,另外在進(jìn)行策略的探索和擇優(yōu)時(shí),也會(huì)需要更多的計(jì)算量。而第二種形式,也就是使用三要素的向量來(lái)表示策略,其形式更靈活,探索的效率也會(huì)更高,但是它確實(shí)會(huì)忽略了一些細(xì)節(jié)。第三種方式更數(shù)學(xué)一點(diǎn),即紅包序列直接變成一個(gè)關(guān)于時(shí)間 t 的函數(shù),函數(shù)里的參數(shù)可以構(gòu)成向量,從而表示策略。因果問(wèn)題的建模和策略的表示,極大程度地決定了因果效應(yīng)估計(jì)的準(zhǔn)確性和效率。
假設(shè)我們有了一個(gè)良好的策略抽象和向量表示之后,接下來(lái)要做的就是選擇算法框架。在這里有三種框架。第一種框架在業(yè)界比較成熟,即使用因果推斷結(jié)合多目標(biāo)約束優(yōu)化的方式來(lái)做策略的分配和優(yōu)化。這種框架中,因果推斷主要負(fù)責(zé)的是估計(jì)不同策略對(duì)應(yīng)的用戶(hù)核心指標(biāo),也就是我們所說(shuō)的用戶(hù)次日留存和時(shí)長(zhǎng)的收益提升。估計(jì)之后,我們利用多目標(biāo)的約束優(yōu)化來(lái)做離線(xiàn)的預(yù)算策略分配以滿(mǎn)足預(yù)算約束。第二種就是離線(xiàn)強(qiáng)化學(xué)習(xí)結(jié)合多目標(biāo)約束優(yōu)化方法。這個(gè)方法我個(gè)人認(rèn)為是比較有前景的,主要原因有兩個(gè)。第一個(gè)原因是在實(shí)際應(yīng)用場(chǎng)景當(dāng)中,策略非常多,強(qiáng)化學(xué)習(xí)本身是可以高效地進(jìn)行策略空間探索的,同時(shí),由于我們的策略是有依賴(lài)的,而強(qiáng)化學(xué)習(xí)可以建模策略間的依賴(lài);第二個(gè)原因是因?yàn)殡x線(xiàn)強(qiáng)化學(xué)本質(zhì)實(shí)際上是一個(gè)反事實(shí)估計(jì)(contrafactual estimation)的問(wèn)題,其本身具有很強(qiáng)的因果屬性。然而遺憾的是,在我們的場(chǎng)景當(dāng)中曾經(jīng)嘗試離線(xiàn)強(qiáng)化學(xué)習(xí)的方法,但它在線(xiàn)上效果沒(méi)有達(dá)到理想的效果。究其原因,一方面是我們的方法問(wèn)題,另外一方面主要受限于數(shù)據(jù)。要想訓(xùn)練一個(gè)好的離線(xiàn)強(qiáng)化學(xué)習(xí)模型,需要數(shù)據(jù)中的策略分布足夠廣,或者叫策略分布的足夠均勻。也就是說(shuō),我們使用的隨機(jī)數(shù)據(jù)也好,或者是觀測(cè)數(shù)據(jù)也好,希望能夠盡可能地探索到更多的這種策略,并且分布的相對(duì)來(lái)說(shuō)會(huì)均勻一些,這樣才能夠減少做反事實(shí)估計(jì)的方差。最后一種算法框架在廣告場(chǎng)景當(dāng)中比較成熟,我們通過(guò)在線(xiàn)強(qiáng)化學(xué)習(xí)方式做流量控制和預(yù)算控制。這種方法的優(yōu)勢(shì)是可以及時(shí)地、快速地響應(yīng)線(xiàn)上的突發(fā)事件,同時(shí)對(duì)于預(yù)算的控制相對(duì)更加準(zhǔn)確。在引入因果之后,我們做流量選擇或控制的指標(biāo)就不再是 ECPM 指標(biāo)了,可能就是我們現(xiàn)在估計(jì)的次留和時(shí)長(zhǎng)的一個(gè)提升量。經(jīng)過(guò)我們一系列的實(shí)踐嘗試,最終選擇了第一種算法框架,也就是因果推斷結(jié)合多目標(biāo)約束優(yōu)化,原因是它更穩(wěn)定且更可控,同時(shí)它對(duì)線(xiàn)上工程的依賴(lài)也更少。
第一種算法框架的 Pipeline 如下圖所示。首先離線(xiàn)計(jì)算用戶(hù)特征,然后用因果模型去預(yù)估用戶(hù)在不同策略下核心指標(biāo)的提升量,也就是所謂的 uplift。基于預(yù)估的提升量,我們利用多目標(biāo)優(yōu)化來(lái)求解,從而分配最優(yōu)策略。為了加速整個(gè)過(guò)程的計(jì)算,我們?cè)诮Y(jié)構(gòu)化時(shí),會(huì)提前對(duì)人群進(jìn)行聚類(lèi),也就是說(shuō)我們認(rèn)為這一簇里邊的人具有相同的因果,相應(yīng)的,我們給同一簇人分配同樣的策略。
2、策略假設(shè)與因果圖
基于上述討論,接下來(lái)重點(diǎn)討論一下怎么做策略的抽象。首先來(lái)看我們?nèi)绾纬橄笠蚬麍D。在紅包激勵(lì)場(chǎng)景中需要建模的因果,體現(xiàn)在多天與多個(gè)紅包之間。因?yàn)榍耙粋€(gè)紅包肯定會(huì)影響下一個(gè)紅包是否要領(lǐng)取,因此它本質(zhì)上就是一個(gè) Time-Varying Treatment Effect 問(wèn)題,抽象成時(shí)序因果圖由如右圖所示。
以一天內(nèi)多個(gè)紅包為例,T 所有下標(biāo)都代表的是紅包的一個(gè)序號(hào)。此時(shí)的 T 代表的是當(dāng)前紅包的金額,以及距離上一個(gè)紅包發(fā)放的時(shí)間間隔所組成的向量。Y 是用戶(hù)的紅包下發(fā)之后的當(dāng)次使用時(shí)長(zhǎng),和次日留存的提升量。X 是截止到當(dāng)前時(shí)刻觀察到的混淆變量,例如用戶(hù)的觀看行為或人口屬性等。當(dāng)然還會(huì)有很多未觀測(cè)的混淆變量,用 U 來(lái)表示,例如用戶(hù)偶發(fā)的停留,或是偶發(fā)的停止領(lǐng)。一個(gè)重要的未觀測(cè)混淆變量是用戶(hù)的心智,主要包括用戶(hù)對(duì)紅包激勵(lì)的金額的價(jià)值評(píng)估。而這些所謂的心智,是很難通過(guò)系統(tǒng)內(nèi)的一些統(tǒng)計(jì)量或統(tǒng)計(jì)特征來(lái)表示的。
如果以時(shí)間序列的形式去做建模紅包策略會(huì)非常復(fù)雜,因此我們做了一些合理的簡(jiǎn)化。比如假設(shè) U 只影響當(dāng)前時(shí)刻的 T,X 和 Y,并且它只影響下一時(shí)刻的 U,即用戶(hù)心智。也就是說(shuō)它只會(huì)通過(guò)影響下一刻的價(jià)值評(píng)估或者心智來(lái)影響未來(lái)的 Y。但是即使做了一系列簡(jiǎn)化,我們也會(huì)發(fā)現(xiàn)整個(gè)時(shí)序因果圖依然很稠密,從而很難做合理的估計(jì)。并且當(dāng)使用 G-methods 的方法解決 time Varying Trend Effect 時(shí),需要大量數(shù)據(jù)去訓(xùn)練,然而現(xiàn)實(shí)中我們得到的數(shù)據(jù)非常稀疏,所以很難在線(xiàn)上取得一個(gè)很好的效果。因此最終我們做了大量簡(jiǎn)化,得到右下圖這樣的叉狀結(jié)構(gòu)(Fork)。我們把所有當(dāng)天的紅包的策略做了一個(gè)聚合,它是由策略三要素(紅包激勵(lì)總金額、總時(shí)間、總個(gè)數(shù))所構(gòu)成的向量,用 T 來(lái)表示。X 是 T-1 時(shí)刻的一個(gè)混淆變量,也就截止到當(dāng)天之前用戶(hù)的歷史行為和人口屬性。Y 代表的是當(dāng)天用戶(hù)的使用時(shí)長(zhǎng),就是用戶(hù)的次日留存或當(dāng)次使用時(shí)長(zhǎng)指標(biāo)。雖然這種方法看起來(lái)忽略了很多細(xì)節(jié),例如紅包之間的相互影響。但從宏觀的角度來(lái)說(shuō),這個(gè)策略更穩(wěn)定也能更好衡量其效果。
3、策略表示與因果模型
基于上面討論,接下來(lái)就是核心問(wèn)題,也就是如何表示策略(treatment)。之前我們嘗試了使用 One-Hot 對(duì)三要素向量獨(dú)立編號(hào),以及將三要素分開(kāi),用時(shí)間函數(shù)構(gòu)造 multi-variable treatment。前面這兩種策略表示方法比較好理解,接下來(lái)介紹最后一種方法。大家看上面這張圖。我們分別構(gòu)造了三要素關(guān)于 t 的正弦函數(shù),也就是給定一個(gè)時(shí)刻 T,我們能分別得到金額、時(shí)間間隔和個(gè)數(shù)。我們用這些函數(shù)對(duì)應(yīng)的參數(shù)作為新向量的元素,類(lèi)似于策略三要素的表示。我們用函數(shù)的方式來(lái)表示策略的目的是期望保留更多的細(xì)節(jié),因?yàn)榍皟煞N方法只能通過(guò)策略組合知道紅包金額、發(fā)放間隔的平均值,而用函數(shù)可能表示得更細(xì)致。但是這種方式有可能引入更多的變量,使計(jì)算更加復(fù)雜。
有了策略表示之后,就可以針對(duì)性地去選擇因果模型來(lái)去估計(jì)因果效應(yīng)。在用 One-Hot 表示 T 的三要素的形式下,我們采用 x-Learner 的模型對(duì)每個(gè)策略建模,并將總金額最小的策略作為基準(zhǔn)策略,從而計(jì)算和評(píng)估所有策略的 treatment effect。在這種情況下,大家可能感覺(jué)到它的效率是非常低的,而且模型缺乏泛化性。因此我們進(jìn)一步采用剛才提到的第三種策略表示,即用正弦函數(shù)要素的向量去構(gòu)成一個(gè) treatment。接下來(lái)用單個(gè) DML 模型來(lái)估計(jì)所有策略相對(duì)于基準(zhǔn)策略的效果。此外,我們還做了一個(gè)優(yōu)化 DML,假設(shè) y 是混淆變量和因果效應(yīng)的線(xiàn)性加權(quán),也就是 y 等于 treatment effect 加上混淆變量。這樣就人工構(gòu)造了向量要素之間的交叉項(xiàng)和高階項(xiàng)。相當(dāng)于構(gòu)造了 polynomial kernel function 來(lái)引入非線(xiàn)性函數(shù)。在這個(gè)基礎(chǔ)上 DML 相對(duì)于基準(zhǔn)策略有了很大的提升。由右下圖的分析可以發(fā)現(xiàn),DML 模型花了更少的錢(qián)并且提高了 ROI,這意味著我們能夠更高效地去利用資源。
前面我們主要討論了一些方法上的抽象和模型的選擇,在實(shí)踐過(guò)程當(dāng)中,還會(huì)發(fā)現(xiàn)一些比較偏業(yè)務(wù)方面的問(wèn)題,比如做 One-Hot 時(shí) treatment 怎么辦?這時(shí)候,我們做了一個(gè)逐批擴(kuò)量的策略。首先通過(guò)策略三要素做種子策略,然后人工篩選和保留優(yōu)質(zhì)的種子之后,對(duì)它進(jìn)行一個(gè)擴(kuò)展。在擴(kuò)展之后,我們會(huì)基于一段時(shí)間,比如先在上線(xiàn)的前兩周分批地上線(xiàn)新的策略,并且保證每個(gè)策略的隨機(jī)流量大小是一致的,或是可比的。在這個(gè)過(guò)程當(dāng)中,確實(shí)會(huì)忽略時(shí)間因素的影響,并且不斷替換效果較差的策略,從而把策略的集合豐富起來(lái)。另外,由于時(shí)間因素一定會(huì)影響隨機(jī)流量的策略是否可比。因此我們構(gòu)建了類(lèi)似于時(shí)間片輪轉(zhuǎn)的方法,保證其覆蓋的時(shí)間片是一致的,從而消除時(shí)間因素對(duì)策略的影響,這樣得到的隨機(jī)流量就可以用來(lái)訓(xùn)練模型了。
還有就是新的策略大概如何生成?一種簡(jiǎn)單的方法是用 grade search,或者做遺傳算法,這些是比較常見(jiàn)的搜索的通用算法。另外我們可以結(jié)合了人工剪枝,比如剪去一些不可取的紅包序列類(lèi)型。還有一種方法是使用 BanditNet,也就是一種離線(xiàn)強(qiáng)化學(xué)習(xí)的方法去計(jì)算沒(méi)見(jiàn)過(guò)的策略,即估計(jì)反事實(shí)(counterfactual)的效果的估計(jì),然后用估計(jì)的值來(lái)做策略的選擇。當(dāng)然我們最終也需要用線(xiàn)上隨機(jī)流量去驗(yàn)證的,原因是這種離線(xiàn)強(qiáng)化學(xué)習(xí)的方法,其方差大概率會(huì)非常的大。
4、策略問(wèn)題與迭代
除了以上提到的問(wèn)題,我們也還會(huì)遇到一些偏業(yè)務(wù)的問(wèn)題。第一個(gè)問(wèn)題是用戶(hù)策略的更新周期是怎樣的?是不是所有的用戶(hù)策略都是頻繁地更新會(huì)更好?對(duì)此,我們實(shí)踐的經(jīng)驗(yàn)是因人而異。例如高頻用戶(hù)的策略變化應(yīng)該更緩慢一些。一方面是因?yàn)楦哳l用戶(hù)已經(jīng)很熟悉我們的形態(tài)了,包括激勵(lì)金額,如果紅包金額劇烈的變化,一定會(huì)影響相應(yīng)的指標(biāo)。所以我們對(duì)高頻用戶(hù)其實(shí)是保持一個(gè)周更新的策略,一周更新一次;但是對(duì)于新用戶(hù)來(lái)講,更新周期是更短的。原因是我們對(duì)新用戶(hù)了解很少,我們希望能夠更快速地去探索合適的策略,并且根據(jù)用戶(hù)交互情況快速響應(yīng)做出策略變化。由于新用戶(hù)的行為也很稀疏,所以在這種情況下,我們就會(huì)用天級(jí)別對(duì)新用戶(hù)或者一些低頻用戶(hù)去做更新。另外,我們也需要對(duì)策略的穩(wěn)定性做監(jiān)控,從而避免特征噪聲造成的影響,我們搭建的 Pipeline 如右圖所示。這里我們會(huì)監(jiān)控 treatment effect 是否穩(wěn)定,同時(shí)也會(huì)對(duì)用戶(hù)最終分配的策略進(jìn)行天級(jí)別的監(jiān)控,比如今天的策略和昨天策略差異有多大,包括金額和個(gè)數(shù)。我們也會(huì)對(duì)線(xiàn)上的策略定期的做快照,主要是為了去做 debug,同時(shí)也能夠快速回放,從而保證策略的穩(wěn)定。另外我們還會(huì)對(duì)小流量做實(shí)驗(yàn),監(jiān)控其穩(wěn)定性,只有達(dá)到穩(wěn)定性要求的小流量實(shí)驗(yàn),才會(huì)被用于替換現(xiàn)成的策略。
第二個(gè)問(wèn)題是針對(duì)新用戶(hù)以及一些特殊用戶(hù)的策略是否為獨(dú)立的?答案是確定的,比如新用戶(hù),我們會(huì)先對(duì)他進(jìn)行一個(gè)較強(qiáng)的激勵(lì),而后激勵(lì)強(qiáng)度隨時(shí)間衰減。當(dāng)用戶(hù)進(jìn)入正常的生命周期之后,我們才會(huì)對(duì)他進(jìn)行常規(guī)的激勵(lì)策略。同時(shí),對(duì)于特殊的敏感人群,他們金額上會(huì)有限制策略,對(duì)此我們也會(huì)訓(xùn)練獨(dú)立的模型去適應(yīng)這類(lèi)人群。
第三個(gè)問(wèn)題大家可能會(huì)問(wèn)到,也就是因果推斷在整個(gè)算法框架當(dāng)中到底有多重要?從理論角度,我們認(rèn)為因果推斷是核心,因?yàn)樗诩?lì)算法中是帶來(lái)很大的收益。相對(duì)于回歸與分類(lèi)模型來(lái)說(shuō),因果推斷與業(yè)務(wù)目標(biāo)一致,它天生就是面向 ROI 的,所以它會(huì)帶來(lái)關(guān)于提升量的優(yōu)化目標(biāo)。但是要提醒大家的是,我們?cè)谧鲱A(yù)算分配的時(shí)候,不能夠?yàn)槊恳粋€(gè)用戶(hù)都選擇最優(yōu)的策略,而且因果效應(yīng)相對(duì)于個(gè)人來(lái)說(shuō)是相對(duì)較小的。當(dāng)我們做預(yù)算分配的時(shí)候,很有可能會(huì)把一些用戶(hù)因果效應(yīng)的差異消除了。在這種時(shí)候,我們約束優(yōu)化會(huì)極大地影響策略效果。因此,在做聚類(lèi)的時(shí)候,我們也嘗試了更多的聚類(lèi)方法,例如深度聚類(lèi) SCCL 方法獲得了更好的聚類(lèi)結(jié)果。我們也進(jìn)行了一些深度因果模型的迭代,比如像 BNN 或 Dragonnet 等等。
我們發(fā)現(xiàn)在實(shí)踐的過(guò)程中,深度因果模型的離線(xiàn)指標(biāo)確實(shí)有不錯(cuò)的提升,但是其在線(xiàn)上的效果還不夠穩(wěn)定,主要的原因是有缺失值的出現(xiàn)。同時(shí)我們也發(fā)現(xiàn),特征的規(guī)劃方法很影響深度學(xué)習(xí)線(xiàn)上模型的穩(wěn)定性,所以最終我們還是會(huì)傾向于穩(wěn)定的去使用 DML 方法。
在激勵(lì)場(chǎng)景的分享就這么多,接下來(lái)也請(qǐng)我們團(tuán)隊(duì)的另外兩位同學(xué)和大家分享一下在供需調(diào)優(yōu)場(chǎng)景的一些實(shí)踐和理論的探索。
二、因果推斷與供需調(diào)節(jié)
1、業(yè)務(wù)背景與業(yè)務(wù)建模
接下來(lái)介紹一下騰訊微視在供需方面的一個(gè)業(yè)務(wù)背景。作為一個(gè)短視頻平臺(tái),微視有許多個(gè)不同品類(lèi)的視頻。對(duì)于有時(shí)候不同觀看興趣的用戶(hù)群體,我們需要根據(jù)不同的用戶(hù)特征去合適地分配各個(gè)品類(lèi)的曝光占比或者是庫(kù)存占比,目標(biāo)則是為了提升用戶(hù)的體驗(yàn)和用戶(hù)的觀看時(shí)長(zhǎng),其中用戶(hù)的體驗(yàn)可以根據(jù) 3 秒快劃率指標(biāo)來(lái)進(jìn)行衡量,觀看時(shí)長(zhǎng)主要根據(jù)總的播放時(shí)長(zhǎng)來(lái)去衡量。如何去調(diào)節(jié)視頻品類(lèi)的曝光占比或者庫(kù)存占比?我們主要考慮的方式按比例去對(duì)一些品類(lèi)進(jìn)行增加或者減少。增減的比例是一個(gè)預(yù)設(shè)的數(shù)值。
接下來(lái)我們需要通過(guò)算法解決如何決定哪些品類(lèi)增,哪些品類(lèi)減,去使得用戶(hù)體驗(yàn)和觀看時(shí)長(zhǎng)可以最大化,同時(shí)還需要滿(mǎn)足比如總曝光有限制的一些約束條件。這個(gè)地方總結(jié)了三個(gè)主要的建模思路。第一個(gè)是比較直接的想法,就是我們直接把增和減作為一個(gè) 0 和 1 的 treatment 變量,我們?nèi)ス烙?jì)它的因果效應(yīng),隨后再進(jìn)行一個(gè)多目標(biāo)的約束優(yōu)化,去得到一個(gè)最終的策略。第二種思路就對(duì) treatment 建模得更精細(xì)一些。我們把 treatment 當(dāng)作一個(gè)連續(xù)的變量,比如品類(lèi)的曝光占比,就是一個(gè) 0 到 1 之間連續(xù)變化的變量。然后去擬合一個(gè)相應(yīng)的因果效應(yīng)的曲線(xiàn)或者因果效應(yīng)函數(shù),接下來(lái)再進(jìn)行多目標(biāo)的約束優(yōu)化,最后得到最終的策略。可以注意到,剛剛提到的兩種方法都是兩階段的方法。第三種思路,我們將約束條件帶入到因果效應(yīng)的估計(jì)當(dāng)中,從而得到一個(gè)滿(mǎn)足約束條件的最優(yōu)策略。這也是稍后希望和大家分享的研究?jī)?nèi)容。
首先還是先關(guān)注前兩種建模的思路,有幾個(gè)建模的要點(diǎn)需要注意一下。第一個(gè)點(diǎn)是,為了保證因果效應(yīng)估計(jì)的準(zhǔn)確性,我們需要?jiǎng)澐秩巳海诿總€(gè)人群上做二值 Treatment 或是連續(xù) Treatment 的因果效應(yīng)估計(jì)。剛剛鄭老師也有提過(guò)分人群的方法,比如用 Kmeans 聚類(lèi),或者是一些深度聚類(lèi)。第二點(diǎn)則是如何在非隨機(jī)實(shí)驗(yàn)數(shù)據(jù)上評(píng)估模型效果。比如我們需要在不做 AB test 的情況下,離線(xiàn)評(píng)估一下模型的效果。關(guān)于這個(gè)問(wèn)題,可以參考 PPT 上面索引的這篇論文中提到的一些指標(biāo),用來(lái)做離線(xiàn)的評(píng)估。第三點(diǎn)需要注意的是,我們應(yīng)該盡可能考慮品類(lèi)之間的關(guān)聯(lián)和相互影響,比如相似品類(lèi)之間的一些擠占的問(wèn)題等等。如果能把這些因素納入到因果效應(yīng)的估計(jì)當(dāng)中,應(yīng)該可以取得更好的效果。
2、單人群 × 品類(lèi)曝光占比調(diào)節(jié)策略
接下來(lái)我們就具體展開(kāi)這幾種建模思路。首先第一種建模方式就是定義一個(gè) 0 和 1 的 treatment,用來(lái)代表增加或者減少這兩種干預(yù)的手段,可以參考左側(cè)的簡(jiǎn)要因果圖,這里 x 代表用戶(hù)的一些特征,比如歷史操作行為相關(guān)的統(tǒng)計(jì)特征,以及其他的用戶(hù)屬性等等。y 就是我們所關(guān)心的目標(biāo),也就是 3 秒快化率或者播放總時(shí)長(zhǎng)。除此之外,還需要注意的是一些未觀測(cè)的混淆變量,比如用戶(hù)的偶發(fā)、快滑和退出,以及同一個(gè)用戶(hù)可能實(shí)際上會(huì)有多個(gè)人在使用,這也是用戶(hù)多重身份的一個(gè)問(wèn)題。另外就是推薦策略的不斷迭代和更新也會(huì)對(duì)觀測(cè)數(shù)據(jù)構(gòu)成影響,還有另外用戶(hù)興趣的遷移也是觀測(cè)之外的。這些未觀測(cè)的混淆變量,可能會(huì)對(duì)因果效應(yīng)的估計(jì)造成一定程度上的影響。
對(duì)于這樣的建模方式,常見(jiàn)的因果效應(yīng)估計(jì)方法都可以解決。比如可以考慮 T-Learner 或者是 X-Learner,或者是 DML,這些都可以進(jìn)行因果效應(yīng)估計(jì)。當(dāng)然,這種簡(jiǎn)單的建模方式也存在一些問(wèn)題,比如我們用二值 treatment 進(jìn)行建模會(huì)太過(guò)于簡(jiǎn)化。另外,在這種方式之下,每一個(gè)品類(lèi)是單獨(dú)進(jìn)行考慮的,沒(méi)有考慮品類(lèi)之間的相關(guān)性。最后一個(gè)問(wèn)題就是我們整個(gè)問(wèn)題里邊沒(méi)有考慮到曝光的順序,以及內(nèi)容的質(zhì)量這些具體的因素。
接下來(lái)再介紹一下第二種建模的思路。我們把所有品類(lèi)放在一起考慮,比如我們有 k 個(gè)視頻品類(lèi),令 treatment 是一個(gè) k 維的原因向量。向量的每一個(gè)位置就代表一個(gè)品類(lèi),比如影視綜藝或者 MOBA 賽事等,0 和 1 仍然是代表增加或者減少。這時(shí)候多維向量的 treatment 的因果效應(yīng)估計(jì)可以通過(guò) DML 算法來(lái)解決。我們通常是把全為 0 的 treatment 向量作為 control。這種方式雖然解決了各品類(lèi)沒(méi)有被單獨(dú)考慮的問(wèn)題,但是它依然存在一些潛在的問(wèn)題。首先是品類(lèi)過(guò)多時(shí)所帶來(lái)的維度爆炸的問(wèn)題,并且隨著維度的增加,由于每個(gè)位置上都有 0 和 1 兩種情況,所以潛在的排列組合數(shù)量會(huì)指數(shù)級(jí)增加,這些都會(huì)對(duì)因果效應(yīng)估計(jì)的準(zhǔn)確性造成干擾。另外,前面所提到的曝光順序和內(nèi)容等等這些因素也沒(méi)有考慮到。
分享完二值變量 treatment 的建模思路之后,接下來(lái)可以對(duì) treatment 進(jìn)行更精細(xì),也更符合其本身特點(diǎn)的建模。我們注意到,曝光占比本身是一個(gè)連續(xù)的變量,因此我們用連續(xù)的 treatment 去進(jìn)行建模會(huì)更加的合理。在這種建模思路之下,我們首先還是需要?jiǎng)澐秩巳?。?duì)每個(gè)人群,我們對(duì)每個(gè)品類(lèi)進(jìn)行單獨(dú)地建模,得到一個(gè)單人群*單品類(lèi)的因果效應(yīng)曲線(xiàn)。就像左圖顯示的這樣,因果效應(yīng)曲線(xiàn)代表的是不同品類(lèi)占比對(duì)我們所關(guān)心的目標(biāo)產(chǎn)生的影響。為了估計(jì)這樣的因果效應(yīng)曲線(xiàn),我主要分享兩種可行的算法,一個(gè)是 DR-Net,一個(gè)是 VC-Net,這兩種算法都屬于深度學(xué)習(xí)的范疇。模型的結(jié)構(gòu)就像右圖展示的這樣。
首先介紹一下 DR-Net。模型的輸入 x 首先會(huì)經(jīng)過(guò)幾個(gè)全連接層,從而得到一個(gè)隱含的表示,叫做 z。DR-Net 采取了一種離散化的策略,它將連續(xù)的 treatment 離散成多個(gè) block,然后每個(gè) block 分別訓(xùn)練一個(gè)子網(wǎng)絡(luò)來(lái)進(jìn)行目標(biāo)變量的預(yù)測(cè)。由于 DR-Net 采用了離散化的策略,所以它最終得到的因果效應(yīng)曲線(xiàn)并不是嚴(yán)格連續(xù)的,但隨著離散化的分段越細(xì),最終的估計(jì)會(huì)越接近于連續(xù)的曲線(xiàn)。當(dāng)然,隨著理想化的分段越細(xì),由此帶來(lái)的就是更多的參數(shù)量以及更高的過(guò)擬合的風(fēng)險(xiǎn)。
接下來(lái)再分享一下 VC-Net。VC-Net 一定程度上改進(jìn)了 DR-Net 的缺點(diǎn)。首先 VC-Net 模型的輸入還是 X,也是用戶(hù)的特征。它首先也是經(jīng)過(guò)幾個(gè)全連接層之后得到一個(gè)隱含的表示 Z。但是在 Z 這個(gè)地方,首先會(huì)接一個(gè)預(yù)測(cè) Propensity Score 的一個(gè)模塊。在連續(xù)的 Treatment 條件下, Propensity 就是給定 X 條件下 Treatment t 的一個(gè)概率密度,也是圖上所表示的 π。接下來(lái)我們看一下 Z 之后的網(wǎng)絡(luò)結(jié)構(gòu),不同于 DR-Net 進(jìn)行離散化的操作,VC-Net 采用的是一個(gè)變系數(shù)的網(wǎng)絡(luò)結(jié)構(gòu),也就是 Z 之后的每一個(gè)模型參數(shù),都是一個(gè)關(guān)于 t 的函數(shù)。我們這里提到的文獻(xiàn)作者采用了基函數(shù)的手段,把每個(gè)函數(shù)表示成一個(gè)基函數(shù)的線(xiàn)性組合,也就這寫(xiě)的 θ(t)。這樣一來(lái),函數(shù)的估計(jì)也就變?yōu)榱藢?duì)基函數(shù)線(xiàn)性組合的參數(shù)估計(jì)。所以這樣一來(lái),模型的參數(shù)優(yōu)化就不成問(wèn)題了,同時(shí)VC-Net 所得到的因果效應(yīng)曲線(xiàn)也是一條連續(xù)的曲線(xiàn)。關(guān)于 VC-Net 要求解的目標(biāo)函數(shù)由幾部分組成。一方面,它是由最后對(duì)目標(biāo)的預(yù)測(cè)的平方損失構(gòu)成,也就是圖中的 μ。另一方面,它也由 propensity 的概率密度的對(duì)數(shù)損失來(lái)構(gòu)成。除了這兩部分之外,作者在目標(biāo)函數(shù)里邊還加入了一個(gè)叫做 targeted regularization 的懲罰項(xiàng),由此可以得到雙重穩(wěn)健的估計(jì)性質(zhì)。具體細(xì)節(jié),感興趣的朋友可以參見(jiàn)一下上面索引的 2 篇原論文,去獲得更多的細(xì)節(jié)。
最后,再為即將與大家分享的一篇我們的研究做個(gè)鋪墊。我們注意到,各個(gè)視頻品類(lèi)的曝光占比是一個(gè)多維連續(xù)的向量。它之所以多維,是在于我們有多個(gè)視頻品類(lèi),每個(gè)維度就代表一個(gè)視頻品類(lèi)。它之所以是連續(xù)的,主要就在于每個(gè)視頻品類(lèi)的曝光占比都是連續(xù)的,其取值都在 0 和 1 之間。同時(shí)還有一個(gè)很自然的約束條件,就是我們所有的視頻品類(lèi)的曝光占比加起來(lái)一定是等于 1。所以我們可以考慮這樣一個(gè)多維連續(xù)的向量去作為 treatment。
右圖展示的向量就是這樣的例子。我們的目標(biāo)是找到最優(yōu)的曝光占比,使得我們總播放時(shí)長(zhǎng)最大化。在傳統(tǒng)的因果框架上,算法很難解決這樣一個(gè)多維連續(xù)并且待約束的問(wèn)題。接下來(lái)分享一下我們對(duì)這樣的問(wèn)題做的研究。
三、帶約束的連續(xù)多變量因果模型分享
MDPP Forest 這項(xiàng)工作是團(tuán)隊(duì)在研究供需問(wèn)題的時(shí)候做的一個(gè)方法探索和問(wèn)題的創(chuàng)新解決。我們團(tuán)隊(duì)當(dāng)時(shí)發(fā)現(xiàn),在面對(duì)如何解決為每個(gè)用戶(hù)去分配最佳的視頻類(lèi)目曝光比的問(wèn)題上,其他現(xiàn)有的常用方法都沒(méi)有辦法得到一個(gè)比較符合預(yù)期的結(jié)果。因此經(jīng)過(guò)一段時(shí)間的嘗試與改進(jìn),我們團(tuán)隊(duì)設(shè)計(jì)的方法能在離線(xiàn)上取得了不錯(cuò)的效果,然后與推薦進(jìn)行合作,最后也取得了一定的策略收益。隨后我們把這項(xiàng)工作整理成了論文,也有幸發(fā)表在了 KDD 2022 上。
1、背景與挑戰(zhàn)
首先介紹問(wèn)題背景。在供需問(wèn)題中,我們將短視頻根據(jù)內(nèi)容劃分為不同類(lèi)目,比如科普、影視、戶(hù)外美食等。視頻類(lèi)目曝光比即指這些不同類(lèi)目的視頻各自所占一位用戶(hù)觀看的所有視頻的比例。用戶(hù)對(duì)不同類(lèi)目的偏好有很大的差別,平臺(tái)也往往需要因人而異地去確定每個(gè)類(lèi)目的最優(yōu)曝光比例。在重排序階段,對(duì)各類(lèi)視頻的推薦加以控制。公司面臨的一大挑戰(zhàn)是如何分配最佳的視頻曝光比,從而最大限度地延長(zhǎng)每個(gè)用戶(hù)在平臺(tái)上的使用時(shí)長(zhǎng)。
這樣一個(gè)問(wèn)題的主要難點(diǎn)在于以下的三點(diǎn)。第一個(gè)就是短視頻的推薦系統(tǒng)中,每個(gè)用戶(hù)看到的視頻和他自身的特征會(huì)有非常強(qiáng)的相關(guān)關(guān)系,這就是一個(gè)存在的選擇性偏差。因此我們需要用因果推斷相關(guān)的算法來(lái)消除偏差。第二個(gè)是視頻類(lèi)目曝光比是一種連續(xù)、多維并且?guī)Ъs束的 treatment。這樣的復(fù)雜問(wèn)題在因果推斷和策略?xún)?yōu)化領(lǐng)域目前是沒(méi)有非常成熟的方法的。第三是在離線(xiàn)數(shù)據(jù)上,我們并不能先驗(yàn)地知道每個(gè)人的真實(shí)最優(yōu)曝光比,因此很難去評(píng)估這個(gè)方法。在真實(shí)環(huán)境下,它只是推薦中的一個(gè)子環(huán)節(jié)。最終實(shí)驗(yàn)結(jié)果也不能判斷這個(gè)方法對(duì)它本身的計(jì)算目標(biāo)的準(zhǔn)確度。因此,這個(gè)場(chǎng)景的問(wèn)題我們很難去準(zhǔn)確地評(píng)估它。我們會(huì)在后續(xù)介紹我們是如何進(jìn)行效果評(píng)估的。
2、問(wèn)題定義
我們先把數(shù)據(jù)抽象成一個(gè)統(tǒng)計(jì)學(xué)中的因果圖。其中 X 是用戶(hù)特征,包含了許多同時(shí)影響當(dāng)前視頻曝光以及用戶(hù)時(shí)長(zhǎng)的混淆變量;T 是視頻類(lèi)目曝光比,它也是 treatment,在這個(gè)問(wèn)題中具有比較高的維度,例如它是一個(gè) 20 維的向量。Y 是用戶(hù)的觀看時(shí)長(zhǎng),也就是任務(wù)目標(biāo)的響應(yīng)。我們建模的目標(biāo)就是在特定的用戶(hù)特征 X 下,給一個(gè)高維的最優(yōu)視頻類(lèi)目曝光比,從而使用戶(hù)的觀看時(shí)長(zhǎng)期望達(dá)到最大。這個(gè)問(wèn)題看似可以簡(jiǎn)單地用一個(gè)因果三元圖來(lái)表示它,但有一個(gè)很大的問(wèn)題,也就是前面提到的,我們的 treatment 是多個(gè)類(lèi)目的曝光比,它是由品類(lèi)曝光占比構(gòu)建的多維連續(xù)取值且向量和為 1 的向量。這樣的問(wèn)題就比較復(fù)雜了。
3、方法簡(jiǎn)介 —— Maximum Difference Point of Preference (MDP2) Forest
對(duì)此,我們的方法也是基于因果決策森林(causal forest)的。一般的因果決策樹(shù)只能解決具有一維離散值的 treatment 問(wèn)題。而我們通過(guò)改進(jìn)中間分裂準(zhǔn)則函數(shù)的計(jì)算,在分裂的時(shí)候增加一些高維連續(xù)的信息,使它可以解決高維連續(xù)值并且?guī)Ъs束 treatment 的問(wèn)題。
① 方法簡(jiǎn)介——連續(xù)問(wèn)題
首先,我們解決的是連續(xù) treatment 問(wèn)題。如圖中所示,T 對(duì) Y 的影響是一條連續(xù)的曲線(xiàn)。我們先假設(shè)這是一條單調(diào)遞增的曲線(xiàn)。對(duì)于數(shù)據(jù)中所有的 Treatment 取值,我們?nèi)ケ闅v它,計(jì)算左右樣本的 Y 均值,從而找到左邊 Y 均值和右邊 Y 均值差異最大的點(diǎn),也就是平均因果效益最大的點(diǎn)。我們把這個(gè)點(diǎn)稱(chēng)為 Maximum Difference Point,也就是連續(xù) Treatment 空間上效率最高的點(diǎn),代表了 Treatment 能夠顯著地讓 Y 發(fā)生改變。Maximum Difference Point 就是我們?cè)趩尉S度上想去得到的點(diǎn)。
然而,我們剛才提到的方法只適用于單調(diào)遞增的曲線(xiàn)。但事實(shí)上,大部分問(wèn)題都沒(méi)有那么美好,特別是曝光比的問(wèn)題。在這個(gè)問(wèn)題上,效應(yīng)曲線(xiàn)一般來(lái)說(shuō)是山形的,即先增后減。因?yàn)槎嗤扑]用戶(hù)喜愛(ài)的視頻,可以使得用戶(hù)增加觀看時(shí)長(zhǎng),但是這個(gè)類(lèi)型推得過(guò)多了,整個(gè)視頻的推薦就會(huì)變得非常單調(diào)乏味,并且還會(huì)擠占其他用戶(hù)喜歡的視頻類(lèi)型的曝光空間。所以曲線(xiàn)一般來(lái)說(shuō)是山形的,也有可能是其他形狀的。為了適應(yīng)任意形狀的T 曲線(xiàn),我們需要進(jìn)行積分的操作,也就是找值域區(qū)間進(jìn)行累加。在累加后的曲線(xiàn)上,我們同樣計(jì)算左右兩邊均值,以及兩邊均值之差最大的點(diǎn),比如圖里的五角星。這個(gè)點(diǎn)就可以稱(chēng)我們稱(chēng)為 maximum difference point of preference,也就是我們的 MDPP。
② 方法簡(jiǎn)介——高維問(wèn)題
上面我們介紹了如何解決連續(xù)問(wèn)題,而剛才所說(shuō)的曲線(xiàn)只是一維的,對(duì)應(yīng)單一的視頻類(lèi)目。接下來(lái)我們采用啟發(fā)式維度遍歷的思想去解決多維的問(wèn)題。在計(jì)算分類(lèi)得分的時(shí)候,我們采用啟發(fā)式的思想,將 K 個(gè)維度隨機(jī)排序,在每個(gè)維度上去計(jì)算一個(gè) D 指標(biāo)的聚合,也就是進(jìn)行求和的操作。得到 D* 作為一個(gè)高維信息熵,再來(lái)考慮約束,約束是所有的 MDPP 之和為1。這里我們要考慮下面兩種情況,一種是如果 K 維度遍歷完以后,它 MDPP 之和也沒(méi)有達(dá)到 1。針對(duì)這個(gè)情況,我們會(huì)把所有的 MDPP 之和加起來(lái)對(duì)它們?nèi)プ鰵w一化,拉到 1。第二個(gè)情況是,如果我們只遍歷了 K’ 維小于 K 維,但MDPP 之和就已經(jīng)達(dá)到 1。對(duì)此,我們將停止遍歷,并且把 MDPP 設(shè)置為剩余的“資源量”,即 1 減之前已經(jīng)算出來(lái) MDPP 值之和,這樣就可以去考慮到約束。
另外,我們也會(huì)在上述的樹(shù)結(jié)構(gòu)上引入 forest,因?yàn)樗饕袃纱笠饬x。第一個(gè)是我們傳統(tǒng)的 bagging 集成思想,它可以用多個(gè)學(xué)習(xí)器增強(qiáng)模型的魯棒性。第二個(gè)是在維度遍歷中,每次節(jié)點(diǎn)分裂只會(huì)計(jì)算到 K’ 個(gè)維度,有些維度沒(méi)有被算進(jìn)去。為了使每個(gè)維度都能以平等的機(jī)會(huì)參與到分裂中,我們需要建立多棵樹(shù)。
③ 方法簡(jiǎn)介——算法加速
另外還有一個(gè)問(wèn)題,由于算法包含了三層的遍歷,所有樹(shù)模型都需要特征值的遍歷,還有額外引入的維度遍歷以及搜尋 MDPP 的遍歷。這樣的三層遍歷使得效率非常低下。因此我們對(duì)特征值的遍歷和 MDPP 遍歷用了加權(quán)分位數(shù)圖的方法,只在分位數(shù)點(diǎn)去計(jì)算相應(yīng)的結(jié)果,這樣就可以大大地降低算法復(fù)雜度。同時(shí),我們也找到了這些分位點(diǎn)作為“累加值域”的邊界點(diǎn),這樣可以大大減小計(jì)算量和儲(chǔ)存量。假設(shè)有 q 個(gè)分位點(diǎn),我們只需要計(jì)算 q 次得出每段分位區(qū)間內(nèi)的樣本數(shù)量和 y 的均值,這樣每次計(jì)算兩邊均值之差 d 的時(shí)候,只需要把 q 值分為左邊和右邊兩部分,分別把每一個(gè)區(qū)間里的均值做一個(gè)加權(quán)求和就可以了。我們不需要再重新計(jì)算分位點(diǎn)左右兩邊所有樣本的均值。我們下面進(jìn)入實(shí)驗(yàn)部分。
4、實(shí)驗(yàn)設(shè)計(jì)
① 實(shí)驗(yàn)設(shè)計(jì)-Metric
我們實(shí)驗(yàn)評(píng)估本質(zhì)上就是一個(gè)策略評(píng)估問(wèn)題,因此我們引入了策略評(píng)估相關(guān)的指標(biāo)。第一個(gè)是 Main Regret,它用于衡量整體策略的收益和理論最優(yōu)收益之間的差距。另一個(gè)是 Main Treatment Square Error,用于衡量多維 Treatment 下每一個(gè) Treatment 維度的預(yù)估值和最優(yōu)值之間的差距。這兩個(gè)指標(biāo)都是越小越好的。然而,定下這兩個(gè)評(píng)估指標(biāo)帶來(lái)的最大問(wèn)題就是我們?cè)趺慈ゴ_定最優(yōu)值。
② 實(shí)驗(yàn)設(shè)計(jì)-對(duì)比方法
介紹一下我們的對(duì)比方法。首先是因果推斷中的兩種常用方法,一個(gè)是具有完備統(tǒng)計(jì)學(xué)理論的 DML,還有另外是網(wǎng)絡(luò)模型 DR-Net 和 VC-Net。這些方法只能處理一維的問(wèn)題,但在本文的問(wèn)題上,我們進(jìn)行了一些調(diào)整去應(yīng)對(duì)多維問(wèn)題,也就是先計(jì)算每一維的絕對(duì)值,再去做歸一化。還有下面兩篇論文中策略?xún)?yōu)化的方法,我們稱(chēng)之為 OPE 和OCMD。這兩篇文章中有陳述其方法適用于多維問(wèn)題,但是同時(shí)也指出,當(dāng)維度過(guò)多時(shí),這些方法就很難生效了。
③ 實(shí)驗(yàn)設(shè)計(jì)-模擬數(shù)據(jù)集
為了簡(jiǎn)單直接地去比較模型效果,我們模擬了真實(shí)世界的問(wèn)題,生成了一個(gè)簡(jiǎn)化版的模擬數(shù)據(jù)集。特征空間 x 表示 6 個(gè)維度的用戶(hù)特征和 2 個(gè)行為特征。還有對(duì)于不同特征的樣本,我們先假定它的最優(yōu)策略。如圖所示,比如一個(gè)年齡小于 45 歲,教育程度大于 2,有一個(gè)行為特征大于 0.5 的用戶(hù),他在 6 個(gè)視頻類(lèi)目上最優(yōu)。借助左邊公式,先隨機(jī)生成一個(gè)對(duì)用戶(hù)的曝光策略,接下來(lái)算出曝光策略和真實(shí)最優(yōu)策略之間的一個(gè)差距,以及模擬用戶(hù)時(shí)長(zhǎng)是多少。如果策略越貼近用戶(hù)的最優(yōu)策略,用戶(hù)的時(shí)長(zhǎng) y 就會(huì)越長(zhǎng)。這樣我們就生成了這么一個(gè)數(shù)據(jù)集。這個(gè)模擬數(shù)據(jù)集的好處就是我們直接假設(shè)了最優(yōu)值,非常方便評(píng)估,另外一個(gè)是數(shù)據(jù)比較簡(jiǎn)單,可以方便我們分析算法的結(jié)果。
來(lái)看看模擬數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,對(duì)于剛才我們提到的那類(lèi)人群,提供了各種方法計(jì)算出對(duì)應(yīng)的 treatment 的均值。第一行是理論最優(yōu),第二行是我們 MDPP forest,第三行基于 MDPP forest 在分裂準(zhǔn)則里面又加了一些懲罰項(xiàng)的方法??梢钥吹轿覀兎椒ê屠碚撟顑?yōu)的差距都會(huì)非常小。另外的其他幾種方法就不是特別極端,而是比較均勻。另外,從右圖 MR 和 MTSE 來(lái)看,我們的兩種方法也具有非常明顯的優(yōu)勢(shì)。
④ 實(shí)驗(yàn)設(shè)計(jì)-半合成數(shù)據(jù)集
除了模擬數(shù)據(jù)集之外,我們也根據(jù)真實(shí)的業(yè)務(wù)數(shù)據(jù)構(gòu)造了一個(gè)半合成數(shù)據(jù)。數(shù)據(jù)來(lái)自騰訊微視平臺(tái)。Xi 表示用戶(hù)的 20 維特征,treatment ti 表示多維的視頻類(lèi)目曝光比構(gòu)成了10 維向量, yi(ti)表示第 i 個(gè)用戶(hù)的使用時(shí)長(zhǎng)。實(shí)際場(chǎng)景的一個(gè)特點(diǎn)是,我們并不能知道用戶(hù)真實(shí)的最優(yōu)視頻曝光比。所以我們根據(jù)聚類(lèi)中心規(guī)則去構(gòu)造函數(shù),生成虛擬的 y 來(lái)代替真實(shí)的 y,從而使得樣本的 y 具有更好的規(guī)律性。這里具體公式我就不再贅述了,有興趣的同學(xué)可以看一下原文。為什么可以這樣做呢?因?yàn)槲覀兯惴ǖ年P(guān)鍵是它要能夠解決 x 和 t 之間的一些混雜的影響,也就是線(xiàn)上用戶(hù)受到有偏策略的影響。為了去評(píng)估策略的效果,我們只保留了 x 和 t 而改變了 y,從而更好地對(duì)問(wèn)題進(jìn)行評(píng)估。
在半合成數(shù)據(jù)上,我們的算法效果也明顯更好,并且比模擬數(shù)據(jù)集上的優(yōu)勢(shì)會(huì)更加的大。由此說(shuō)明了在數(shù)據(jù)復(fù)雜的情況下,我們 MDPP forests 算法是更加的穩(wěn)定的。另外,我們?cè)诤铣蓴?shù)據(jù)上看一下超參數(shù),也就是森林的規(guī)模。在右下圖我們可以看到,隨著森林規(guī)模的增加,兩種分裂準(zhǔn)則處理下指標(biāo)收斂的都比較好,帶懲罰項(xiàng)的一個(gè)始終會(huì)更好一些,它在 100 棵樹(shù)的時(shí)候達(dá)到比較好的效果,250 棵樹(shù)的時(shí)候達(dá)到最優(yōu)效果,再之后會(huì)有一些過(guò)擬合。
四、問(wèn)答環(huán)節(jié)
Q:為什么遍歷曝光度超過(guò) 1 的時(shí)候,歸一化是可以 work 的?
A:我的理解是這樣,因?yàn)槲覀冏龅氖且粋€(gè)曝光占比約束的優(yōu)化,在這個(gè)過(guò)程當(dāng)中,我們是一個(gè)相對(duì)值。我們?cè)诒闅v的過(guò)程當(dāng)中,是尋找最優(yōu)的一個(gè)分裂點(diǎn),找到應(yīng)該優(yōu)先給哪個(gè)品類(lèi)曝光更多的比例。在這個(gè)過(guò)程當(dāng)中,我們只要能夠保證它是等比縮放的,就是可以的。
我也是同樣觀點(diǎn),是等比縮放就可以。因?yàn)?1 是一個(gè)強(qiáng)的約束限制,我們一開(kāi)始算出來(lái)的肯定不完全為 1,會(huì)低一些或者高一些。如果多了很多,沒(méi)有辦法去讓它達(dá)到強(qiáng)約束唯一的條件,也是比較自然地用到一個(gè)歸一化的思考。因?yàn)槲覀兛紤]到各個(gè)類(lèi)目之間相對(duì)大小關(guān)系。我覺(jué)得相對(duì)大小關(guān)系是比較重要的,而不是一個(gè)絕對(duì)值的問(wèn)題。