推荐系统(一)

Problem Formulation

在介绍推荐系统之前,我们先以电影评分为作为开始。

现假设我们拥有类似豆瓣电影这种对电影评分的平台,有四位用户对五部电影的评分如下:

前三部电影为爱情片,后两部为动作片。从图中,我们可知四位用户对这两种类型电影的评分,其中“?”表示该用户未对相应电影评分。这时,我们希望构建一个推荐系统对这些用户未评分的电影根据用户的喜好模拟评分。

为了更好地介绍推荐系统,我们引入如下标记:

  • nu:表示用户的数量
  • nm:表示电影的数量
  • r(i, j):表示如果用户i对电影j进行过评分,则r(i, j) = 1
  • y^(i, j):表示用户i对电影j的评分
基于内容的推荐系统(Content Based Recommendations)

我们仍以电影评分为例,在该例中我们假设每部电影有两个特征变量,x1表示电影的浪漫程度,x2表示电影的武戏程度。

我们设置一个偏置特征x0 = 1,则我们可以根据之前学过的线性回归构建如下特征向量:

  • x(1) = [1, 0.9, 0]T
  • x(2) = [1, 1, 0]T
  • x(3) = [1, 0.99, 0]T
  • x(4) = [1, 0.1, 1]T
  • x(5) = [1, 0, 0.9]T

除此之外,我们还可以对四位用户根据线性回归模型构建参数向量θ(j)

现我们想要预测用户Alice对第三部电影的评分,假设θ(1) = [0, 5, 0]T,根据线性回归模型的假设函数h(x) = θTx,我们可得h(x) = 4.95。

代价函数

在介绍代价函数J(θ)之前,我们再添加一个标记(仅用于此例):m(j),其表示用户j评过分的电影数量。

我们针对用户j,其线性回归模型的代价函数J(θ)为:

进而推广至所有用户的代价函数为:

如果我们采用梯度下降算法来最小化代价函数J(θ),其数学表达式为:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容