主頁 >  其他 > 【論文筆記】SamWalker: Social Recommendation with Informative Sampling Strategy

【論文筆記】SamWalker: Social Recommendation with Informative Sampling Strategy

2021-12-18 07:12:15 其他

SamWalker: Social Recommendation with Informative Sampling Strategy

Authors: Jiawei Chen, Can Wang, Sheng Zhou, Qihao Shi, Yan Feng, Chun Chen

WWW'19 浙江大學

論文鏈接:https://zhoushengisnoob.github.io/papers/SamWalker.pdf


目錄
  • SamWalker: Social Recommendation with Informative Sampling Strategy
    • 0. 總結
    • 1. 研究目標
    • 2. 問題背景
    • 3. 方法
      • 3.1 問題定義
      • 3.2 EXMF分析
      • 3.3 SamWalker 概述
      • 3.4 基于隨機游走的個性化負采樣方法
      • 3.5 社交連接強度的優化
      • 3.6 方法討論
    • 4. 實驗
      • 4.1 資料集
      • 4.2 推薦性能
      • 4.3 采樣器性能
      • 4.4 Ablation study
      • 4.5 對模型性能的影響
    • 5. 不懂的問題
    • 6. 進一步閱讀

0. 總結

這篇文章提出了一個利用社交網路資訊的推薦模型SamWalker,SamWalker可以建模用戶和物品之間的曝光概率,并提出用社交網路隨機游走進行負采樣的方式來替代曝光概率的計算,降低模型計算復雜度,此外,模型還可以利用等效的卷積神經網路來優化社交連接強度,在三個資料集上,SamWalker都取得了超過所有baseline的性能,并結合Ablation study等實驗證明了模型的性能,

1. 研究目標

利用社交資訊建模曝光概率,提高推薦準確率和模型穩定性,

2. 問題背景

在隱式反饋資料中,一個用戶沒有與一個物品發生互動,可能是因為用戶對物品沒有興趣,也可能是因為用戶沒有看到這個物品,因此,將所有未觀測到的互動都作為負樣本進行采樣,會損害推薦系統的性能,這也被稱為推薦系統中的exposure bias,現有的方法通過對未觀測資料進行降權來緩解exposure bias,但這些方法存在兩個問題:(1)權重通常是人工賦予的,缺乏靈活性和準確性,(2)資料中包含的資訊很少,難以準確預測曝光概率,

3. 方法

為了解決上述問題,本文提出了SamWalker,利用社交資訊來推斷曝光概率,并指導采樣程序,

用戶會從朋友/關注的人那里獲得有關物品的資訊(例如朋友之間的推薦),因此,用戶的社交資訊會影響物品對用戶的曝光概率,一個物品在用戶的社交網路中越流行,用戶看到這個物品的概率就越高,

由于社交網路很復雜,基于社交網路計算所有user-item對的曝光概率復雜度很高,本文采用在社交網路上隨機游走的方式指導負采樣,

模型結構

3.1 問題定義

假設我們有用戶集U,包含n個用戶;物品集I,包含m個物品;隱式反饋互動記錄X,矩陣維度為\(n*m\),其中每個元素\(x_{ij}\)表示用戶i與物品j是否發生了互動(1或0);社交資訊矩陣T,矩陣維度為\(n*n\),其中每行元素\(\tau_i\)表示用戶i的社交鏈接,\(\tau_{ij}\)表示用戶i與用戶j是否有社交聯系,

3.2 EXMF分析

EXMF是2016年提出的建模曝光概率的推薦模型,具體請參考博文【論文筆記】Modeling User Exposure in Recommendation,

(3.3變分分析這部分我還沒看明白,等后面懂了再來寫詳細程序orz)

EXMF的缺點

  • EXMF建模曝光概率的引數過多(m*n),工業場景下不可實作;且大部分曝光概率都很小,對模型優化貢獻很小,
  • EXMF認為曝光概率與用戶的特征無關,但實際上用戶的社交網路對曝光概率也有著極大的影響,

3.3 SamWalker 概述

為了降低引數量,使用一個傳播模型來建模社交資訊對曝光概率的影響,從第t步到第t+1步的曝光概率傳播方式如下:

\[\begin{align} \gamma_{i j}^{(t+1)}=(1-c) x_{i j}+\sum_{k \in \mathcal{T}_{i}} c \varphi_{i k} \gamma_{k j}^{(t)} \end{align} \]

其中i表示用戶i,j表示物品j,\(\gamma_{i j}^{(t+1)}\)表示第t+1步的曝光概率,\(x_{ij}\)表示訓練集的標簽(0或1,表示是否互動),\(\varphi_{i k}\)表示用戶i和用戶k之間的連接強度,滿足\(\sum_{k\in\tau_i}\varphi_{ik} = 1\),c是調節社交資訊權重的引數,

總的來說,曝光概率收斂公式為:

\[\begin{align} Y=g_{\varphi}(X, T) \equiv \lim _{t \rightarrow \infty} Y^{(t)}=(I-c \Phi)^{-1}(1-c) X \end{align} \]

\(Y^{(t)}_{ij}\) = \(\gamma_{i j}^{(t)}\),是第t步的曝光概率矩陣;\(\phi_{ij} = \varphi_{ij}\),是社交連接強度矩陣 ,

3.4 基于隨機游走的個性化負采樣方法

作者證明了當采樣概率\(p_{ij}\)正比于曝光概率\(\gamma_{i j}^{(t)}\)時,采樣方差更小,且梯度估計更快(就是用負采樣階段的設計來替代loss函式中的曝光概率計算),

那怎樣能夠做到正比于曝光概率\(\gamma_{i j}^{(t)}\)的負采樣呢?

一個直觀的想法就是計算出所有的曝光概率,再進行負采樣,但這樣計算復雜度太高,

曝光概率的計算迭代公式可以展開為:

\[\begin{aligned} Y &=(I-c \Phi)^{-1}(1-c) X \\ &=\left(1+c \Phi+(c \Phi)^{2}+(c \Phi)^{3} \ldots\right)(1-c) X \end{aligned} \]

基于上式,對于user i,我們給出如下隨機游走規則進行負采樣,使得負采樣概率正比于推匯出的曝光概率:

  • 在第t步隨機游走時,假設我們游走到了user u,

  • 我們有兩種選擇:

    • (1)這一步不進行游走,隨機選擇u的一定比例(\(\beta\))的鄰居物品i作為負樣本,概率為c,
    • (2)根據社交連接強度\(\varphi_{uv}\)進行隨機游走,游走至用戶節點v,并隨機選擇v的一定比例(\(\beta\))的鄰居物品i作為負樣本,概率為(1-c),
  • 直至游走\(\alpha\)步,隨機游走結束,負采樣結束,

  • 在每次隨機游走程序中,如果游走到距離很遠的user,社交資訊就變得很少了,具體來說,如果當前節點與初始節點i的距離\(t>t_m\),則直接在所有user中隨機選擇,進行游走,

3.5 社交連接強度\(\varphi\)的優化

由于不同的社交連接對用戶的影響是不同的,例如由于朋友之間聯系的密切程度不同,朋友之間的推薦頻率和推薦強度也不同,而曝光概率\(\gamma_{i j}^{(t)}\)的推導是基于社交連接強度矩陣的,而這個矩陣需要我們進行優化,

為了優化連接強度,設計一個卷積神經網路來計算曝光概率,網路中的權重就是user之間的連接強度,這樣可以在優化推薦loss的時候回傳梯度,達到優化連接強度的目的,

模型結構

3.6 方法討論

由于用戶不僅會受到直接好友的影響,還會受到大眾輿論的影響,因此,可以在模型中加入一個節點,代表所有用戶對一個用戶行為的影響,隨機游走的設計也需要做出回應改變,即增加一個直接在所有用戶中隨機選擇節點的概率,

4. 實驗

4.1 資料集

實驗采用了Epinions、Ciao和LastFM三個資料集,其中Epinions和Ciao是從產品評論網站抓取的資訊,含有用戶之間的“信任”資訊;LastFM是從音樂網站爬取的,含有用戶之間的好友資料,

4.2 推薦性能

實驗結果表明,在三個資料集上,SamWalker都優于所有baseline,

4.3 采樣器性能

實驗結果表明,SamWalker設計的社交網路隨機游走采樣器可以降低梯度的方差,獲得更穩定的模型,

4.4 Ablation study

實驗表明,學習個性化的連接強度、引入社交資訊和全域社交資訊都有助于提升模型性能,圖中SamWalker-ho表示所有社交連接強度都是一樣的;SamWalker-l表示只考慮社交資訊,不考慮全域user;SamWalker-g表示只考慮全域user,不考慮社交資訊,

模型結構

4.5 \(t_m\)對模型性能的影響

\(t_m\)表示隨機游走的最大長度,當隨機游走超過此長度時,會在所有用戶中隨機選擇節點進行游走,

隨著\(t_m\)的增加,性能呈現先上升后下降的特點,在\(t_m\)比較小的時候,增加\(t_m\)可以提供更廣的社交資訊,但隨著\(t_m\)的進一步增大,帶來的有用社交資訊開始減少,噪聲開始增多,模型性能會開始出現下降,實際上,在社交網路中,從一個節點出發,6跳就可以基本覆寫所有人,因此過長的隨機游走效果不好,

模型結構

5. 不懂的問題

變分法

6. 進一步閱讀

[5] Rocío Ca?amares and Pablo Castells. 2018. Should i follow the crowd?: A probabilistic analysis of the effectiveness of popularity in recommender systems. In The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. ACM, 415–424

[6]Pablo Castells, Neil J Hurley, and Saul Vargas. 2015. Novelty and diversity in recommender systems. In Recommender Systems Handbook. Springer, 881–918.

[12]Jingtao Ding, Fuli Feng, Xiangnan He, Guanghui Yu, Yong Li, and Depeng Jin. 2018. An improved sampler for bayesian personalized ranking by leveraging view data. In Companion of the The Web Conference 2018 on The Web Conference 2018. International World Wide Web Conferences Steering Committee, 13–14.

[17]Xiangnan He, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu, and Tat-Seng Chua. 2017. Neural collaborative filtering. In Proceedings of the 26th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 173–182.

[18]Xiangnan He, Hanwang Zhang, Min-Yen Kan, and Tat-Seng Chua. 2016. Fast matrix factorization for online recommendation with implicit feedback. In Proceedings of the 39th International ACM SIGIR conference on Research and Development in Information Retrieval. ACM, 549–558.

[26]Chen Jiawei, Feng Yan, Ester Martin, Zhou Sheng, Chen Chun, and Can Wang. 2018. Modeling Users’ Exposure with Social Knowledge Influence and Consumption Influence for Recommendation. In Proceedings of the 27th ACM International on Conference on Information and Knowledge Management. ACM, 953–962

本文鏈接:https://www.cnblogs.com/zihaojun/p/15703157.html

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/384056.html

標籤:其他

上一篇:面向深度學習的快取替換演算法

下一篇:大學物理實驗有效數字與測量值小記

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more