目录
二、协同过滤算法(Collaborative Filtering Algorithm)
一、推荐系统
1、提出建议
在典型的推荐系统中,有一定数量的用户和一定数量的项目。在这种情况下,目的是给用户推荐可能感兴趣的项目。

假设有一家大型电影流媒体网站,用户可以对电影进行评级。用来表示用户数量,这里
,
表示为项目数,在例子中电影有5部所以
。如果用户
对电影
进行了评分,得到
的值为1,没有进行评分则值为0。如用户Alice对电影1进行了评分,
,但是对电影3没有进行评分,则
,即为是否评分的标签。
则为用户
给电影
的评分,
即为2号用户Bob给3号电影的评分为4分。

添加两个关于电影的特征x1和x2,引入作为表示特征数量的值,
为第i个电影的特征向量。
则预测用户对电影
的评分可以通过以下公式,
![]()
这里的参数和
是用来预测用户 j 对电影 i 的评分的参数,
是电影 i 的特征。
2、制定代价函数

用来表示用户 j 评价的电影数量。
在给定的数据情况下学习参数 和
,制定相关的代价函数。

在只关注用户j的情况下,使用均方误差,即预测值减去真实值,然后平方。选择参数w和b来最小化预测值与实际值之间的平方误差,求平方误差和时,仅对用户实际评分过的项目做求和计算, 最后可以对平方误差和除以
进行归一化计算,末尾加上防止过拟合的正则化项,正则化项中的k=n中n是指电影的特征数量n。事实证明,对于推荐系统,实际消除
会方便,
只是该表达式中的一个常数,最终得到的值不会有影响。最小化这个代价函数会获得一组参数来预测用户 j 对其他电影的评分。

对于所有用户学习参数时,将求出从到
的所有用户的代价函数总和,这成为所有用户学习的所有参数的代价函数。如果使用梯度下降或任何其他优化算法来最小化总的代价函数,就会得到一组参数来预测所有用户对电影的评价。
二、协同过滤算法(Collaborative Filtering Algorithm)
1、定义
协同过滤算法是一种推荐算法,其目的是为用户推荐他们可能感兴趣的物品。该算法使用用户的历史行为和偏好来预测他们对尚未查看或评分的物品的偏好。
协同过滤算法有两种类型:基于用户和基于物品。基于用户的协同过滤算法根据用户之间的相似度来推荐物品。它首先计算用户之间的相似度,并根据这些相似度为每个用户推荐适合他们的物品。基于物品的协同过滤算法是相反的,它根据物品之间的相似度来推荐物品。
协同过滤算法分为两种主要类型:基于用户的协同过滤和基于物品的协同过滤。
1. 基于用户的协同过滤(User-based Collaborative Filtering):
基于用户的协同过滤通过分析用户之间的相似性来进行推荐。算法的核心思想是如果两个用户在过去的行为上有相似之处,那么它们在未来行为上也可能有相似之处。具体步骤如下:
- 计算用户之间的相似度:可以通过计算用户之间的欧几里德距离、余弦相似度、皮尔逊相关度等指标来衡量用户之间的相似程度。
- 找到邻居用户:根据计算得到的相似度,选取与目标用户最相似的一组邻居用户。
- 推荐物品:基于邻居用户的历史行为,预测目标用户对未知物品的喜好程度,并按照一定规则进行推荐。
2. 基于物品的协同过滤(Item-based Collaborative Filtering):
&n

本文围绕推荐系统展开,介绍了协同过滤算法,包括基于用户和基于物品的类型、优缺点及冷启动问题的解决方法。还阐述了二进制标签、均值归一化的定义与应用,给出协同过滤算法的代码实现,并说明了寻找相关特征的常见方法及示例,助力提升推荐准确度。
最低0.47元/天 解锁文章
697

被折叠的 条评论
为什么被折叠?



