記一次商品推薦算法優化過程中的思考與總結

前不久對某個商品推薦業務場景進行了優化,經歷近2個月的迭代,線上效果覆盤,現將一些小感悟整理一下。出於隱私保護需要,文中不會涉及到具體信息。

 

  • 養成好的習慣

首先是模型迭代習慣上的改進,剛入職那會兒覺得自己能記住每次的改動就沒有做詳細的記錄,看起來也沒有啥問題。後面業務逐漸忙了起來,日常工作會在不同業務中切來切去,有時候上線一個模型後沒有很詳細的記錄改動情況,等迭代個幾次回過頭來複盤效果自己都覺得頭大,從那以後自己每次迭代後一定會做一個比較詳細的記錄,這樣覆盤時就會一目瞭然,做了哪些改動有什麼效果。

 

  • 科學的驗證方式

感受到了工業界和學術界做實驗的一個不同就是,做學術拿數據集跑一下,只要出了結果效果好就可以開始寫論文了。工作中在業務線上面驗證一個模型是否有用,往往需要經歷一個時間段纔有比較準確的結論,因爲會受到產品週期,活動投放等因素的影響,需要一個時間段來平滑這些因素的影響。此外科學的A/B test以及對比方式也是得到客觀結論的保證,比如理解相對指標和絕對指標之間的差異,如何通過科學的分桶來消除其他業務,活動投放,消費層次分佈不均對效果驗證的影響。然後就是需要形成一些數據分析的直覺去規避直線思維中的一些陷阱,比如我在數據分析一欄提到的【辛普森悖論】就是一個很好的例子。

 

  • 業務指標和優化指標之間的gap

最後一個感悟也是自己覺得比較難的一個點,就是業務指標和推薦算法優化指標之間的gap。一般來說,商品推薦算法如果推送的是消費者喜歡的,能拉動消費者消費那麼就被認爲是有效的,這種情況下,優化指標設定爲精確率,召回率,auc,top-n命中,消費額等指標就和業務指標關聯比較大,優化起來也是比較直接的一個導向。但是在實際業務中可能面臨着不同場景之間的相互影響,常見的有消費轉移,消費透支等問題。舉個栗子,消費者會在場景a和場景b購物,而你負責場景a這一塊的優化,消費者在a場景消費了很多,但也可能會影響到在場景b的消費意願,但是業務指標是需要提升整體消費額,所以你a場景推薦做的再好也不意味着業務指標的直接提升。這時候要優化的目標不僅包括a場景的各項指標,同時也得考慮對其他場景的影響,對於這種問題就比較靈活了,最直接的思路就是自行設計一個和業務指標更加相關的優化指標,或者是結合業務經驗去對推薦結果進行一些後處理,也有在調研強化學習的一些方案,以後有機會可以嘗試一下。

 

目前想到的這麼多,以後每隔段時間會來更新一下~

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章