
- 课程地址:Recommender Systems
- 课程Wiki:Recommender Systems
- 课件:PPT PDF
一. Predicting Movie Ratings
1.1 Problem Formulation
下图是四位用户对于五部电影的评分(若用户没有评分, 则用❓表示). 一些符号如下图右下角所示. 推荐系统就是通过已知的评分来判断未知的评分.

1.2 Content Based Recommendations
假设每一部电影都对应一个特征向量, 如下图, 所示. 对于第个用户, 我们通过学习得到参数. 这样, 这个用户对于第电影的评分就可以用来估计.
用公式化表示为:
优化目标为:
使用梯度下降来得到最优解(和线性回归相似).
这一种推荐系统是基于内容的, 在这个例子中, 我们使用一个特征向量来表示一部电影. 但是通常情况下, 我们没有这样的向量或者很难得到这样的向量. 这个时候我们就需要不是基于内容的推荐系统.
二. Collaborative Filtering
2.1 Collaborative Filtering
假设我们知道用户对于不同种类电影的喜好()以及对各个电影的评分, 我们就大致可以得到各个电影的特征向量().
下面是上述问题的公式化表达:
协同过滤:

2.2 Collaborative Filtering Algorithm
协同过滤的优化目标:
协同过滤算法:

三. Low Rank Matrix Factorization
3.1 Vectorization: Low Rank Matrix Factorization
协同过滤算法矩阵化:
使用该算法后, 可以利用得到的特征向量来计算相似的电影.

3.2 Implementation Detail: Mean Normalization
假设我们有一个用户Eve, 他没有对任何电影进行评分. 这个时候, 我们运行完算法之后会得到. 这时在对Eve对电影的评分进行预测的话, 会得到所有的评分都是0. 这显然不太合理.
我们需要进行 Mean Normalizaion处理, 如下图所示. 然后对于第个用户在第个电影的评分用来预测.
