可解释性(入门)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mirror1997/article/details/85333636

        毕设的开题工作已经开始进行了,题目是“基于学术大数据分析的导师推荐系统”。之前和学长讨论了一下,觉得在进行推荐之后,如何得到用户反馈,如何了解推荐的效果是一个需要解决的问题。基于这个问题,学姐给出了一个方向,就是将推荐系统设计成可解释推荐系统,一次得到交互和反馈。

        今天一大早,开始自学可解释性。主要参考和引用:http://www.sohu.com/a/279581943_133098?qq-pf-to=pcqq.c2c

        以下为正文。


    

目的:在给用户进行相关推荐的时候,添加解释和推荐原因是十分有必要的。通过提高系统的可解释性,构建可解释系统,为用户提供“推荐+解释”的组合,从而优化推荐结果,提高系统可信任度和透明度。

        

流程:

基于规则:是指由解释方法设计者事先给定一些简单模板(例如“N个微博用户都喜欢这个商品”),算法只负责对模板中涉及的内容根据规则进行填充。

基于检索的方法是由解释方法设计者规定解释集合,算法负责对解释集合进行排序,挑选排在最靠前的解释输出给用户。例如给用户推荐书时,解释集合规定为用户曾经看过的书,此时解释模板为“看过X的用户都很喜欢这本书”,算法只需要从集合中根据用户的兴趣及书的相似度挑选一本放入解释即可。

扫描二维码关注公众号,回复: 4789801 查看本文章

嵌入式的方法:把解释模块融入到推荐系统的构建中(如下图所示)。解释模块往往对物品的特征进行选择,将对推荐准确性影响最大的物品挑选出来作为解释。

嵌入式方法的大部分解释模块都是浅层的,能否构建一个深层的网络,每一层的特征和它们之间的关联都是可解释的呢?沿着这个思路研究,我们利用Microsoft Concept Graph构建了深度可解释网络的初始结构,并且利用Attentive Multi-View Learning对这个深度可解释网络中每层的参数进行优化,使它不仅可以提高推荐准确性、有用性,还可以通过无监督的方式自动对用户的层次兴趣进行建模。例如,我们可以知道用户是只对寿司(低层特征)感兴趣,还是对日料(高层特征)整体都比较感兴趣。

Microsoft Concept Graph:Microsoft Concept Graph是一个大型的概念知识图谱系统。其包含的知识来自于数以亿计的网页和数年积累的搜索日志,可以为机器提供文本理解的常识性知识。

Multi-View Learning:多视角学习。视角来自于多个源和多个特征子集。引入了一个函数去模型化一个特定的视角,并且利用相同输入的冗余视角去联合优化所有函数,最终提高学习效果。

封装式的方法:不需要改变现有的推荐系统,只是将解释模块和推荐系统放在相对平等的位置,解释模块通过与推荐系统交互生成模型相关的解释。这样既可以自由控制解释质量,又可以保证模型解释性,同时也不需要像嵌入式的方法一样针对不同的推荐模型设计不同的解释方法,是一种协调模型解释性与模型质量的很好的方法。封装式可解释方法是利用增强学习实现的。

封装式可解释方法是利用增强学习实现的。具体来说,就是利用下图所示的增强学习框架来对任何推荐模型进行解释,可以同时确保模型解释性以及解释质量。在这个框架中,被解释的推荐模型是环境(Environment)中的一部分。框架中有两个智能体 (Couple Agents),其中智能体1负责生成解释,智能体2负责利用解释预测被解释推荐模型的输出(用户对物品的打分)。这两个智能体把需要解释的模型当作黑盒子,通过与环境进行交互得到的奖励(Reward)决定优化方向。

这里,环境给予的奖励由两个方面决定。如果智能体可以利用解释准确预测(模仿)被解释推荐模型的结果,则被奖励,这体现的是对推荐模型的解释能力。如果智能体给出的解释精炼、有连贯性、可读性较高,也会被奖励,这是为了提高解释本身的质量。这样的框架适用于任何推荐模型,同时解释能力和解释质量都较高。

猜你喜欢

转载自blog.csdn.net/Mirror1997/article/details/85333636