1. 程式人生 > >Beyond Globally Optimal: Focused Learning

Beyond Globally Optimal: Focused Learning

xib 道路 效果 解釋 utl lex 預測 附加 tar

這裏對WWW 2017文章《Beyond Globally Optimal: Focused Learning for Improved Recommendations》進行一個簡單的分析解讀。

文章亮點:

  • 作者群來自Google和Pinterest

  • 第一次系統性的解釋了為什麽用全局模型可能會在局部數據上表現不好

  • 文章提出了簡單易行的解決辦法,可以讓全局模型在局部數據上依然能夠達到最優

  • 文章很全面得在一些數據及上進行了比較完整的比較

這篇文章來自一群前CMU的學者,目前在Google和Pinterest。那麽這篇文章試圖解決什麽問題呢?具體說來,就是作者們發現,傳統的推薦系統,基於優化一個全局的目標函數,通常情況下往往只能給出一個非常有“偏差”(Skewed)的預測分布。也就是說,傳統的推薦系統追求的是平均表現情況,在很多情況下的預測其實是十分不準確的。這個情況在評價指標是Root Mean Squared Error(RMSE)的時候,就顯得尤為明顯。

這篇文章的作者是這麽定義了一個叫做Focused Learning的問題,那就是如果讓模型在一個局部的數據上能夠表現出色。那麽,為什麽需要模型在一個局部的數據上表現出色呢?作者們做了這麽一件事情,那就是對每個用戶,以及每一個物品的預測誤差(Error)進行了分析統計,發現有不小比例的用戶的預測誤差比較大,也有不小比例的物品的預測誤差比較大。作者們發現模型在一些數據上存在著系統性的誤差較大的問題,而不是偶然發生的情況。

作者們又從理論上進行了對這個問題一番討論。這裏的討論十分巧妙,大概的思路就是,假定現在在全局最優的情況下,模型的參數的梯度已經為0了,但模型的Loss依然不為0(這種情況很常見)。那麽,就一定存在部分數據的參數梯度不為0,因為某一部分數據的Loss不為0。這也就證明了部分數據的模型參數在這些數據上的表現一定不是最優的。值得註意的是,這個證明非常普遍,和具體的模型是什麽類型沒有關系。

在有了這麽一番討論之後,那麽作者們如何解決這個問題呢?這篇文章走了Hyper-parameter Optimization的道路。文章展示了這在普通的Matrix Factorization裏面是如何做到。具體說來,就是對於某個Focused Set做Hyper-parameter的調優,使得當前的Hyper-parameter能夠在Focused Set上能夠有最好表現。而這組參數自然是針對不同的Focused Set有不同的選擇。文章提到的另外一個思路,則是對Focused Set以及非Focused Set的Hyper-parameter進行區分對待,這樣有助於最後的模型能夠有一個比較Flexible的表達。

文章在實驗的部分針對幾種不同的Focused Set進行了比較實驗。比如,針對Cold-Start的物品,針對Outlier的物品,以及更加復雜的libFM模型都進行了實驗。我們在這裏就不去復述了。總體來說,Focused Learning在不同的數據集上都得到了比較好的提升效果。同時,作者們還針對為什麽Focused Learning能夠Work進行了一番探討,總體看來,Focused Learning既照顧了Global的信息,同時又通過附加的Hyper-parameter調優對某一個局部的數據進行優化,所以往往好於Global的模型以及也好於單獨的Local模型。

Beyond Globally Optimal: Focused Learning