月中在香港参加recsys2013会议,文章不少,对我有价值的并不算多,再跟目前工作相关的就更少了。这里过滤了几篇我觉得比较有意思的文章,加上了自己的理解,作为导读。

A Fast Parallel SGD for Matrix Factorization in Shared Memory Systems (best paper,p249.pdf)

这篇来自台湾国立大学libsvm团队的文章获得了本次大会的best paper。无论文章还是ppt,思路表达得非常清晰饱满。这是一篇偏工程实现的文章,比较适合搭平台的,未必对纯粹做model的算法人员有帮助,但仅仅为了开拓一下视野也值得一看。

基于SGD的矩阵分解的并行化计算有过很多的实践,因为无重叠的(p_u,q_v) pair的更新可以独立进行,所以利用这个特性可以进行并行化。这篇文章针对并行化矩阵分解中存在的locking problem和memory discontinuity问题,提出了一种矩阵分解的高效算法,主要的思路是把评分矩阵分成至少n+1*n+1个block(n是计算节点个数),随机为计算节点分配一个合适的block(解决第一个问题),每个节点内则按user序或item序进行更新(解决第二个问题)。过程比较简单,看文章里地算法流程应该就很明了。最后,秉承这个实验室的一贯作风,他们把自己的方法实现并开源(libMF)。

题外话:这届会议上仍然有很多矩阵分解相关的文章,这些理论性的工作是学术界比较喜欢做的事情,而且也是自netflix prize以来形成的比较有“推荐领域”特色的技术。但个人认为它对数据类型和稠密程度有一定的要求(netflix prize提供的数据稠密度在1%左右,算很稠密了,并且是1-5分的分值预测问题,所以SVD会比较容易得到好的效果),且容易碰到cold-start问题,使用过程中需要相当谨慎。但一直以来(包括这次会议)也有不少把这项技术用于0-1无负面反馈的数据(实际中更多碰到的就是这种0-1的top-k推荐问题),可以仔细实践一下,再下定论。

Efficient Top-N Recommendation for Very Large Scale Binary Rated Datasets (p273.pdf)

作者是MSD音乐推荐竞赛的优胜者,这篇文章是他的优胜文章的扩展版。因为MSD数据的特点,作者的思路主要聚焦于0-1且主要是正向反馈的数据集(这种数据集跟我们日常面对的数据集是类似的)。做推荐的思路也比较接近传统的推荐方法——基于CF的各种优化。这里他主要通过对相似性计算的形式化抽象,提出了一种非对称的相似性矩阵的思路。非对称相似性有时会收到奇效,我们以前就用过一些这样的技巧。文中提到的一些参数化的思想是有价值的,非对称的相似性是通过参数化解决的,推荐时的k近邻问题也是通过参数化的方式解决的(这种参数化的思维方式对于培养实际问题解决时的形式化思维很有帮助)。据称,这样的方式计算效率也很不错。

Learning to Rank Recommendations with the k-Order Statistic Loss (p245.pdf)

这是一篇来自google的文章,非常贴近工程应用,据称文中的算法应用在youtube的推荐上,比原来的要好。文章讨论的主题也是大家最近比较关注的learning to rank,这项技术在解决top-k推荐问题上很受追捧。文中使用的还是基于矩阵分解思想的factor学习,主要创新点在于提出了几个损失函数,既能使用SGD比较快速地训练模型,又同时强调了top-k推荐列表里k个元素的重要性。另外一个比较有意思的就是提出了一个mean maximum rank的评价指标。

To Personalize or Not: A Risk Management Perspective (p229.pdf)

看起来是一篇给推荐唱反调的文章,其实是一个很不错的思考,我之前在考虑推荐的多源融合时也考虑到这个问题——什么时候才应该采用个性化推荐。作者把风险管理的概念引入到推荐领域,对每个推荐结果进行风险分析,并提出了一个切换的策略——什么时候使用个性化的推荐,什么时候使用热门推荐(实际中,也有可能让位给其它类型的业务需求)。其实冷启动问题也是这种思路的一个应用场景。

Rating Support Interfaces to Improve User Experience and Recommender Accuracy (p149.pdf)

来自GroupLens团队的文章,是之前Tag系列工作的延续。其实这是一篇做交互设计的同学更要关注的文章,解决的问题是使得用户的评分数据一致性更好,数据质量更高,这样推荐的质量才会好。提出的解决方案是:1、给item展示合理的Tag信息,2、把该用户历史相关的item评分和item信息提示给用户。并做了一个评分交互系统,大家可以看看文章里的网站页面截图,基本就明白这篇文章在讲什么。将来跟PD和UED合作时也可以对外输出价值观了。

Recommending Branded Products from Social Media (p77.pdf)

来自ebay的这篇文章跟我目前的工作关联度很高,social media website + e-commerce,社交网络的数据可以为电商网站做些什么,这里举的案例是facebook+ebay,你会不会想到来往/微博+淘宝?文章指出,纯粹使用facebook的社交数据,就可以对ebay的品牌推荐做出预测,证明了社交数据与电商数据的相关性。

Nonlinear Latent Factorization by Embedding Multiple User Interests (p65.pdf)

这是来自google的另一篇短文,连作者都是一样的。文章研究的还是基于矩阵分解的模型,要点是:user factor应该比item factor更多样,所以表达上需要更为丰富,而不是像item用同样的k维factor来表达。所以作者提出为user训练多个factor向量,推荐时取factor列表里与item-factor相似度最高的作为user-item相似度。这个假设直观上来说是对的,如果某首歌曲可以用一个factor空间来加以描述其风格等潜在特点,而用户对歌曲的偏好是多风格的,那么是否应该用多个factor空间来描述?其实是一种增加参数来换表达能力的做法,难免不会出现过拟合的情况。

Query-Driven Context Aware Recommendation (p9.pdf)

会议上关于context aware的推荐也不少,关注历史偏好和短时兴趣的融合,类似于会上经常被人提及的介乎与online和offline之间的nearline。文章里介绍的领域比较接近文本和搜索,用LDA来描述用户的偏好,提出了一个融合user, item, context的推荐框架,p(i|p,q)。想对nearline、场景推荐有一些感性认识的同学不妨一看。

这些paper我目前读得还比较粗略,远未到实用的层面。即便只是浅读,也是有好处的,作为工业界的算法工程师,paper要看,但不可多看。看paper可以了解学术界和工业界在做什么,怎么思考这个领域的问题,开拓自己的思路,甚至启发自己走出原来已经禁锢的圈子。但多看则容易陷入做学术的套路,paper是永远看不完的,作为工业界做应用的,谨记熟读百篇不如实现一篇。

转:Recsys2013论文导读的更多相关文章

  1. AeroSpike踩坑手记1:Architecture of a Real Time Operational DBMS论文导读

    又开了一个新的坑,笔者工作之后维护着一个 NoSQL 数据库.而笔者维护的数据库正是基于社区版本的 Aerospike打造而来.所以这个踩坑系列的文章属于工作总结型的内容,会将使用开发 Aerospi ...

  2. FPGA 17最佳论文导读 ESE: Efficient Speech Recognition Engine with Compressed LSTM on FPGA

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.机器学习技术感兴趣的同学加入. 后面陆续写一些关于神经网络加 ...

  3. ASPLOS'17论文导读——SC-DCNN: Highly-Scalable Deep Convolutional Neural Network using Stochastic Computing

    今年去参加了ASPLOS 2017大会,这个会议总体来说我感觉偏系统和偏软一点,涉及硬件的相对少一些,对我这个喜欢算法以及硬件架构的菜鸟来说并不算非常契合.中间记录了几篇相对比较有趣的paper,今天 ...

  4. ISSCC 2017论文导读 Session 14:A 288μW Programmable Deep-Learning Processor with 270KB On-Chip Weight

    A 288μW Programmable Deep-Learning Processor with 270KB On-Chip Weight Storage Using Non-Uniform Mem ...

  5. ISSCC 2017论文导读 Session 14 Deep Learning Processors,DNPU: An 8.1TOPS/W Reconfigurable CNN-RNN

    转载请注明,本文出自Bin的专栏http://blog.csdn.net/xbinworld,谢谢! DNPU: An 8.1TOPS/W Reconfigurable CNN-RNN Process ...

  6. ISSCC 2017论文导读 Session 14 Deep Learning Processors,A 2.9TOPS/W Deep Convolutional Neural Network

    最近ISSCC2017大会刚刚举行,看了关于Deep Learning处理器的Session 14,有一些不错的东西,在这里记录一下. A 2.9TOPS/W Deep Convolutional N ...

  7. ISSCC 2017论文导读 Session 14 Deep Learning Processors,A 2.9TOPS/W Deep Convolutional Neural Network SOC

    最近ISSCC2017大会刚刚举行,看了关于Deep Learning处理器的Session 14,有一些不错的东西,在这里记录一下. A 2.9TOPS/W Deep Convolutional N ...

  8. 【超分辨率】- CVPR2019中SR论文导读与剖析

    CVPR2019超分领域出现多篇更接近于真实世界原理的低分辨率和高分辨率图像对应的新思路.具体来说,以前论文训练数据主要使用的是人为的bicubic下采样得到的,网络倾向于学习bicubic下采样的逆 ...

  9. Acceleration for ML 论文导读

    Energy efficient parallel neuromorphic architectures with approximate arithmetic on FPGA Motivation ...

随机推荐

  1. 【随笔】关于绝对定位absolute相对于父元素定位的问题

    绝对定位absolute的官方定义: 设置为绝对定位的元素框从文档流完全删除,并相对于其包含块定位,包含块可能是文档中的另一个元素或者是初始包含块.元素原先在正常文档流中所占的空间会关闭,就好像该元素 ...

  2. CentOS6.4 安装Redis

    按照下面步骤依次执行1.检查依赖,安装依赖 [root@ecs-3c46 ~]# whereis gcc gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc ...

  3. SSH基本概念和用途

    一.SSH是什么 简单的说,SSH是一种网络协议,主要用于客户端与远程主机的安全链接和交互. 二.常见用法1.客户端与远程主机的安全链接命令如下: $ ssh -p user@host 解释如下:-p ...

  4. JS实现图片预览与等比缩放

    案例仅为图片预览功能,省略图片上传步骤,框架为easyui. HTML代码: @*text-align:center;水平居中 vertical-align: middle;display: tabl ...

  5. window.open以post方式提交(转)

    function openWindowWithPost(url,name,keys,values) { var newWindow = window.open(url, name); if (!new ...

  6. XAMl使用其他命名空间中的类型及加载和编译

    以前我们讲过XAMl命名空间.为了使便宜钱知道XAMl文档中元素对应的.NET类型,需要知道XAMl明档中指定特定的两个命名空间.XAML是一种实例化.NET对象的通用方法 ,除了可以实例化一些标准的 ...

  7. vue.js开发之开关(switch)组件

    最近开发组件的时候,自定义开发了开关(switch)组件,现将代码整理如下,方便日后复用. toggle-switch.vue <template> <label role=&quo ...

  8. 【转】.NET 4.5 使用async和await关键字调用异步方法

    async和await关键字是.NET 4.5新增加的异步编程方式,通过使用这两个关键字可以轻松便捷的编写异步方法.使用async关键字声明异步方法,使用await关键字等待和获取异步方法返回的结果. ...

  9. 对Mybatis的初步认识

    1.认识Mybatis MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索. MyBat ...

  10. cocos creator Touch事件应用(触控选择多个子节点)

    最近参与了cocos creator的研究,开发小游戏,结果被一个事件坑得不行不行的.现在终于解决了,分享给大家. 原理 1.触控事件是针对节点的 2.触控事件的冒泡,是一级一级往上冒泡,中间可以阻止 ...