Recommander System

Recommender systems survey

Abstract

推荐系统已经与网络并行开发出来。它们最初是基于人口统计学、基于内容的和协作过滤。目前,这些系统正在整合社会信息。在未来,他们将使用来自物联网的隐性、本地性和个人信息。本文概述了推荐系统以及协同过滤方法和算法;它还解释了它们的演变,为这些系统提供了一个原始的分类,确定了未来实现的领域,并为过去、现在或未来的重要性选择了某些领域。

收集信息分为 显性收集(类似调查问卷)隐形收集(类似用户隐私)

推荐系统(RS)性能:

RS性能图在这里插入图片描述

常见的过滤算法:

1.协同过滤(CF) :允许用户对CF中的一组元素进行评分,当足够的信息存储在系统中时,就可以向目标对象做出推荐。最常用的算法是KNN算法(最近邻算法)
2.人口统计过滤:具有某些共同个人属性的人群,也会有共同的偏好,依据此向这一群体内的目标对象做出推荐
3. 基于内容的过滤:使用来自目标用户的内容,即基于用户过去的选择,来做出系统的推荐
4.混合过滤:混合以上几种过滤方法,取其优点

在这里插入图片描述

推荐方法分类

一种被广泛接受的分类法将推荐方法划分为基于内存和基于模型的方法类别:
基于内存的方法[3,51,123,214]。基于内存的方法可以定义为(a)只作用于项目的用户评级矩阵的方法,而(b)使用在推荐过程之前生成的任何评级(即,其结果总是更新的)。基于内存的方法通常使用相似性度量来获取两个用户或两个项目之间的距离,基于每个项目的每个比率。
基于模型的方法[3,212]。使用RS信息来创建一个生成建议的模型。在这里,我们考虑一个基于模型的方法,如果来自任何用户的新信息超过了模型。在最广泛使用的模型中,我们有贝叶斯分类器[59]、神经网络[107]、模糊系统[234]、遗传算法[76,99]、潜在特征[251]和矩阵分解[142]等。

冷启动问题

在缺乏有价值数据的时候,如何有效地满足业务需求的问题,就是“冷启动问题”。
冷启动在推荐系统中表示该系统积累数据量过少,无法给新用户做个性化推荐的问题,这是产品推荐的一大难题。

三种冷启动问题
1.新社区(解决方案①鼓励用户通过不同方式进行打分 ②在系统中数据充足的情况下,积极采用基于CF的RS)
2.新项目(新加入RS的项目刚开始是没有用户给评级的,解决这种新项目爆冷的方法就是找一组积极的用户对新项目进行打分评级)
3.新用户(最难处理的冷启动问题,解决方法是使用评测集中的其他附加信息,根据对附加信息的比对,增加成功推荐的概率)

KNN算法

KNN算法
优点:简单,合理精确的结果
缺点:可伸缩性低,易受RS数据库的稀疏度影响

相似度测量

Similarity measure(SM)

迄今为止,提出的大多数RS评估框架都存在两个缺陷:
第一个缺陷是缺乏形式化。虽然评估指标有很好的定义,但在方法的实现中有各种各样的细节,在这些细节没有被指定的情况下,可能会导致在类似的实验中产生不同的结果。
第二个缺陷是在建议的新颖性和信任性等方面的评价措施缺乏标准化。

在这里插入图片描述
基于内存的RS中普遍存在稀疏度问题

社交信息过滤(SF)

信任信息的获取途径

基于内容过滤(CBF content-based filtering)

CBF的缺点:
1.针对一些冷门专业领域,无法提取其特征,影响推荐质量
2.过于专业化,即推荐的内容会局限于感兴趣的内容,对可能感兴趣的内容无法探究,缺乏新颖性
3.使得获取用户反馈更加困难,用户不会对自己感兴趣的内容进行评分

附加推荐系统的项目

①向用户组推荐
(1)相似度度量
(2)建立邻域(找到可以组成一个用户组的其他用户)
(3)预测阶段
(4)推荐系统最终推荐结果的确认
在这里插入图片描述
【一个组的个体成员在左边用灰色表示;每个网格代表用户对项目(水平)的评分矩阵(垂直)。该图显示了按组处理推荐解决方案的四个代表性案例(图中左边的每个矩阵都有一个案例)。圆圈表示关键信息:它们表示执行统一的CF过程阶段:“n个用户?1组】

②解释推荐
(1)人工风格解释(用户对用户的方法)。例如,我们推荐电影i,因为它被评价电影j,k,m的用户喜欢,…非常积极(j,k,m,…是活跃用户评价不错的电影)。
(2)项目样式解释(项目之间的方法)。例如,我们推荐度假目的地i,因为您喜欢度假目的地gcr,…(gcr…是与i相似的度假目的地,被活跃用户评价很好)。
(3)功能样式解释(根据项目的特性推荐)。例如,我们推荐电影i,因为它是由导演d导演的,它的特点是演员a,b,它属于类型g(d,a,b,g是活跃用户感兴趣的功能)。
(4)混合化的方法。此类别主要包括以下内容:人/项目、人/特征、特征/项目和人/特征/项目。

RS趋势

Bio-inspired approaches :仿生方法

许多基于模型的RS都是基于仿生方法,它们主要使用遗传算法(GAs)和神经网络(NNs)。基于人工免疫网络(AINs)的模型也被提出。
遗传算法是基于自然选择和竞争对手生存等进化原则的启发式方法。遗传算法主要用于RS的两个方面:聚类[120,243]和混合用户模型[76,99,7]。常见的技术改进的特点包括最初进行聚类的所有用户,这样获得一组类相似的用户,之后,所需的CF技术可以应用于每个集群,获得相似的结果,但在更短的计算时间;通常使用常见的遗传聚类算法,如基于遗传的K-means。
神经网络是一个基于所观察到的生物神经元行为的模型。这个模型旨在模拟大脑处理信息的方式,使计算机能够在一定程度上“学习”。一个神经网络通常由许多相互连接的节点组成。每个人都处理一个指定的知识领域,并有来自网络的几个输入。根据它获得的输入,节点可以“学习”数据集、模式之间的关系,并基于操作反馈,被塑造成生成所需结果所需的模式。

conclusion

推荐系统被证明是一个有用的工具来解决部分信息过载现象的互联网。它的进化伴随着网络的进化。第一代推荐系统使用传统网站从以下三个来源收集信息:从购买或使用的产品中收集的基于(a)内容的数据,从用户记录中收集的(b)人口统计数据,以及从用户的项目偏好中收集的基于©内存的数据。第二代推荐系统,通过收集社交信息(例如,朋友、追随者、追随者、受信任的用户、不受信任的用户)来广泛使用web 2.0。第三代推荐系统将通过由互联网上的集成设备提供的信息来使用web 3.0。在许多推荐系统中已经包含的位置信息之后,将使用来自设备和传感器的数据,这些数据将被广泛使用(例如,实时健康信号、射频识别、饮食习惯、在线当地天气参数,如温度和压力)。
第一个推荐系统专注于通过过滤来提高推荐精度。大多数基于内存的方法和算法都是在此背景下开发和优化的(例如,kNN度量、聚合方法、奇异值分解、基于扩散的方法等)。在这个阶段,混合方法(主要是协作-人口统计和协作-内容过滤)提高了建议的质量。在第二阶段,将社会信息纳入以前的混合方法的算法被调整和开发(例如,信任感知算法、社会自适应方法、社会网络分析等)。目前,混合集成算法将位置信息整合到现有的推荐算法中。
自推荐系统诞生以来,对预测和建议的评估一直在发展,其预测误差(准确性)的权重很大。他们也认识到方便评估前n项建议的质量;然后将排名前n的建议作为排名列表。目前,有一种评价措施的趋势,如多样性和新颖性。
未来的研究将集中于推进现有的方法和算法,以提高推荐系统的预测和推荐的质量。同时,新的研究将开发领域和目标,如: (1)适当的结合现有的推荐方法,使用不同类型的可用信息,(2)获得最大限度地利用个人潜力的各种传感器和设备的物联网,(3)收购和集成的趋势相关的习惯,消费和品味个人用户的推荐过程中,(4)数据挖掘从RS数据库非推荐使用(例如。(市场研究、总体趋势、人口群体差异特征可视化),(5)使推荐系统过程的安全安全性和隐私,(6)新的评估措施和开发非标准化评估措施标准,(7)设计异构数据自动分析的灵活框架。

Deep Learning based Recommender System: A Survey and New Perspectives

Abstract

推荐系统是防止消费者过度选择的直观防线。 鉴于网上信息的爆炸性增长,用户可以看到的产品、电影或餐馆不计其数。 因此,个性化是促进更好的用户体验的基本策略。 总而言之,这些系统一直在各种信息获取系统中发挥着重要和不可或缺的作用,以促进商业和便利决策过程,并在电子商务或媒体网站等许多网络领域中普遍存在。
一般而言,推荐列表是基于用户偏好、项目特征、用户-项目过去的交互以及诸如时间(例如,序列感知推荐器)和空间(例如,POI(point of interest 兴趣点)推荐器)数据的一些其他附加信息来生成的。 根据输入数据的类型,推荐模型主要分为协同过滤、基于内容的推荐系统和混合推荐系统。
深度学习目前正处于一个巨大的炒作阶段。 在过去的几十年里,深度学习在计算机视觉和语音识别等许多应用领域取得了巨大的成功。 学术界和工业界一直在竞相将深度学习应用到更广泛的应用领域,因为它能够解决许多复杂的任务,同时提供最先进的结果[27]。 近年来,深度学习极大地改变了推荐体系结构,为提高推荐器的性能带来了更多的机会。 基于深度学习的推荐系统克服了传统模型的障碍并完成了高质量的推荐,而获得了较高的关注度,近年来得到了广泛的关注。 深度学习能够有效地捕捉非线性和非平凡的用户-项关系,并能够将更复杂的概念抽象编码为更高层的数据表示。 此外,它从丰富的可访问数据源(如上下文、文本和可视化信息)中捕捉数据本身内部的复杂关系。

基本术语和概念

RNN:Recurrent Neural Network 递归神经网络(RNN对具有序列特性的数据非常有效)
时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。(即数据之间存在关系)
DNN:深度神经网络
CNN:卷积神经网络
GAN:生成对抗网络

RNN的工作原理
全连接网络可以训练每个item的label,但是训练出的label是没有结合上下文的,也就是说,它无法通过当前的语义来设置label;

RNN借助循环核提取出当前的时间(上下文)特征后,将数据传入到全连接网络中;

循环核由多个记忆体构成,记忆体是RNN存储历史状态信息的载体,记忆体越多,训练的参数量就越多,训练的效果就越好,训练资源和时间越长

梯度消失:当权值小于1,而且存在高次幂,就会导致梯度消失

梯度爆炸:当权值大于1,而且存在高次幂,就会导致梯度爆炸

悬崖:在梯度消失和梯度爆炸之间存在一个梯度变化很大的中间值,此处为悬崖

梯度下降(爆炸)解决方法
1、对于RNN,可以通过梯度截断,避免梯度爆炸
2、可以通过添加正则项,避免梯度爆炸
3、使用LSTM等自循环和门控制机制,避免梯度消失
4、优化激活函数,譬如将sigmold改为relu,避免梯度消失

SGD:(stochastic gradient descent)随机梯度下降

多层感知器(Multilayer Perceptron MLP) 是一种在输入层和输出层之间具有多个(一个或多个)隐层的前馈神经网络。 这里,感知器可以使用任意的激活函数,不一定代表严格的二值分类器。 MLPs可以被看作是非线性变换的堆叠层,学习分层的特征表示。 MLPs也被认为是通用近似器。

自动编码器(AUTOEncoder,AE) 是一种无监督模型,试图在输出层重构其输入数据。 通常,瓶颈层(最中间层)被用作输入数据的显著特征表示。 自动编码器有许多变体,如去噪自动编码器、边际去噪自动编码器、稀疏自动编码器、压缩自动编码器和变分自动编码器(VAE)

卷积神经网络(Convolutional Neural Network CNN) 是一类具有卷积层和池运算的特殊前馈神经网络。 它能够捕捉全局和局部特征,显著提高了系统的准确性和准确性。它在处理具有网格状拓扑结构的数据时表现良好。

递归神经网络(Recurrent Neural Network RNN) 适用于序列数据的建模。 与前馈神经网络不同,RNN中有循环和记忆来记忆以前的计算。 为了克服梯度消失问题,在实际应用中采用了长短时记忆(Long Short Term Memory LSTM)和门控循环单元(Gated Recurrent Unit GRU)网络。

受限玻尔兹曼机(Restricted Boltzmann Machine RBM) 是一种由可见层和隐层组成的双层神经网络。 它可以很容易地堆叠到一个深网。 这里的限制是指在可见层或隐藏层中没有层内通信。

神经自回归分布估计(Neural Autoregressive Distribution Estimation NADE) 是建立在自回归模型和前馈神经网络之上的一种无监督神经网络。 它是模拟数据分布和密度的一个易于处理和e-cient的估计器。

对抗性网络(AN) 是一种由鉴别器和生成器组成的生成神经网络。 在一个极小极大博弈框架中,两个神经网络通过相互竞争的方式同时训练。

注意模型(Attentional Models AM) 是一种可微的神经结构,它基于对输入序列(或图像)的内容寻址进行操作。 注意机制普遍存在于计算机视觉和自然语言处理领域。 然而,它也是深度推荐系统研究的一个新兴趋势。

深度强化学习(Deep Reinforcement Learning DRL) 强化学习是在试错模式下进行的。 整个框架主要由代理、环境、状态、动作和奖励组成。 深度神经网络和强化学习的结合形成了DRL,在游戏和自动驾驶汽车等多个领域取得了人类水平的性能。 深度神经网络使代理人能够从原始数据中获取知识,并在没有手工特征和领域启发式的情况下推导出相应的表示形式。

基于深度学习的推荐系统优点:
在这里插入图片描述

常见的几种深度学习框架 :TensorFlow3、Keras4、Caffe5、MXNET6、Deeplearning4J7、PyTorch8、Theano9等等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值