计算机软件论文栏目提供最新计算机软件论文格式、计算机软件硕士论文范文。详情咨询QQ:1847080343(论文辅导)

推荐系统的反事实解释方法探讨与实现

日期:2024年06月10日 编辑:ad201107111759308692 作者:无忧论文网 点击次数:67
论文价格:150元/篇 论文编号:lw202405311958334594 论文字数:43696 所属栏目:计算机软件论文
论文地区:中国 论文语种:中文 论文用途:硕士毕业论文 Master Thesis

本文是一篇计算机软件论文,本文从推荐系统的模型不可知反事实解释入手,研究了基于强化学习和进化算法的反事实解释方法,并实现了一个推荐与解释系统以供主观观测。

第一章绪论

1.1 工作背景与意义

互联网规模和覆盖面的迅速增长带来了信息超载的问题:过量信息同时呈现使得用户无法从中获取对自己有用的部分,信息使用效率反而降低[1]。解决信息超载问题一个非常有潜力的办法是推荐系统,一个好的推荐系统不仅能为用户提供个性化的服务,还能和用户之间建立密切关系,让用户对推荐产生依赖[2]。

同时,基于大量的高维数据,现有的推荐系统模型多采用神经网络等黑箱模型来生成推荐,但这种技术依赖于模型高度的非线性和调参,这使得推荐系统变得复杂和不透明。人们无法探知深度模型究竟从数据中学到了哪些知识,以及如何进行最终决策的。这种“端到端”的决策模式导致深度学习模型的解释性极弱[3]。换个角度说,推荐系统不能清晰地传递给用户为什么推荐这个商品,不具有可解释性[4]。

推荐系统的可解释性是至关重要的,因为在推荐场景中,我们很少能说某些推荐是绝对正确的,或另一些推荐是绝对错误的,相反,这一切都取决于良好的解释[5]。在不同的解释机制中,解释有不同的形式,但它们都描述了为什么一个推荐系统会表现出观察到的行为,即可解释推荐尝试解决“为什么”的问题:通过提供解释,它帮助用户或系统设计人员理解为什么算法推荐某些物品。通过这种方式,解释可以增加推荐系统的透明度,促进用户信任[6]。此外,可解释性还有其他作用。例如,解释还可以帮助系统设计者跟踪模型的决定,以调试推荐模型[7];对用户的解释可以帮助他们修改行为,从而提高他们的满意度[8];高质量的解释可以帮助提高推荐的说服力[9]。

根据解释的方式分类,传统的推荐系统可解释方法可以分为内在可解释方法和事后可解释方法。前者是推荐模型在决策过程或训练过程中产生解释的方法。大量的研究致力于设计易于解释的推荐系统[10,11]或者能够与推荐内容一起提供解释[12]。然而,在很多情况下,需要解释,但不可能解释和修改已有的基础系统。鉴于现代推荐系统的复杂性,人们普遍认为事后解释的观点更适合解释推荐[13]。事后解释方法使用辅助模型为现有模型生成解释,可分为与特定类型的推荐模型相关的方法[14],以及将推荐系统视为黑盒的方法[15]。前一种方法能够创建具有高保真度的解释,但并不普遍适用。后一种方法的优点是它们是通用的,但在保真度方面受到影响,因为解释是由近似于推荐系统的可解释辅助模型生成的。

1.2 国内外研究现状

1.2.1 传统推荐系统可解释性

传统的推荐系统可解释方法可以分为内在可解释方法和事后可解释方法,其中,内在可解释方法可以分为通过信息源的解释与方法的可解释。对于通过信息源的解释,推荐解释可以从不同的信息源生成,并以不同的显示方式呈现,例如,一个相关的用户或物品,一个句子,一个图像,或者一组推理规则。此外,对于同一推荐可能存在许多不同的解释。对于方法的可解释,推荐和解释都是由一个可解释的模型提供的,该模型可以基于矩阵/张量分解、因式分解机或深度学习进行设计。

对于通过信息源的解释,有基于协同过滤方法,通过用户的显性或隐性反馈进行解释,如可以通过告诉用户推荐的项目与用户之前喜欢的其它一些项目相似来提供解释。有基于特征的解释,与基于内容的推荐方法密切相关,在基于内容的推荐中,系统通过将用户与候选物品的内容特征进行匹配来提供推荐,因此基于内容的推荐通常是基于特征的直观解释。有基于用户生成文本的解释模型,分为属性级方法和句子级方法。对于属性级方法的解释,大多旨在从文本中提取属性-情感对,Li[21]关注明确的用户注意和项目属性建模,使用属性情感对作为具体的属性级证据来预测评级。对于句子级方法的解释,分为基于模板和基于生成。基于模板的解释需要首先定义一些解释句模板,在模板中填充不同的单词,Gao[22]提出了一个可解释的深度多视图学习框架来建模多层次特征,并采用基于特性的模板来提供解释。还有利用视觉图像的解释,Lin[23]学习图像不同区域在生成推荐的作用,为上衣推荐最匹配的下装,同时为每一项推荐生成解释。有利用社交朋友的信息来提供社交解释,如Xu[24]探讨了多类型用户项目交互行为以及潜在的跨关系相互依赖性,并能够跨用户捕获全局社会上下文方面的表示。

第二章 基础知识及相关概念

2.1 强化学习模型

下面对本课题涉及的强化学习基础知识与相关模型、方法进行介绍,包括强化学习中经典的DDPG(Deep Deterministic Policy Gradient)模型,与基于DDPG模型的Wolpertinger策略[64]。

2.1.1 DDPG模型 

DDPG是将深度学习神经网络融合进DPG(Deterministic Policy Gradient)的策略学习方法。相对于DPG的核心改进是:采用神经网络作为策略函数 和Q函数的模拟,即策略网络和Q网络;然后使用深度学习的方法来训练上述神经网络。 DDPG模型采用Actor-Critic结构,具有Actor和Critic网络。为避免自举,DDPG采用目标网络帮助更新自身参数,因此具有四个网络,包括两个Online网络和两个Target网络。 四个网络的作用如下:

1. Online Actor:根据当前状态S输出动作A,并用动作A操作环境,生成下一状态S’以及回报R;更新网络参数。

2. Target Actor:根据下一状态S’输出下一动作A’,并定期将当前网络的参数复制更新目标网络的’。

3. Online Critic:根据状态S和动作A计算当前网络Q值Q(S,A,w);更新网络参数w。

4. Target Critic:根据状态S’和动作A’计算目标网络Q值中的Q’(S’,A’,w’)部分(目标网络Q值记作yi,且yi=R+γ*Q’(S’,A’,w’);定期将Online Critic中的参数w复制更新目标网络的参数w’。

计算机软件论文怎么写

2.2 进化算法

下面对本课题涉及的进化算法基础知识与相关算法进行介绍,包括进化算法中经典的多目标优化算法NSGA-II算法[65],与针对大规模稀疏问题的多目标优化算法sparseEA算法[66]和基于模式挖掘的PM-MOEA算法[67]。

2.2.2 NSGA-II算法

NSGA-II(Non-dominated Sorting Genetic Algorithms II),即带有精英保留策略的快速非支配多目标优化算法,是一种基于帕累托最优解的多目标优化算法。

首先,NSGA-II算法通过非支配排序算法对规模为n的种群进行分层,将种群根据相应的支配关系划分为不同级别的帕累托解集。其操作为首先找到种群中所有的不能为其他个体所支配的个体,将得到的非支配个体集作为种群的第一级非支配层。然后忽略这些已经标记的非支配个体,再找到种群中所有的不能为其他个体所支配的个体作为种群的第二级非支配层。以此类推,直到整个种群被分层。

然后,NSGA-II算法为每个个体计算其拥挤度。据每一目标函数值的大小的升序顺序对种群进行排序。这样,对于每个目标函数,其边界解被指定为无穷大距离的值。将其他的中间解指定为等于两个相邻解的函数值归一化后的绝对差值。通过个体每一目标的距离值的加和计算得到全部拥挤系数。

最后,种群中每个个体都拥有两个属性:非支配排序决定的非支配序和拥挤度。对于个体i和个体j,如果个体i所处非支配层优于个体j所处的非支配层,或者所处的非支配层相同,但个体i比个体j有一个更大的拥挤距离,则个体i优于个体j。NSGA-II算法从大小为2n的种群中筛选出为大小为n的下一代种群。

第三章 基于强化学习的反事实解释方法 ······················ 17

3.1 提出问题 ··························· 17

3.2 RMAC模型描述··························· 18

第四章 基于多目标进化的反事实解释方法 ························· 36

4.1 问题提出 ······························· 36

4.2 MECER算法描述 ························· 37

第五章 应用反事实解释方法的电影推荐系统 ·················· 51

5.1 需求分析 ······················· 51

5.1.1 功能性需求分析 ·························· 51

5.1.2 非功能性需求分析 ····················· 54

第五章 应用反事实解释方法的电影推荐系统

5.1 需求分析

下面对本系统进行需求分析,主要包括功能性需求和非功能性需求。

5.1.1 功能性需求分析

功能性需求包括用户功能需求和后台管理员功能需求,其中用户功能需求又分为用户中心模块、电影展示与推荐模块、用户历史记录模块。

5.1.1.1 用户中心模块

在用户中心模块中,包括用户账号相关基本功能需求。用户中心模块用例图如图5-1所示。用户中心模块包括注册、登录、个人信息、修改密码功能,其中,在注册、登录、个人信息修改时,需要对信息做验证。

计算机软件论文怎么写

5.1.1.2 电影展示与推荐模块

在电影展示与推荐模块中,包括向用户进行展示和推荐的功能需求。电影展示与推荐模块用例图如图5-2所示。电影展示与推荐模块包括全部电影、推荐列表与解释、电影搜索与电影详情功能。在全部电影功能中,会按电影类型将所有该类型的电影展示出来。进行电影搜索,会将所有符合搜索内容的电影展示出来。在个性