[舊物歸檔] 論文觀後感-考拉海購推薦系統

舊物歸檔 [gitpage=>csdn]
這是我早期寫的論文觀後感,觀點稚嫩且不準確,權當我瞎說。

Wu S, Ren W, Yu C, et al. Personal recommendation using deep recurrent neural networks in NetEase[C]// IEEE, International Conference on Data Engineering. IEEE, 2016:1218-1229.


主題

傳統協同過濾CF(Collaborative Filtering)推薦系統,僅分析用戶已購買的商品,從中產生薦購單,且這些推薦受多數用戶歡迎(CF的原理所致),故對於單一用戶無法做出個性化推薦。

本文通過收集當前會話(指用戶進入商場頁面到離開的過程)中的瀏覽歷史與用戶購買記錄建立實時推薦系統。其目的在於,縮短用戶

“商場主頁->商品詳情頁1->商品詳情頁2->……->商品詳情頁n->付款頁”

這一過程(減少瀏覽頁面數量,比如從詳情頁1到詳情頁2後,在詳情頁2中就看到系統給用戶推薦的商品是用戶想要買的,因此該用戶就直接付款,不再繼續瀏覽其他頁面),使商品推薦會隨頁面的改變而改變,進而更有針對性。

a. 創新點

  1. 針對龐大數據使用levelDB、MongoDB存儲。
  2. 用戶行爲會實時影響系統的推薦結果。
  3. 使用前饋網絡(FNN)收集用戶信息與購買歷史,模擬CF算法,以此提高DRNN的預測準確度。
  4. 模型代碼自動生成,使用遺傳算法優化模型,自動確定網絡參數(節點數、層數、神經元等)。
  5. 引入a history state,解決傳統RNN的輸入節點一旦滿了後需要刪除舊節點而失去歷史信息的問題。

核心算法

用戶行爲被分爲:頁面請求(對應潛在購買的商品的特徵,如請求的頁面是男裝,則代表用戶希望購買男裝,因此推薦系統應羅列男裝)、購買記錄。

頁面請求輸入DRNN,輸出購買位於該頁面下會購買商品的概率,其中,頁面請求會按時間先後順序以30分鐘時長打包成會話記錄(session document),會話記錄會按M件爲一批分批輸入DRNN。

購買記錄輸入FNN,使用FNN模擬CF模型,網絡的激勵函數選用ReLU[2]。

綜合DRNN與FNN的結果得到每個商品在某頁面(state)下的購買可能性,其中f爲損失函數softmax。根據該可能性排序,得出推薦列表。

神經網絡DRNN、FNN模型優化:

使用隨機梯度下降法(Stochastic Gradient Descent,SGD)向後投影(BackProjection)調整權重與偏差。

下面是算法各步的詳細說明。

a. 建立DRNN

會話記錄輸入DRNN,會話記錄中的頁面請求記錄會被向量化,成爲向量V。輸入層的輸入節點接收一系列向量V,即每一個節點接收一個向量,每個節點對應在該時間點下用戶訪問的頁面。輸入節點隨訪問頁面的增多而增多(如果將DRNN展開看)。其中,輸入節點數量爲有限值,不同於傳統RNN因節點數量的限制而拋棄歷史記錄(old states),本文的DRNN使用歷史節點(the history state)保存歷史記錄。

歷史節點作爲DRNN在過去瀏覽記錄的修正,其具體方法是:將需要剔除的那部分頁面請求記錄向量Vold按(瀏覽時長/瀏覽總時間)之比加權求和。

節點數的選取、網絡隱含層層數、每層神經元數使用遺傳算法自動生成。

b. 建立FNN模擬CF

FNN的輸入量是用戶購買商品記錄矩陣,該矩陣應爲

Item1 Item2 ItemN
User1
User2
UserN

每個用戶對應一個輸入節點,輸出所有用戶購買商品的可能性。

節點數的選取、網絡隱含層層數、每層神經元數使用遺傳算法自動生成。

c. 遺傳算法優化模型

輸入神經網絡的設置參數(學習率、層數、神經元數等),隨後產生種羣,分爲奇偶兩個種羣,產生三個隨機數以確定在閾值pm、pc下奇偶種羣的動作(變異還是交叉繁殖)。

適應度計算式爲 fit=accuracy+1/(1+loss)

感悟

這篇論文是網易寫的,文中的推薦系統是運用在考拉海購網站上,其實用性不言而喻。

論文閱讀難度較上篇更難,涉及的理論更多。由於我並不瞭解DRNN,所以通過網絡查閱了相關資料,或許會影響我對這篇文章的理解。RNN、FNN使用的參數優化的方法是向後反饋,相關資料[1]

有“BackProjection”與“BackPropagation”這兩種解釋,我不確定這兩個是否就是同一概念。

本文只提供了優化DRNN模型所用到的遺傳算法的大致思路,遺傳算法中的交叉繁殖與個體變異的方法並沒有給出,且FNN是如何優化的也未提及,按論文算法,FNN中輸入的應爲訓練集中所有用戶購買過的商品作爲特徵向量,但這個向量的大小該是多少論文並沒說,這些應該就是整個推薦系統技術的核心。

最後,可以看出,推薦系統需要變得更加“智能”,更加“個性化”,第一篇論文是在打分規則上下功夫,而這篇論文則是用深度學習神經網絡來改進推薦系統,從根本上拋棄了CF模型,其研究更爲高深。

[1] 循環神經網絡(RNN, Recurrent Neural Networks)介紹
http://blog.csdn.net/heyongluoyao8/article/details/48636251
[2] ReLU(Rectified Linear Units)激活函數
http://www.cnblogs.com/neopenx/p/4453161.html

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