<>1.基于行为的协同过滤

该算法分为基于用户的协同推荐和基于项目的协同推荐。基于用户的协同过滤,将目标用户对项目的历史评价与其他用户匹配,找到相似用户,再将相似用户感兴趣的项目推荐给目标用户。基于项目的协同过滤是指利用项目间的相似性,而非用户间的相似性来计算预测值,从而实施推荐。

<>协同过滤流程:

依据行为记录挖掘用户偏好特征,构建用户画像;然后根据评分数据集进
行相似度计算为用户或项目寻找最近邻集合;再根据最近邻集合,预测用户对项目的评分,设置一个阈值或是直接取前几项,构建候选推荐集;实施推荐。
基于用户的推荐算法和基于项目的推荐算法都涉及到用户-项目或项目-项目之间的相
似度的计算,常用的方法有欧氏距离、相关系数、余弦相似度等,也有学者在这几种方法上进行了系数和权值改进。经典的评分预测是使用KNN法:

表示用户a对项目p 的评分。其中分母是对与用户a最相似的N 个用户的相似度值求和, r<b,p>
是指用户b对项目p的评分,r是指用户b对所有项目的评分均值.

<>缺点

存在数据稀疏和冷启动问题
①数据稀疏:不同用户的行为交集还是非常小。如 果考虑将用户与项目之间已存在的行为关系占系统全部可存在的行为关系的比重来预估稀疏
性,那么据统计,Movielens数据集的稀疏度是4.5%,Netflix是1.2%,需要说明的是这就已 经算非常密的数据了。
②冷启动问题就是指在没有大量可参考的有用数据下,对用户设计推荐系统。问题可细致
划分为三种:
1)用户冷启动:是指新用户刚开始注册使用,没有可参考的历史数据。
2)项目冷启动:新上架的项目,没有被消费的记录。
3)系统冷启动:系统刚开始发布运行,交易记录中没有任何数据信息。

为了有效解决冷启动问题,匹兹堡大学有学者在基于协同过滤的算法上提出使用社区会员信息来改进推荐系统。因为在线社区的存在就是以特定的相似兴趣为基础,所以通过社区会员信息可以有效提取到用户的兴趣爱好信息,方便建立用户画像。

<>2.基于内容的推荐

指通过收集用户历史数据来获取与用户有过交互的项目,再根据这些项目的特征来学习计算出用户的偏好兴趣,然后以此为基础计算用户与待推荐项目集中各个项目的相似度,最后将相似度进行排序整理,进而便可为用户进行推荐。其推荐思想就是用户会偏好于自己曾经购买过的项目。

基于内容推荐的首要任务:提取项目的属性特征,常用方法:词频-逆文档频率法:

<>补充:距离公式,相似度公式

①欧式距离
欧几里得度量(euclidean
metric)(也称欧氏距离)是一个通常采用的距离定义,指在维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离),在二维和三维空间中的欧氏距离就是两点之间的实际距离。
欧氏距离是最常用的距离计算公式,衡量的是多维空间中各个点之间的绝对距离,当数据很稠密并且连续时,这是一种很好的计算方式。
最初用于计算欧几里得空间中两个点的距离,假设是维空间的两个点,它们之间的欧几里得距离是:
可以看出,当n=2时,欧几里得距离就是平面上两个点的距离。当用欧几里得距离表示相似度,一般采用以下公式进行转换:距离越小,相似度越大。

范围在[0,1]之间,值越大,说明d(x,y)越小,也就是距离越近,则相似度越大。

②余弦相似度
余弦相似度就是通过一个向量空间中两个向量夹角的余弦值作为衡量两个个体之间差异的大小。
范围:[-1,1],两向量越相似,向量夹角越小,余弦相似度越大;值为负时,两向量负相关。
余弦距离使用两个向量夹角的余弦值作为衡量两个个体间差异的大小。
相比欧氏距离,余弦距离更加注重两个向量在方向上的差异。
余弦相似度主要的应用场景有:
1)推荐系统中的协同过滤;2)计算文本的相似性;

<>3.基于关联规则推荐

核心思想是:从大量的用户行为数据中抽取潜在有用的关联规则,向用户推荐其感兴趣的项目。通俗地说,就是发现项目A和项目B具有的交易关系。比如购买牛奶的同时很多人也会购买面包。

<>4.基于知识推荐

基于知识的推荐技术,首先要预置用户知识和项目知识,然后在明确用户需求的基础上进
行推荐。项目知识依靠于项目本身,所以不同项目的系统,其知识库区别也较大。基于知识的 推荐最大好处就是摆脱了对评分数据的依赖,且不存在冷启动问题。

基于知识的推荐可以分为三类:基于KDD(KnowledgeDiscoveryinDatabase)的推荐、基于CBR(CaseBasedReasoning)的推荐和基于知识推理的推荐。
基于KDD的推荐系统是将数据挖据与传统推荐系统相结合,挖掘数据中隐含的有价值知识和信息,以此向用户做出推荐;
基于CBR的推荐系统以确定用户需求为前提,再过滤和选择已有案例,并根据推荐的反馈作出修正调整。
基于知识推理的推荐系统需要三部分知识:用户知识、项目知识和功能知识,采用统一的
知识表示方式来表示用户概要和项目,并采用各种知识推理方法在用户概要和项目之间作出匹配,在此基础上向用户实施推荐。

<>5.基于上下文的推荐

大多数推荐系统都是研究和处理用户和项目之间的二元关系,而忽略了时间、地点、周围 人等上下文信息。在推荐系统中引入上下文信息,可以有效地提高推荐精度。
将时间上下文信息添加到推荐系统中,可以有效的反映出用户变化的兴趣,也可以看出项
目的生命周期以及季节效应。在加入时间信息后,推荐系统从静态演变为动态,用户的行为数据就变为为一组时间序列。

<>6.基于深度学习的推荐

基于深度学习的推荐是将深度学习技术糅杂在传统的推荐算法(比如基于内容的推荐、协同过滤推荐)之中,或使用无监督学习方法对项目进行聚类,或使用监督学习方法对项目进行分类,是使用多层感知器、卷积神经网络、循环神经网络、递归神经网络等对数据加工处理提取特征。基于深度学习主要是体现出它使用机器学习的数据处理技术,通过组合低层特征形成更加稠密的高层语义抽象,从而自动发现数据的分布式特征表示,解决了传统机器学习中需要人工设计特征的问题。深度学习技术是要依托于传统推荐技术中,可以说是对传统推荐技术的增强.

该类型推荐多用于处理图像、文本、音频等数据。比如电子商务平台、电影售票系统等,主营项目都会附带有明显的图片介绍,这就可以根据用户当前浏览或是历史购买记录,来获取图
片信息,深度学习提取出图像的特征表示,再以此从项目数据库中比对类似特征的图像,从而推荐;像亚马逊这样的网上书店或小说平台,主营项目以文本信息为主。经过深度学习,也可以提取出文本的风格、类型、特色等特征,从而匹配推荐;对于音乐播放器这类的以音频为主系统,先将音频数据变为数字信号,再进行深度学习,用数字信息抽象表示音频特征(舒缓、嘻哈、古典等),从而可训练出用户的听曲风格。基于深度学习推荐的最优势点就是可针对多种类型的输入数据,都可以提取特征,并训练模型,可以实现多元化的推荐,但是要想得到更好的推荐效果,就需要更长的时间来训练模型。
基于深度学习的推荐系统中的常用神经网络如下:

卷积神经网络包括输入层、卷积层、池化层、全连接层和输出层,其中卷积层和池化层组合形成了特征提取器。在卷积层中,上一个神经元不再与全部的下一层神经元全连接,只是部分连接,并且在CNN中采用了权值共享,即卷积核,这不仅有效减少神经网络中的参数个数,还降低了过拟合的弊端。卷积神经网络多用于处理图像数据,所以经常是通过处理分析用户项目的历史图片信息来推荐类似风格和颜色布局图片的其他项目。

循环神经网络相较于普通神经网络,特殊在它各个隐藏层之间是具有连接的,体现在功能上就是能够记忆之前的信息,即在当前隐藏层的输入中不仅包括输入层的输出信息,还包括了隐藏层上一个状态(或上一个时刻)的输出。这种神经网络多用于处理序列数据,比如语音识别,要想语义翻译准确,就要根据上文环境,所以循环神经网络在处理这类问题时就具有一定的优势.

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信