机器学习第十七章——推荐系统

一.预测电影收视率

机器学习第十七章——推荐系统机器学习第十七章——推荐系统

以预测第3部电影第1个用户可能评的分数为例子。

首先我们用 机器学习第十七章——推荐系统 表示爱情浪漫电影类型, 机器学习第十七章——推荐系统 表示动作片类型。上图左表右侧则为每部电影对于这两个分类的相关程度。我们默认 机器学习第十七章——推荐系统 。则第一部电影与两个类型的相关程度可以这样表示: 机器学习第十七章——推荐系统 。然后用 机器学习第十七章——推荐系统 表示第 j 个用户对于该种类电影的评分。这里我们假设已经知道(详情下面再讲) 机器学习第十七章——推荐系统 ,那么我们用 机器学习第十七章——推荐系统 即可计算出测第3部电影第1个用户可能评的分数。这里计算出是4.95。

1. 目标优化

为了对用户 j 打分状况作出最精确的预测,我们需要:

机器学习第十七章——推荐系统

计算出所有的 机器学习第十七章——推荐系统 为:

机器学习第十七章——推荐系统

与前面所学线性回归内容的思路一致,为了计算出 机器学习第十七章——推荐系统,使用梯度下降法来更新参数:

更新偏置(插值):

机器学习第十七章——推荐系统

更新权重:

机器学习第十七章——推荐系统


二.协同过滤

前提是我们知道了 机器学习第十七章——推荐系统 也就是每个用户对于各个电影类型的喜爱程度。那么我们就可以根据各个用户对各部电影的评分= 机器学习第十七章——推荐系统 反推出 机器学习第十七章——推荐系统 。

1. 目标优化

当用户给出他们喜欢的类型,即 机器学习第十七章——推荐系统 ,我们可以由下列式子得出 机器学习第十七章——推荐系统 :

机器学习第十七章——推荐系统

可出所有的 x 则为:

机器学习第十七章——推荐系统

只要我们得到 机器学习第十七章——推荐系统 或者 x ,都能互相推导出来。

协同过滤算法基本思想就是当我们得到其中一个数据的时候,我们推导出另一个,然后根据推导出来的再推导回去进行优化,优化后再继续推导继续优化,如此循环协同推导。

2. 协同过滤的目标优化

  1. 推测用户喜好:给定机器学习第十七章——推荐系统 ,估计机器学习第十七章——推荐系统 :机器学习第十七章——推荐系统
  2. 推测商品内容:给定机器学习第十七章——推荐系统 ,估计机器学习第十七章——推荐系统 :机器学习第十七章——推荐系统
  3. 协同过滤:同时优化机器学习第十七章——推荐系统 ,估计机器学习第十七章——推荐系统机器学习第十七章——推荐系统

即:

机器学习第十七章——推荐系统

因为正则化的原因在这里面不再有之前的 机器学习第十七章——推荐系统,机器学习第十七章——推荐系统 。

3. 协同过滤算法的步骤为:

  1. 随机初始化机器学习第十七章——推荐系统为一些较小值,与神经网络的参数初始化类似,为避免系统陷入僵死状态,不使用 0 值初始化。
  2. 通过梯度下降的算法计算出机器学习第十七章——推荐系统,参数更新式为:机器学习第十七章——推荐系统机器学习第十七章——推荐系统
  3. 如果用户的偏好向量为机器学习第十七章——推荐系统,而商品的特征向量为 x ,则可以预测用户评价为 机器学习第十七章——推荐系统 。

因为协同过滤算法 机器学习第十七章——推荐系统 和 x 相互影响,因此,二者都没必要使用偏置 机器学习第十七章——推荐系统 和 机器学习第十七章——推荐系统,即,机器学习第十七章——推荐系统、 机器学习第十七章——推荐系统 。


三.  低秩矩阵分解

1. 向量化

机器学习第十七章——推荐系统

还是以电影评分为例子。首先我们将用户的评分写成一个矩阵 Y 。

机器学习第十七章——推荐系统机器学习第十七章——推荐系统

更为详细的表达如上图所示。矩阵 Y 可表示为 机器学习第十七章——推荐系统 。这个算法也叫低秩矩阵分解(Low Rank Matric Factorization)。

2. 均值标准化 Mean Normalization

机器学习第十七章——推荐系统

 

当有一个用户什么电影都没有看过的话,我们用 机器学习第十七章——推荐系统 计算最后得到的结果全部都是一样的,并不能很好地推荐哪一部电影给他。

机器学习第十七章——推荐系统

均值归一化要做的就是先计算每一行的平均值,再将每一个数据减去该行的平均值,得出一个新的评分矩阵。然后根据这个矩阵拟合出 机器学习第十七章——推荐系统 ,最后的衡量结果加上平均值,即: 机器学习第十七章——推荐系统 。而该 机器学习第十七章——推荐系统 就作为之前什么都没有的一个权值进行推荐。

实际意义上来说,就是因为最后一人没有评分,所以将他的评分值赋予了其他人的均值。