14-Recommender Systems

1 - Problem Formulation 推荐系统

电影推荐:

  • nu= 用户数量
  • nm= 电影数量
  • r(i,j)=1 用户 j 对电影 i 进行了评价
  • y(i,j)= 用户 j 对电影 i 的评分(仅当 r(i,j)=1 时才存在)

2 - Content Based Recommendations 基于内容推荐

content based recommendation

2.1 Problem formulation:
  • r(i,j) 用户 j 对电影 i 进行了评价
  • y(i,j) 用户 j 对电影 i 的评分(仅当 r(i,j)=1 时才存在)
  • θ(j) 用户 j 的参数向量
  • x(i) 电影 i 的特征向量
  • m(j) 用户 j 评了分的电影数量

已知电影特征 x(i) ,现在需要学习出每个用户的喜好特征 θ(j) ,用于估计用户对没看过电影的评分 y(i,j)=(θ(j))T(x(i))

2.2 优化目标

optimization

2.3 优化算法

optimization algorithm

2.4 算法总结

  • 已知条件:
    • 每个电影的属性参数 X ,其中 X(i,:) 表示第 i 个电影的属性,此时假设共有 100 个不同的属性特征,即 X(i,:) 为长度100的向量。
    • 用户 j 的评分数据 Y(:,j)(只含评了分的电影,未评分的排除在外)
  • 求解目标:根据用户 j 对部分电影的评分,结合这些电影的属性特征X,推断出用户 j 对各类型电影的喜爱程度(即得出参数 Theta(j,:) ),进而估计用户对未观看电影的喜爱程度(即通过 y=XTheta 估计评分)。

  • 算法总结:

    • 本质上是 linear regression已知所有电影的各种属性特征,通过用户的现有评分数据推断用户对新电影的评分。
    • 各个用户之间互相独立:估算用户对电影的评分只使用了当前用户的数据,并没有结合其他用户的评分数据。
  • 实现代码: (注意循环嵌套顺序 jkm

第 j 个用户对第 k 种类型的电影的喜爱程度(对所有电影进行遍历):

Theta_grad(j,k) = (X* Theta(j,:)' - Y(:,j))' * X(:,k)

第 j 个用户对各类电影的喜爱程度(对电影所有特性进行遍历):

Theta_grad(j,:) = (X* Theta(j,:)' - Y(:,j))' * X(:,:)

所有用户的偏好参数(对所有用户进行遍历):

Theta_grad = (X * Theta' - Y)' * X

最后考虑到有些电影没有评分:

Theta_grad = ((X * Theta' - Y).*R)' * X

3 - Collaborative Filtering 协同过滤

3.1 算法思想

与基于内容推荐不同,我们可能实现不知道电影的特征,而只知道用户的个人喜好特征,那么:
collaborative filtering

3.2 算法实现

与基于内容推荐类似,下面分析算法的理解思路。

  • 已知条件:

    • 用户 j 对各种类型电影的喜爱程度,其中 Theta(j,:) 表示用户 j 对各种类型的电影的喜爱程度
    • 电影 i 的评分数据 Y(i,:)(只含评了分的用户的数据,未评分的排除在外)
  • 算法目标: 根据 电影 i 的现有评分数据 , 结合所有用户对各类型电影的喜爱程度 Theta,估计电影 i 的属性特征(即得出参数 X(i.:)

  • 算法总结:

    • 本质上是 linear regression,已知所有用户对各类型电影的喜爱程度,通过电影的现有评分数据得出电影的属性参数。
    • 各个电影之间相互独立,在计算电影的属性参数时并没有考虑其他电影的分类信息
  • 实现代码:

第 i 个电影属于第 k 种类型的程度:(对所有用户进行遍历)

X_grad(i,k) = (X(i,:)*Theta' - Y(i,:)) * Theta(:,k)

第 i 个电影在各类型属性的参数特征:*(对所有电影分类进行遍历)

X_grad(i,:) = (X(i,:)*Theta' - Y(i,:)) * Theta

所有电影的属性特征:(对所有电影进行遍历)

X_grad = (X*Theta' - Y) * Theta

考虑有的用户对某些电影没有评分:

X_grad = R.*(X*Theta' - Y) * Theta

4 - Collaborative Filtering Algorithm 协同过滤算法

优化目标:
optimization objective

算法步骤:
algorithm steps

5 - Vectorization Low Rank Matrix Factorization 矩阵低秩分解的向量化实现

vectorization
寻找最相似的电影: smallx(i)x(j) i 与 j 最相似

6 - Implementational Detail Mean Normalization

如何处理那些没有对任何电影进行评分的用户:

  • 如果用之前的方法计算,会得出 θ=0 ,进而估计出来的评分都为0
    mean normalization

  • Mean Normalzization:
    mean normalizaion

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 知识图谱推荐系统调查 知识图谱推荐系统是一种基于知识图谱的推荐系统,它利用知识图谱中的实体、属性和关系来推荐物品。该系统可以通过分析用户的兴趣、行为和偏好来生成个性化推荐。知识图谱推荐系统可以应用于各种领域,如电子商务、社交网络和文本推荐等。目前,该领域的研究重点包括知识图谱的构建、推荐算法的设计和评估方法的研究等。 ### 回答2: 知识图谱推荐系统是一种依靠知识图谱构建的推荐系统,它不仅考虑用户的历史行为和个人喜好,还考虑了物品的属性、关系和语义信息。近年来,知识图谱推荐系统在学术和工业界都受到了广泛关注和研究。 在知识图谱推荐系统中,建立知识图谱是关键步骤之一。知识图谱通常由实体和关系构成,实体可以是物品或用户,关系则可以是它们之间的交互行为、属性描述等。实体和关系之间的语义信息可以通过数据挖掘和自然语言处理等技术自动构建,也可以手工添加和维护。知识图谱的构建,需要结合业务场景和领域知识,通过不断迭代和优化,以获得更好的推荐效果和用户满意度。 知识图谱推荐系统的核心算法是基于知识图谱的推荐算法,主要包括基于图的推荐算法、基于规则的推荐算法、基于深度学习的推荐算法等。这些算法的基本思想是通过利用知识图谱的结构信息和语义信息,对用户和物品进行匹配和推荐,以提高推荐的准确性和个性化水平。 知识图谱推荐系统的应用场景非常广泛,包括电商推荐、新闻推荐、社交网络推荐等。知识图谱推荐系统可以更好地利用物品之间的关联和用户之间的交互,同时可以结合人类的知识和专业判断,提高推荐的可解释性和可靠性。 未来,随着人工智能和大数据技术的不断发展,知识图谱推荐系统将会得到更广泛的应用和深入的研究,同时也面临着更多的挑战,如数据隐私和安全问题、知识图谱的动态维护和更新问题等。要开展更深入的研究和解决这些问题,需要结合各种学科和技术手段,以推动知识图谱推荐系统的发展和应用。 ### 回答3: 知识图谱是一种用来描述各种实体以及它们之间关系的图形化表示工具,近年来,知识图谱被广泛应用于推荐系统中。知识图谱推荐系统在推荐过程中利用知识图谱中的实体和关系信息,可以有效地改进推荐结果的质量和效率。 针对知识图谱推荐系统的开发和应用,近年来已经涌现出了各种基于知识图谱的推荐算法和框架。例如,基于图注意力机制的知识图谱推荐系统可以通过考虑实体之间的直接和间接关系,生成更准确的推荐结果。还有一些基于深度学习的知识图谱推荐算法,如基于RNN的节点属性与图结构编码的方案,已经被证明在准确性和效率方面都有很高的表现。 此外,还有许多研究集中于知识图谱推荐系统的实际应用。例如,在电影推荐领域,研究表明基于知识图谱的推荐系统能够更准确地预测用户对电影的评价和偏好。在旅游推荐领域,基于知识图谱的推荐系统能够根据用户的兴趣和偏好,为用户提供更加个性化的旅游线路规划。 然而,知识图谱推荐系统仍然面临着许多挑战和问题。例如,在实践中,如何有效地构建和管理知识图谱、如何应对数据稀疏性和冷启动等问题,都需要进一步研究和解决。此外,在知识图谱推荐系统中,如何解释预测结果以及保障数据的隐私性等问题也需要考虑。 总之,基于知识图谱的推荐系统是一个具有广泛研究和应用前景的领域。未来的工作应该更加注重实际应用,并进一步解决相关的技术问题,以提高系统的性能和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值