讀書筆記:推薦系統與深度學習-第四章-推薦系統的基礎算法

前言:這本書是由清華大學出版社的《推薦系統與深度學習》,由黃昕、趙偉、王本友、呂慧偉、楊敏編著,前三章分別是對推薦系統的簡單介紹、對深度學習的介紹以及對tensorflow的介紹,這裏就不做筆記了。

這一章主要介紹了傳統的一些推薦方法以及利用深度學習方法(CNN、自編碼、node2vec)進行一些特徵表徵和提取。

1、基於內容的推薦算法

1.1 基於內容的推薦算法基本流程

  • 特徵(內容)提取
    • 基礎統計法(onehot)
    • 詞頻統計法(TF-IDF並進行歸一化)
  • 用戶偏好計算
  • 內容召回
  • 物品排序

2、協同的推薦算法

2.1-2.3 基於用戶的協同算法,基於物品的協同算法以及兩者的區別

可以參考讀書筆記:推薦系統實踐-第二章-利用用戶行爲數據 4.1-4.3 部分

2.4 基於矩陣分解的推薦方法

  • 基於SVD的方法
    • 加載用戶對物品的評分矩陣
    • 矩陣分解,求奇異值,根據奇異值的能量佔比確定降維至k的數值
    • 使用矩陣分解對物品評分矩陣進行降維
    • 使用降維以後的物品評分矩陣計算物品相似度,對用戶未評分過的物品進行預測
    • 產生前n個評分值高的物品,返回物品編號以及預測評分值
  • LFM模型
    可以參考讀書筆記:推薦系統實踐-第二章-利用用戶行爲數據 5 部分

2.5 基於稀疏自編碼的推薦方法

2.5.1 自編碼介紹

最簡單的自編碼分爲三層,輸入層和輸出層亦一樣的,中間隱層的神經元個數要低於輸入層和輸出層,這樣就可以得到壓縮特徵。
在這裏插入圖片描述

2.5.2 棧式自編碼在推薦系統中的應用——以音樂推薦爲例

使用逐層貪婪訓練法進行訓練。需要三個網絡。

  • 第一個網絡:輸入和輸出是歌曲被用戶收藏的數據
    在這裏插入圖片描述
  • 第二個網絡:輸入層和輸出層是第一個網絡的隱層
    在這裏插入圖片描述
  • 第三個網絡:輸入層是第二個網絡的隱層,輸出層是softmax層,這裏是音樂的流派。隱層是全連接層,這裏的權重實際上是用戶的低維特徵。
    在這裏插入圖片描述

3 基於社交網絡的推薦算法

3.1 基於用戶的推薦在社交網絡中的應用

可以參考讀書筆記:推薦系統實踐-第六章-利用社交網絡數據的第四部分

3.2 node2vec技術在社交網絡推薦中的應用

可以利用node2vec的技術將用戶進行向量化的表徵,從而方便計算相似對。node2vec的整體思路可以分爲兩個部分:

  • 隨機遊走(random walk),通過一定的規則隨機抽取一些點的序列
  • 將點的序列輸入到word2vec模型得到每個點的embedding向量

3.2.1 隨機遊走

實際上就是對以用戶爲節點,好友關係爲邊的社交網絡關係圖,進行隨機遊走,而獲得一個用戶序列。
在這裏插入圖片描述
對於遊走的下一個節點的選擇,遵循下面的α值選擇概率,這樣就可以通過控制p和q來控制廣度優先或者深度優先:
在這裏插入圖片描述
當下一個節點的選擇是上一個節點的時候,d=0;當下一個節點的選擇和上一個節點以及目前的節點構成三角形時,d=1;其他的情況d=2。如果p大於max(q,1),則產生的序列與深度優先搜索類似;如果p小於min(q,1),產生的序列與寬度優先搜索類似。一般而言,會從每個點開始遊走5-10次步長根據點的數量N遊走根號N步。

3.2.2 word2vec

可以參考
斯坦福大學-自然語言處理與深度學習(CS224n) 筆記 第二課 詞向量(word vector)
斯坦福大學-自然語言處理與深度學習(CS224n) 筆記 第三課 詞向量(2)

4、推薦系統的冷啓動問題

4.1 如何解決推薦系統冷啓動問題

4.1.1 針對用戶冷啓動的解決方案

  • 有效利用用戶的賬號信息:當用戶進行外部賬戶的登陸的時候,可以通過賬戶信息追溯用戶在其他平臺上的行爲
  • 利用用戶的手機IMEI號進行冷啓動
  • 製造選項,讓用戶選擇自己感興趣的點後,即時生成粗粒度的推薦

4.1.2 針對物品冷啓動的解決方案

  • 利用物品的內容信息
  • 利用專家的標註數據:專家的數據有以下的優點,數據集更加稠密,打分數據的一致性更強

4.2 深度學習技術在物品冷啓動上的應用

案例一:CNN在音頻流派分類上的應用

  • 將聲音的立體聲道丟棄,因爲其包含了高度的冗餘信息
  • 使用傅里葉變化將音頻數據轉化爲頻域,每秒50像素,取10s-15s片段
  • 使用CNN+LSTM模型進行分類模型構建(結構如下面第二個圖)
    在這裏插入圖片描述
    在這裏插入圖片描述

案例二:人臉魅力值打分在視頻推薦中的應用

  • 利用開源工具進行臉部位置截取,開源工具是face_recognition
  • 使用CNN網絡進行魅力值測評,爲了解決梯度消失的問題,使用殘差網絡結構
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章