保序回歸平滑校準算法(SIR)通過分桶合并+線性插值解決廣告預估偏差問題,核心是保持原始排序下糾偏。具體步驟:1)按預估分升序分桶,統計每個分桶的后驗CTR;2)合并逆序桶重新計算均值,確保Pctr-Actr散點單調遞增;3)用分段線性函數擬合校準曲線,保證平滑性。(Actr表示離線統計的Actual CTR)
SIR的優勢在于利用保序思想緩解數據稀疏,兼具輕量化和可解釋性,實測提升RPM/CTR/ROI。評估采用PCOC(越接近1越準)和Cal-N指標,但需注意PCOC可能掩蓋局部高估/低估問題。該算法適用于混合競價、多物料等復雜場景,是廣告校準的主流方案。
1. 校準背景
校準技術是可信機器學習領域的一個研究分支,它能夠改善機器學習模型在預估準確度和置信度方面的不確定性。在計算廣告中,模型預估值大小準確性的優化(預估校準)在出價準確性、穩定性(包括算法出價oCPX/Auto-Bidding等)、竟價公平性,計劃冷啟動等方面發揮重要作用。
1.1 為什么推薦系統需要進行校準?
在推薦/廣告的排序階段,由于種種原因,模型打分的分布相比于真實分布會有偏差,或者稱為高估、低估。一句話介紹為什么ctr預估需要校準:真實的CTR值和預估的pCTR值由于負采樣和模型等問題,存在一定的偏差。CTR差異一般有以下兩個原因:模型訓練中正負樣本有偏采樣導致的,模型構建本身就不可能完美。
CTR預估值與真實值有偏差,并不會影響AUC指標和排序,但是實際使用中往往需要CTR的預估值不僅僅是做到有序,即正樣本排在負樣本前面,而且需要保證有一定的區分度。
在模型預估值大小發生偏差的情況下會明顯導致廣告主或平臺的收益受損。除此之外,隨著廣告業務形態的發展,更多的場景對模型預估值大小準確性提出了挑戰,包括:1)多種Bid類型混競:CPC、CPM、算法智能出價(Auto-Bid)、智能調價(OCPX)等Bidding方式繁榮發展,混合競價,預估大小準確性和穩定性直接影響出價;2)多物料混合:圖文、直播、短視頻等各類內容形態廣告混合,不同物料上的預估水平參差不齊;3)廣告與推薦流量混排:廣告和推薦(自然)內容有各自獨立的打分邏輯,預估大小的量綱和分布統一是能夠保證混排公平性和高效性的基礎。所以,預估值大小的準確性在廣告領域至關重要。
通常我們可以借助校準(Calibration)技術,根據線上的真實點擊率/轉化率,對模型的打分結果進行調整,使其更加貼近線上的真實分布。校準的本質,是指根據場景特點劃分候選,并將其得分分布與真實分布拉齊,從而改善多目標排序、多實體排序和廣告競價等場景的排序效果。
2. 校準目標
校準技術的目標是:使用戶行為的預估值盡可能逼近真實概率值,即模型預測的CTR盡可能接近真實的CTR。
矯正的結果不能改變測試數據的ctr序, 即Calibration要保持單調性,Calibration前后的AUC保持不變。
矯正的目的是在CTR序的分桶上使得COPC接近1。Calibration只矯正CTR序上的有偏,特征級別的有偏需要在特征級別進行矯正。
3. 保序回歸
保序回歸法(Isotonic Regression)是目前是業界最常用的校準方法,常見的算法是保序回歸平滑校準算法(保序回歸平滑校準算法:Smoothed Isotonic Regression,簡稱SIR算法)。其核心思想是利用模型本身的排序能力緩解校準樣本數據稀疏的問題,具備輕量級和可解釋性等特點。
- 保序:只影響CTR的絕對值,但不影響多條數據CTR之間的相對大小,即不影響商品最終的排序結果。
- 分桶:將所有數據按模型輸出的預估值(pCTR)進行分桶,對桶內數據的label(0/1值)求平均,作為近似的真實CTR。
- 回歸:通過分段線性回歸將pCTR映射到CTR上。
保序回歸算法流程:
1、將pCTR大小區間進行分桶,并計算每個桶內的平均CTR和pCTR。
2、如果,則違反桶間的大小順序,需要進行桶合并。
3、若pCTR在某個桶區間內,則取該桶的統計CTR作為校準pCTR。
3.1 為什么保序回歸可以進行CTR校準?
保序回歸(Isotonic Regression)用于CTR校準的核心原因在于其能保持預測值的單調性,同時通過調整映射關系減少偏差。以下是具體原因:
- 保持排序穩定性:保序回歸要求預測值(pCTR)與真實點擊率(CTR)的映射關系保持單調遞增,即確保預測值的相對大小與真實點擊率一致。這避免了因模型偏差導致預測分與實際用戶行為出現“左手倒右手”現象(例如高點擊商品被低估、低點擊商品被高估),從而維持推薦排序的準確性。 ?
- 緩解數據稀疏問題:通過分桶處理并計算每個桶內的平均點擊率,可有效緩解數據稀疏問題。例如,當樣本按pCTR分桶后,每個桶內的數據量增加,使得后續回歸分析更穩定。 ?
- 優化多目標融合場景:在多目標(如點擊率、轉化率)融合場景中,保序回歸能確保各目標預估值的相對順序與實際用戶行為一致。例如,即使兩個模型的pCTR分布不同,只要保持排序能力不變,最終融合分數(如CTR×轉化率)的排序仍可靠。
- 提升校準精度:保序回歸通過調整預測值與真實值的映射關系,使預測分更貼近真實用戶行為。例如,當預測分方差較大時,通過回歸調整可減少偏差,從而提高RPM和廣告主ROI。?
4. 保序回歸平滑校準算法
在實際的推薦系統中,我們通常使用保序回歸平滑校準算法(Smoothed Isotonic Regression,簡稱SIR)來解決CTR校準的問題。
SIR算法具體思想為:模型原始打分相近的PV具有近似的真實點擊率,PCTR大小區間可作為一個合理的校準維度(分桶);分桶數據量稀疏時,進一步利用模型本身的排序能力,對各分桶后驗點擊率與模型預估點擊率做保序處理(保序回歸);最后使用單調平滑函數擬合模型原始打分和后驗點擊率的映射關系(線性Scaling)就得到了校準函數。
具體做法如下:首先從pCxr維度對樣本進行拆分,按照樣本預估值大小排序后等頻分桶整體樣本;然后遍歷全部分桶,對桶與桶之間存在逆序現象的分桶進行桶合并操作,并計算合并后分桶真實統計的轉化率;最后利用簡單線性插值方法,擬合模型原始預估分和后驗真實轉化率之間的映射關系,生成模型校準參數。
SIR在保序回歸的基礎上,進行桶間插值產生分段校準函數:
其中,x的約束是落在第i個桶內。保序回歸系列的校準算法的優勢是可以在不改變序的前提下,提升pCTR的準確度;且它不需要知道模型訓練時樣本選擇的細節,更適合在Auction階段使用。
SIR算法的優勢在于充分利用了保序和平滑思想緩解了數據稀疏的問題,而且具備輕量級和可解釋性特點。對比各類校準算法效果如下(AB是兩個數據集),在實際應用中RPM、CTR以及廣告主ROI均有顯著提升(詳細可見論文: Calibrating user response predictions in online advertising)。
4.1 SIR原始論文算法流程
4.2?SIR算法流程解讀
Step1 區間分桶:升序-分桶-計算桶后驗ctr
首先將Pctr值從小到大進行排序,然后按照區間分為K個桶。假設我們分為100個桶:(0,0.01], (0.01,0.02], (0.02,0.03],…, (0.99,1]。這里我們認為精排模型給出的pCTR值是具有參考意義的,同一個區間里的PV請求具有近似的真實點擊率,每一個區間可作為一個合理的校準維度(分簇維度)。然后實際應用時,我們再統計每一個桶里的后驗CTR值。比如今天線上一共有1000次預估的Pctr落在了桶 (0.02,0.03]之間,然后我們統計這1000個預估的后驗CTR,假設后驗CTR為0.23%。關于每個桶里Pctr和Actr平均值的計算公式如下:
Step2 桶間合并:桶合并-重新計算Actr和Pctr均值
如果說后驗CTR的值超出了對應分桶的pCTR取值區間怎么辦?假如原本分桶在(0.02,0.03]之間結果的后驗CTR為0.35%,這時已經進入到了下一個桶里了(0.03,0.04]。如果我們將原本pCTR在(0.02,0.03]桶里面的值往下一個桶里的區間值進行校準,這就破壞了原有桶之間的順序,保序回歸的基本邏輯是不能破壞原有pCTR的順序。此時我們需要把(0.02,0.03]和(0.03,0.04]桶進行合并得到新的桶(0.02,0.04],再重新對落入兩個桶里的數據進行后驗CTR統計,得到新桶里面的Actr和Pctr平均值。我們以Pctr為x軸,Actr為y軸,最終得到一個如下圖所示單調遞增的散點圖:
Step3 桶間插值分段校準
我們需要基于上述散點圖去構造一個校準函數,輸入x值以后就可以輸出校準后的y值。如果直接擬合一個y = kx + b函數,最終預估的結果不夠平滑。目前業界的標準做法都是構造分段校準函數。
如上圖所示,我們將兩個桶之間坐標點連接起來,然后去構造一個分段的y = kx + b校準函數,假設pCTR一共分為了100個桶,那么最終就構造100個分段校準函數,這樣既保證單調性,又保證平滑地校準。分段的校準函數如何得出,這里就是基礎的初中數學知識,已知兩點坐標計算對應的y = kx + b。
保序回歸法的整體思想就是:不改變原有數據的Pctr排序,僅在原有Pctr的排序上進行糾偏。最終糾偏出來的CTR數據分布的單調性不變,AUC指標不變。
本身因為特征選擇和樣本采樣導致的CTR偏差,需要基于先驗知識的特征調整和基于負樣本采樣率的方法來對CTR進行糾偏。如果精排模型輸出的Pctr和Actr差異很大,這種是無法依靠校準模塊來進行糾偏的。
4.3?SIR為何能保序?
每個分段桶內部,f(x)=kx+b是單調遞增函數,必然保序。
桶合并操作使得前一個桶的最大值就是后面一個桶的最小值,因此桶間也是保序的。
5. 校準評價標準
5.1 PCOC&COPC
當我們使用上述的方法對CTR進行糾偏以后,我們使用什么指標來評估糾偏效果的好壞了?一般我們使用PCOC和Calibration-N兩大指標。
- PCOC(Predict Click Over Click)
- PCOC = Pctr / Actr,模型預估均值/后驗均值,越接近1表明模型準度越高。
- COPC = (總支付數/總曝光數) / ?score均值
PCOC指標是校準之后的點擊率與后驗點擊率(近似真實概率)的比值,越接近于1,意味著在絕對值上越準確。PCOC指標越接近于1,意味著CTR預估的越準確。PCOC > 1,則代表CTR被高估;PCOC < 1,則代表CTR被低估。但是PCOC存在一定局限性,因為PCOC指標是統計所有PV的Pctr和Actr效果,這里面可能會存在一定的統計偏差。假設樣本里有50%PV的CTR被高估了,50%PV的CTR被低估了,最終二者匯總在一起時PCOC可能還是趨近于1。
舉個例子:2萬個樣本,其中1萬個樣本的預估概率是0.2,后驗概率是0.4,計算出PCOC是0.2/0.4=0.5,是顯著低估的,另1萬個樣本PCOC是0.8/0.6= 1.3,明顯是高估的。所以校準效果并不好,但是樣本放一起看,校準后概率是(0.2+0.8)/2=0.5,后驗概率是(0.4+0.6)/2=0.5,整體PCOC是1.0,表現完全正常。所以單一PCOC指標不能表征樣本各維度下的校準水平。
5.2 Calibration-N
cal-N將樣本集合按照自定義規則劃分出多個簇分別計算PCOC,并計算與1的偏差作為標準誤差。舉個例子,將pctr根據值大小劃分為多個桶,每個桶為一個簇,計算每個簇的PCOC及其與1的偏差 數學公式:
6. 落地細節
這里收集推薦系統、廣告系統使用保序回歸進行校準的一些落地細節。
- 校準模型更新頻率:從理論上講,校準模型的響應速度越快越好,實時流的效果應該是最接近真實水平的。
- SIR算法的分桶數量如何確定:這個并沒有絕對的參考數值,更多的是依據數據量和經驗來確定。分桶數越多,校準結果能夠做的越精細;但是桶內的樣本量也會越少,可能會影響校準的準確度。
7. 參考文獻
【知乎】阿里媽媽展示廣告預估校準技術演進之路
【知乎】保序回歸 Isotonic Regression-Python
【CSDN】精排模型校準Calibration_模型calibration-CSDN博客
【知乎】模型校準calibration
【知乎】[廣告策略算法系列七]:預估校準機制 程序員老劉
【知乎】策略產品經理必讀系列—第十四講搜廣推業務中如何對預估CTR進行校準
【知乎】機器學習中為什么保序回歸算法可以校準CTR?