基于卡尔曼滤波与矩阵分解的个性化推荐系统研究

文档更新于2022-03-02 19:19|4.5分(高于98%的文档) |123|31




— 1 —一、研究工作情况(可另加附页)项目目标:本项目的研究内容是卡尔曼滤波和矩阵分解在推荐系统中的应用。个性化推荐系统是当下的一个热门研究目标,其核心是推荐算法。本项目通过研究、分析、重现这些算法,找出其中的不足之处。本项目不仅仅局限于卡尔曼滤波,也结合现实,提出了几种新的滤波算法,最终合理地将滤波系统应用到推荐系统中,取得比原模型更好的推荐效果。实际完成情况以及工作进度:本项目完成了既定目标。本项目重现了几种推荐算法,并进行了分析;在矩阵分解的框架下提出了几种合理的滤波方式,对比矩阵分解算法,取得了较好的推荐效果的提升。阶段性成果:1项目简介现如今,随着互联网的普及,我们进入了大数据时代。如何在海量的数据中找到自己想要找的信息就成了一个十分重要的问题。个性化的推荐系统可以很好地解决这样的问题,它基于特定的用户,对信息进行过滤,留下对这个特定用户有用的信息,并进行推荐。矩阵分解作为一个在当下推荐系统中被广泛应用的推荐算法,具有很大的研究价值。本项目详细研究了矩阵分解算法,并合理地将滤波系统引入推荐系统中,改善了推荐效果。2相关工作21推荐系统算法简介推荐系统算法是一种学习用户特征,进而对海量的物品进行过滤,再将该特定用户可能喜欢的物品推荐给用户的学习算法。这里所说的物品,可以有很多含义,只要和用户产生关系,都在我们讨论范围内,如商品,音乐,电影,地点,可以通称为“物品”。本项目研究的是个性化音乐推荐,但是该算法是具有普遍意义的。为了不失一般性,我们在后文中将所有的这些物品统称为“物品”,用户对这些物品的作用,例如听过一次某类型的音乐,称为“作用”。用户可以从推荐系统中获得一些个性化的推荐。推荐系统针对每个用户,对一系列与这个用户有关的物品进行评分,进而将评分高的物品推荐给用户。图1当下流行的音乐推荐推荐系 统的 过滤 算法 大致可 以分 为两 类, 分别是 基于 内容 的过 滤(CBF)和 协同过 滤

— 2 —(CF)。CBF算法使用用户和物品的自身信息来发现每个用户对物品的喜好,而CF仅仅需要知道用户和物品之间的关系就可以做出个性化的推荐。从反馈关系上来分,CF算法可以分为基于显式反馈和基于隐式反馈的算法。前者我们可以知道用户对物品的具体评分,后者我们仅仅知道用户对哪些物品有过一次作用,并不知道用户对这个物品究竟是喜欢还是厌恶。CF算法也可以被分为基于记忆和基于模型的两类,目前为止,基于记忆的CF算法处于研究的前沿。这些邻居模型用用户评分向量和物品评分向量来刻画相似性,用加权过后的用户评分项量和物品评分项量的加权均值来计算最终的评分。在最近几年,基于模型的推荐方法得到了更多的关注,因为它在Netflix Prize的比赛中比基于记忆的方法得到了更好的推荐效果。基于模型的方法通过建立一个普适的模型来计算用户偏好,最成功的模型是隐向量模型。在这种方法中,每个用户和物品有一个代表自己的隐向量,并用用户隐向量与物品隐向量的点积来表示用户对这个物品的偏好。许多不同的矩阵分解算法都被用在做这种推荐上,最广为人知的是基于最小二乘(ALS)或是梯度的坐标下降的方法、共轭梯度方法、单值分解方法,或者是一个概率模型。本项目所采用的正是隐向量模型。22数据集描述本项目的数据集来自KDD Cup,在进行了相应的去噪预处理之后得到了最终的数据集。我们取音乐的类别为“物品”,最终得到的数据集中共有1038个用户,2850个物品,稀疏度为9859%23评价指标描述在本节,我们将详细讨论评价指标的建立,在对相关论文的研究工作中,我们发现了一些问题,并且最后我们将给出解决方法。在推荐系统中,最常用的评价指标是准确率和召回率,这两个指标前者反映了推荐的物品有多少是准确的,而后者则反映了有多少准确的物品被推荐出来了。在推荐系统研究初期,研究者们着重于研究用户和物品的关系,因此给出的评价指标是这样的:其中是用户数,是对特定的用户的个推荐物品,是用户的测试集中实际有记录的物品。这种定义在只有用户信息和物品信息的时候是没有问题的。然而在推荐系统被更深入的研究的时候就出现问题了。在更深入的推荐系统的研究中,研究者往往会加入用户在对物品有记录的时候的其他信息,诸如时间,地点之类的信息,我们把他们成为上下文信息。最常用的上下文信息是时间信息。图2真实数据