推荐系统

本文详细介绍了推荐系统的模型,包括基于内容的推荐系统和协同过滤推荐系统,涉及训练数据集、代价函数、梯度计算和目标函数。通过梯度下降法进行参数估计,并讨论了协同过滤中同时估计电影特征和用户偏好的方法。最后提到了均值归一化处理,以适应新用户评分的预测。
摘要由CSDN通过智能技术生成

推荐系统

1 模型

设电影分为 d d d 个题材,某用户对各个主题的喜好权重为 θ \theta θ,某电影中各主题权重为 x x x,假设该用户对该电影的评分模型为
h θ ( x ) = θ T x h_{\theta}(x) = \theta^{T}x hθ(x)=θTx

其中,
θ = [ θ 0 θ 1 ⋮ θ d ] ∈ R d + 1 , x = [ 1 x ( 1 ) ⋮ x ( d ) ] ∈ R d + 1 \theta = \left[\begin{matrix} \theta_{0} \\ \theta_{1} \\ \vdots \\ \theta_{d}\end{matrix}\right] \in \mathbb{R}^{d+1},\quad x = \left[\begin{matrix} 1 \\ x^{(1)} \\ \vdots \\ x^{(d)} \end{matrix}\right] \in \mathbb{R}^{d+1} θ=θ0θ1θdRd+1,x=1x(1)x(d)Rd+1

矩阵形式:记 n n n 个用户的主题喜好权重矩阵为 Θ \Theta Θ m m m 部电影的主题权重矩阵为 X X X,则
[ h θ 1 ( x 1 ) ⋯ h θ n ( x 1 ) ⋮ ⋱ ⋮ h θ 1 ( x m ) ⋯ h θ n ( x m ) ] = X Θ T \left[\begin{matrix}h_{\theta_{1}}(x_{1}) & \cdots & h_{\theta_{n}}(x_{1}) \\ \vdots & \ddots & \vdots\\h_{\theta_{1}}(x_{m}) & \cdots & h_{\theta_{n}}(x_{m}) \end{matrix} \right] = X\Theta^{T} hθ1(x1)hθ1(xm)hθn(x1)hθn(xm)=XΘT

其中,
Θ = [ θ 1 ( 0 ) θ 1 ( 1 ) ⋯ θ 1 ( d ) ⋮ ⋮ ⋱ ⋮ θ n ( 0 ) θ n ( d ) ⋯ θ n ( d ) ] = [ θ 1 T ⋮ θ n T ] ∈ R n × ( d + 1 ) X = [ 1 x 1 ( 1 ) ⋯ x 1 ( d ) ⋮ ⋮ ⋱ ⋮ 1 x m ( 1 ) ⋯ x m ( d ) ] = [ x 1 T ⋮ x m T ] ∈ R m × ( d + 1 ) \begin{aligned} \Theta &= \left[\begin{matrix} \theta_{1}^{(0)} & \theta_{1}^{(1)} & \cdots & \theta_{1}^{(d)} \\ \vdots &\vdots &\ddots & \vdots \\ \theta_{n}^{(0)} & \theta_{n}^{(d)} & \cdots & \theta_{n}^{(d)} \\ \end{matrix}\right] = \left[\begin{matrix} \theta_{1}^{T} \\ \vdots \\ \theta_{n}^{T} \end{matrix}\right] \in \mathbb{R}^{n\times(d+1)}\\\\ X &= \left[\begin{matrix} 1 & x_{1}^{(1)} & \cdots & x_{1}^{(d)} \\ \vdots &\vdots &\ddots & \vdots \\ 1 & x_{m}^{(1)} & \cdots & x_{m}^{(d)} \\ \end{matrix}\right] = \left[\begin{matrix} x_{1}^{T} \\ \vdots \\ x_{m}^{T} \end{matrix}\right] \in \mathbb{R}^{m\times(d+1)}\\ \end{aligned} ΘX=θ1(0)θn(0)θ1(1)θn(d)θ1(d)θn(d)=θ1TθnTRn×(d+1)=11x1(1)xm(1)x1(d)xm(d)=x1TxmTRm×(d+1)

2 基于内容的推荐系统 (给定 x 1 , … , x m x_{1},\dots,x_{m} x1,,xm , 估计 θ 1 , ⋯   , θ n \theta_{1},\cdots,\theta_{n} θ1,,θn)

2.1 训练数据集

  • 用户 j j j (共 n n n 个) 对电影 i i i (共 m m m 个) 的评分 (可能为 n u l l null null )

Y = [ y 1 ( 1 ) ⋯ y 1 ( n ) ⋮ ⋱ ⋮ y m ( 1 ) ⋯ y m ( n ) ] Y = \left[\begin{matrix} y_{1}^{(1)} &\cdots & y_{1}^{(n)}\\ \vdots &\ddots &\vdots \\ y_{m}^{(1)} & \cdots &y_{m}^{(n)}\end{matrix}\right] Y=y1(1)ym(1)y1(n)ym(n)

  • 各个题材 ( d d d 个) 在电影 i i i (共 m m m 个) 中的特征权重

X = [ 1 x 1 ( 1 ) ⋯ x 1 ( d ) ⋮ ⋮ ⋱ ⋮ 1 x m ( 1 ) ⋯ x m ( d ) ] = [ x 1 T ⋮ x m T ] X = \left[\begin{matrix} 1 & x_{1}^{(1)} & \cdots & x_{1}^{(d)} \\ \vdots &\vdots &\ddots & \vdots \\ 1 & x_{m}^{(1)} & \cdots & x_{m}^{(d)} \\ \end{matrix}\right] = \left[\begin{matrix} x_{1}^{T} \\ \vdots \\ x_{m}^{T} \end{matrix}\right] X=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值