• 个性化学习推荐

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • 【学习目标】

    1.了解个性化学习,掌握个性化学习推荐的定义。

    2.理解并掌握知识图谱、深度学习、协同过滤、矩阵分解的相关原理。

    3.了解知识图谱、深度学习、协同过滤、矩阵分解个性化学习推荐的相关算法。

    • 【学习建议】

    1.建议学习4个课时;

    2.学习期间可以阅读相关文章,加深基于不同原理的个性化学习推荐的理解;

    3.针对不同的推荐算法,找出在线学习平台与之相对的实例,与同学分享。

     

    • 【章节思维导图】

    • 8.1概述

       随着信息技术在教育领域的深入应用和快速发展,“互联网+教育”战略的快速推进,在线学习资源也得到了高速发展,我们可以随时随地通过联网终端获得学习资源,相信大家都使用或听说过慕课。慕课由MOOC音译而来,实际上是Massive Open Online Course(大规模在线开放课程),慕课整合了多种社交网络工具和多种形式的数字化资源,形成了多元化的学习工具和丰富的课程资源,突破了传统课程时间、空间的限制,依托互联网世界各地的学习者在家即可学到国内外著名高校课程,突破了传统课程人数限制,能够满足大规模课程学习者学习。

       目前国内所使用的慕课软件是中国大学MOOC,进入中国大学MOOC,添加自己想要学习的课程后会发现,在自己添加的课程下方有一栏“为你推荐”,如图1所示,该模块的内容是与学习者所学内容相关的课程,是针对学习者的差异性让其根据自己不同维度的学习目标调整学习进度、学习方法,进而能够达到完成学习任务、获得知识技能、提升学习素养、促进个性化发展的目的。这就是个性化学习。

       至于如何将个性化学习在线上学习平台上有效应用,就要再次聚焦于慕课平台“为你推荐”模块,该模块其实就是一种个性化学习推荐,其目标便是在慕课平台上针对学习者的差异性,给学习者推荐、提供针对性的学习资源,进而提升学习者的学习积极性与学习效果,使学习者能够实现线上的个性化学习。

       个性化学习中的推荐方法(Personalized Recommendation)是通过判断学习者的需求、兴趣或偏好等,从海量学习资源中为学习者主动提供学习材料,在克服其信息过载或迷失的同时,实现个性化学习,从而能够激发学习者的兴趣,提高学习效率,成为智能在线学习系统、智慧教室等的一项关键技术。[1]它的优势在于准确判断学习者兴趣,为其客观精准推荐学习材料和资源。其工作原理是:首先根据平台中用户信息建立兴趣模型;然后在海量信息资源库中寻找与其匹配的资源信息并产生推荐,以满足不同用户的个性化需求。

    • 8.2 基于知识图谱的个性化学习推荐

    8.2.1 知识图谱概述

    1.相关原理

       知识图谱起源于20世纪70年代知识工程与专家系统的研究其本质是基于知识图式理论表征事物语义关系网络的图数据结构。随着谷歌将知识图谱应用于大规模语义网络搜索引擎,知识图谱在各行业的应用日渐广泛,并在不同学科的研究中,衍生出概念图谱、认知图谱、事理图谱、认知事理图谱等相近概念的表述。

       知识图谱是一种特殊的图数据,由<实体,关系,实体>或者<实体,属性,属性的值>三元组构成。本质上知识图谱旨在描述真实世界中存在的各种实体或概念及其关系其构成一张巨大的语义网络图,节点表示实体或概念,边则由属性或关系构成。实体:指的是具有可区别性且独立存在的某种事物,如某一个人、某一个城市、某一种植物等、某一种商品等等。世界万物由具体事物组成,此指实体。如图1的“中国”、“美国”、“日本”等。实体是知识图谱中的最基本元素,不同的实体间存在不同的关系。语义类(概念):具有同种特性的实体构成的集合,如国家、民族、书籍、电脑等。概念主要指集合、类别、对象类型、事物的种类,例如人物、地理等。内容:通常作为实体和语义类的名字、描述、解释等,可以由文本、图像、音视频等来表达。属性(值):从一个实体指向它的属性值。不同的属性类型对应于不同类型属性的边。属性值主要指对象指定属性的值。如图1所示的“面积”、“人口”、“首都”是几种不同的属性。属性值主要指对象指定属性的值,例如960万平方公里等。

     

    8.2.1知识图谱举例

     

    2.应用优势--学生学习

       学生可以通过课程知识图谱知道学习知识的顺序及课程中知识的重点难点的分布情况,防止在学习时出现学习迷航认知过载现象,并且知识图谱将可以将学习资源和试题与知识点联系起来形成一条条关系,通过学生做题记录分析学生对于知识点掌握程度,根据学生对于知识点掌握程度的不同可以在知识图谱中寻找不同的知识点结合推荐算法可以为学生提供学习资源推荐和规划学习路线。知识图谱结合推荐系统为个性化学习推荐带来了新的变化可以依照学生个体的特点,为学生生成专属学生个人的学习的路线,结合学生留下来的学习数据为学生推荐相应的试题。有效解决学生对于学习路线的迷茫不知道应该学习什么知识的困惑,将学生在系统中的学习所产生的数据加以利用,挖掘出和错题有密切联系的试题,帮助学生攻克薄弱知识点的难题。改变学生花大量的时间和精力选择盲目做题的现状,基于知识图谱个性化学习推荐系统依靠课程知识图谱和推荐算法,精准的找到学生知识点掌握不好的地方,生成推荐试题,让学生集中时间和精力去攻克自身的短板从而提高学生对于知识的掌握和理解,进而提高学生的学习成绩。

       知识图谱存储知识点与知识点之间的关系,使得知识点不再是孤零零的存在,知识图谱可以丰富知识点的语义关系整合学习资源。最终形成以知识点为图谱节点的知识点网络。将知识图谱应用到教育领域中不仅可以节省教育资源清晰的表示知识点间关系。知识图谱可以将学习资源挂靠在知识点上使知识点的具备丰富的语义关系,帮助学生用户在网络学习过程中知识点在知识体系的位置结合学生学习基础学习状态为学生规划清晰的学习路径,采集学生在网络上学习数据合理化智能化挖掘学生错题,生成推荐试题序列,因此基于知识图谱的个性化学习推荐系统应运而生。

    8.2.2 基于知识图谱的推荐

    1.推荐系统

       当今互联网承载着各种信息资源,其数据量呈指数级增长。面对海量的互联网资源,用户在获取信息便利性的同时,难以快速准确地选择出感兴趣的内容。推荐系统作为解决信息过载问题的有效方法,已经受到大量研究者的关注和研究,并在各个领域得到广泛应用,形成了众多相关成果。比如电影推荐、新闻推荐和商品推荐等。

    推荐算法作为推荐系统的核心,目标是通过学习用户信息和用户行为,建模用户的兴趣偏好。其主要可以被分为三类,即基于内容的推荐方法、基于协同过滤的推荐方法和混合推荐方法。其中,基于内容的推荐是选择出与用户偏好项目特征相似的项目。协同过滤利用相似用户之间具有相似兴趣偏好的特点,来发现用户对项目的潜在偏好,优点是不需要对项目进行复杂的特征提取。协同过滤仅需要利用用户的历史评分数据,因此简单有效。但是,也存在数据的稀疏问题和冷启动问题。且推荐算法对捕捉用户兴趣变化的需求已经超出了传统推荐算法的能力。

       为此,笔者提出混合算法,结合如用户社交网络信息和项目属性等辅助信息来解决以上问题。近年来,将知识图谱作为辅助信息引入到推荐算法逐渐成为了研究热点。知识图谱中节点表示实体,有向边表示实体之间的关系,包含了用户和项目的信息和关联关系,可以更好的捕获用户偏好。图2所示的推荐示例中,向用户推荐了电影《尖峰时刻》和《功夫》。这是因为用户喜欢的电影和推荐的电影具有相同的体裁和主演。通过知识图谱,项目和用户以不同的潜在关系关联起来,在有助于提高推荐的准确性的同时,也为推荐结果提供了更多的可解释性。目前,学术界与工业界的研究人员构建了各种结构化的知识图谱,例如DBpediaYAGOGoogle’sKG等。这使推荐算法连接知识图谱中的实体和关系变得更加便利。

     

    8.2.2推荐示例

       知识图谱中包含的实体之间丰富的语义关联,可为推荐算法提供了潜在的辅助信息来源。引入知识图谱可以让推荐算法有以下特点:1.精确性。知识图谱为实体引入了更多的语义关系,可以深层次地发现用户兴趣。2.多样性。知识图谱提供了实体间不同的关系连接模式,有利于挖掘高阶的连接关系。3.可解释性。知识图谱可以连接用户的历史行为信息和推荐结果,给出推荐的原因,从而增强用户对推荐结果的接受度。

       引入了知识图谱的辅助信息,推荐算法可以学习用户和项目间的潜在连通关系,从而可以更准确地捕获用户偏好,提高推荐效果。根据应用知识图谱的不同形式,可分为三类:基于嵌入的方法、基于路径的方法和基于传播的方法。

    基于嵌入的方法使用知识图谱中的信息来丰富用户或项目的表示,通过知识图谱嵌入将知识图谱中的实体和关系表征为低维向量,保留了知识图谱原有的结构。知识图谱嵌入的方法主要是基于平移距离模型进行特征表示。基于路径的方法通过构建用户项目图并利用图中实体的连接关系,学习用户到项目的路径之间的连接相似性进行推荐。这种方法主要的挑战是如何设计合理的路径和如何为实体间的连接关系建模。为了充分利用知识图谱中的信息进行更好的推荐,基于传播的推荐方法整合了实体和关系的语义表示以及连接信息。基于传播的推荐方法是基于嵌入传播的思想,聚合知识图谱中多跳邻居节点的嵌入来深化实体表示。然后,获得用户和项目的丰富表示,并预测用户的偏好。

    2.基于知识图谱的个性化学习模型

       通过查阅文献笔者发现已有许多研究对个性化学习发展做出了巨大贡献,但研究主要集中在如何通过系统判断与推荐为学习者提供学习,多侧重技术导向或教师导向的差异化教学研究,忽视了对学习者自我反思、调节等思维能力,学习者主观调控不足、学习体验不理想,从而导致学习不够成功个性化学习研究还需进一步展开深入探索。因,从学习者导向的个性化学习视角出发,试图探索基于知识图谱的个性化学习模型构建及个性化学习支持机制,学习者在学习过程中有意识地选择或主动探索自身学习情况,从而有效地进行个性化学习。

       基于知识图谱的个性化学习模型构建的前提是对个性化学习的认识。个性化学习是以学习者的个性差异和目标需求为基础,学习者在系统支持下通过自主确定学习目标并决策学习过程自觉完成学习任务并在监控评价与反馈调节中不断优化学习体验、提高学习绩效从而促进个体全面发展的一种学习范式。因此,在此认识基础上,基于个性化学习过程设计,构建基于知识图谱的个性化学习模型。如图4所示。

       模型体现了知识图谱作为学习支持工具与学习者的个性化学习过程的深度融合,在记录与追踪学习者的基本信息、认知水平、能力水平、情感态度等个性特征基础上,将学习者个性特征与知识图谱中实体属性进行关联。知识图谱在学习者学习过程中一方面通过关系推理从路径推荐、资源推荐、同伴推荐、试题推荐、系统引导等方面提供个性化支持,另一方面则发挥其图示优势为学习者动态展示个人图谱建构情况。学习者在知识图谱的支持下,在目标设定、路径选择、资源选择、知识建构、监控评价、反馈调节等学习过程环节中发挥个人感知、决策判断与修正等主体作用,积极主导并完成学习活动。在此过程中,学习者在个人图谱建构基础上,会结合个人的时间、学习需求(新知学习或旧知复习)等学习规划进行目标设定,也会结合个人知识状态进行路径选择,还会结合个人偏好进行资源选择,并在个人学习状态感知基础上进行监控评价,从而满足自身个性发展需求。基于知识图谱的个性化学习将学习者个体的脑力和体力充分调动起来参与学习,促使自身的动机、认知、技能和情感水平发生变化,进而增强自身思维能力,彰显在个性化学习中的主体作用。

     

    8.2.4基于知识图谱的个性化学习模型

    3.基于知识图谱的个性化学习系统

            KG-LDPLS(KnowledgeGraph-LearnerDominantPersonalizedLearningSystem)是一个基于知识图谱的个性化学习系统,系统在自我决定理论和自我调节理论的指导下为学习者授权,在学习过程中使得每一位学习者的学习能够根据自身的个人需求,在个人规划、自主决策、自主监控与反馈以及自我调节等环节中得到个性发展。具体如图5所示。KG-LDPLS主要通过基于外在知识图谱的个性化支持与基于内在自我决定的个性化调节之间的相互作用促进个性化学习发生。一方面,知识图谱通过图谱构建层、学习推荐层和个人图谱层为学习者提供显性或隐性个性化学习支持;另一方面,学习者则基于个人需求在个性化学习过程中通过个人表现促进个性发展目标的实现。

    (一)学习者的个性化学习

       个性化学习以个人需求为基础,主要体现在学习者的个性特征和个人规划两方面。个性特征主要考虑了学习者的经验背景、学习动机、学习目标、情感态度以及学习偏好等方面,相关信息主要通过问卷量表等方式获得;个人规划包括学习时间规划、学习需求等信息,具体由学习者自主设定。个人表现主要包括学习者学习过程中的行为表现学业成绩、状态表现以及意志水平等方面。其中行为表现主要由学习路径调整、与推荐同伴的互动次数、学习资源点击与下载收藏次数、错题收藏数量、错题解析查看次数、学习提示使用次数、提问次数等情况构成,学业成绩主要由学习者阶段考试成绩构成,状态表现通过学习者自我报告对本次学习的主观体验情况获取,意志水平则由学习者在系统中的登录频次、学习时长、知识点完成数量以及错题重做次数等情况构成。学习表现不仅会影响学习者个人特征变化和个人规划调整,也通过对个人表现的全面评价支撑学习者个性的全面发展。

    ()知识图谱的个性化支持

       知识图谱的个性化支持以知识图谱构建层为基础。其中,实体是知识图谱构建的最基本元素,研究抽取内容、资源、活动、评价等属性并关联至实体形成知识元,然后抽取并建立知识元之间的关联关系进而形成通用知识图谱。学习推荐层主要在通用知识图谱基础上结合学习者个人需求进行关系推理,进而为学习者提供路径、同伴、资源、试题等方面的系统推荐。学习者则在自我决定和自我调节影响下通过自主决策个人路径、帮扶同伴、资源和试题等方式开展个性化学习。系统从学习者个人学习表现的四个方面对个性化学习进行实时监控评价,同时,学习者根据反馈结果积极对个性化学习环节进行调节,从而在提高学习绩效同时寻求更适切的个性化学习体验。个人图谱层则在实时追踪学习者的个人表现基础上动态展示学习者个人知识建构的整体情况。个人图谱是通用知识图谱的子图,目的是帮助学习者准确掌握自身知识建构情况的同时激发、维持学习动机,从而更有效地促进学习者个性发展。

    图8.2.5KG-LDPLS原型结构

     

    • 8.3 基于深度学习的个性化学习推荐

       随着科学技术的进步,互联网各种教育平台比如MOOC发展无比迅猛,各式各样资源的规模急速增长,这些海量的资源数据蕴含着丰富的价值,在一定程度上改善了互联网用户特别是学生的学习质量,为用户带来了便利,与此同时,过量的资源信息也超出了用户可以汲取吸收的规模而造成一定的信息过载和浪费问题。

       个性化推荐技术可以缓解过载问题,即帮助用户在各种平台中筛选出自己需要或感兴趣的信息。目前主要的个性化学习推荐技术除了上节的基于知识图谱的个性化学习推荐,还有本小节要掌握基于深度学习的个性化学习推荐。

    8.3.1 深度学习原理

    1.原理

       深度学习(Deep Learning)是机器学习(Machine Learning)领域的一个新的研究方向,机器学习是实现人工智能的一个途径,而深度学习就是实现机器学习的一种方法,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像、声音和文本等。

       那么何为深度学习?深度学习是一种通过多层神经网络对信息进行抽取和表示,并实现分类、检测等复杂任务的算法架构。把计算机要学习的东西看成一大堆数据,把这些数据丢进深度神经网络——一个复杂的、包含多个层级的数据处理网络,然后检查经过这个网络处理数据结果是符合要求符合,就保留这个网络作为目标模型,不符合,就反复地调整网络的参数设置,直到输出的数据结果满足要求为止。

       深度学习模型是含有多个隐含层的人工神经网络, 该网络的输入是特征向量, 输出可以是二元分类或者多元分类。[5]深度神经网络作为深度学习算法的核心组成部分,在输入和输出层之间包含有多个隐藏层(如图8.3-1所示),使得算法可以完成复杂的分类关系。

    8.3-1 含多个隐层的深度学习模型

       通俗来讲,可以将一种比较基本的深度学习模型中要处理的各种数据看做一个水流,而处理数据的深度神经网络是由管道和阀门组成的一个巨大的水管网络。网络的入口出口 是若干管道开口。这个水管网络有许多层,每一层有许多个可以控制水流流向与流量的调节阀。根据不同数据处理任务的需要,水管网络的层数、每层的调节阀数量可以有多种变化组合。对复杂任务来说,调节阀的总数可以成千上万甚至更多。水管网络中,每一层的每个调节阀都通过水管与下一层的所有调节阀连接起来,组成一个从前到后,逐层完全连通的水流系统。

       举一个例子:如何让计算机准确地识别“日”以及“旦、田、白、由”等字呢?如图8.3-2所示。

    8.3-2

       当计算机识别到“日”这个字的图片时,先将其转化为计算机能识别的机器语言(用0和1组成的一串数字表示),然后变成水流从输入口进入这个管道网络中,提前在管道网络出口立一个字牌,对应着我们需要计算机识别的汉字。此时我们从管道网络入口输入一个“日”字,水流经过整个管道网络之后,计算机就会去管道网络出口去识别是否标记“日”字的管道出口水流量最大,如果是,就说明管道运行正常,若不是这样就给计算机下达命令,调节管道的每个流量调节阀,让“日”字出口的水流最多。

       接着学习“旦”字也是类似,把每一张写有“旦”字的图片转换成机器语言变成数字水流,流进管道网络,计算机定位到出口去检查是不是标记有“旦”字的出口水流量最多,若不是,计算机就会用特定的计算方式很快地调整所有流量调节阀,保证在原有“日”字出口不受影响的情况下“旦”字被正确处理。

       整个程序反复进行,直至所有汉字图片对应的水流都能按照我们期望的方式流过整个管道网络,并且将调节好的所有阀门封死,这时的整个管道网络就是一个已经调整好的深度学习模型了,就可以用来识别汉字了。

       如果有未知的图片进入管道,首先也是被转换成机器语言,计算机观察各个管道的出口水流量来确认图片上是何字。

    2.深度学习优势

    ·数据量的增大对于准确率的提升效果明显

    ·使机器视觉变得更易于使用,扩展了计算机和相机的精确检查极限

    ·远超越传统机器学习方法的表现

    ·不再需要繁琐的特征工程

    ·适应性强可重新迁移训练,且易于转换

    ·将算法进行跨领域应用

    8.3.2 深度学习推荐实现

       MOOC推荐系统是利用MOOC平台向用户提供课程信息和建议,帮助用户决定应该选择什么课程并完成选课操作。个性化推荐是根据用户的兴趣爱好和行为特点,向用户推荐感兴趣的课程信息[6]

       基于深度学习的推荐方法的主要思路是组合基于内容的推荐方法与协同过滤将用户或项目的特征学习与项目推荐过程集成到一个统一的框架中,首先利用各类深度学习模型学习用户或项目的隐特征,并结合传统的协同过滤方法构建统一的优化函数进行参数训练,然后利用训练出来的模型获取用户和项目最终的隐向量,进而实现用户的项目推荐

       鉴于深度学习所具有高层特征自动提取、多模态信息融合便利和网络形式多样等优势,以及在图像和文本特征提取、高维时间序列建模上取得的成功,应用深度学习可以提高信息推荐算法特征提取能力,进而改善已有算法的不足[7]

       基于深度学习的推荐系统通常将各类用户和项目相关的数据作为输入利用深度学习模型学习到用户和项目的隐表示,并基于这种隐表示为用户产项目推荐一个基本的架构如图8.3-3所示,包含输入层、模型层和输出层.输入层的数据主要包括:用户的显式反馈(评分、喜欢/不喜欢)或隐式反馈数据(浏览、点击等行为数据)、用户画像(性别、年龄、喜好等)和项目内容(文本、图像等描述或内容)数据、用户生成内容(社会化关系、标注、评论等辅助数据).在模型层,使用的深度学习模型比较广泛,包括自编码器、受限玻尔兹曼机、卷积神经网络、循环神经网络等.在输出层,通过利用学习到的用户和项目隐表示,通过内积Softmax、相似度计算等方法产生项目的推荐列表[8]

    8.3-3 基于深度学习的推荐系统框架

       根据深度学习模型的不同,将基于深度学习的个性化推荐方法分为以下两类:

       (1)基于自编码器的混合推荐方法

       当前,自编码器(AE)在基于深度学习的混合推荐方法中应用最为广泛。基于自编码器的混合推荐方法的基本架构如图4所示,自编码器由于具有强的表示学习能力,很自然地用来从用户特征X或项目特征Y中学习用户隐表示U或项目隐表示V,然后将隐表示融入到隐因子模型中拟合用户-项目交互矩阵R(如评分矩阵),最后联合自编码器的重构误差ℓ(X,U)和ℓ(Y,V),以及拟合交互矩阵的误差ℓ(R,U,V)构建统一的损失函数,通过梯度下降等方法学习到最终的用户和项目隐表示,从而对用户进行推荐。在不同研究中,可能同时利用了项目特征信息和用户特征信息,也可能只利用了其中一种。[9]

    图4 基于自编码器的混合推荐方法的模型架构

       (2)基于其它深度学习模型的混合推荐方法

       除了自编码器之外,目前被用于混合推荐的深度学习模型还包括多层感知机、卷积神经网络和循环神经网络等.虽然基于深度学习的混合推荐方法都采用深度学习加协同过滤的模型框架,但是自编码器从辅助信息中学习用户和项目隐表示的过程是一个非监督过程,因此在模型最终的优化过程中除了拟合用户与项目的显式反馈或隐式反馈数据之外,还融入了自编码器的重构误差,而其它监督深度学习方法将从辅助信息中学习用户和项目隐表示的过程和拟合协同信息的过程集成到一个统一的监督学习框架中,从而在最终的模型优化过程中只拟合用户与项目的显式反馈或隐式反馈数据。因此,与基于自编码器的混合推荐方法的最大区别在于最终优化目标函数的构建。图5给出了一个基本的模型架构,深度学习模型用来从用户特征X和项目特征Y中学习用户隐表示U或项目隐表示V(此处并没有自编码器的输入数据重构过程),然后将隐表示融入到隐因子模型中拟合用户-项目交互矩阵R(如评分矩阵),通过拟合交互矩阵的误差ℓ(R,U,V)构建统一的目标优化函数,利用最终学习到的用户和项目隐表示对用户产生推荐。[10]

    图5 基于其它深度学习模型的混合推荐方法模型架构

       相对于传统推荐系统,基于深度学习的推荐系统更具有以下优势:
    (1)表征学习,首先深层神经网络能够自动建模数据中的潜在表示,减少人工特征设计; 其次深度学习方法可以整合海量的多源异构数据,对于提升推荐质量以及缓解数据稀疏和冷启动的问题意义重大。 
    (2) 非线性变换,深层神经网络能够通过sigmoid、tanh 和 relu 等非线性函数对数据进行非线性建模,使得推荐系统可以处理更加复杂的用户-项目交互。
    (3)序列建模,对序列数据建模可以充分挖掘用户行为随时间的变化,这对于建模长期和短期的用户偏好具有十分重要的意义。基于深度学习的推荐方法展现出了良好的性能,但是依然存在一些不足。一方面,深度神经网络容易陷入局部最优,并且大量数据的融入使得模型过于复杂,例如,YouTube视频推荐和 Google 的应用推荐,导致模型的泛化能力的下降。另一方面,尽管高度的非线性赋予了深度学习极高的模型表示能力,但用户难以理解模型是如何产生的推荐,使得结果的可解释性不足。因此,深度学习模型也被认为是“黑盒”模型。[11]
    • 8.4 基于协同过滤的个性化学习推荐

    1 协同过滤推荐原理

    在互联网永不停歇的增长需求的驱动下,推荐系统的发展可谓一日千里,从2010年之前千篇一律的协同过滤(CF)、逻辑回归,进化到因子分解机(Factorization Machine, FM)、梯度提升树(Gradient Boosting Decision Tree, GBDT),再到2015年之后深度学习推荐模型的百花齐放,各种模型架构层出不穷。诚然,深度学习推荐模型已经成了推荐、广告、搜索领域的主流,但在学习它之前,认真地回顾推荐模型仍是非常必要的,原因如下:

    • 即使再深度学习空前流行的今天,协同过滤、逻辑回归、因子分解机等传统推荐模型仍然凭借其可解释性强、硬件环境要求低、快速训练和部署等不可替代的优势,拥有大量适用的应用场景。
    • 传统推荐模型是深度学习推荐模型的基础。

    当今时代,移动互联网技术的发展以及在线服务的普及 改变了人们的生活方式,但海量信息的增长导致人们对信息 输出质量的要求越来越高。推荐系统作为一种个性化技术, 它不需要与用户有过多的互动,就可以根据用户在互联网中 留下的痕迹,主动分析并挖掘用户的兴趣偏好,引导用户发现 自己潜在的信息需求,缩小用户选择的范围。推荐系统 不仅可以为用户提供个性化服务,还能与用户建立密切联系, 让用户对其产生依赖。因此,推荐系统被广泛应用于不同领 域,如电商网站、视频、音乐和生活服务等。

    1.1 具体内涵

    所谓协同过滤, 基本思想是根据用户之前的喜好以及其他兴趣相近的用户的选择来给用户推荐物品(基于对用户历史行为数据的挖掘发现用户的喜好偏向, 并预测用户可能喜好的产品进行推荐),一般是仅仅基于用户的行为数据(评价、购买、下载等), 而不依赖于项的任何附加信息(物品自身特征)或者用户的任何附加信息(年龄, 性别等)。目前应用比较广泛的协同过滤算法是基于邻域的方法, 而这种方法主要有下面两种算法:

    • 基于用户的协同过滤算法(UserCF): 给用户推荐和他兴趣相似的其他用户喜欢的产品(产品可指学习的内容)
    • 基于物品的协同过滤算法(ItemCF): 给用户推荐和他之前喜欢的物品相似的物品(物品也可指学习的内容)

    协同过滤算法作为最受欢迎的推荐算法之一,可以衡量用户或物品之间的相似度,其主要分为基于用户的协同过滤 和基于物 品 的 协 同 过 滤。在 基 于 用 户 的 协 同 过 滤 推 荐 中, 如果用户在过去有相似的兴趣偏好,那么他们在未来的兴趣 偏好也极 有 可 能 是 相 似 的。协 同 过 滤 算 法 基 于 用 户 对物品的评分数据进行推荐,不需要额外分析物品本身的内容 信息或用户的基本信息,与领域无关。虽然协同过滤算法取 得了不错的应用效果,但它依然面临一些挑战。在互联网中, 每个用户的能力有限,不可能对所有物品(如电影、书籍和音 乐等)都产生过评分,因此用户之间共同评分的数据较少。除此之外,还要考虑惰性评分的用户,这些用户只给物品高分或 低分,其行为会对推荐过程产生干扰。总的来说,协同过滤算法所依赖的数据集非常稀疏且高维。

    2 协同过滤推荐算法

    由上图可知,协同过滤可以分为基于记忆(Memory-based)和基于模式(Model-based)两大类,其中基于记忆的协同过滤又可分为基于人口统计学(Demographic-based)和基于近邻(Neighborhood-based)两个子类,基于近邻又可分为基于用户(User-based)和基于物品(Item-based)两个小类。所谓基于记忆,就是通过历史行为数据来找到某种人(User)和物(Item)的可能关联来进行推荐,如果利用众多人口统计学信息进行人与物的关联计算,那便是基于人口统计学的协同过滤,可能会得到一个较粗的推荐结论,比如某个城市某个年龄段的女性在某个季节喜欢买什么东西;还有就是用近邻关系去衡量这种可能关联,用人与人之间的近邻(相似性)就是基于用户,用物与物的之间近邻(相似性)就是基于物品。

    基于模型的协同过滤又可分为基于矩阵分解(Matrix Factorization, MF)和基于分类模型(Classification Model)的协同过滤,本小结主要讲解基于近邻的协同过滤。

    2.1 实现算法公式:

    一:相似度算法判断用户相似度
       目前较多使用的相似度算法有:泊松相关系数、余弦相似度、调整余弦相似度。
    余弦相似度为


    下面,我们进一步计算出用户对物品的兴趣程度:

        

    给出了算法,我们如何快速求出公式中的参数呢?
        倘若服务器需要存储 所有用户之间的相似度的话,对时间的复杂度要求是极高的!倘若我们 先对 u 遍历,再对 v 遍历,然后再遍历 u 感兴趣的商品,是否在 v 感兴趣的商品中,那这基本就是爆炸了,所以说,正解的优化算法是:

        首先,倘若用户 a 需要商品 X,那么就将它放在商品 X 的集合里面,经过对所有用户预处理之后,每个商品都对应一个集合,集合内部两两成对即可。
     具体的步骤
    1.收集用户信息

        收集可以代表用户兴趣的信息。一般的网站系统使用评分的方式或是给予评价,这种方式被称为“主动评分”。另外一种是“被动评分”,是根据用户的行为模式由系统代替用户完成评价,不需要用户直接打分或输入评价数据。电子商务网站在被动评分的数据获取上有其优势,用户购买的商品记录是相当有用的数据。
    2.最近邻搜索(Nearest neighbor search, NNS)
        以用户为基础(User-based)的协同过滤的出发点是与用户兴趣爱好相同的另一组用户,就是计算两个用户的相似度。例如:查找n个和A有相似兴趣用户,把他们对M的评分作为A对M的评分预测。一般会根据数据的不同选择不同的算法,较多使用的相似度算法有Pearson Correlation Coefficient、Cosine-based Similarity、Adjusted Cosine Similarity。
    3.产生推荐结果
        有了最近邻集合,就可以对目标用户的兴趣进行预测,产生推荐结果。依据推荐目的的不同进行不同形式的推荐,较常见的推荐结果有Top-N 推荐和关系推荐。Top-N 推荐是针对个体用户产生,对每个人产生不一样的结果,例如:通过对A用户的最近邻用户进行统计,选择出现频率高且在A用户的评分项目中不存在的,作为推荐结果。关系推荐是对最近邻用户的记录进行关系规则(association rules)挖掘。

     

     2.2实现案例

    基于 Spark架构的艺术学慕课资源协同 过滤推荐算法。

    慕课是当今时代下互联网与教育相结合的产物,它 实际上是一种大规模开放的在线课程(Massive Open Online Course),是互联网时代下涌现出的一种在线课 程的开发模式。传统课程只有几十个或几百个学生,但 是一门慕课最多可以容纳十多万人。因此,在互联网 中,利用协同过滤进行艺术学慕课资源的推荐[1⁃2] 。协同 过滤简单来说,就是利用共同兴趣或者是拥有共同经验 人群的喜好大数据资料,来给用户推荐有可能感兴趣的 信息,个人通过合作机制给予信息一定程度的回应,利用 评分等方法将特别感兴趣的以及特别不感兴趣的资源 进行区分,并利用大量的评分记录对信息进行过滤,帮 助别人进行信息的筛选。由于资源数据日益庞大,现有 的艺术学慕课资源协同过滤推荐算法只能停留在数据 表面上的分析,导致 MAE 值较高,因此提出基于 Spark 架构的艺术学慕课资源协同过滤推荐算法。Spark架构 的优点在于能够更加适用于数据挖掘的算法,能够从大 量的数据中,通过算法搜索内部隐含的信息。

       1.流程主要分为 4部分,用户评分、计算相似度选择邻 居、预测评分、资源推荐列表,下面对流程进行详细研究。 1.1 建立用户⁃资源评分关系模型 艺术学慕课的受众分群和资源推荐需要以用户⁃资 源关系模型为基础,本文主要采取分级响应形式,对海 量数据进行深层挖掘,将数据中隐含的反馈信息作为构 建模型的重要元素。想要对用户推荐其感兴趣的资源, 需要根据用户和资源的历史数据进行预测,比如用户是 否观看了某个慕课课程,以及用户观看的时长和次 数[5⁃6] 。分级响应形式值是用户对资源进行不同级别的 评价,可以用一个用户评分数据表来体现。
       2.优化资源协同过滤的相似度计算 在用户⁃资源评分关系模型的基础上,为了实现资 源的精准推荐,需要依靠邻居的喜好做出预测,邻居需 要对比相似度而选择出来,因此在相似度的计算中,需 要能够正确衡量出资源和用户之间的相似性,才能够保 证资源推荐的准确性。传统算法中用的是余弦相似 度[7⁃9] ,但是余弦相似度忽略了资源被评分尺度的问题, 因此需要对其进行修正,采用用户对资源的评分减掉该 用户评分的平均值进行中心化评分,计算公式如下:

     

       3.实现慕课资源精准推荐 研究的算法中,想要实现慕课资源的精准推荐,需 要引入 Spark 架构。Spark 是一个能够快速且通用的集 群计算引擎,在本文的推荐算法研究中,采用基于内存 的数据抽象设计,将 Spark 任务的中间环节的结果进行 保存。Spark 框架包含了 SQL 查询、文本处理、机器学习等 功能组件 ,这些组件在 Spark 内紧密集成,其运算性能更好,尤其是在进行信息大批量分析和迭代的工作环 境下,利用 Spark框架的优势更加突出。当 Spark架构在 集群中运行时,首先由驱动程序通过资源管理器完成资 源申请,在管理器分配完资源后,在相应的节点上启动 Executor,节点在完成驱动程序提交的任务后,最后向驱 动程序提交反馈。
      4.实验:

       为了验证本文提出的基于 Spark架构的艺术学慕课 资源协同过滤推荐算法是否能够提高推荐的性能,设计 了对比实验,分别将两种传统算法和本文算法的预测精 度进行对比,并将结果进行分析。

       5.结论

    实验结果表明,随着训练集与测试集比例的增加, 三种算法的 MAE 值都在减小,准确度都在不断提升。 本文提出的算法在每种比例下,MAE 值均低于两种传 统方法,说明基于 Spark 架构的艺术学慕课资源协同过 滤推荐算法推荐精度更高,性能更好。

    • 8.5基于矩阵分解的个性化学习推荐
    • 8.5.1矩阵分解原理

           矩阵分解是指将一个矩阵表示为结构简单或具有特殊性质若干矩阵之积或之和,大体分为三角分解、QR分解、满秩分解和奇异值分解。矩阵分解模型是一种非常适合用来构建实时推荐模型的算法,它通过训练用户的偏好模型来解决向用户做出实时推荐的问题。

    1.基本原理

       将推荐值矩阵R分解为矩阵U和P,使得U和P的乘积得到的矩阵R中的元素值与R中的元素值非常接近。那么R中对应于R中的未知元素值就是预测值。

    (1)三角分解

       如果方阵A可表示为一个下三角矩阵L和一个上三角矩阵U之积,即 A=LU,则称 A可作三角分解。矩阵三角分解是以Gauss 消去法为根据导出的,因此矩阵
    可以进行三角分解的条件也与之相同,即矩阵A 的前 n-1 个顺序主子式都不为 0,即An不等于0.所以在对矩阵 A进行三角分解的第一步应该是判断是否满足这个前提条件,否则怎么分解都没有意义。矩阵的三角分解不是唯一的,但是在定的前提下,A=LDU 的分解可以是唯一的,其中D是对角矩阵。矩阵还有其他不同的三角分解,比如Doolittle 分解和 Crout 分解,它们用待定系数法来解求A的三角分解,当矩阵阶数较大的时候有其各自的优点,使算法更加简单方便。

    (2)QR分解

        QR(正交三角)分解法是求一般矩阵全部特征值的最有效并广泛应用的方法,一般矩阵先经过正交相似变化成为Hessenberg矩阵,然后再应用QR方法求特征值和特征向量。它是将矩阵分解成一个正规正交矩阵Q与上三角形矩阵R,所以称为QR分解法,与此正规正交矩阵的通用符号Q有关。如果实(复)非奇异矩阵A能够化成正交(酉)矩阵Q与实(复)非奇异上三角矩阵R的乘积,即A=QR,则称其为A的QR分解。

    (3)满秩分解

       定义:对于m×n的矩阵A,假设其秩为r,若存在秩同样为r两个矩阵:Fm×r(列满秩)和Gr×n(行满秩),使得A=FG,则称其为矩阵A的满秩分解。

       性质:满秩分解不唯一:假设存在r阶可逆方阵D,则A=FG=F(DD−1)G=(FD)(D−1G)=F′G′;

    • 任何非零矩阵一定存在满秩分解。证明如下;
    • 假设存在初等变换矩阵Bm×m,使得

                                         

    (4)奇异值分解

       奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解,是特征分解在任意矩阵上的推广。

       假设M是一个m×n阶矩阵,其中的元素全部属于域 K,也就是实数域或复数域。如此则存在一个分解使得其中U是m×m阶酉矩阵;Σ是半正定m×n阶对角矩阵;而V*,即V的共轭转置,是n×n阶酉矩阵。这样的分解就称作M的奇异值分解。Σ对角线上的元素Σi,其中Σi即为M的奇异值。常见的做法是为了奇异值由大而小排列。如此Σ便能由M唯一确定了。其应用主要包括求伪逆、平行奇异值、矩阵近似值。

    • 8.5.2矩阵分解推荐实现

      为了获得目标用户的兴趣,得到合适的推荐结果,一些学者采用基于领域的协同过滤推荐算法,得到相似的用户或项目,进一步得到推荐结果。但这些相似度算法大部分关注用户对项目的评分等级,以向量的形式比较距离,忽略了用户行为本身作为一个普通序列所具有的意义,而且用户对项目的倾向程度会根据时间的变化而变化,在用户对推荐结果需求数量比 较少时,还要尽可能把用户近期最为感兴趣的项目放在靠前的位置。矩阵分解是运用较为广泛的一种技术,可以随着用户信息的实时变化而改变推荐结果。

      其主要原理是根据用户的使用习惯对物品、课程等项目进行分类,即将项目划分到不同的类别,而这些类别可以理解为用户的兴趣偏好。不同的用户,会有不同的兴趣偏好。例如用户A喜欢艺术类课程,用户B喜欢文学、历史类课程,用户C喜欢工商、经济类课程,但是基于这种想法,单纯对课程进行分类不能向学习者进行个性化的课程推荐。因此,我们需要了解学习者对课程的喜好程度,根据喜好程度值向学习者推荐相关课程。

      具体来说,假设用户物品的评分矩阵是m*n维,即一共有m个学习者,n门课程。通过一套算法转化为两个矩阵U和V,矩阵U的维度是m*k,矩阵V的维度是n*k,

                                                       

      该方法基于这样一个假设,用户对某一课程的喜爱程度由k个因素(如课程时长、授课平台等)决定,Uni表示第n个学习者对第i个因素的偏好程度,而Vxi表示第X门课程满足第i个因素上的程度,Anx则表示学习者n对课程x的喜好程度,我们就可以根据喜好程度值向学习者推荐后续课程。

    接下来我们将介绍基于奇异值分解(SVD算法)推荐课程的应用过程:

    1. SVD基本算法

      矩阵分解,就是把用户和物品都映射到一个K维空间上,这个k维空间不是直接看到的,通常称为隐因子。

      假设每一门课程都得到一个向量q,每一个用户也得到一个向量p。对于课程,与它对应的向量q中的元素,有正有负,代表着这门课程背后暗藏的一些用户关注的因素,对于用户,与它对应的向量p中的元素,也有正有负,代表这个用户在若干因素上的偏好。课程被关注的因素和用户偏好的因素,它们的数量和意义是一致的,就是我们在矩阵分解之初人为指定的k。如何得到每一个用户,每一门课程的k维向量,这是一个机器学习的问题。按照机器学习思想,一般考虑两个要素:损失函数和优化算法。

      SVD的损失函数是这样定义的:
                                   
       

      损失函数由两部分组成,前一部分是控制模型的偏差,后一部分控制模型的方差。前一部分:用分解后的矩阵预测分数,要和实际用户评分之间误差越小越好;后一部分:得到的隐因子向量要越简单越好,以控制这个模型的方差,换句话说,让它在真正执行推荐任务时发挥要稳定。

    整个SVD的学习过程就是:

         enlightened准备好用户课程的评分矩阵,每一条评分数据看做是一条训练样本

         enlightened给分解后的U矩阵和V矩阵随机初始化元素值

         enlightened用U和V计算预测后的分数

         enlightened计算预测的分数和实际分数的误差 

         enlightened按照梯度下降的方向更行U和V 的元素值

      得到分解后的矩阵之后,实质上就是得到每个用户和每门课程的隐因子向量,拿着这个向量再做推荐计算更加简单,简单来说就是拿着物品和课程两个向量,计算点积就是推荐分数。

    1. 在线平台如何推荐课程

      通过之前构建目标函数之后,就要用到优化算法找到能使它最小的参数。优化方法常用的选择有两个,一个是随机梯度下降(SGD),另一个是交替最小二乘(ALS),在实际应用中,交替最小二乘更常用一些,这也是推荐系统中选择的主要矩阵分解方法。

     1)最小二乘原理(ALS)
    找到两个矩阵PQ,让它们相乘后约等于原矩阵R:

                                            

    PQ两个都是未知的,如果知道其中一个的话,就可以按照代数标准解法求得,比如知道Q,那么P就可以这样算:
                                      

      也就是R矩阵乘Q矩阵的逆矩阵就得到了结果,反之,知道了再求也一样,交替最小二乘通过迭代的方式解决这个循环难题:

      1)初始化随机矩阵Q里面的元素值

      2)Q矩阵当做已知的,直接用线性代数的方法求得矩阵P

      3)得到了矩阵P后,把P当做已知的,故技重施,回去求解矩阵Q

      4)上面两个过程交替进行,一直到误差可以接受为止

    使用交替最小二乘好处:在交替的其中一步,也就是假设已知其中一个矩阵求解另一个时,要优化的参数是很容易并行的;在不是很稀疏的数据集合上,交替最小二乘通常比随机梯度下降要更快的得到结果。

      (2)隐式反馈:实际上推荐系统关注的是预测行为,行为就是一再强调的隐式反馈。

    如何从解决预测问题转向解决预测行为上来,这就是One-Class,简单的理解就是如果把预测用户行为看成一个二分类问题,猜用户会不会做某件事,但实际上收集到的数据只有明确的一类:用户干了某件事,而用户明确不干某件事的数据却没有明确表达,这就是One-Class由来,One-Class数据也是隐式反馈的通常特点。

    对隐式反馈的矩阵分解,需要将交替的最小二乘做一些改进,改进后的算法称作加权交替最小二乘,加权交替最小二乘对待隐式反馈:1)如果用户对物品无隐式反馈则认为评分为02)如果用户对课程有至少一次隐式反馈则认为评分是1,次数作为该评分的置信度。

      目标函数变为:

                                    

    Cui就是置信度,计算误差时考虑反馈次数,次数越多,就越可信。置信度一般也不是等有反馈次数,根据一些经验,置信度Cui这样计算:

    Cui=1+aC,a是超参数,需要训练,默认值为40C是次数。

    针对那些没有反馈的缺失值,就是在我们给定的设定下,取值为0的评分就非常多,有两个原因需要在实际使用时要注意的问题:1.本身隐式反馈就只有正类别确定的,负类别是假设的 2.会导致正负类别样本非常不均衡,严重倾斜到0评分这边。

    不能使用所有的缺失值作为负类别,矩阵分解的初心就是要填充这些值。面对这个问题的做法就是负样本采样:挑一部分缺失值作为负类别样本即可,怎么挑有两个方法:1.随机均匀采样和正类别一样多可靠度不高) 2.按照物品的热门程度采样。

    1. 推荐计算:让用户和课程的隐因子向量两两相乘实际上复杂度还是很高,尤其是对于用户数量和课程数量都巨大的应用,Facebook提出两个办法得到真正的推荐结果:

    第一种,利用一些专门设计的数据结构存储所有课程的隐因子向量,从而实现通过一个用户向量可以返回最相似的K门课程;

    第二种,拿着课程的隐因子向量先做聚类,海量的课程会减少为少量的聚类,然后在逐一计算用户和每个聚类的推荐分数,给用户推荐课程就变成了给用户推荐课程聚类,得到给用户推荐的聚类后,再从每个聚类中挑选几门课程作为推荐结果。

    • 参考文献

    [1]高琳琦.“双减”背景下的个性化学习推荐策略研究[J]. 天津师范大学学报(基础教育版):1-6.

    [2]刘凤娟,赵蔚,姜强,王磊.基于知识图谱的个性化学习模型与支持机制研究[J].中国电化教育,2022(05):75-81+90.

    [3]罗承天,叶霞. 基于知识图谱的推荐算法研究综述[J]. 计算机工程与应用:1-13.

    [4]刘凤娟,赵蔚,姜强,王磊.基于知识图谱的个性化学习模型与支持机制研究[J].中国电化教育,2022,(05):75-81+90.

    [5]冯翔,王亚飞,吴永和.人工智能教育应用的新发展[J].现代教育技术,2018,28(12):5-12.

    [6]王艳,丁雪梅,孙薇. 深度学习在MOOC推荐系统中的应用[J]. 实验技术与管理,2020,37(08):54-57.

    [7]刘凯,张立民,周立军.深度学习在信息推荐系统的应用综述[J].小型微型计算机系统,2019,40(04):738-743.

    [8][9][10]黄立威,江碧涛,吕守业,刘艳博,李德毅.基于深度学习的推荐系统研究综述[J].计算机学报,2018,41(07):1619-1647.

    [11]李丹,高茜.基于深度学习推荐系统的研究与展望[J].齐鲁工业大学学报,2020,34( 6) : 29-38.

    [12]史加荣,李金红.新型深度矩阵分解及其在推荐系统中的应用[J].西安电子科技大学学报,2022,49(03):171-182.

    [13]孙金岭,庞娟.基于奇异值分解方法的条件异方差下协整秩检验[J].统计与决策,2016(04):21-24.

    [14]王娟,熊巍.基于矩阵分解的最近邻推荐系统及其应用[J].统计与决策,2019,35(06):17-20.

    [15]陈辉,王锴钺.基于相似度计算的深度神经网络矩阵分解推荐算法[J].山东理工大学学报(自然科学版),2022,36(06):67-73.

    [16]刘业政,吴锋,孙见山,杨露.基于群偏好与用户偏好协同演化的群推荐方法[J].系统工程理论与实践,2021,41(03):537-553.

    [17]马莹雪,甘明鑫,肖克峻.融合标签和内容信息的矩阵分解推荐方法[J].数据分析与知识发现,2021,5(05):71-82.

    [18]佘学兵,黄沙,刘承启.基于深度学习的网络资源优先协同过滤推荐[J].计算机仿真,2022,39(02):431-435.

    [19]孙晓寒,张莉.基于评分区域子空间的协同过滤推荐算法[J].计算机科学,2022,49(07):50-56.

    [20]王根生,袁红林,黄学坚,闵潞.基于改进型协同过滤的网络学习资源推荐算法[J].小型微型计算机系统,2021,42(05):940-945.

    • 标签:
  • 加入的知识群:
    学习元评论 (0条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~



    登录之后可以发表学习元评论
      
暂无内容~~
顶部