导航:首页 > 净水问答 > 协同过滤推荐算法预测评分公式

协同过滤推荐算法预测评分公式

发布时间:2022-06-30 12:59:48

Ⅰ https://.baidu.com/question/2270990967816553188.html

整理一下自己的理解。
对于一个users-procts-rating的评分数据集,ALS会建立一个user*proct的m*n的矩阵
其中,m为users的数量,n为procts的数量
但是在这个数据集中,并不是每个用户都对每个产品进行过评分,所以这个矩阵往往是稀疏的,用户i对产品j的评分往往是空的
ALS所做的事情就是将这个稀疏矩阵通过一定的规律填满,这样就可以从矩阵中得到任意一个user对任意一个proct的评分,ALS填充的评分项也称为用户i对产品j的预测得分
所以说,ALS算法的核心就是通过什么样子的规律来填满(预测)这个稀疏矩阵
它是这么做的:
假设m*n的评分矩阵R,可以被近似分解成U*(V)T
U为m*d的用户特征向量矩阵
V为n*d的产品特征向量矩阵((V)T代表V的转置,原谅我不会打转置这个符号。。)
d为user/proct的特征值的数量

关于d这个值的理解,大概可以是这样的
对于每个产品,可以从d个角度进行评价,以电影为例,可以从主演,导演,特效,剧情4个角度来评价一部电影,那么d就等于4
可以认为,每部电影在这4个角度上都有一个固定的基准评分值
例如《末日崩塌》这部电影是一个产品,它的特征向量是由d个特征值组成的
d=4,有4个特征值,分别是主演,导演,特效,剧情
每个特征值的基准评分值分别为(满分为1.0):
主演:0.9(大光头还是那么霸气)
导演:0.7
特效:0.8
剧情:0.6
矩阵V由n个proct*d个特征值组成

对于矩阵U,假设对于任意的用户A,该用户对一部电影的综合评分和电影的特征值存在一定的线性关系,即电影的综合评分=(a1*d1+a2*d2+a3*d3+a4*d4)
其中a1-4为用户A的特征值,d1-4为之前所说的电影的特征值
参考:
协同过滤中的矩阵分解算法研究

那么对于之前ALS算法的这个假设
m*n的评分矩阵R,可以被近似分解成U*(V)T
就是成立的,某个用户对某个产品的评分可以通过矩阵U某行和矩阵V(转置)的某列相乘得到

那么现在的问题是,如何确定用户和产品的特征值?(之前仅仅是举例子,实际中这两个都是未知的变量)
采用的是交替的最小二乘法
在上面的公式中,a表示评分数据集中用户i对产品j的真实评分,另外一部分表示用户i的特征向量(转置)*产品j的特征向量(这里可以得到预测的i对j的评分)在上面的公式中,a表示评分数据集中用户i对产品j的真实评分,另外一部分表示用户i的特征向量(转置)*产品j的特征向量(这里可以得到预测的i对j的评分)
用真实评分减去预测评分然后求平方,对下一个用户,下一个产品进行相同的计算,将所有结果累加起来(其中,数据集构成的矩阵是存在大量的空打分,并没有实际的评分,解决的方法是就只看对已知打分的项)
参考:
ALS 在 Spark MLlib 中的实现
但是这里之前问题还是存在,就是用户和产品的特征向量都是未知的,这个式子存在两个未知变量

解决的办法是交替的最小二乘法
首先对于上面的公式,以下面的形式显示:
为了防止过度拟合,加上正则化参数为了防止过度拟合,加上正则化参数
首先用一个小于1的随机数初始化V首先用一个小于1的随机数初始化V
根据公式(4)求U
此时就可以得到初始的UV矩阵了,计算上面说过的差平方和
根据计算得到的U和公式(5),重新计算并覆盖V,计算差平方和
反复进行以上两步的计算,直到差平方和小于一个预设的数,或者迭代次数满足要求则停止
取得最新的UV矩阵
则原本的稀疏矩阵R就可以用R=U(V)T来表示了
以上公式内容截图来自:
基于矩阵分解的协同过滤算法

总结一下:
ALS算法的核心就是将稀疏评分矩阵分解为用户特征向量矩阵和产品特征向量矩阵的乘积
交替使用最小二乘法逐步计算用户/产品特征向量,使得差平方和最小
通过用户/产品特征向量的矩阵来预测某个用户对某个产品的评分

不知道是不是理解正确了
有几个问题想请教一下~

Ⅱ 个性化推荐算法——协同过滤

有三种:协同过滤
用户历史行为
物品相似矩阵

Ⅲ 如何用R实现协同过滤的MapRece算法

基于协同过滤的推荐算法理论上可以推荐世界上的任何一种东西。图片、音乐、样样可以。 协同过滤算法主要是通过对未评分项进行评分 预测来实现的

Ⅳ 协同过滤的算法简介

电子商务推荐系统的一种主要算法。
协同过滤推荐(Collaborative Filtering recommendation)是在信息过滤和信息系统中正迅速成为一项很受欢迎的技术。与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测。
与传统文本过滤相比,协同过滤有下列优点:
(1)能够过滤难以进行机器自动基于内容分析的信息。如艺术品、音乐;
(2)能够基于一些复杂的,难以表达的概念(信息质量、品位)进行过滤;
(3)推荐的新颖性。
正因为如此,协同过滤在商业应用上也取得了不错的成绩。Amazon,CDNow,MovieFinder,都采用了协同过滤的技术来提高服务质量。
缺点是:
(1)用户对商品的评价非常稀疏,这样基于用户的评价所得到的用户间的相似性可能不准确(即稀疏性问题);
(2)随着用户和商品的增多,系统的性能会越来越低;
(3)如果从来没有用户对某一商品加以评价,则这个商品就不可能被推荐(即最初评价问题)。
因此,现在的电子商务推荐系统都采用了几种技术相结合的推荐技术。
案例: AMAZON个性化推荐系统先驱 (基于协同过滤)
AMAZON是一个虚拟的网上书店,它没有自己的店面,而是在网上进行在线销售。它提供了高质量的综合节目数据库和检索系统,用户可以在网上查询有关图书的信息。如果用户需要购买的话,可以把选择的书放在虚拟购书篮中,最后查看购书篮中的商品,选择合适的服务方式并且提交订单,这样读者所选购的书在几天后就可以送到家。
AMAZON书店还提供先进的个性化推荐功能,能为不同兴趣偏好的用户自动推荐尽量符合其兴趣需要的书籍。 AMAZON使用推荐软件对读者曾经购买过的书以及该读者对其他书的评价进行分析后,将向读者推荐他可能喜欢的新书,只要鼠标点一下,就可以买到该书;AMAZON能对顾客购买过的东西进行自动分析,然后因人而异的提出合适的建议。读者的信息将被再次保存,这样顾客下次来时就能更容易的买到想要的书。此外,完善的售后服务也是AMAZON的优势,读者可以在拿到书籍的30天内,将完好无损的书和音乐光盘退回AMAZON,AMAZON将原价退款。当然AMAZON的成功还不止于此,如果一位顾客在AMAZON购买一本书,下次他再次访问时,映入眼帘的首先是这位顾客的名字和欢迎的字样。

Ⅳ 基于用户的的协同过滤算法怎样算准确率

协同过滤(Collaborative Filtering)的基本概念就是把这种推荐方式变成自动化的流程

协同过滤主要是以属性或内兴趣相近的用户经验容与建议作为提供个性化推荐的基础。透过协同过滤,有助于搜集具有类似偏好或属性的用户,并将其意见提供给同一集群中的用户作为参考,以满足人们通常在决策之前参考他人意见的心态。

本人认为,协同过滤技术应包括如下几方面:(1)一种比对和搜集每个用户兴趣偏好的过程;(2)它需要许多用户的信息去预测个人的兴趣偏好;(3)通过对用户之间兴趣偏好相关程度的统计去发展建议那些有相同兴趣偏好的用户。

Ⅵ 推荐算法的基于协同过滤的推荐

基于协同过滤的推荐算法理论上可以推荐世界上的任何一种东西。图片、音乐、样样可以。 协同过滤算法主要是通过对未评分项进行评分 预测来实现的。不同的协同过滤之间也有很大的不同。
基于用户的协同过滤算法: 基于一个这样的假设“跟你喜好相似的人喜欢的东西你也很有可能喜欢。”所以基于用户的协同过滤主要的任务就是找出用户的最近邻居,从而根据最近邻 居的喜好做出未知项的评分预测。这种算法主要分为3个步骤:
一,用户评分。可以分为显性评分和隐形评分两种。显性评分就是直接给项目评分(例如给网络里的用户评分),隐形评分就是通过评价或是购买的行为给项目评分 (例如在有啊购买了什么东西)。
二,寻找最近邻居。这一步就是寻找与你距离最近的用户,测算距离一般采用以下三种算法:1.皮尔森相关系数。2.余弦相似性。3调整余弦相似性。调整余弦 相似性似乎效果会好一些。
三,推荐。产生了最近邻居集合后,就根据这个集合对未知项进行评分预测。把评分最高的N个项推荐给用户。 这种算法存在性能上的瓶颈,当用户数越来越多的时候,寻找最近邻居的复杂度也会大幅度的增长。
因而这种算法无法满足及时推荐的要求。基于项的协同过滤解决了这个问题。 基于项的协同过滤算法 根基于用户的算法相似,只不过第二步改为计算项之间的相似度。由于项之间的相似度比较稳定可以在线下进行,所以解决了基于用户的协同过滤算法存在的性能瓶颈。

Ⅶ 协同过滤的算法细分

这是最早应用协同过滤系统的设计,主要是解决Xerox公司在 Alto的研究中心资讯过载的问题。这个研究中心的员工每天会收到非常多的电子邮件却无从筛选分类,于是研究中心便发展这项实验性的邮件系统来帮助员工解决这项问题。 其运作机制大致如下:
个人决定自己的感兴趣的邮件类型;个人旋即随机发出一项资讯需求,可预测的结果是会收到非常多相关的文件;从这些文件中个人选出至少三笔资料是其认为有用、会想要看的;系统便将之记录起来成为个人邮件系统内的过滤器,从此以后经过过滤的文件会最先送达信箱;以上是协同过滤最早的应用,接下来的里程碑为GroupLens。 这个系统主要是应用在新闻的筛选上,帮助新闻的阅听者过滤其感兴趣的新闻内容,阅听者看过内容后给一个评比的分数,系统会将分数记录起来以备未来参考之用,假设前提是阅听者以前感兴趣的东西在未来也会有兴趣阅听,若阅听者不愿揭露自己的身分也可以匿名进行评分。 和Tapestry不同之处有两点,首先,Tapestry专指一个点(如一个网站内、一个系统内)的过滤机制;GroupLens则是跨点跨系统的新闻过滤机制。再来,Tapestry不会将同一笔资料的评比总和起来;GroupLens会将同一笔资料从不同使用者得到的评比加总。
GroupLens具有以下特点:开放性:所有的新闻阅听者皆可使用,虽然系统委托Better Bit Bureau设计给分的系统,但若有不同的评分机制也适用于GroupLens。方便性:给分并不是一件困难的事情且沟通上非常方便,评分结果容易诠释。规模性:有可能发展成大规模的系统,一旦发展成大规模,储存空间与计算成本问题显得相当棘手。隐密性:如果使用者不想让别人知道他是谁,别人就不会知道。由此可以看出,现今网络各个推荐系统的雏形已然形成,在GroupLens之后还有性质相近的MovieLens,电影推荐系统;Ringo,音乐推荐系统;Video Recommender,影音推荐系统;以及Jster,笑话推荐系统等等。乃至于今日的YouTube、aNobii皆是相似性值得网络推荐平台,较不同的是经过时间推移,网络越来越发达,使用者越来越多,系统也发展得越来越严密。 最著名的电子商务推荐系统应属亚马逊网络书店,顾客选择一本自己感兴趣的书籍,马上会在底下看到一行“Customer Who Bought This Item Also Bought”,亚马逊是在“对同样一本书有兴趣的读者们兴趣在某种程度上相近”的假设前提下提供这样的推荐,此举也成为亚马逊网络书店为人所津津乐道的一项服务,各网络书店也跟进做这样的推荐服务如台湾的博客来网络书店。 另外一个著名的例子是Facebook的广告,系统根据个人资料、周遭朋友感兴趣的广告等等对个人提供广告推销,也是一项协同过滤重要的里程碑,和前二者Tapestry、GroupLens不同的是在这里虽然商业气息浓厚同时还是带给使用者很大的方便。 以上为三项协同过滤发展上重要的里程碑,从早期单一系统内的邮件、文件过滤,到跨系统的新闻、电影、音乐过滤,乃至于今日横行互联网的电子商务,虽然目的不太相同,但带给使用者的方便是大家都不能否定的。

Ⅷ 矩阵分解在协同过滤推荐算法中的应用

矩阵分解在协同过滤推荐算法中的应用
推荐系统是当下越来越热的一个研究问题,无论在学术界还是在工业界都有很多优秀的人才参与其中。近几年举办的推荐系统比赛更是一次又一次地把推荐系统的研究推向了高潮,比如几年前的Neflix百万大奖赛,KDD CUP 2011的音乐推荐比赛,去年的网络电影推荐竞赛,还有最近的阿里巴巴大数据竞赛。这些比赛对推荐系统的发展都起到了很大的推动作用,使我们有机会接触到真实的工业界数据。我们利用这些数据可以更好地学习掌握推荐系统,这些数据网上很多,大家可以到网上下载。
推荐系统在工业领域中取得了巨大的成功,尤其是在电子商务中。很多电子商务网站利用推荐系统来提高销售收入,推荐系统为Amazon网站每年带来30%的销售收入。推荐系统在不同网站上应用的方式不同,这个不是本文的重点,如果感兴趣可以阅读《推荐系统实践》(人民邮电出版社,项亮)第一章内容。下面进入主题。
为了方便介绍,假设推荐系统中有用户集合有6个用户,即U={u1,u2,u3,u4,u5,u6},项目(物品)集合有7个项目,即V={v1,v2,v3,v4,v5,v6,v7},用户对项目的评分结合为R,用户对项目的评分范围是[0, 5]。R具体表示如下:

推荐系统的目标就是预测出符号“?”对应位置的分值。推荐系统基于这样一个假设:用户对项目的打分越高,表明用户越喜欢。因此,预测出用户对未评分项目的评分后,根据分值大小排序,把分值高的项目推荐给用户。怎么预测这些评分呢,方法大体上可以分为基于内容的推荐、协同过滤推荐和混合推荐三类,协同过滤算法进一步划分又可分为基于基于内存的推荐(memory-based)和基于模型的推荐(model-based),本文介绍的矩阵分解算法属于基于模型的推荐。
矩阵分解算法的数学理论基础是矩阵的行列变换。在《线性代数》中,我们知道矩阵A进行行变换相当于A左乘一个矩阵,矩阵A进行列变换等价于矩阵A右乘一个矩阵,因此矩阵A可以表示为A=PEQ=PQ(E是标准阵)。
矩阵分解目标就是把用户-项目评分矩阵R分解成用户因子矩阵和项目因子矩阵乘的形式,即R=UV,这里R是n×m, n =6, m =7,U是n×k,V是k×m。直观地表示如下:

高维的用户-项目评分矩阵分解成为两个低维的用户因子矩阵和项目因子矩阵,因此矩阵分解和PCA不同,不是为了降维。用户i对项目j的评分r_ij =innerproct(u_i, v_j),更一般的情况是r_ij =f(U_i, V_j),这里为了介绍方便就是用u_i和v_j内积的形式。下面介绍评估低维矩阵乘积拟合评分矩阵的方法。
首先假设,用户对项目的真实评分和预测评分之间的差服从高斯分布,基于这一假设,可推导出目标函数如下:

最后得到矩阵分解的目标函数如下:

从最终得到得目标函数可以直观地理解,预测的分值就是尽量逼近真实的已知评分值。有了目标函数之后,下面就开始谈优化方法了,通常的优化方法分为两种:交叉最小二乘法(alternative least squares)和随机梯度下降法(stochastic gradient descent)。
首先介绍交叉最小二乘法,之所以交叉最小二乘法能够应用到这个目标函数主要是因为L对U和V都是凸函数。首先分别对用户因子向量和项目因子向量求偏导,令偏导等于0求驻点,具体解法如下:

上面就是用户因子向量和项目因子向量的更新公式,迭代更新公式即可找到可接受的局部最优解。迭代终止的条件下面会讲到。
接下来讲解随机梯度下降法,这个方法应用的最多。大致思想是让变量沿着目标函数负梯度的方向移动,直到移动到极小值点。直观的表示如下:

其实负梯度的负方向,当函数是凸函数时是函数值减小的方向走;当函数是凹函数时是往函数值增大的方向移动。而矩阵分解的目标函数L是凸函数,因此,通过梯度下降法我们能够得到目标函数L的极小值(理想情况是最小值)。
言归正传,通过上面的讲解,我们可以获取梯度下降算法的因子矩阵更新公式,具体如下:

(3)和(4)中的γ指的是步长,也即是学习速率,它是一个超参数,需要调参确定。对于梯度见(1)和(2)。
下面说下迭代终止的条件。迭代终止的条件有很多种,就目前我了解的主要有
1) 设置一个阈值,当L函数值小于阈值时就停止迭代,不常用
2) 设置一个阈值,当前后两次函数值变化绝对值小于阈值时,停止迭代
3) 设置固定迭代次数
另外还有一个问题,当用户-项目评分矩阵R非常稀疏时,就会出现过拟合(overfitting)的问题,过拟合问题的解决方法就是正则化(regularization)。正则化其实就是在目标函数中加上用户因子向量和项目因子向量的二范数,当然也可以加上一范数。至于加上一范数还是二范数要看具体情况,一范数会使很多因子为0,从而减小模型大小,而二范数则不会它只能使因子接近于0,而不能使其为0,关于这个的介绍可参考论文Regression Shrinkage and Selection via the Lasso。引入正则化项后目标函数变为:

(5)中λ_1和λ_2是指正则项的权重,这两个值可以取一样,具体取值也需要根据数据集调参得到。优化方法和前面一样,只是梯度公式需要更新一下。
矩阵分解算法目前在推荐系统中应用非常广泛,对于使用RMSE作为评价指标的系统尤为明显,因为矩阵分解的目标就是使RMSE取值最小。但矩阵分解有其弱点,就是解释性差,不能很好为推荐结果做出解释。
后面会继续介绍矩阵分解算法的扩展性问题,就是如何加入隐反馈信息,加入时间信息等。

Ⅸ 学IT的,写了一个电影推荐系统,但是为什么评分预测值大于五

全文以“预测电影评分”例子展开

r(i,j)=0则表明user_j没有对movie_i 没有评分,

推荐系统要做的就是通过预测user_j对这些movie {i|r(i,j)=0}的评分来给user_j 推荐其可能会喜欢的电影<预测评分较高的movie>

=======================================二、基于内容的推荐=======================================

对每个movie_i引入特征x(i)=(x1, x2),这种特征可能表明user对movie类型的偏好:浪漫or动作等

对于每个user引入一个参数theta,然后对评分矩阵的每列(对应一个user)做线性回归,数据是{ (x(i), y(i,j)) |r(i,j)=1,for some j all i}

像机器学习一样,x(i)添加个1变量x(i)=(1, x1, x2)

那么对于未评分的movie_t,我们可以使用线性回归训练的参数theta与对应特征x(t)做内积来得到其预测评分

对每个用户都训练一个参数theta_j,优化模型如下:

优化算法:注意正则项是不约束x(i)=(1, x1, x2)中1对应的参数theta的第一项theta0,所以k=0与k=1,2分别对待

=======================================三、协同过滤=======================================

现在换个角度:如果知道theta for all user j,如何来预测x(i) = (x1, x2) all i

仍然可以使用线性回归,为训练每个x(i),需要评分矩阵的第i行数据{ (x(i), y(i,j)) |r(i,j)=1,for some i all j}

theta_j = (0, theta1, theta2) ;theta1=5说明user_j喜欢romance类movie, theta2=5说明user_j喜欢action类movie,只能有一个等于5哦,

我觉得也可以是:theta_j = (0, 4, 1) ;喜欢romance 4 action 1.

对应的优化:

协同过滤:交替优化theta与x

=========================================四、协同过滤算法=======================================

优化:

优化:注意去掉了theta和x的添加项

=========================================五、实现细节补充=======================================

实现细节:

如果有user没有对任何电影评分或者所有评分的电影都是0分,那么所学习到的参数是零向量,

则预测都是0值,这是不合理的。通过 将评分矩阵减去其行均值再进行线性回归来“避免”这种情况

=========================================六、一点思考==========================================

协同过滤那块,同时优化theta、x,这样得到的theta、x还有特定的意义<比如:x是否还表征对影视类型的喜爱与否>没有?

回归中,在x数据上不添加1-feature是不是因为后来引入的平均值化;如果不是,那会对结果有什么影响?

用x-feature来表征一个movie,x-feature的各分量的可解释性;应该会有一部分user应为演员的缘故有一些"偏爱"。

这里,讲的"基于内容的推荐"与"协同过滤"跟以前对这两个词的认识/所指内容不同,查清楚、搞明白。

这周还会再更一篇关于此节课的算法实现,会对上述部分问题做出回答。

Ⅹ http://.baidu.com/question/553808798.html

是要翻译吗?
本文的工作包含以下三个方面:
(1)针对信息用户的社会关系的社会网络,它首先使建模的社交网络,那么它提出的算法节点相似性在社交网络和机器学习方法。在这个算法,它使用信息的节点本身,将计算结果与传统的节点相似度算法和一些辅助数据的特点培训的学习机器,需要在边缘(如果有的话)的模式之间的标签对象,然后使用逻辑回归模型作为训练模型来计算节点的相似性。在计算节点的相似性,这是本文提出的一种算法,节点相似性数据和用户的评分数据来预测用户的得分,这称为用户的信用得分在本文。
(2)针对问题过度时间和空间所面临的职业质量用户推荐系统中协同过滤推荐算法导致的失败使推荐新用户,本文提出一种改进的协同过滤推荐算法,首先构建一个“用户的特征项“得分矩阵,然后解决了矩阵与潜在语义模型,最后,根据解决矩阵和用户的特征数据,预测用户的生长残痕物品通过线性权重,这通常被称为用户的优惠得分在本文。
(3)在计算用户的信用评分和优惠得分,这两个生长残痕需要inosculated以整合一个最终用户的评分在某项与一个合适的方法。这是本文提出的一种算法合并用户的信用评分和优惠得分在学习与机,使用户的信用得分,数量的边的优惠

英语强人团为您解答:
***************************************************
^__^祝你学习进步,如果有疑问,请追问,
如果对你有所帮助,请千万别忘记采纳哟!
***************************************************

阅读全文

与协同过滤推荐算法预测评分公式相关的资料

热点内容
蒸馏白酒剩的米水有用吗 浏览:813
污水调试需要什么 浏览:850
柴胡蒸馏液 浏览:457
小型美的饮水机的价位是多少 浏览:16
好用的中水回用 浏览:408
水龙头过滤垫圈 浏览:236
RO反渗透膜是4040还是4080 浏览:612
印度没药树脂丰胸吗 浏览:159
小米的空气净化器的作用是什么 浏览:654
景区污水处理方案公司 浏览:633
特恩洁ro反渗透膜怎么更换 浏览:496
可宝空气净化器的滤芯如何保养 浏览:55
污水处理厂一般工资多少上海 浏览:119
光敏树脂硬度等级 浏览:351
污水处理产生的有毒气体有哪些 浏览:702
离子交换动力学实验 浏览:565
饮水机插座没电怎么办 浏览:678
养生壶为什么不长水垢 浏览:549
污水处理厂水质超标应急 浏览:427
某城镇污水处理 浏览:284