推薦系統中的ID特征為什么有用?


常見的id類特征有用戶特征user_id,物品特征item_id等,通常來說這類特征都是人為按順序編碼的特征,並不能反映用戶或者物品的自然屬性特征。但是在很多推薦相關的文章,都有提到使用這類特征,而且似乎還非常重要,並且除了推薦系統,在計算廣告、反欺詐風控模型里都有成功的案例。這是為什么呢?

一、ID類特征為什么會有用?

       加入id類特征,比如用戶的id,相當於特征里多了一個獨有的用戶id,那么這里的其它特征也就是代表的是這個用戶的獨有特征。如果這個人對100個電影評價過,那么就會有該用戶的100條樣本,根據這100條樣本模型就能大概學出該用戶的匹配模式,在預測的時候如果發現還是該用戶,模型就知道他喜歡什么了。

       1)可以極大提高模型的個性化能力和實際效果,甚至可以對抗熱度穿透現象。

       2)可以使得在學習過程中,每個人的信號更合理地影響整體模型,使得模型泛化能力更好

    3)可以使得模型能夠對每個id有更細粒度的排序能力,使得模型的個性化效果更好

      4)某些人就是喜歡做某些事情,並且沒有什么可解釋性,通過id可以綁定這些特殊情況。

二、怎么用?

        通常是把id類特征作為類別特征,然后one-hot展開,接着再與其它特征進行交叉使用,只有交叉使用才能發揮id類特征的重要作用。下圖是電影數據movielens中id的one-hot展開:

在FM中將用戶id和物品id采用one-hot展開作為特征列,還能分別生成用戶的embedding向量物品的embedding向量

關於FM實現movielens的簡單樣例請參考github:   https://github.com/gczr/FM

 

參考連接:https://www.zhihu.com/question/34819617


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM