一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于用户群体典型特征的强化学习分组方法、装置及介质

2022-08-17 09:01:06 来源:中国专利 TAG:


1.本发明属于人工智能领域,具体涉及一种基于用户群体典型特征的强化学习分组方法、装置及介质。


背景技术:

2.解决师-机-生多层次自然交互机制中的协同决策问题,是实现人机增强智能组织的关键。在传统一对多大规模在线群体学习场景下,教师和机器均无法单独应对海量用户群体分组需求,造成群体学习体验难适配。如何融合机器智能的搜索、试错和人类的反馈能力建立“师-机”和“生”多对多场景下的组织机制,是解决群体学习体验难适配的关键。不同于传统的聚类问题,群体分组不能简单地将相近类别的学生分为一组。在自然条件下,组内的成员间性质互补、多元往往形成的学习效果更好。因此,如何获取从用户反馈的角度优化分组方法,实现真正适合用户体验的系统,是智能群体分组的关键问题。
3.针对此问题,国内外已经发展了多种智能群体分组方法。上海财经大学提出了基于离散时间异质多智能体系统,主要研究最优分组一致性控制问题。其中所讨论的系统不仅包括完全未知的一阶和二阶动力学的智能体,而且还包含了合作-竞争交互强度。中科大提出两阶段强化学习聚类算法,该方法首先对连续状态空间进行自适应离散化的状态空间学习,使用k-均值聚类算法;然后寻找最优策略的策略学习,使用替代合适迹sarsa学习算法。近年来,分层强化学习在克服维数灾难方面取得了显著进展,典型的成果有option、ham和maxq等方法,其中option和maxq目前使用较为广泛。option方法便于自动划分子任务(尤其分区或分段子任务),且子任务粒度易于控制,但利用先验知识划分子任务时,任务划分结果表达不够明晰,且子任务内部策略难于确定;maxq方法在线学习能力强,但自动分层能力较弱,且分层粒度不够精细,难于对一些规模依然很大的子任务做出进一步的分解。


技术实现要素:

4.本发明的目的是克服现有的不足,提供一种基于用户群体典型特征的强化学习分组方法、装置及介质。
5.为实现本发明目的,提供的技术方案如下:
6.第一方面,本发明提供了一种基于用户群体典型特征的强化学习分组方法,其步骤如下:
7.s1:对在线学习平台中目标用户的画像信息进行提取和筛选,将每个目标用户的个人信息画像以及用户与平台之间的交互行为画像进行拼接后作为用户画像特征;
8.s2:基于所有用户的用户画像特征构建用户关系图,图中的每个节点对应于一个目标用户,再使用图卷积神经网络对用户关系图进行特征提取和聚合,得到图中每个节点对应的群体特征;
9.s3:对用户关系图中所有节点的群体特征进行聚类,形成多个类型的典型用户群组;
10.s4:基于s2中得到的群体特征以及s3中聚类得到的各典型用户群组,利用强化学习模型对群体典型类型进行分组预测,使各典型用户群组中的用户逐步被划分至不同的分组中,最终得到平台上所有目标用户的最优分组。
11.作为上述第一方面的优选,所述步骤s1的具体实现方法如下:
12.s11:从在线学习平台的数据库中提取目标用户的画像信息,所述画像信息包括个人信息画像以及用户与平台之间的交互行为画像;
13.s12:对于每个用户i的画像信息,保留与分组任务相关的特征,并将保留的画像信息维度均数值化到实数空间,然后将所有维度的画像信息拼接在一起,得到d维的用户画像特征fi;在线学习平台上的所有n个目标用户的用户画像特征fi组合为用户画像特征矩阵f∈rn×d。
14.作为上述第一方面的优选,所述步骤s2的具体实现方法如下:
15.s21:将在线学习平台中的n个用户视为图中的一个结点ti,将对应的用户画像特征作为对应结点的用户特征fi,进而构建用户关系图中n个结点ti的集合t={t1,

tn};定义结点之间的距离为各自的用户特征之间的欧氏距离;
16.s22:使用k邻近算法建立用户关系图中所有n个节点的边连接,其中用户关系图中的每一个结点ti均需要在图中寻找距离最近的k个结点,并在结点ti与这k个结点之间建立边;所有建立的边记录进边集合e中,且重复的边只保留一个记录;根据已经建立的边集合e构建邻接矩阵a∈rn×n,其中第i行第j列的元素a
ij
表示结点ti和结点tj之间是否存在边,如果存在,a
ij
=1,否则a
ij
=0;
17.s23:根据邻接矩阵a确定用户关系图中任意一个结点的相邻结点集合,其中对于结点ti,从a的第i行中找到其中元素为1的列的索引,即为所有与结点ti相邻的结点的索引,将与结点ti相邻的结点的集合定义为结点ti的临接集ni,该结点ti的临接集ni包含结点ti自身;
18.s24:在用户关系图的基础上进行图卷积操作,图卷积共分为l层,第一层图卷积的输入为用户画像特征矩阵f,其余每一层图卷积的输入特征是上一层图卷积的输出特征;对于任意第k 1层图卷积而言,其依次对图中每个节点的临接集进行特征聚合,并重新输出每个节点的用户特征:
[0019][0020]
式中,是结点ti在第k 1层图卷积中输出的用户特征,是结点tj在第k层图卷积中输出的用户特征,其中k=0时|ni|是临接集的势ni,等于临接集包含的结点个数;
[0021]
s25:对于每一个结点ti,将初始的用户特征及所有l层图卷积输出的特征进行平均,得到每个结点ti对应的群体特征
[0022]
[0023]
作为上述第一方面的优选,所述步骤s3中,对于已经获得所有结点的群体特征,采用k-means聚类算法对特征进行聚类,从而将结点对应的用户分成t个类型,具体实现步骤如下:
[0024]
s31:从所有n个群体特征中随机选取t个作为聚类的初始中心;
[0025]
s32:对于对除初始中心之外的其余任意一个群体特征,逐一求其与t个聚类中心之间的欧氏距离,并将各群体特征归入距离最近的聚类中心所在的聚类类别;
[0026]
s33:对于经过s32处理后的每一个聚类类别,根据该类别中所有群体特征重新计算各自的聚类中心;
[0027]
s34:不断重复迭代s32~s33,直至所有聚类中心收敛,最终将所有群体特征对应的用户划分成t个用户类型{c1,c2,
…ct
}的典型用户群组。
[0028]
作为上述第一方面的优选,所述步骤s4的具体实现方法如下:
[0029]
s41:构建用于对在线学习平台上用户执行分组任务的强化学习模型;所述分组任务的目标是将平台上的n个用户分为g组,每组h个组员;所述强化学习模型用于针对已经划分的为t个类型{c1,c2,
…ct
},预测每个组需要的用户类别;所述强化学习模型的状态s和动作a分别定义为模型的输入x和输出y;输入x∈rg×h×
(d t)
包含g个组中所有n个组员的特征,一个对应于用户i的组员的特征包含两部分,第一部分是s2中得到用户i的d维群体特征,第二部分是s3中聚类后用户i所属类型的t维独热编码,输出y∈rg×
t
代表每个组需要加入每一类型的组员的概率;
[0030]
s42:所述强化学习模型定义状态和动作后,按照s421~s424进行多次输入输出的迭代,完成一轮分组,其中s421~s424流程如下:
[0031]
s421:将输入x初始化为一个全零张量,代表尚未进行任何分组动作;
[0032]
s422:由所述强化学习模型根据输入x得到输出y,根据输出y以及当前每个聚类类别的剩余用户人数为每个组执行依次分配新组员的操作;在执行一次分配新组员的操作过程中,首先根据输出y统计得到g个组各自最需要的用户类型,然后对t种类型按照需求的组的数量从多到少的顺序依次开始分配,其中:若g个组中有m个组需要c
t
类型的人,剩余的c
t
类型的用户有n个,如果m≤n,则就把n个中任意m个cn类型的用户分配到这m个组中,剩余组将不再考虑分配cn类型的用户;如果m>n时分配的用户出现不足,则把这n个cn类型的用户分配到输出y中对应概率最大的n个组中,剩余的m-n个组继续分配其他类型的用户并通过比较输出y中的概率值大小决定具体分配的用户类型,如果cn类型的用户已经全部分配完,后续均需要跳过对cn类型用户的分配;
[0033]
s423:经过执行一轮s422操作,每个组都被分配了1名新组员,将该新组员对应的所述群体特征和该新组员所属类型的t维独热编码替换输入x中相应位置的元素值,得到新的输入x;
[0034]
s424:不断迭代重复s422~s423共h次后,将平台上的所有n个用户分为了g组,每组h个组员,分组结束;
[0035]
s43:完成s42中的一轮分组后,采用策略梯度法对所述强化学习模型进行训练;其中所述强化学习模型的参数为θ,则参数的更新方式为:
[0036]
[0037][0038]
其中是在参数为θ的强化学习模型下的反馈期望,该期望通过蒙特卡洛采样近似得到,采样的总次数为s,一次采样即一轮分组,共包含h次采样;表示在第n轮分组中第h次采样时,在状态下采取动作的概率,该概率是由强化学习模型预测得到;r(τn)表示在第n轮分组中采取一系列分组动作τn后得到的反馈,该反馈从在线学习平台上用户对分组结果的实际反馈结果中获得;α为学习率;
[0039]
s44:所述强化学习模型训练好后,固定其模型参数用于对在线学习平台上的用户进行实际预测分组。
[0040]
作为上述第一方面的优选,所述强化学习模型由全连接神经网络构成。
[0041]
作为上述第一方面的优选,所述强化学习模型在用于对在线学习平台上的用户进行实际预测分组过程中,定期收集平台上的在线数据并对模型参数进行更新。
[0042]
第二方面,本发明提供了一种基于用户群体典型特征的强化学习分组装置,其包括:
[0043]
画像特征提取模块,用于对在线学习平台中目标用户的画像信息进行提取和筛选,将每个目标用户的个人信息画像以及用户与平台之间的交互行为画像进行拼接后作为用户画像特征;
[0044]
群体特征提取模块,用于基于所有用户的用户画像特征构建用户关系图,图中的每个节点对应于一个目标用户,再使用图卷积神经网络对用户关系图进行特征提取和聚合,得到图中每个节点对应的群体特征;
[0045]
聚类模块,用于对用户关系图中所有节点的群体特征进行聚类,形成多个类型的典型用户群组;
[0046]
分组模块,用于基于群体特征提取模块中得到的群体特征以及聚类模块中聚类得到的各典型用户群组,利用强化学习模型对群体典型类型进行分组预测,使各典型用户群组中的用户逐步被划分至不同的分组中,最终得到平台上所有目标用户的最优分组。
[0047]
第三方面,本发明提供了一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如上述第一方面任一方案所述的基于用户群体典型特征的强化学习分组方法。
[0048]
第四方面,本发明提供了一种基于用户群体典型特征的强化学习分组装置,其包括存储器和处理器;
[0049]
所述存储器,用于存储计算机程序;
[0050]
所述处理器,用于当执行所述计算机程序时,实现如上述第一方面任一方案所述的基于用户群体典型特征的强化学习分组方法。
[0051]
相对于现有技术而言,本发明的有益效果如下:
[0052]
本发明的优点在于充分利用个体用户和用户间的群体关系进行特征建模,将个体用户特征降维到典型群体特征空间进行分组,并考虑了在线学习平台中用户群体分组问题中用户规模巨大、组合易爆炸的特点,利用q-learning强化学习方法进行求解。该方法适用于大规模在线学习中,研讨、实践、合作场景的学生用户分组,其分组效率高,准确性好、解
释性强。本发明对于大规模在线学习平台中的用户分组教学实践具有十分重要的实际应用价值。
附图说明
[0053]
图1为一种基于用户群体典型特征的强化学习分组方法的流程图。
具体实施方式
[0054]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施例的限制。本发明各个实施例中的技术特征在没有相互冲突的前提下,均可进行相应组合。
[0055]
在具体叙述之前,先对本发明中提到的若干概念进行定义如下:
[0056]
本发明中的在线学习平台是指通过网络形式供学习者在线进行课程学习的平台,以下亦可简称平台。每一个学习者为平台上的一个用户,将平台上需要激励的用户称为目标用户。用户在平台上的注册信息是用户根据平台的注册机制所填写的个人信息,例如性别、地域、文化程度等等。同时,用户在平台上学习的过程中,会不断与平台进行交互,例如进行课程学习活动、与平台进行互动等等,这些数据都以用户与平台之间交互产生的行为信息形式被记录。
[0057]
如图1所示,在本发明的一个较佳实施例中,提供了一种基于用户群体典型特征的强化学习分组方法,其步骤如下:
[0058]
s1:对在线学习平台中目标用户的画像信息进行提取和筛选,将每个目标用户的个人信息画像以及用户与平台之间的交互行为画像进行拼接后作为用户画像特征。
[0059]
作为本实施例的一种具体实现方式,上述步骤s1的具体实现方法如下:
[0060]
s11:从在线学习平台的数据库中提取目标用户的画像信息,所述画像信息包括个人信息画像以及用户与平台之间的交互行为画像。
[0061]
s12:对于每个用户i的画像信息,将其中无关特征删除,保留与分组任务相关的特征,并将保留的画像信息维度均数值化到实数空间,然后将所有维度的画像信息拼接在一起,得到d维的用户画像特征fi;在线学习平台上的所有n个目标用户的用户画像特征fi组合为用户画像特征矩阵f∈rn×d。
[0062]
另外,假如从平台上提取的信息质量不高,则需要预先进行特征工程处理,其中特征工程处理的具体形式需要根据数据情况进行确定,一般可以通过进行剔除异常值、填补缺失值以及特征筛选实现,其中特征筛选需要对所有特征维度进行降维,剔除与用户分组无关的特征维度。
[0063]
s2:基于所有用户的用户画像特征构建用户关系图,图中的每个节点对应于一个目标用户,再使用图卷积神经网络对用户关系图进行特征提取和聚合,得到图中每个节点对应的群体特征。
[0064]
作为本实施例的一种具体实现方式,上述步骤s2的具体实现方法如下:
[0065]
s21:将在线学习平台中的n个用户视为图中的一个结点ti,将对应的用户画像特
征作为对应结点的用户特征fi,进而构建用户关系图中n个结点ti的集合t={t1,

tn};定义结点之间的距离为各自的用户特征之间的欧氏距离。
[0066]
具体而言,建立的图中n个结点ti记为t={t1,

tn},即每个用户和图中的每个结点一一对应,则可定义结点之间的距离为:
[0067][0068]
式中,d(ti,tj)是结点ti和tj之间的距离,同理,d(fi,fj)是结点ti和tj的特征fi和fj之间的距离,它是fi与fj在rd空间的欧氏距离;
[0069]
s22:使用k邻近算法建立用户关系图中所有n个节点的边连接,其中用户关系图中的每一个结点ti均需要在图中寻找距离最近的k个结点,并在结点ti与这k个结点之间建立边;所有建立的边记录进边集合e中,且重复的边只保留一个记录;根据已经建立的边集合e构建邻接矩阵a∈rn×n,其中第i行第j列的元素a
ij
表示结点ti和结点tj之间是否存在边,如果存在,a
ij
=1,否则a
ij
=0。
[0070]
在针对一个结点ti寻找图中距离最近的k个结点时,本质上就是在f=[f1,

,fn,
…fn
],1≤n≤n中对于单个用户的特征fn∈rd,寻找与其最相似的k个特征{f
n1
,

,f
nk
},其中最相似意味着上述定义的距离最小。
[0071]
s23:根据邻接矩阵a即可确定用户关系图中任意一个结点的相邻结点集合即临接集,其中对于结点ti,从a的第i行中找到其中元素为1的列的索引,即为所有与结点ti相邻的结点的索引,将与结点ti相邻的结点的集合定义为结点ti的临接集ni,该结点ti的临接集ni包含结点ti自身。根据临接集ni即可在结点tn与{t
n1
,

t
nk
}中的每个结点分别建立边,将所有边记录进边集合e,需注意边集合e中重复的边只保留一个记录。
[0072]
s24:在用户关系图的基础上进行图卷积操作,图卷积共分为l层,第一层图卷积的输入为用户画像特征矩阵f,其余每一层图卷积的输入特征是上一层图卷积的输出特征;对于任意第k 1层图卷积而言,其依次对图中每个节点的临接集进行特征聚合,并重新输出每个节点的用户特征:
[0073][0074]
式中,是结点ti在第k 1层图卷积中输出的用户特征,是结点tj在第k层图卷积中输出的用户特征,其中特别地,k=0时|ni|是临接集的势ni,等于临接集包含的结点个数。上式表明,为了得到需要对结点ti的临接集ni中所有结点的特征进行平均。
[0075]
上述图卷积的总层数l可以根据实际的激励效果进行优化,在一优选实施例中l可优化为3层。
[0076]
s25:对于每一个结点ti,将初始的用户特征及所有l层图卷积输出的特征
进行平均,得到每个结点ti对应的群体特征
[0077][0078]
式中,是结点ti在第k层的输出用户特征,是结点ti的群体特征。
[0079]
s3:对用户关系图中所有节点的群体特征进行聚类,形成多个类型的典型用户群组。
[0080]
作为本实施例的一种具体实现方式,上述步骤s3中,对于已经获得所有结点的群体特征,采用k-means聚类算法对特征进行聚类,从而将结点对应的用户分成t个类型,具体实现步骤如下:
[0081]
s31:从所有n个群体特征中随机选取t个作为聚类的初始中心。
[0082]
s32:对于对除初始中心之外的其余任意一个群体特征,逐一求其与t个聚类中心之间的欧氏距离(定义如前所述),并将各群体特征归入距离最近的聚类中心所在的聚类类别。
[0083]
s33:对于经过s32处理后的每一个聚类类别,根据该类别中所有群体特征重新计算各自的聚类中心。
[0084]
s34:不断重复迭代s32~s33,直至所有聚类中心收敛,最终将所有群体特征对应的用户划分成t个用户类型{c1,c2,
…ct
}的典型用户群组。
[0085]
聚类中心的收敛可根据相应的聚类中心更新前后的平移距离∈来判断,当更新误差即更新前后的中心距离小于∈时,说明聚类已基本收敛。
[0086]
s4:基于s2中得到的群体特征以及s3中聚类得到的各典型用户群组,利用强化学习模型对群体典型类型进行分组预测,使各典型用户群组中的用户逐步被划分至不同的分组中,最终得到平台上所有目标用户的最优分组。
[0087]
作为本实施例的一种具体实现方式,上述步骤s4的具体实现方法如下:
[0088]
s41:构建用于对在线学习平台上用户执行分组任务的强化学习模型。其中,分组任务的目标是将平台上的n个用户分为g组,每组h个组员。上述强化学习模型的作用四号用于针对已经划分的为t个类型{c1,c2,
…ct
},预测每个组需要的用户类别,进而以便于执行分组操作。在本发明中,上述强化学习模型可以由全连接神经网络构成。强化学习模型的状态s和动作a分别定义为模型的输入x和输出y;输入样本x∈rg×h×
(d t)
包含g个组中所有n个组员的特征,一个对应于用户i的组员的特征包含两部分,第一部分是s2中得到用户i的d维的群体特征第二部分是s3中聚类后用户i所属类型的t维的独热编码(由相应的类别序号进行编码得到),输出y∈rg×
t
代表每个组需要加入每一类型的组员的概率,输出结果能够用来预测应该采取的分组动作。
[0089]
需要注意的是,上述输入x仅仅为其定义,但在模型初始训练时需要先初始化为全零张量,在训练过程中在不断填入g个组中所有n个组员的特征进行更新。
[0090]
s42:所述强化学习模型定义状态和动作后,按照s421~s424进行多次输入输出的迭代,完成一轮分组,其中s421~s424流程如下:
[0091]
s421:将输入x初始化为一个全零张量,代表尚未进行任何分组动作;
[0092]
s422:由所述强化学习模型根据输入x得到输出y,根据输出y以及当前每个聚类类别的剩余用户人数为每个组执行依次分配新组员的操作;在执行一次分配新组员的操作过程中,首先根据输出y统计得到g个组各自最需要的用户类型,然后对t种类型按照需求的组的数量从多到少的顺序依次开始分配,已经分配的组和类型不再纳入考虑范围之内,其中在分配时:若某次分配时g个组中有m个组需要c
t
类型的人,剩余的c
t
类型的用户有n个,如果m≤n,则就把n个中任意m个cn类型的用户分配到这m个组中,剩余组将不再考虑cn对应的概率,即剩余组将不再考虑分配cn类型的用户;如果m>n时分配的用户出现不足,则把这n个cn类型的用户分配到输出y中对应概率最大的n个组中,剩余的m-n个组继续分配其他类型的用户并通过比较输出y中的概率值大小决定具体分配的用户类型,如果cn类型的用户已经全部分配完,那么那么从此步后的所有步都不再考虑cn对应的概率,即后续均需要跳过对cn类型用户的分配;
[0093]
s423:经过执行一轮s422操作,每个组都被分配了1名新组员,将该新组员对应的所述群体特征和该新组员所属类型的t维独热编码替换输入x中相应位置的元素值,得到新的输入x;
[0094]
s424:不断迭代重复s422~s423共h次后,将平台上的所有n个用户分为了g组,每组h个组员,分组结束;
[0095]
s43:完成s42中的一轮分组后,采用策略梯度法对所述强化学习模型进行训练;其中所述强化学习模型的参数为θ,则参数的更新方式为:
[0096][0097][0098]
其中是在参数为θ的强化学习模型下的反馈期望,该期望通过蒙特卡洛采样近似得到,采样的总次数为s,一次采样即一轮分组,共包含h次采样;表示在第n轮分组中第h次采样时,在状态下采取动作的概率,该概率是由强化学习模型预测得到,因此与θ相关;r(τn)表示在第n轮分组中采取一系列分组动作τn后得到的反馈,该反馈从在线学习平台上用户对分组结果的实际反馈结果中获得,属于已知量;上式表明,需要求取的梯度对模型参数进行更新,采取的学习率为α。
[0099]
s44:所述强化学习模型训练好后,固定其模型参数用于对在线学习平台上的用户进行实际预测分组。
[0100]
需要说明的是,为了便于模型训练,在线学习平台在对用户进行分组后,需要向用户收集其对于分组是否满意的反馈,该收集的反馈可以进一步作为r(τn)用于对模型进行训练。
[0101]
另外,上述强化学习模型在用于对在线学习平台上的用户进行实际预测分组过程中,可以定期收集平台上的在线数据并对模型参数进行更新,从而不断利用在线学习平台上产生的新数据重新训练模型,提高模型的预测准确性。也就是说,上述强化学习模型的训练可以是不断迭代的,即强化学习模型完成新一轮训练后,即可暂时固定模型中可学习参数,然后利用强化学习模型对在线学习平台上的用户进行分数,然后收集用户对分组的评
价反馈数据,利用一段时间内用户对分组的评价反馈数据继续对模型进行训练,使得在线学习平台上的用户分组不断满足用户对预期分组的需求。
[0102]
下面基于上述实施例中s1~s4所示的方法,将其应用至具体的实例中对其效果进行展示。具体的过程如前所述,不再赘述,下面主要展示其具体参数设置和实现效果。
[0103]
实施例
[0104]
下面以某些在线学习平台的用户分组过程为例,对本发明进行具体描述,其具体步骤如下:
[0105]
1)按照前述的步骤s1,获取用户的画像数据,包括信息画像,行为画像,下面给出某用户的具体信息画像实例,性别:男,年龄:19,地域:浙江省,收入:0/月,婚否:否,职业:学生。下面给出该用户的行为画像实例,课程学习时间:200天,课程学习数量:3,在线互动次数:20。
[0106]
然后,对获取的用户画像数据进行处理。首先去除无关特征,对于课程学习的分组,地域、收入、婚否这三项几乎与分组无关,因此从用户画像中剔除。然后对画像的特征进行数值化,下面给出该用户数值化的实例。性别:1,年龄:0.19,职业:0.1,课程学习时间:200,课程学习数量:3,在线互动次数:20。此处只是举例,具体数值化的方式不唯一。数值化后得到该用户的初始画像特征向量[1,0.19,0.1,200,3,20],对应s1中的d1=6。最后将所有用户的画像特征向量组合成矩阵,即s1中的初始画像特征f,假设待分组的用户有n=10个,那么f∈r
10
×6。
[0107]
2)按照前述的s2步骤对初始用户画像特征建立用户关系图并进行图卷积。假设使用k近邻建立图,并且k设置为2,那么每个用户至少会有两个邻居。假设某用户(对应的结点)t1的画像特征为[1,0.19,0.1,200,3,20],t1的临接集n1={t1,t2,t3},说明在用户关系图中与他相邻的有两个用户,分别是t2,t3,假设他们的画像特征为[0,0.18,0.2,211,3,23]和[1,0.21,0.1,189,3,19]。在进行图卷积的时候,对t1的第一次图卷积计算过程为:的第一次图卷积计算过程为:此处为方便表示,计算精度为两位小数。假设图卷积有l=3层,并且三次得到的t1的画像特征分别为[0.67,0.19,0.13,200,3,20.67],[0.32,0.11,0.15,190.23,4.2,20.11],[0.54,0.22,0.34,188.98,3,18.32],经过三次图卷积之后,该用户的群体特征为:用户的群体特征为:即将原始画像特征和3次图卷积的画像特征取平均。
[0108]
3)按照前述的s3步骤对最终用户特征使用k-means方法进行聚类,假设选取中心数量t=3,先随机选取3个用户的最终画像特征作为3个中心,然后对每个用户的画像特征进行分类,分到距离它最近的一个中心,然后对于每个类,求取该类的平均特征作为新的中心。重复这个过程,直到类别中心不再发生明显变化。这样会获得稳定的3个中心,并且每个用户都有一个所属的类型,设为{a,b,c},其对应人数为{3,5,2}。
[0109]
4)按照前述的s4步骤,利用策略梯度算法训练强化学习模型。
[0110]
现有10个用户需要分组,每组2人,共5组。10个用户{t1,t2,

,t
10
},其中t1~t3属
于a类型,独热编码[1,0,0],t4~t8属于b类型,独热编码[0,1,0],t9~t
10
属于c类型,独热编码[0,0,1]。初始的输入x∈r5×2×
(6 3)
,它的所有元素都是0。输入网络后,得到输出y∈r5×3。每组对每个类型的需求概率分别为[0.6,0.2,0.2],[0.6,0.1,0.3],[0.5,0.3,0.2],[0.7,0.2,0.1],[0.2,0.5,0.3],概率最大的类型分别为a,a,a,a,b,因此根据需求量多少,依照a
→b→
c的顺序进行分配。对于类型a,第1、2、3、4组的概率都是最大的,因此有4个组选取类型a的用户,但实际上类型a只有3人,将这3人分配到第1、2、4组,因为第3组的概率0.5小于其他3个组的概率0.6或0.7。对于类型b,首先将每个组的概率值进行删减,已经分配的组和类型都不再考虑,剩余的是第3、5组对应的b,c概率[0.3,0.2],[0.5,0.3],两个组都需要b类型,因此将b中的任意2人分配到第3、5组。这时每个组都有了新的组员,因此对于类型c本次分配无需涉及。目前的分组状况为{t1}{t2}{t4}{t3}{t5}。t1的群体特征和类型特征结合后得到6 3=9维的特征向量[0.63,0.18,0.18,194.8,3.3,19.78,1,0,0],用这个向量去更新x的第一组第一个组员位置的值,其他组类似。将更新后的x再次输入网络,得到新的输出y,[0.1,0.5,0.4],[0.3,0.5,0.2],[0.0,0.1,0.9],[0.6,0.3,0.1],[0.2,0.3,0.5],因为a已经无人,所以去掉a的概率,得到[0.5,0.4],[0.5,0.2],[0.1,0.9],[0.3,0.1],[0.3,0.5]。5个组需要的类型分别为b,b,c,b,c,因此按照b

c的顺序分配。对于类型b,第1、2、4组需要,此时b还剩3人,将3人分给第1、2、4组。对于类型c,去掉1、2、4组和b后,只剩下c的概率值,代表剩下所有组都需要c,因此将c的2人分配给第3、5组。至此,分组状况为{t1,t6}{t2,t7}{t4,t9}{t3,t8}{t5,t
10
},分组结束。
[0111]
在训练阶段,需要估计反馈期望并计算梯度。在上述一轮分组过程中,分为两步。第一步中因为第1、2、4组分配的是a,将它们对应的a的概率相乘,又因为三个组是随机分配,所以还需要乘上即0.17
×
0.6
×
0.6
×
0.7,而第3、5组分配的是b,因此再将它们对应的b的概率相乘,并且考虑随机分配即0.5
×
0.3
×
0.5,因此0.5,因此同理,第二步,同理,第二步,假设只做上述一轮分组作为采样,即s=1,并且这一轮分组的结果得到的反馈r(τ1)=5,那么计算反馈期望的梯度为然后反向传播更新网络参数,完成一步训练,迭代多次直到网络收敛。
[0112]
通过试验表明,本发明提供的分组方法适用于大规模在线学习中,研讨、实践、合作场景的学生用户分组,其分组效率高,准确性好、解释性强。本发明对于大规模在线学习平台中的用户分组教学实践具有十分重要的实际应用价值。
[0113]
在本发明的另一实施例中,基于相同的发明构思,提供了一种基于用户群体典型特征的强化学习分组装置,其包括:
[0114]
画像特征提取模块,用于对在线学习平台中目标用户的画像信息进行提取和筛选,将每个目标用户的个人信息画像以及用户与平台之间的交互行为画像进行拼接后作为用户画像特征;
[0115]
群体特征提取模块,用于基于所有用户的用户画像特征构建用户关系图,图中的
每个节点对应于一个目标用户,再使用图卷积神经网络对用户关系图进行特征提取和聚合,得到图中每个节点对应的群体特征;
[0116]
聚类模块,用于对用户关系图中所有节点的群体特征进行聚类,形成多个类型的典型用户群组;
[0117]
分组模块,用于基于群体特征提取模块中得到的群体特征以及聚类模块中聚类得到的各典型用户群组,利用强化学习模型对群体典型类型进行分组预测,使各典型用户群组中的用户逐步被划分至不同的分组中,最终得到平台上所有目标用户的最优分组。
[0118]
上述强化学习分组装置中各模块分别对应了前述实施例的s1~s4,因此其中具体的实现方式亦可参见前述实施例,对此不再赘述。
[0119]
需要说明的是,根据本发明公开的实施例,上述强化学习分组装置中的各种模块的具体实现功能可以通过编写的计算机软件程序来实现,计算机程序中包含用于执行相应方法的程序代码。
[0120]
在本发明的另一实施例中,基于相同的发明构思,提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如上述s1~s4所述的基于用户群体典型特征的强化学习分组方法。
[0121]
在本发明的另一实施例中,基于相同的发明构思,提供了一种计算机设备,其包括存储器和处理器;
[0122]
所述存储器,用于存储计算机程序;
[0123]
所述处理器,用于当执行所述计算机程序时,实现如上述s1~s4所述的基于用户群体典型特征的强化学习分组方法。
[0124]
可以理解的是,上述存储介质可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0125]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signalprocessing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0126]
需要说明的是,计算机设备可以是任意具有gpu、cpu、智能网卡插槽的物理机,个人电脑(pc机)、服务器均包含在内。
[0127]
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献