Machine Learning-Recommender Systems(推荐系统)

Predicting Movie Ratings


Problem Formulation

推荐系统问题就是,给定这些数据,给定这些 r(i,j) y(i,j) 数值,然后浏览全部数据,关注所有没有电影评分的地方,并试图预测这些带问号的地方应该是什么数值。
Machine Learning-Recommender Systems(推荐系统)_第1张图片


Content Based Recommendations

Machine Learning-Recommender Systems(推荐系统)_第2张图片
对于每一部电影,我们都有一个特征向量来描述它的特征 xi
例如: 《cute puppies of love》 我的两个特征值 分别是0.99和0 这就是特征变量 x1 x2 我们还是像以前一样加一个额外的特征变量,截距特征变量 x0 其值为1 ,那么 x(3)=[1 0.99 0]T 。对于每个用户,我们可以将预测问题转化为一个单独的线性回归问题,那么问题就是求得参数 θ 。这里先给出了参数 θ=[0 5 0]T ,那么Alice对于电影’Cute puppies of love’的评分为 (θ(1))TX3=50.99=4.95

问题描述:

Machine Learning-Recommender Systems(推荐系统)_第3张图片

优化目标函数:
Machine Learning-Recommender Systems(推荐系统)_第4张图片

第一个式子是针对单独用户的,第二个式子是对所有用户学习参数 θ

梯度下降算法:

Machine Learning-Recommender Systems(推荐系统)_第5张图片


Collaborative Filtering


Collaborative Filtering

Machine Learning-Recommender Systems(推荐系统)_第6张图片

我们建一个数据集,对每一部电影,我们找一些人来告诉我们这部电影浪漫指数是多少,动作指数是多少 ,但想一下就知道,这样做难度很大 ,也很花费时间 。要让每个人,看完每一部电影,告诉你每一部电影有多浪漫,多动作,这是一件不容易的事情。而且通常,你还会希望得到除这两个特征之外的其他指数,那么你怎样才能得到这些特征呢?

改变一下假设:
假设我们采访了每一位用户,而且每一位用户都告诉我们他们是否喜欢爱情电影以及他们是否喜欢动作电影。这样,Alice就有了对应的参数 θ(1) ,Bob 的是 θ(2) ,Carol 的是 θ(3) ,Dave 的是 θ(4) 我们还有这样的假设 假如 Alice 告诉我们,她十分喜欢爱情电影,于是 Alice 的特征 x1 对应的值就是5 ,假设 Alice 告诉我们 她非常不喜欢动作电影于是这一个特征就是0。

Machine Learning-Recommender Systems(推荐系统)_第7张图片

我们知道 (θ(j))Tx(i) 表示用户 j 对于电影 i 的评分,由此我们可以得到:
θ(1)x(1)=5 , θ(2)x(1)=5 , θ(3)x(1)=0 , θ(4)x(1)=0 ,由此可知: x(1)=[1 5 0]T ,这样才能得出Alice Bob Carol和Dave四个人对电影评分的结果。

优化目标函数:

Machine Learning-Recommender Systems(推荐系统)_第8张图片

最小化这个平方误差,我们要选择 特征 x(i) 使得 我们预测的用户 j 对该电影 i 评分的预测值评分值跟我们从用户 j 处实际得到的评分值不会相差太远。

结合上一节所讲的:通过电影 i 的特征 x(i) 预测用户 j 的评分,可以得到最基本的协同过滤算法:

Machine Learning-Recommender Systems(推荐系统)_第9张图片

就是说如果我们能知道 θ 就能学习到 x , 如果我们知道 x 也会学出 θ 来 。


Collaborative Filtering Algorithm

下面就是这种算法,我们所要做的是将这两个优化目标函数给合为一个。定义这个新的优化目标函数 J 它依然是一个代价函数,是特征 x 和参数 θ 的函数。它其实就是上面那两个优化目标函数,但将它们给合在一起。
PS:
我们将学习的特征量 xRn ,而不是先前的 Rn+1 ,同样地,因为参数 θ 是在同一个维度上。所以 θ 也是 n 维的 因为如果没有 x0 那么 θ0 也不再需要
Machine Learning-Recommender Systems(推荐系统)_第10张图片

协同过滤算法:
Machine Learning-Recommender Systems(推荐系统)_第11张图片

Low Rank Matrix Factorization

Vectorization:Low Rank Matrix Factorization

使用两个低秩矩阵来表达原来的矩阵。
Y=ΘXT
Machine Learning-Recommender Systems(推荐系统)_第12张图片

向量化后有一个很大的便利之处就是推荐发现相似的电影或者网站推荐相似物品。我们只需要计算两个物品特征向量之间的距离,距离越小意味着肯定是更加相似的东西。

Machine Learning-Recommender Systems(推荐系统)_第13张图片

Implementational Detial: Mean Normalization

Machine Learning-Recommender Systems(推荐系统)_第14张图片

当一个用户未曾评分过(cold-start问题),那么如何偏好呢?如果按照以往的话,我们发现Eve对所有电影评分都是0,显然这样结果是不合适的,现在需要解决这个问题。
Machine Learning-Recommender Systems(推荐系统)_第15张图片

θ X(i) 乘积为0 ,但是在加上均值所以像Eve这样用户我们不会把他评分都设定为0。

你可以用Mean Normalization 对数据进行预处理。这样可能会使得算法得到一些改进提高。

你可能感兴趣的:(机器学习,Recommend,System)