1、為什麼Ranking Model采用了weighted logistic regression作為輸出層?在模型serving過程中又為何沒有采用sigmoid函數預測正樣本的probability,而是使用
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIEdTJiJkMlg3VCdTJFVTJl1DelR3Pu9Wa0FWdxV2Lc12bj5SdolGa65yd3d3Lc9CX6MHc0RHaiojIsJye.jpg)
- 這一指數形式計算的是Weighted LR的Odds;
youtube DNN 模型要點速記 - Weighted LR使用使用者觀看時長作為權重,使得對應的Odds表示的就是使用者觀看時長的期望;
- 是以,Model Serving過程中 計算的正是觀看時長的期望。
youtube DNN 模型要點速記
2、如果是排序使用的話,odds和sigmoid單調性一緻;如果使用時長後續有其他處理,和直接回歸或多分類有多大差别,為什麼感覺有些迂回?
a:回歸有一個問題在于值域是負無窮到正無窮,在視訊推薦這樣一個大量觀看時間為0的資料場景,為了優化MSE,很可能會把觀看時間預測為負值,而在其他資料場景下又可能預測為超大正值。邏輯回歸在這方面的優勢在于值域在0到1,對于資料相容性比較好,尤其對于推薦這種rare event的場景,相比回歸會更加适合。而且odds的值域也是非負的,符合watch time的實體意義。
q:那如果把觀看時間quantization成k個bucket然後做多分類 是不是也可以 感覺比weightedLR更簡單train起來 當然會損失點效果可能
a:多分類輸出粒度不夠細,不适合用來做排序。此外多分類的參數數量也比二分類多很多,同樣的樣本量下訓練效果可能不如二分類效果好。
q:serving的時候,sigmoid和和指數函數都是單調遞增的。如果取固定的top K個item做曝光,那這兩種方式結果完全是一樣的,沒了解為什麼還要用指數函數。
樣本不為負無法保證模型預測不為負,一些輸出取負值可能會讓整體loss變小。例如對于真實值是0的樣本,預測為-0.3就比預測為+0.5損失要小。同時回歸模型的模型函數和優化過程沒有任何行為來阻止模型函數輸出負值。