(论文阅读笔记1)Collaborative Metric Learning(一)(WWW2017)

一、摘要

    度量学习算法产生的距离度量捕获数据之间的重要关系。这里,我们将度量学习和协同过滤联系起来,提出了协同度量学习(CML),它可以学习出一个共同的度量空间来编码用户偏好和user-user 和 item-item的相似度。

二、背景

2.1 Metric Learning

     令χ={x1,x2,,xn}是空间Rm上的一个数据集。
相似对记为:

S={(xi,xj)|xixj}

非相似对记为:
D={(xi,xj)|xixj}

最普通的度量学习方法采用的是马氏距离度量:

dA(xi,xj)=(xixj)TA(xixj)

其中 A是空间Rm×m上的半正定矩阵。这个式子将输入 x映射到空间Rm上,且满足一些期望的限制。有很多方法来创建这样一个距离,最常用的方法是全局法,来解决如下凸优化问题:
minA(xi,xj)SdA(xi,xj)2st.(xi,xj)DdA(xi,xj)21andA0

还有其他一些方法,比如非线性转换函数,比如核函数和神经网络,可以提高度量的准确性。

2.2 Metric Learning for kNN

     上边的全局优化本质上式试图学习一种距离:它将相似的放在一起,将不相似的尽量分开。另一方面,如果学习到的度量被用作knn分类,只要保证目标与k个近邻共享一个类标就足够了。
     具体来说,给定一个输入x,我们把离x近的数据点作为它的target neighbors。并且假设x的target neighbors构建了不同类标之间的边界。不同类标的输入侵入边界被作为importors。这里,学习的目标就是最小化importors的个数。
     一种为人知模型是LMNN,它使用2个损失函数来表达上述目标函数。
1. LMNN定义了pull loss:

Lpull(d)=jid(xi,xj)2

其中,ji的target neighbor。
2. push loss:

Lpush(d)=i,jik(1yik)[1+d(xi,xj)2d(xi,xk)2]+

其中,如果 ik拥有同一个类标,则 yik=1,否则, yik=0 [z]+=max(z,0).完整的损失函数是结合上述两个损失函数, 可以通过半正定编程来进行优化。

2.3 Collaborative Filtering

     这里重点关注隐性反馈的CF,传统的CF算法是基于用户相似计算出的。MF是一种流行的CF算法,普通的MF模型设计为用户的显性反馈,它是通过将users 和items映射到潜在因子空间上,那么user-item的关系可以通过潜在因子的乘积获得。
rij记为用户i对itemj的打分,用户向量uiRr和item向量vjRr,它们的乘积为uiTvj,这个式子让最优化问题变为最小化集合上的均方误差:

minu,vrijK(rijuiTvj)2+λu||ui||2+λv||vi||2

其中, K是分数集合, λu,λv L2正则化的超参数。

隐性反馈(Implicit feedback)和贝叶斯个性(Bayesian personalized ranking)化排序略过,感兴趣的可以自己查询资料。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576510.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《论道HTML5》内容技术分享活动

HTML5小组的第12次活动,本期沙龙围绕5月出版的《论道HTML5》重点章节内容展开,由我和另外一位作者秀野堂主现场分享。欢迎大家参加,下面是活动的详细信息。活动介绍:时间:2012年04月21日 13:30-18:00地址:东…

基于SpringBoot实现一个可扩展的事件总线

基于SpringBoot实现一个可扩展的事件总线 前言 在日常开发中,我们经常会用到事件总线,SpringBoot通过事件多播器的形式为我们提供了一个事件总线,但是在开发中我们经常会用到其他的实现,比如Guava、Disruptor的。我们将基于Spri…

(论文阅读笔记1)Collaborative Metric Learning(二)(WWW2017)

三、协同度量学习 这一部分,我们讨论CML作为一种更自然的方法获得关联关系。CML的思路是这样的:我们在已知正例关系的user-item集合S上建立一个隐性反馈模型,并且学习user-item的距离作为他们的关系。学习到的距离使得S中的对更加紧密&#x…

处理sharepoint 列表中的 person or group类型字段

如果直接取列表项的值,person or group 类型字段会是 userid;#value 的样式,所以对此类型字段需转换成 spuser 处理 SPUser test GetSPUser(oItem, assocList.Fields.GetField("AssociateName"));if (user.Sid.Equals(test.Sid)){ ...}privat…

大数据技术之 Kafka (第 1 章 Kafka 概述)

第 1 章 Kafka 概述 1.1 定义 Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。 1.2 消息队列 1.2.1 传统消息队列的应用场景 MQ传统应用场景之异步处理 使用消息队列的好处 1&a…

那些你无比崇拜的厉害人,是如何建构知识体系的

那些你无比崇拜的厉害人,是如何建构知识体系的? 2018-04-04 六合同风 文 | Lachel 高效思维达人,知识管理专家,深度思考践行者,领英、36氪特约作家 来源 | L先生说(ID:lxianshengmiao&#x…

嵌入式成长轨迹25 【Linux应用编程强化】【Linux下的C编程 下】【实例:客户端/服务器端程序】...

给出一个客户/服务器程序开发的案例,实现从服务器状态的远程监视功能。同时,客户端采用图形界面来显示数据。这个案例涵盖了网络编程和GUI编程的相关知识,读者应该注意其中的结合点。具体内容包括: 服务器端程序设计 客户端程序设…

TODO L

要写的目录 最近一段时间,由于太忙(根本就是懒)停止了博客的更新,时间也快有一年了。停博的这段时间,在我身上是发生了太多太多事。关于技术博客,我将想写的主题暂列如下,后边慢慢补充。 1 si…

大数据技术之 Kafka (第 2 章 Kafka快速入门)

第 2 章 Kafka 快速入门 下载安装kafka集群 1.需要jdk 2.需要zookeeper,这个东西在最新版的Kafka中内置。 3.下载Kafka安装包 (下载官网地址:Apache Kafka) 一,下载Kafka安装包 二,Kafka安装包上传li…

使用ICSharpCode.TextEditor制作一个语法高亮显示的XML编辑器

本文转载:http://www.cnblogs.com/lefay/archive/2010/07/25/1784919.html转载于:https://www.cnblogs.com/51net/archive/2012/04/21/2462431.html

文因互联 CEO 鲍捷:确保搞砸人工智能项目的十种方法

文因互联 CEO 鲍捷:确保搞砸人工智能项目的十种方法 原文链接 原创: 鲍捷 文因互联 前天 做成一件事儿不容易,而坑恒在。 鲍捷博士于5月10日在将门创投的线上 talk 中盘点了人工智能项目的大坑小坑,选出了看上去非常反常识的十…

启动kafka失败报内存不足(Cannot allocate memory)

原因分析,因为我的虚拟机内存一共才1G 查看一下我的虚拟机内存还剩余多少? 天呐,我的只有60M了 我们看下kafka的启动脚本 vim kafka-server-start.sh 看见下面的脚本文件内容没有,默认是1G,而我只有60M&#xff0…

Introduce Null Object(引入Null对象)

Introduce Null Object(引入Null对象)你需要再三检查某对象是否为null。将null值替换为null对象。if (customer null) plan BillingPlan.basic(); else plan customer.getPlan(); 动机多态的最根本好处在于:你不必再向对象询问"你是…

推荐系统从0到1_1

推荐系统从0到1_1,目录中的内容会在专栏中一一补充和详细介绍。请大家耐心等待 。目录结构引言推荐系统的必要性搭建推荐系统所需要的材料推荐系统整体框架概览推荐系统核心技术框架数据预处理用户画像EE问题和相关算法曝光量的重要性和CTR的置信度TopN推荐CF算法原…

zookeeper Error contacting service. It is probably not running

通过命令zkServer.sh start之后,显示STARTED 通过client测试报错 无法连接 连接关闭 Connecting to localhost:2181 2020-03-29 12:44:31,855 [myid:] - INFO [main:Environment100] - Client environment:zookeeper.version3.4.13-2d71af4dbe22557fda74f9a9b430…

关于应用程序配置文件类的使用 总结

先占位,晚上写!转载于:https://www.cnblogs.com/lppblogs/archive/2012/04/24/2467950.html

kafka通过脚本一次启动集群

kafka 群起脚本kafka.sh #!/bin/bashcase $1 in "start"){for i in backup01 backup02 backup03do echo " $i " ssh $i /usr/local/hadoop/kafka/kafka_2.12-2.4.1/bin/kafka-server-start.sh -daemon /usr/local/hadoop/kafka/kafka_2.12-2.4.1/binconf…

引言

推荐系统从0到1_引言什么是推荐?什么是推荐系统?推荐系统的应用什么是推荐? 说起推荐,就不得不说搜索。搜索这里指信息检索,在大量的信息中,我们需要找到自己需要的信息,就用到了搜索引擎&…

DB2中select top 用法

DB2中请使用select * from TableName fetch first 10 rows only转载于:https://www.cnblogs.com/wangpei/archive/2012/04/26/2471336.html