每天五分钟机器学习:均值归一化技术可以构建更好的推荐系统

时间:2019-08-29 来源:www.chemyn.com

  2019 昊明有态度

  本文重点

  现在有一个问题,假如电影网站新增加了一个用户,此时该用户没有为任何电影打过分数,那么电影网站应该如何来为他推荐电影呢?此时可以使用均值归一化的方式来进行初始化的操作。

  数据集

  

  新增加一个用户五

  没有归一化出现的问题

  现在数据已经有了,我们对其进行学习,我们的优化目标为:

  

  优化目标

  这是整体的优化目标,如果从用户五的角度来说,如果我们要学习θ(5),因为第五个人对电影的评分都是?,所以r(i,j)≠1,而且因为我们要学习θ所以此时的x为常数,所以,我们此时的优化目标变成了:

  

  此时最小化这一项,那么可以得到Θ(5)=[0,0],然后我们可以发现使用这个参数θ进行预测的时候,所有的未知样本的预测评分都是0。当把所有的电影都预测是0的时候,我们根本不知道它喜欢什么电影,所以我们没有办法推荐给该用户电影。为了解决这个问题,我们需要使用均值归一化的方式来处理一下数据。

  均值归一化

  

  评分矩阵

  现在进行均值归一化,要做的就是给每部电影的评分求均值(?不相加而且也不算个数被除):

  

  每部电影的均值

  然后把所有的电影的评分都减去平均评分:

  

  这个新矩阵Y的平均分都是0,然后我们利用这个新的 Y 矩阵来使用协同过滤算法,这样我们就能得到参数θ和特征变量x,此时我们就可以对未知电影的评分进行预测了。

  {!-- PGC_COLUMN --}

  但是因为我们对数据集减去了均值,所以为了给电影i预测评分,我们要把这个均值μi加回来,这样我们最终的预测值:

  

  针对第五个用户来说,因为它没有对所有的电影进行评分,那么它得到的参数θ仍然是[0,0],但此时我们对电影的评分的预测就不是0了,而是0+μi(平均分),也就是说如果一个用户对电影没有评过分的话,那么我们就预测它对电影的评分为均值。

  均值归一化技术可以构建更好的推荐系统16.6

  本文重点

  现在有一个问题,假如电影网站新增加了一个用户,此时该用户没有为任何电影打过分数,那么电影网站应该如何来为他推荐电影呢?此时可以使用均值归一化的方式来进行初始化的操作。

  数据集

  

  新增加一个用户五

  没有归一化出现的问题

  现在数据已经有了,我们对其进行学习,我们的优化目标为:

  

  优化目标

  这是整体的优化目标,如果从用户五的角度来说,如果我们要学习θ(5),因为第五个人对电影的评分都是?,所以r(i,j)≠1,而且因为我们要学习θ所以此时的x为常数,所以,我们此时的优化目标变成了:

  

  此时最小化这一项,那么可以得到Θ(5)=[0,0],然后我们可以发现使用这个参数θ进行预测的时候,所有的未知样本的预测评分都是0。当把所有的电影都预测是0的时候,我们根本不知道它喜欢什么电影,所以我们没有办法推荐给该用户电影。为了解决这个问题,我们需要使用均值归一化的方式来处理一下数据。

  均值归一化

  

  评分矩阵

  现在进行均值归一化,要做的就是给每部电影的评分求均值(?不相加而且也不算个数被除):

  

  每部电影的均值

  然后把所有的电影的评分都减去平均评分:

  

  这个新矩阵Y的平均分都是0,然后我们利用这个新的 Y 矩阵来使用协同过滤算法,这样我们就能得到参数θ和特征变量x,此时我们就可以对未知电影的评分进行预测了。

  {!-- PGC_COLUMN --}

  但是因为我们对数据集减去了均值,所以为了给电影i预测评分,我们要把这个均值μi加回来,这样我们最终的预测值:

  

  针对第五个用户来说,因为它没有对所有的电影进行评分,那么它得到的参数θ仍然是[0,0],但此时我们对电影的评分的预测就不是0了,而是0+μi(平均分),也就是说如果一个用户对电影没有评过分的话,那么我们就预测它对电影的评分为均值。

  均值归一化技术可以构建更好的推荐系统16.6