一、摘要:

本文模型 LRML(潜在相关度量学习)是一种新的度量学习方法的推荐。【旨在学习用户和项目之间的相关关系,而不是简单的用户和项目之间的push和pull关系,push和pull主要针对LMNN算法】

为了做到这一点,本文采用了一个增强的存储器模块,并通过这些记忆块来构建用户和项目潜在的关系。

二、引言:

(1)MF的总体思想如下:用户和项目被表示为一个矩阵,然后被分解为潜在的组件,这些组件也可以被解释为使用内部产品来建模用户和项目之间的关系。但其内积违反了三角不等式,故CML被提出。

(2)CML的缺点:

  • CML的评分函数具有明显的几何约束性。给定用户-项目交互,CML试图将这对匹配到向量空间中的相同点。【考虑到协作排序问题的多对多性质,从几何角度来看,在向量空间中执行良好的拟合可能确实具有挑战性,特别是因为每个用户和项目的最佳点是在向量空间中的单个点。直观地,这试图将用户及其所有交互项目放入同一点上,即几何上拥挤且不灵活。虽然可以学习用户-用户和项-项相似性集群,但这是以对问题进行排序的精确性和准确性为代价的,特别是对于存在数百万交互的大型数据集】
  • CML是一个不适定的代数系统[36],它进一步加强和加剧了几何不灵活性问题。

原因:

本文模型LRML(潜在关系度量学习)学习用户和项目交互之间的自适应关系向量,找到每个交互对之间的最优翻译向量。

 (3)LRML与CML的区别:CML聚于一点

(4)注意力机制:本文主要用来学习用户和项目之间的交互关系。

三、模型:

CML:令 p ≈ q,会使所有的 用户项目向量聚集于一点

LRML:p + r ≈ q,r为用户-项目关系向量。

(1)Embedding Layer

P = Rd×|U|,Q=Rd×|I|,|U|、|I|是全部用户和项目的数量,d是用户和项目向量的维度。

(2)LRAM——Latent Relational Attentive Memory Module

①联合用户-项目向量:Joint User-Item Embedding.

其中s为联合向量。s∈Rd,⊙是 Hadamard product。【矩阵乘法】

②User-Item Key Addressing.

③Generating Latent Relations via Memory-based Attention.

(3)Optimization and Learning

①Relational Modeling Layer.

②Objective Function.

10、Latent Relational Metric Learning via Memory-based Attention for Collaborative Ranking-----基于记忆注意的潜在关系度量协同排序的更多相关文章

  1. 论文笔记:Learning Dynamic Memory Networks for Object Tracking

    Learning Dynamic Memory Networks for Object Tracking  ECCV 2018Updated on 2018-08-05 16:36:30 Paper: ...

  2. 论文笔记之: Deep Metric Learning via Lifted Structured Feature Embedding

    Deep Metric Learning via Lifted Structured Feature Embedding CVPR 2016 摘要:本文提出一种距离度量的方法,充分的发挥 traini ...

  3. 论文笔记之:MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching

    MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching CVPR  2015 本来都写到一半了,突然笔记本死机了 ...

  4. A Statistical View of Deep Learning (III): Memory and Kernels

    A Statistical View of Deep Learning (III): Memory and Kernels Memory, the ways in which we remember ...

  5. 配置和运行 MatchNet CVPR 2015 MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching

    配置和运行 MatchNet CVPR 2015 GitHub: https://github.com/hanxf/matchnet 最近一个同学在配置,测试这个网络,但是总是遇到各种问题. 我也尝试 ...

  6. Metric Learning度量学习:**矩阵学习和图学习

    DML学习原文链接:http://blog.csdn.net/lzt1983/article/details/7884553 一篇metric learning(DML)的综述文章,对DML的意义.方 ...

  7. 12、Camel: Content-Aware and Meta-path Augmented Metric Learning for Author Identification----作者识别

    摘自:https://blog.csdn.net/me_yundou/article/details/80459341 具体看上面链接 一.摘要: 这篇文章主要介绍的是作者识别(author iden ...

  8. 8、Collaborative Metric Learning

    一.摘要: 文章的核心思想:是如何把Metric learning 和 CF结合起来从而达到更好的推荐效果. 提出了CML(Collaborative Metric Learning),其学习一个联合 ...

  9. 论文阅读笔记(五)【CVPR2012】:Large Scale Metric Learning from Equivalence Constraints

    由于在读文献期间多次遇见KISSME,都引自这篇CVPR,所以详细学习一下. Introduction 度量学习在机器学习领域有很大作用,其中一类是马氏度量学习(Mahalanobis metric ...

随机推荐

  1. jsmind实现思维导图,和echars 的tree图类似

    https://blog.csdn.net/qq_41619796/article/details/88552029

  2. 【模板】最大流模板(dinic)

    题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流. 输入输出格式 输入格式: 第一行包含四个正整数N.M.S.T,分别表示点的个数.有向边的个数.源点序号.汇点序号. 接下来M行每行 ...

  3. web前端知识框架

  4. buntu Rhythmbox解决中文乱码

    Ubuntu Rhythmbox解决中文乱码 在这里介绍的是一个解决方法,修改变量. 在终端输入: gedit ~/.profile 在最后加入下面内容: exportGST_ID3_TAG_ENCO ...

  5. RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第七篇【元素定位介绍】

    http://blog.csdn.net/deadgrape/article/details/50628113 我想大家在玩自动化的时候最关心的一定是如何定位元素,因为元素定位不到后面的什么方法都实现 ...

  6. C++ decltype类型说明符

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50865552 1 基本语法 declt ...

  7. 洛谷 1821: [JSOI2010]Group 部落划分 Group

    1821: [JSOI2010]Group 部落划分 Group Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 2596  Solved: 1221[S ...

  8. httpservlet这个类是属于Tomcat自带jar包的jjava ee类

    bug:The superclass "javax.servlet.http.HttpServlet" was not found on the Java   Build Path ...

  9. 【翻译自mos文章】 在错误的从os级别remove掉 trace file 之后,怎么找到该trace file的内容?

    在错误的从os级别remove掉 trace file 之后,怎么找到该trace file的内容? 參考原文: How to Find the Content of Trace File Gener ...

  10. 自己定义Android Dialog

    private void showDialog() { mDialog = new Dialog(this); mDialog.setCanceledOnTouchOutside(true); Win ...