對於巨型互聯網公司來說,為了控制數據規模,降低訓練開銷,降采樣幾乎是通用的手段,facebook 實踐了兩種降采樣的方法,uniform subsampling 和 negative down sampling。
1、uniform subsampling
uniform subsampling 是對所有樣本進行無差別的隨機抽樣,為選取最優的采樣頻率,facebook 試驗了 0.001,0.01,0.1,0.5 和 1 五個采樣頻率,loss 的比較如下:當采樣率是 10% 時,相比全量數據訓練的模型,僅損失了不到 1% 的效果。
2、negative down sampling
negative down sampling 保留全量正樣本,對負樣本進行降采樣。除了提高訓練效率外,負采樣還直接解決了正負樣本不均衡的問題,facebook 經驗性的選擇了從 0.0001 到 0.1 的一組負采樣頻率。當負采樣頻率在 0.025 時,loss 不僅優於更低的采樣頻率訓練出來的模型,居然也優於負采樣頻率在 0.1 時訓練出的模型。
3、ctr預估漂移&模型校正
負采樣帶來的問題是 CTR 預估值的漂移,比如真實 CTR 是 0.1%,進行 0.01 的負采樣之后,CTR 將會攀升到 10% 左右。而為了進行准確的競價以及 ROI 預估等,CTR 預估模型是要提供准確的有物理意義的 CTR 值的,因此在進行負采樣后需要進行 CTR 的校正,使 CTR 模型的預估值的期望回到 0.1%。校正的公式如下:
對於邏輯回歸,參考文獻3計算方式:
4、小經驗
對於樣本采樣的一點心得,如果不是為了優化任務的復雜度或者優化訓練的耗時,盡量不對樣本進行采樣,因為采樣過后和原始數據的分布差異有變化,在線應用效果往往不好,即使通過變換,近似還原回原始分布,依然效果會比不采樣有損失。很早以前訓練展現時長模型就踩過坑,嘗試過各種對負樣本花式采樣,一頓操作猛如虎,最后效果還是原始的好,當然為了優化任務的復雜度和訓練耗時而進行的采樣 是另外一回事了。
參考 文獻: