基于高阶奇异值的多模态推荐和聚类方法
本博客整理自研读的论文,文末会附上出处。
基于高阶奇异值的多模态推荐和聚类方法
一.背景
在教育领域,随着云计算和移动互联网的发展,不同的学习平台产生了海量的教育大数据,包括个人数据、学习行为记录、交互数据等。 当前教育数据彼此分割、互操作不强,导致从中抽取、挖掘出有价值的个性化教育资源十分困难。 而教育资源的持续扩充和再生的速度远超出个体的信息处理能力,引发了信息过载,形成“资源越来越多、获取越来越难”的信息悖论。因此, 如何从大量的数据中筛选出有价值的信息,为学习者提供精准的、个性化的服务就成了一个现实问题。 在论文中我们想要解决关于如何为学习者找资源、为资源匹配学习者、为学习者寻找学习伙伴、为资源匹配资源(得到资源类簇)。
接下来,我们主要解决两个问题:精准推荐和自适应聚类,这两个问题又可以各自细分为若干个小问题。
二.基于高阶奇异值分解的多模态推荐
基于高阶奇异值分解的(教育大数据)多模态推荐的步骤大致如下:
- 根据学习理论构建学习者、学习资源和学习轨迹三个子张量,然后分别从其中抽象出重要特征(或属性)作为子张量的阶,将三个子张量融合为一个大张量,如果有必要,我们还要对大张量进行简化操作;
- 将处理过的大张量进行高阶奇异值分解,并根据实际需求进行截断得到近似张量,由于大数据环境下的数据一般以增量方式产生,所以一般还需要对处理了的大张量进行追加后再进行近似处理;
- 当得到了一个近似张量,我们需要借助 Top-k来得到资源推荐张量(为学习者推荐资源)或学习推荐张量(为资源推荐学习者)从而实现精准推荐。
接下来就详细介绍这三个步骤。
1.基于张量的教育大数据表示与融合(+简化)
首先根据学习理论创建学习者、学习资源、学习轨迹三个子张量,这三个子张量能够表示不同来源且异构的教育大数据。构建这三个子张量需要分别抽取局部数据的特征,抽象出某些属性,比如对于学习者这个子张量抽取学号、偏好等属性作为张量的阶,然后根据实际需求去决定每个阶的维数,最后选择一种关联因素表示所有阶的关系并决定其数据类型,比如分别构建下列学习者、学习资源、学习轨迹子张量:
学习轨迹张量将学习者张量和资源张量之间建立关联关系(学习轨迹张量与学习者张量在学号上有关联,学习轨迹张量与资源张量在资源号上有关联)。
然后给定了某些子张量的属性和取值范围并且规定学习者、学习资源张量的数据类型为布尔类型,学习轨迹张量的数据类型为实数类型。
比如:
在学习者张量中,Lxijkl…w=1 (布尔类型)代表第x个学生的学习风格为i,学习动机为j,认知能力为k,学习目标l,……,内容偏好为w
在学习资源张量中,Rxijkl…w=1 (布尔类型) 代表第x 个资源的资源类型为i,媒体格式为j,交互方式为k,……,难易程度为w。
在学习轨迹张量中,LRxijk…w=3 (实数类型)代表学习者x 在时间i地点j,通过设备k,……,学习了资源w 的次数为3,0 则代表该学习者在当前情境下没有学习该资源。
为实现精准的个性化教育资源推荐,要求不破坏数据之间的固有关系对整体数据进行关联分析。为将学习者张量、资源张量和学习轨迹张量进行多视角关联分析,需要将三个张量模型进行关联融合,这需要用到张量连接这一操作。
以上图为例:针对上面的学习者张量 L ,学习资源张量 R 和学习轨迹张量 LR ,可以先将学习者张量和学习轨迹张量沿着学号这一阶连接形成一个临时张量,然后再将这个临时张量和学习资源张量沿着资源号这一阶连接形成一个融合张量,形成的融合张量(见下图)。
如果融合张量的阶数太多会导致存储计算、分析等方面开销大幅增加,这时就可以对融合张量进行简化。
简单来说,张量简化就是对所有不需要的阶求和从而只保留需要的阶。
根据拉斯韦尔的5w传播理论 (即5个w,Who(谁)Says What(说了什么) In Which Channel(通过什么渠道)To Whom (向谁说)With What Effect(有什么效果)),借此我们可以作出以下简化:
2.基于高阶奇异值分解的多维关联分析
当个性化教育资源推荐系统从二维模型<用户,资源>发展到三维模型<用户,标签,资源>,多数推荐算法通常是把这个三维模型拆分成两个二维模型<用户,标签>和<资源,标签>来进行分析和推荐。这种拆分的方法失去了影响因素彼此之间的特征结构和关联关系,当推荐系统考虑的因素更多的情况下,其推荐性能将受到一定影响。而基于张量的高阶奇异值分解可在高维空间对整体数据从多个维度综合分析,挖掘数据之间潜在的语义关联,实现更加精准的推荐。
图a可以看出,一个原始张量通过增量式高阶奇异值分解分解成了一个核心张量和多个因子矩阵的模乘,每个因子矩阵都代表当前阶上的特征矩阵;
图b则表示可以对核心张量不重要的特征进行截取,只保留前r个关键特征(前r个奇异值).
下面的算法都将在我实现了代码后再进行详细的解读
大数据环境下的数据一般都是以增量方式产生,例如在学习平台上,随着新学习者的加入,融合后的全局张量将沿着学号阶进行追加。然而,当每次有新学生或者新资源加入时,每次都对更新张量重新进行高阶奇异值分解将难以实现,因为无法满足教育服务的时间要求。因此,我们采用增量是高阶奇异值分解方法来缓解其关联分析的时间。现提出基于 Jacobi旋转的增量式高阶奇异值分解算法( Incremental HOSVD,IHOSVD)如下:
3.实现不同情景下的教育资源精准推荐
到了这一步就可以开始精准推荐了,具体流程如下:
首先构建子张量,然后融合(并简化);利用高阶奇异值分解并根据实际需求截断得到核心张量和因子矩阵;紧接着得到一个重构的近似张量,再对近似张量中 每个学习者在每个情景下学习过的资源的学习次数进行排序,选出前top-k个学习资源,得到资源推荐张量,类似的可以选出前top-k个学习者,得到学习者推荐张量 ,最后我们就可以借助资源推荐张量和学习者推荐张量分别为学习者推荐资源、为资源匹配学习者,从而实现精准推荐。
对于有学习记录的学习者,通过分析学习者的学习记录,可以为学习者推荐其他的学习资源,实现基于学习行为的数据挖掘和推荐。而对于没有学习记录的新增学习者,通过学习者及资源之间的关联关系,可以为新增学习者推荐与其相似的学习者访问过的学习资源。
现提出增量式多维关联分析的个性化推荐算法( Incremental Tensor-based Correlative Analysis and Personalized Recommendation, ITCA-PR),这是在通过增量式高阶奇异值分解算法得到近似张量后才能够通过下面算法进行精准推荐:
接着给出一个五阶张量(表示第l 个学生在第t 个时刻的融合张量))的例子:
如果不止考虑一个情景,所得推荐结果就是图c中排序后的三阶张量,如果只考虑一个情景,所得推荐结果就是图c中简化后并排序的一阶张量。
这种个性推荐算法具有以下三个特点:
第一,高阶奇异值分解的对象是融合后的整体张量,实现了对全局数据的关联分析。
第二,分解过程中去除较小的奇异值及其对应特征(通常是一些噪音数据),从而保留最主要的特征,这将有利于提高后续推荐效果。
第三,重构后得到的近似张量可以将原始张量中的零数据通过整体数据关联分析转变成非零数据,这些非零数据正好代表当前学习记录发生的相对可能性,从而挖掘原始张量中潜在的学习关联。
三.基于高阶奇异值分解的自适应聚类
除了可以为学习者推荐资源或者为资源推荐学习者,我们还可以为学习者推荐学习者,为资源推荐资源,即为学习者找到学习伙伴或找到不同情境下自适应的资源类簇;
论文中首先提出如何得到不同环境下的聚类张量(增量式多维关联分析的自适应聚类算法*-ITCA*),然后再基于这种算法提出如何得到指定环境下推荐的学习共同体或资源类簇(增量式自适应聚类及共同体推荐算法-ITAC-CR)
接下来就详细介绍如何实现融合张量的自适应聚类,从而构建学习共同体、找到不同情景下的资源类簇。
增量式自适应聚类的学习共同体构建
不同的学习者在不同的情境下具有不同的学习兴趣和行为习惯,为给特定的学习者在特定的情境下推荐最合适的学习伙伴,这里提出了一种基于高阶奇异值分解的自适应聚类和学习共同体构建方法。在对张量空间的数据点进行聚类时,由于随着张量的阶数增大,张量空间的数据点会变得更加稀疏,所以要在所有数据中选择最重要的特征信息进行聚类分析。现提出一个基于增量式高阶奇异值分解的自适应聚类算法(Incremental Tensor-based Adaptive Clustering,ITAC),以在不同情境下得到自适应的聚类结果,从而构建自适应的学习共同体,其流程如图:
- 第一步,根据实际应用选择聚类对象所在的阶以及所有情境所在的阶,然后将融合张量沿着选定的阶进行矩阵展开。
- 第二步,对上述展开矩阵进行增量式奇异值分解,计算其左奇异矩阵,并通过截取较小的奇异值和对应的特征以去除噪声数据,保留主要的关键特征,而且各特征对应的特征值反应的就是特征的重要程度。基于这些关键特征进行聚类,有利于提高聚类效果。
- 第三步,将左奇异矩阵进行张量化得到聚类对象的特征张量,该张量包含所有情境下 In 个聚类对象的 rn 个主要特征。
- 第四步,基于特征张量,计算在每个情境下,按照加权欧氏距离计算 In 个聚类对象彼此之间的相似度,得到相似度张量。
- 第五步,基于相似度张量,选择适当的聚类算法,在每个情境下对所有对象进行聚类,得到最后的聚类张量。
基于增量式高阶奇异值分解的自适应聚类算法如下:
当某学习者进入到一个特定环境,通过该算法提供的自适应聚类张量,可以获取该情境下和该学习者属于同一类的学习者,并将他们推荐给当前学习者,从而建立自适应的学习共同体。
基于该算法可以对学习者聚类,也可以对资源聚类从而得到指定环境下推荐的学习共同体或资源类簇,然后提出了一个增量式自适应聚类及共同体推荐算法(Incremental Tensor-based Adaptive Clustering and Community Recommendation, ITAC-CR)),具体算法如下:
自适应的学习共同推荐有利于构建灵活高效的学习社区,自适应的资源类簇有利于资源的有效利用。
本博客整理自华中科技大学刘华中的博士学位论文——《基于张量的大数据高效计算及多模态分析方法研究》的第八章基于高阶奇异值的多模态推荐和聚类方法