论文笔记: Matrix Factorization Techniques For Recommender Systems
Recommender system strategies
通过例子简单介绍了一下 collaborative filtering 以及latent model,这两个方法在之前的博客里面介绍过,不累述.
Matrix factorization methods
许多成功的LFM都是基于MF的.推荐系统的输入数据需要一定显示反馈信息,例如一个用户给电影的评论.通常包含反馈信息的矩阵都是稀疏的,因为用户不会对所有的电影都作出点评.显示反馈信息并不是一直有效的,推荐系统往往需要使用一些隐式的反馈(例如用户的浏览行为,点击行为)来协助作出一些推断.加入了隐性反馈的矩阵往往是很稠密的,需要很大的空间,矩阵分解在这里就能派上用场了.
A BASIC MATRIX FACTORIZATION MODEL
这部分内容在阅读项亮的<<推荐系统实践>>提及过,在此不重复记录.
论文中提到了两个学习算法,分别是随机梯度下降(Stochastic gradient descent )以及交替最小二乘法(Alternating least squares ),这里简单记录一下ALS.
输入:损失函数f(x,y),这里f(x,y)
输出:x,y的最优解
流程:
(1) 随机初始化x
(2) 求损失函数f关于y的导数,令其为零获取y的一个当前情况下的最优值$y^*$
(3) 用(2)求得的$y^*$固定y,求f关于x的导数,令其为零获取x的一个当前情况下的最优值$x^*$
(4) 用(3)求得的$x^*$固定x,重复(2),(3),(4)直到收敛
SGD和ALS的一个对比:SGD通常(对于数据集合不大的情况?)比ALS更容易实现也更快的收敛,ALS在以下两种情况下是有效的,一是可以并行计算的系统,二是训练的数据集合不是稀疏数据的情况.SGD需要遍历所有的训练数据集,当训练集变得很大的时候,SGD就变的不切实际了.
ADDING BIASES
$\hat{r_{ui}} = q_{i}^T*p_u$获取的是user和item之间互相相互的关系(可以理解为边的联系),并没有考虑到用户和物品本身固有的价值.因此这里要加上一些bias来表示一些固有的信息,这部分在推荐系统实践笔记(八)记录过,不累述.记录一下优化的公式:

ADDITIONAL INPUT SOURC
这部分讨论解决冷启动问题.论文中通过添加一些额外的信息来解决冷启动问题.文章主要提到两个属性.
> 第一个属性为用户没有明确表明喜欢的数据集.定义物品集合N(u)为用户隐式偏好的项目集,$x_i$为物品i对应的特征,那么用户对N(u)的关注度可以表示为:$\sum_{i{\in}N(u)} x_i$,通常需要需要对求和归一化
> 第二个属性为用户个人的属性,比如人口统计学的一些数据,定义A(u)为用户u对应的属性集合,$y_a$为每个属性对应的权重.一个用户的个人属性可以表示为:$\sum_{a{\in}A(u)}y_a$
添加了上述两个信息之后的预测公式为:

TEMPORAL DYNAMICS
引入时间的因素,在前面<<推荐系统实践笔记中>>有对于时间因素的描述,这里不重复描述,公式如下:

INPUTS WITH VARYING CONFIDENCE LEVELS
每个反馈的权重不应该是一样的,引入置信水平可以表示一个行为的频率(原始的反馈是一个简单的二进制,有或者没有),论文用$C_{ui}$来描述$r_{ui}$的置信度水平,改进后的公式如下所示:

论文笔记: Matrix Factorization Techniques For Recommender Systems的更多相关文章
- 【RS】Matrix Factorization Techniques for Recommender Systems - 推荐系统的矩阵分解技术
[论文标题]Matrix Factorization Techniques for Recommender Systems(2009,Published by the IEEE Computer So ...
- Recommender Systems中Yehuda Koren 和 Ma Hao的paper
以前读了Yehuda Koren和Ma Hao的论文,感觉非常不错,这里分享一下.如果想着具体了解他们近期发的论文,可以去DBLP去看看. Yehuda Koren也是Netflix Prize的冠军 ...
- 论文笔记: Deep Learning based Recommender System: A Survey and New Perspectives
(聊两句,突然记起来以前一个学长说的看论文要能够把论文的亮点挖掘出来,合理的进行概括23333) 传统的推荐系统方法获取的user-item关系并不能获取其中非线性以及非平凡的信息,获取非线性以及非平 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统
Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...
- 机器学习技法笔记:15 Matrix Factorization
Roadmap Linear Network Hypothesis Basic Matrix Factorization Stochastic Gradient Descent Summary of ...
- Coursera 机器学习 第9章(下) Recommender Systems 学习笔记
9.5 Predicting Movie Ratings9.5.1 Problem Formulation推荐系统.推荐系统的问题表述:电影推荐.根据用户对已看过电影的打分来推测用户对其未打分的电影将 ...
- 【论文笔记】SamWalker: Social Recommendation with Informative Sampling Strategy
SamWalker: Social Recommendation with Informative Sampling Strategy Authors: Jiawei Chen, Can Wang, ...
- Self-paced Clustering Ensemble自步聚类集成论文笔记
Self-paced Clustering Ensemble自步聚类集成论文笔记 2019-06-23 22:20:40 zpainter 阅读数 174 收藏 更多 分类专栏: 论文 版权声明 ...
- 《Non-Negative Matrix Factorization for Polyphonic Music Transcription》译文
NMF(非负矩阵分解),由于其分解出的矩阵是非负的,在一些实际问题中具有非常好的解释,因此用途很广.在此,我给大家介绍一下NMF在多声部音乐中的应用.要翻译的论文是利用NMF转录多声部音乐的开山之作, ...
随机推荐
- 解决linux环境下nohup: redirecting stderr to stdout问题
在生产环境下启动Weblogic时,发现原来好好的nohup信息输出到指定文件中的功能,突然出问题了.现象是控制台输出的信息一部分输出到了我指定的文件,另一部分却输出到了nohup.out,而我是不想 ...
- Ubuntu 16.04 一系列软件安装命令,包括QQ、搜狗、Chrome、vlc、网易云音乐安装方法
1 简介 Ubuntu 16.04安装完后,还需要做一些配置才能愉快的使用,包括添加软件源.安装搜狗输入法.Chrome浏览器.网易云音乐.配置快捷键.安装git等等,下面就跟着我来配置吧,just ...
- zabbix TCP 连接数监控
直接上配置: 1.修改配置 cat userparameter_tcp_connect.conf UserParameter=tcp_connect.established,/opt/app/zabb ...
- Features Track[STL map]
目录 题目地址 题干 代码和解释 参考 题目地址 Features Track(ACM-ICPC 2018 徐州赛区网络预赛 ) 题干 代码和解释 题意:一个动画有许多 n 帧,每帧有 k 个点,点的 ...
- Jdk8 DNS解析
注:JDK7和JDK8关于DNS解析的实现有差异,该问题在JDK7下可能不存在: Java中的DNS解析一般是通过调用下面的方法: public static InetAddress getByNam ...
- dubbo源码分析之基于SPI的强大扩展
https://blog.csdn.net/luoyang_java/article/details/86609045 Dubbo采用微内核+插件体系,使得设计优雅,扩展性强.那所谓的微内核+插件体系 ...
- C#实现图像拖拽以及锚点缩放功能
本文主要实现C#窗体图像拖拽以及锚点缩放功能 1.新建Windows窗体应用项目,添加一个panel控件,在panel控件上添加picturebox控件 代码如下: using System; usi ...
- Python之多态案例
class Canvas: def draw_pic(self, shape): print('--start draw--') shape.draw(self) class Rectangle: d ...
- Scheduling In Go
https://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part1.html https://blog.altoros.com/golang-i ...
- IfcColumn
IfcColumn is a vertical structural member which often is aligned with a structural grid intersection ...