论文笔记: 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转录多声部音乐的开山之作, ...
随机推荐
- Ubuntu 14.04 安装python3.7
下载: https://www.python.org/ftp/python/3.7.4/ .tgz文件,解压后,进入该文件夹 编译./configuremakesudo make install 当 ...
- git 学习目录
git命令方式 git - 1.基础 git - 2.github git - 3.分支 番外 git - gitHub生成Markdown目录
- odoo开发学习「目录」
目录: 一.odoo介绍(发源 版本 ERP对比 优势劣势 应用场景 发展情况 社区介绍) 二.odoo设计思想 三.odoo自带模块 四.odoo开发前准备(python基础) 五.odoo环境搭建 ...
- Sword CRC算法原理
CRC校验原理 CRC校验其根本思想a.发送端和接收端约定一个整数 bb.发送端在原始数据帧后面附加一个数 k ,产生一个新的数据帧c.接收端接收到数据帧后,对接收的数据帧和整数 b 进行位异或操作, ...
- IfcCircle
An IfcCircle is a curve consisting of a set of points having equal distance from the center. NOTE A ...
- cisco路由器telnet及设置用户名和密码的几种方式
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/sxajw/article/details ...
- ByteUtil
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...
- git rebase使用场景
1. 当前分支落后拉取后,整理commit,使得提交历史为直线 git pull = git fetch + git merge git pull --rebase = git fetch + git ...
- yandex 图片自动下载
yandex 图片自动下载命令行程序 一个在 yandex 上搜索图片并下载到本地的 node cli 程序. 使用帮助: $0 <搜索关键词> [-t=超时(默认 1000)] [-r ...
- Qt编写控件属性设计器
一.前言 自从研究Qt编写自定义控件以来,一发不可收拾,越多越多人有类似的需求找我定制控件,陆陆续续写了上百个控件,目前已超过150个,于是逐渐衍生了另外一个需求,提供一个控件属性设计器,类似QtDe ...