月中在香港参加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. 【LESS系列】简介和使用

    LESS —— 一个CSS预编译框架,它在CSS的语法基础之上,引入了变量.Mixin(混入).运算以及函数等功能,大大简化了CSS的编写,并且降低了CSS的维护成本,就像它的名称所说的那样,LESS ...

  2. gihub简单学习 步步操作(简单易学)

    一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...

  3. PHP学习9——MySQL数据库

    主要内容: MySQL的启动 MySQL数据库操作 数据库表设计 创建和查看表 修改表结构 MySQL语句操作 数据库备份与恢复 PHP操作MySQL数据库 面向对象的数据库操作 MySQL数据库是目 ...

  4. 另一个C#模拟post请求的例子

    private string returninstallTmnl(AddTmnlInstallParameter model) { string url = ConfigurationSettings ...

  5. Octotree Chrome安装与使用整理

    Octotree Chrome作用: 主要使你在github查看项目时可以清晰明了的看到项目的结构以及具体代码,使下载代码更具有目的性,减少不必要代码的下载,而且看起来更清楚. 效果图:(安装插件前) ...

  6. Spring学习笔记:Spring动态组装打印机

    一.如何开发一个打印机 1.可灵活配置使用彩色魔盒或灰色魔盒 2.可灵活配置打印页面的大小 二.打印机功能的实现依赖于魔盒和纸张 三.步骤: 1.定义墨盒和纸张的接口标准 package cn.pri ...

  7. 提示"No 'Access-Control-Allow-Origin' header"及Spring 中解决跨域问题

    问题描述 No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://12 ...

  8. cygwin 的安装和配置

         Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发的著名工具还有eCos,不过现已被Redhat收购).它对于 ...

  9. PHP三维优先级运算

    昨天去某大型公司面试,做了一套面试题,整套面试题的基础要求比较高,对于js的使用有一定的要求.在本次面试中碰到PHP三维运算优先级的问题,先看题: <?php $b=20; $c=40; $a= ...

  10. Css3新增背景属性

    1.background-origin 背景的起始位置 background-origin: border-box || padding-box || content-box; 案例初始化: 代码: ...