日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Graph Convolutional Matrix Completion,GC-MC

發布時間:2024/3/13 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Graph Convolutional Matrix Completion,GC-MC 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • Motivation
  • Contribution
  • Solution
    • encoder
      • 使用交互物品的特征
      • 引入邊信息
    • decoder
    • 訓練方法
    • 權重分配
  • Evaluation
  • Summarization

本文首發于公眾號:code路漫漫,歡迎關注

一篇17年的文章,圖推薦里面常見的baseline

Motivation

兩種類型的推薦系統

  • content based:從用戶和物品的特征入手
  • 協同過濾:從交互歷史入手
  • 本文的idea是把協同過濾技術應用在圖上
    用戶物品的交互歷史可以自然而然的表示成二部圖上的鏈接,圖上的結點分別是用戶和物品。轉換為圖后,預測評分任務就變為預測結點之間的鏈接。

    Contribution

    提出了GC-MC框架(a graph-based auto-encoder framework for matrix completion),在圖上卷積,在六個數據集上達到了SOTA的效果

    Solution

    看上圖可以知道,GCN技術的幾個問題

  • 如何更有效地生成用戶和物品的表征
  • side information 如何提高model效果
  • encoder和decoder的實現細節
  • 下面一一介紹

    encoder

    使用交互物品的特征

    用戶和物品的處理方式相同,接下來只介紹生成用戶表征的處理方式

    encoder可以寫成 Z = f ( X , A ) Z=f(X,A) Z=f(X,A)的形式,將 N X D NXD NXD維的特征矩陣 X X X和圖鄰接矩陣 A A A作為輸入,得到 N X E NXE NXE維的embedding矩陣 Z Z Z
    前面說的encoder可以生成用戶和物品的表示,那么有公式 [ U , V ] = f ( X , A ) [U,V] =f(X,A) [U,V]=f(X,A),其中U是用戶的表示,V是物品的表征

    考慮到評分類型R可能由多個類型組成,我們對每個類型的評分單獨抽取出來做一個矩陣,那么 Z Z Z的表示形式變為
    [ U , V ] = f ( X , M 1 , . . . , M r ) [U,V] = f(X,M_1,...,M_r) [U,V]=f(X,M1?,...,Mr?),這里 M r M_r Mr?是用戶i評分r的交互矩陣,交互過的值為1,沒交互過的值為0

    這也是論文的一個創新點,之前的encoder直接把用戶u的交互矩陣M傳進去,而這里先把M按照評分數量拆分成多個0-1矩陣,然后再傳入

    用戶可以被它交互過的物品表示

    這里j表示物品j,i是用戶i,c是常量,xj是物品j的feature,Wr是特定的評分矩陣
    當我們計算出u之后,使用公式2計算用戶i的中間輸出(也就是dense layer的輸出) h i h_i hi?

    最后傳給公式3就能得到用戶的最終表示 u i u_i ui?

    公式3是encoder的雛形,這里只用了物品的feature,稍后我們還會看到它的改進形式

    引入邊信息

    side information可以用來增強用戶的表示,但是當邊信息本身含有的信息量不足的時候,直接將其和用戶特征一起輸入到網絡中會導致模型性能下降
    在論文中,side information使用單獨的通道處理(separate processing channel)
    考慮用戶i的表示生成

    其中 u i = σ ( W h i ) u_i = \sigma(Wh_i) ui?=σ(Whi?)部分等同于公式3, x i f x_i^f xif?是用戶i本身的特征, b b b代表bias
    那么最終的用戶表征由兩部分組成

  • 交互物品的feature
  • 本身的feature,這里稱為邊信息
  • 至此encoder的表示如下:

    decoder

    decoder的作用是接受用戶、物品的表征用于生成重構矩陣,然后把重構矩陣和真實的結果矩陣比較計算Loss,使用梯度下降訓練整個model

    這里decoder計算方法就是公式4和公式5所述

    訓練方法

    權重分配

    這一塊論文講得不是很清楚

    之前提到,論文把不同類型的評分拆分成單獨的矩陣處理,然而并不是所有用戶和物品都擁有相同數量的評分。這會導致某些參數的優化次數非常少
    對于encoder的權重計算方法,使用ordinal weight sharing策略

    T s T_s Ts?是什么論文里沒說

    對于decoder的權重計算方法,使用basis weight sharing策略


    模型的整體框架

    Evaluation

    數據集

    score:

    使用邊信息的效果

    Summarization

    本文在encoder和decoder上進行改進

  • 對評分矩陣進行拆分
  • 使用單獨通道處理邊信息(只使用交互歷史是協同過濾思想,論文中還引入和物品、用戶本身的feature,這被稱為邊信息)
  • 使用特殊的權重計算方法
  • 論文的code:https://github.com/riannevdberg/gc-mc

    總結

    以上是生活随笔為你收集整理的Graph Convolutional Matrix Completion,GC-MC的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。