当前位置:网站首页>【GCN-RS】Region or Global? A Principle for Negative Sampling in Graph-based Recommendation (TKDE‘22)
【GCN-RS】Region or Global? A Principle for Negative Sampling in Graph-based Recommendation (TKDE‘22)
2022-07-25 13:09:00 【chad_ lee】
Region or Global? A Principle for Negative Sampling in Graph-based Recommendation (TKDE’22)
Middle zone

stay GCN-RS in , Negative sampling should choose distance user In the middle , Areas that are too close are usually items aggregated by users , It's too far away to have much information , Samples that are not far or near can be regarded as difficult samples with a large amount of information .
Define the distance user k The item of the stage is the middle area R m e d R_{m e d} Rmed, You can use the breadth first search layer by layer to get R m e d R_{m e d} Rmed.
From the middle area R m e d R_{m e d} Rmed choice M Negative samples form Negative sample candidate set C u C_{u} Cu, And then from C u C_{u} Cu Two strategies are used to get hard negative samples .
The author claims that the intermediate region R m e d R_{m e d} Rmed Much smaller than the entire item set , But my statistics on the data set is just 3-hop, most R m e d R_{m e d} Rmed It contains almost the entire data set :
A strategy : Positive sample assistance
Be similar to MixUp technology , In order to get user Hard negative sample , Not only with user u u u of , And also user A positive sample of v v v of , For a pair of positive samples ( u , v ) (u,v) (u,v), C u C_{u} Cu Medium negative sample v n p v_{n}^{p} vnp The probability of being picked is :
p n ( v n p ∣ ( u , v ) ) = σ ( α ( e u ∗ ⋅ e v n p ∗ ) + ( 1 − α ) ( e v ∗ ⋅ e v n p ∗ ) ) ∑ v i ∈ C u σ ( α ( e u ∗ ⋅ e v i ∗ ) + ( 1 − α ) ( e v ∗ ⋅ e v i ∗ ) ) p_{n}\left(v_{n}^{p} \mid(u, v)\right)=\frac{\sigma\left(\alpha\left(\mathbf{e}_{u}^{*} \cdot \mathbf{e}_{v_{n}^{p}}^{*}\right)+(1-\alpha)\left(\mathbf{e}_{v}^{*} \cdot \mathbf{e}_{v_{n}^{p}}^{*}\right)\right)}{\sum_{v_{i} \in \mathcal{C}_{u}} \sigma\left(\alpha\left(\mathbf{e}_{u}^{*} \cdot \mathbf{e}_{v_{i}}^{*}\right)+(1-\alpha)\left(\mathbf{e}_{v}^{*} \cdot \mathbf{e}_{v_{i}}^{*}\right)\right)} pn(vnp∣(u,v))=∑vi∈Cuσ(α(eu∗⋅evi∗)+(1−α)(ev∗⋅evi∗))σ(α(eu∗⋅evnp∗)+(1−α)(ev∗⋅evnp∗))
among α \alpha α It's a super parameter. , Used to balance the impact of users and items . Intuitively understand the meaning of this formula : C u C_{u} Cu in ,embedding Distance from users u u u And positive samples v v v The closer the object , The greater the probability of being a negative sample . from p n p_n pn Zhongcai k Negative samples form a negative sample set : P k = { v n p } \mathcal{P}_{k}=\left\{v_{n}^{p}\right\} Pk={ vnp}
10% Pseudo label .
10~20% Hard negative sample .
Strategy two : The exposure did not click
You can't choose more , Because exposure without clicking contains a strong bias Information , Only select exposure without clicking **“ The hardest one ”**:
v n e = argmax v i ∈ M u σ ( β ( e u ∗ ⋅ e v i ∗ ) ) v_{n}^{e}=\underset{v_{i} \in \mathcal{M}_{u}}{\operatorname{argmax}} \sigma\left(\beta\left(\mathbf{e}_{u}^{*} \cdot \mathbf{e}_{v_{i}}^{*}\right)\right) vne=vi∈Muargmaxσ(β(eu∗⋅evi∗))
β = { 1 , if v e not in C u number of exposed items, if v e in C u \beta=\left\{\begin{array}{lr} 1, & \text { if } v_{e} \text { not in } \mathcal{C}_{u} \\ \text { number of exposed items, } & \text { if } v_{e} \text { in } \mathcal{C}_{u} \end{array}\right. β={ 1, number of exposed items, if ve not in Cu if ve in Cu
M u \mathcal{M}_{u} Mu Is the exposure of the UN clicked collection , β \beta β Cumulative score , But if it's not in the middle area , No count .
Negative sample fusion
because GCN-RS The essence is iteratively to the user - In the commodity map embedding Spread the message , So combine these negative sample strategies into embedding Space , among k It's the number of negative samples :
e v n ∗ = merge v n p ∈ P k ( e v n e ∗ , e v n p ∗ ) merge ( e v n e , e v n p ) = 1 k ⋅ e v n e + ( 1 − 1 k ) ⋅ e v n p \begin{gathered} \mathbf{e}_{v_{n}}^{*}=\underset{v_{n}^{p} \in \mathcal{P}_{k}}{\operatorname{merge}}\left(\mathbf{e}_{v_{n}^{e}}^{*}, \mathbf{e}_{v_{n}^{p}}^{*}\right) \\ \operatorname{merge}\left(\mathbf{e}_{v_{n}^{e}}, \mathbf{e}_{v_{n}^{p}}\right)=\frac{1}{k} \cdot \mathbf{e}_{v_{n}^{e}}+\left(1-\frac{1}{k}\right) \cdot \mathbf{e}_{v_{n}^{p}} \end{gathered} evn∗=vnp∈Pkmerge(evne∗,evnp∗)merge(evne,evnp)=k1⋅evne+(1−k1)⋅evnp
So finally, for a positive sample , Create a negative sample , And then use margin hinge loss Train this sample :
L = max ( 0 , e u ∗ ⋅ e v n ∗ − e u ∗ ⋅ e v ∗ + γ ) \mathcal{L}=\max \left(0, \mathbf{e}_{u}^{*} \cdot \mathbf{e}_{v_{n}}^{*}-\mathbf{e}_{u}^{*} \cdot \mathbf{e}_{v}^{*}+\gamma\right) L=max(0,eu∗⋅evn∗−eu∗⋅ev∗+γ)
边栏推荐
- [figure attack and Defense] backdoor attacks to graph neural networks (sacmat '21)
- Vim技巧:永远显示行号
- Simple understanding of flow
- Pytorch creates its own dataset and loads the dataset
- 机器学习强基计划0-4:通俗理解奥卡姆剃刀与没有免费午餐定理
- R语言GLM广义线性模型:逻辑回归、泊松回归拟合小鼠临床试验数据(剂量和反应)示例和自测题
- MLX90640 红外热成像仪测温传感器模块开发笔记(五)
- Cv2.resize function reports an error: error: (-215:assertion failed) func= 0 in function ‘cv::hal::resize‘
- go : gin 自定义日志输出格式
- Docker学习 - Redis集群-3主3从-扩容-缩容搭建
猜你喜欢

OAuth, JWT, oidc, you mess me up

"Wei Lai Cup" 2022 Niuke summer multi school training camp 2 supplementary problem solution (g, J, K, l)

A hard journey

【视频】马尔可夫链蒙特卡罗方法MCMC原理与R语言实现|数据分享

零基础学习CANoe Panel(16)—— Clock Control/Panel Control/Start Stop Control/Tab Control

Word style and multi-level list setting skills (II)

卷积神经网络模型之——VGG-16网络结构与代码实现

Business visualization - make your flowchart'run'(3. Branch selection & cross language distributed operation node)

Cyberspace Security penetration attack and defense 9 (PKI)

【CSDN 年终总结】结束与开始,一直在路上—— “1+1=王”的2021总结
随机推荐
OAuth,JWT ,OIDC你们搞得我好乱啊
Vim技巧:永远显示行号
Use vsftpd service to transfer files (anonymous user authentication, local user authentication, virtual user authentication)
跌荡的人生
机器学习强基计划0-4:通俗理解奥卡姆剃刀与没有免费午餐定理
web安全入门-UDP测试与防御
Docekr learning - MySQL 8 master-slave replication setup deployment
485 communication (detailed explanation)
需求规格说明书模板
零基础学习CANoe Panel(16)—— Clock Control/Panel Control/Start Stop Control/Tab Control
并发编程 — 内存模型 JMM
EMQX Cloud 更新:日志分析增加更多参数,监控运维更省心
2022 年中回顾 | 大模型技术最新进展 澜舟科技
The world is exploding, and the Google server has collapsed
Force deduction 83 biweekly T4 6131. The shortest dice sequence impossible to get, 303 weeks T4 6127. The number of high-quality pairs
我的创作纪念日
Convolutional neural network model -- googlenet network structure and code implementation
工业互联网的内涵及其应用
Atcoder beginer contest 261 f / / tree array
Shell Basics (exit control, input and output, etc.)