当前位置:网站首页>【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∗+γ)
边栏推荐
- 【历史上的今天】7 月 25 日:IBM 获得了第一项专利;Verizon 收购雅虎;亚马逊发布 Fire Phone
- Microsoft proposed CodeT: a new SOTA for code generation, with 20 points of performance improvement
- Date and time function of MySQL function summary
- ECCV 2022 | climb to the top semantickitti! Semantic segmentation of LIDAR point cloud based on two-dimensional prior assistance
- Chapter5 : Deep Learning and Computational Chemistry
- Emqx cloud update: more parameters are added to log analysis, which makes monitoring, operation and maintenance easier
- [review SSM framework series] 15 - Summary of SSM series blog posts [SSM kill]
- 【GCN】《Adaptive Propagation Graph Convolutional Network》(TNNLS 2020)
- The larger the convolution kernel, the stronger the performance? An interpretation of replknet model
- Seven lines of code made station B crash for three hours, but "a scheming 0"
猜你喜欢

G027-OP-INS-RHEL-04 RedHat OpenStack 创建自定义的QCOW2格式镜像
![[operation and maintenance, implementation of high-quality products] interview skills for technical positions with a monthly salary of 10k+](/img/d8/90116f967ef0f5920848eca1f55cdc.png)
[operation and maintenance, implementation of high-quality products] interview skills for technical positions with a monthly salary of 10k+

Chapter5 : Deep Learning and Computational Chemistry
![[problem solving] org.apache.ibatis.exceptions PersistenceException: Error building SqlSession. 1-byte word of UTF-8 sequence](/img/fd/245306273e464c04f3292132fbfa2f.png)
[problem solving] org.apache.ibatis.exceptions PersistenceException: Error building SqlSession. 1-byte word of UTF-8 sequence

B树和B+树

如何用因果推断和实验驱动用户增长? | 7月28日TF67

2022.07.24 (lc_6126_design food scoring system)

业务可视化-让你的流程图'Run'起来(3.分支选择&跨语言分布式运行节点)

AtCoder Beginner Contest 261 F // 树状数组

【AI4Code】《CodeBERT: A Pre-Trained Model for Programming and Natural Languages》 EMNLP 2020
随机推荐
485 communication (detailed explanation)
Detailed explanation of switch link aggregation [Huawei ENSP]
Memory layout of program
JS 中根据数组内元素的属性进行排序
Cv2.resize function reports an error: error: (-215:assertion failed) func= 0 in function ‘cv::hal::resize‘
AtCoder Beginner Contest 261E // 按位思考 + dp
[figure attack and Defense] backdoor attacks to graph neural networks (sacmat '21)
Ministry of Public Security: the international community generally believes that China is one of the safest countries in the world
业务可视化-让你的流程图'Run'起来(3.分支选择&跨语言分布式运行节点)
零基础学习CANoe Panel(15)—— 文本输出(CAPL Output View )
机器学习强基计划0-4:通俗理解奥卡姆剃刀与没有免费午餐定理
[ai4code final chapter] alphacode: competition level code generation with alphacode (deepmind)
【运维、实施精品】月薪10k+的技术岗位面试技巧
【OpenCV 例程 300篇】239. Harris 角点检测之精确定位(cornerSubPix)
Mysql 远程连接权限错误1045问题
Emqx cloud update: more parameters are added to log analysis, which makes monitoring, operation and maintenance easier
Zero basic learning canoe panel (16) -- clock control/panel control/start stop control/tab control
conda常用命令:安装,更新,创建,激活,关闭,查看,卸载,删除,清理,重命名,换源,问题
2022.07.24 (lc_6124_the first letter that appears twice)
错误: 找不到或无法加载主类 xxxx