CN109949099A - 基于聚类及多臂赌博机的信息核构建方法 - Google Patents
基于聚类及多臂赌博机的信息核构建方法 Download PDFInfo
- Publication number
- CN109949099A CN109949099A CN201910224593.2A CN201910224593A CN109949099A CN 109949099 A CN109949099 A CN 109949099A CN 201910224593 A CN201910224593 A CN 201910224593A CN 109949099 A CN109949099 A CN 109949099A
- Authority
- CN
- China
- Prior art keywords
- user
- article
- indicate
- target
- consumer articles
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于聚类及多臂赌博机的信息核构建方法,主要解决现有技术推荐精度偏低和信息核提取时间过长的问题,其实现方案为:1)构建用户物品评分矩阵;2)对用户物品评分矩阵进行降维,得到低维矩阵;3)对低维矩阵中的用户进行重复聚类;4)根据聚类结果,构建虚拟用户物品评分矩阵;5)利用多臂赌博机从虚拟用户物品评分矩阵中提取信息核;6)利用提取出的信息核为用户物品评分矩阵中的每一个用户推荐所需要的物品。本发明具有推荐精度高、提取信息核的速度快的优点,可用于为用户推荐所需要的物品。
Description
技术领域
本发明属于计算机技术领域,更进一步涉及一种信息核构建方法,可用于为用户推荐所需要的物品。
背景技术
推荐系统是一种信息过滤系统,它通过分析用户的历史行为数据,帮助用户过滤掉海量数据中的垃圾信息,并为用户推荐其需要的物品。推荐算法作为推荐系统的核心,在很大程度上决定了推荐质量和应用。
Zeng Wei等人发表的论文“Uncovering the information core in recommendersystems”(Journal on Scientific Reports,2014)中提出了一种基于启发式策略提取信息核的方法。该方法的实施步骤是:1)统计每个用户在其他用户的邻居列表中出现的次数;2)选取出现次数多的用户组成信息核;3)根据信息核计算目标用户对系统中的各物品的预测评分,并将预测评分高的物品推荐给用户。该方法由于是根据设定的标准提取信息核,提取出的信息核的推荐精度偏低。
西安电子科技大学在其申请的专利文献“基于自适应协同进化算法的信息核提取方法”(申请号:201710678050.9,申请公布号:CN 107609033 A)中公开了一种基于自适应协同进化算法的信息核提取方法。该方法的实施步骤是:(1)建立用户和物品的稀疏评分矩阵;(2)初始化父代种群;(3)自适应调整交叉算子选择概率;(4)自适应调整变异算子选择概率;(5)分类父代种群,组建团队,更新子代精英种群;(6)根据信息核计算目标用户对系统中的各物品的预测评分,并进行推荐。该方法存在的不足之处是,计算种群中个体的适应度时需要消耗大量的时间,导致提取信息核的时间过长。
发明内容
本发明的目的在于针对上述现有技术存在的不足,提出一种基于聚类及多臂赌博机的信息核构建方法,以提高信息核的推荐精度,并减小提取信息核的时间。
为了实现上述目的,本发明的技术方案包括如下:
(1)构建用户物品评分矩阵:
从用户物品的评分数据集中提取评分信息,将未评过分的物品的评分用0表示,将评过分的物品的评分用对应评分值表示,组成用户物品评分矩阵;
(2)对用户物品评分矩阵进行降维,得到低维矩阵;
(3)对低维矩阵中的用户进行重复聚类:
(3a)利用聚类算法对低维矩阵中的用户进行K个类别的聚类,得到用户物品评分矩阵中每个用户的类别;
(3b)判断是否对低维矩阵中的用户重复聚类了5次,若是,则执行(4),否则,返回(3a);
(4)构建虚拟用户物品评分矩阵:
(4a)从用户物品评分矩阵的所有类别中任意选择一个类别作为当前类别;
(4b)将当前类别中用户对物品评分的均值,作为当前类别的聚类中心;
(4c)判断是否选完了用户物品评分矩阵中的所有类别,若是,则用所有类别的聚类中心组成虚拟用户物品评分矩阵,执行(5),否则,返回(4a);
(5)利用多臂赌博机提取信息核:
(5a)将虚拟用户物品评分矩阵中的每个用户的信任值初始化为1;
(5b)从用户物品评分矩阵中任意选择一个用户作为目标用户;
(5c)从用户物品评分矩阵中任意选择一个物品作为目标物品;
(5d)生成一个随机数,判断这个随机数是否大于0.2,若是,则从虚拟用户物品评分矩阵中选出信任值最大的用户作为虚拟用户a,否则,从虚拟用户物品评分矩阵中任意选取一个用户作为虚拟用户a;
(5e)计算目标用户对目标物品的预测评分:
pui=avgu+rai-avga
其中,pui表示目标用户u对目标物品i的预测评分,avgu表示目标用户u评分的均值,rai表示虚拟用户a对目标物品i的评分,avga表示虚拟用户a评分的均值;
(5f)计算虚拟用户的收益值:
其中,Ba表示虚拟用户a的收益值,|·|表示取绝对值操作,rui表示目标用户u对目标物品i的评分,pui表示目标用户u对目标物品i的预测评分;
(5g)更新虚拟用户的信任值:
其中,表示虚拟用户a在t时刻的信任值,表示虚拟用户a在t-1时刻的信任值,Ga表示虚拟用户a被选中的次数,Ba表示虚拟用户a的收益值;
(5h)判断是否选完用户物品评分矩阵中所有物品,若是,则执行(5i),否则,返回(5c);
(5i)判断是否选完用户物品评分矩阵中所有用户,若是,则将虚拟用户物品评分矩阵中的用户,按照信任值从大到小排序,从排序中选取前M个用户,组成信息核,执行(6),否则,返回(5b);
(6)利用(5)提取出的信息核为用户物品评分矩阵中的每一个用户推荐所需要的物品。
本发明与现有技术相比有以下优点:
第一,本发明由于通过构建虚拟用户物品评分矩阵,利用多臂赌博机提取信息核,克服了现有技术根据设定的标准提取信息核,提取出的信息核的推荐精度偏低的缺点,提高了推荐精度。
第二,本发明由于利用多臂赌博机从虚拟用户物品评分矩阵中提取信息核,并选择信任值较大的一些虚拟用户组成虚拟信息核,克服了现有技术计算种群中个体的适应度时需要消耗大量的时间,导致提取信息核的时间过长的缺点,提高了提取信息核的效率。
附图说明
图1是本发明的实现流程图;
图2为本发明和现有五种方法在数据集MovieLens-100K上的实验结果图;
图3为本发明和现有五种方法在数据集MovieLens-1M上的实验结果图;
图4为本发明和现有五种方法在数据集MovieLens-2K上的实验结果图。
具体实施方式:
以下结合附图对本发明实施例和效果做进一步的详细描述。
参照图1,对本发明的实现步骤如下。
步骤1,构建用户物品评分矩阵。
从用户物品的评分数据集中提取评分信息,将未评过分的物品的评分用0表示,将评过分的物品的评分用对应评分值表示,组成用户物品评分矩阵:
其中,R表示用户物品评分矩阵,rui表示第u个用户对第i个物品的评分,u是从1到z,z表示用户物品评分矩阵中用户的数量,i是从1到n,n表示用户物品评分矩阵中物品的数量。
本发明的实施例中用户对物品的评分数据集包括MovieLens-100K评分数据集、MovieLens-1M评分数据集和MovieLens-2K评分数据集。
步骤2,对用户物品评分矩阵进行降维,得到低维矩阵。
现有的降维方法有主成分分析方法PCA、局部线性嵌入方法LLE、等度量映射方法ISOMAP和t分布随机近邻嵌入方法t-SNE,本步骤采用但不限于t-SNE方法,其实现步骤如下:
(2a)从用户物品评分矩阵中任意选择一个用户作为目标用户;
(2b)计算目标用户选择其他用户作为邻近点的条件概率分布:
其中,pf|m表示目标用户m选择第f个用户作为邻近点的条件概率分布,DTmf表示目标用户m与第f个用户之间的余弦距离,表示以目标用户m为中心点的高斯分布的方差,w表示用户物品评分矩阵中的第w个用户,DTmw表示目标用户m与第w个用户之间的余弦距离;
(2c)判断是否选完用户物品评分矩阵中的所有用户,若是,执行(2d),否则,返回本(2a);
(2d)从用户物品评分矩阵中任意选取两个用户,计算所选取的两个用户的联合概率分布:
其中,pmf表示所选取的第m个用户与所选取的第f个用户的联合概率分布,pm|f表示第f个用户选择第m个用户作为邻近点的条件概率分布,pf|m表示第m个用户选择第f个用户作为邻近点的条件概率分布;
(2e)判断是否得到了用户物品评分矩阵中两两用户之间的联合概率分布,若是,则随机初始化低维矩阵,执行(2f),否则,返回(2d);
(2f)从低维矩阵中任意选取两个用户,计算所选取的两个用户的联合概率分布:
其中,qeh表示所选取的用户e与所选取的用户h的联合概率分布,DReh表示用户e与用户h之间的欧式距离,s表示低维矩阵中第s个用户,y表示低维矩阵中第y个用户,DRsy表示第s个用户与第y个用户之间的欧式距离;
(2g)判断是否得到了低维矩阵中两两用户之间的联合概率分布,若是,执行(2h),否则,返回(2f);
(2h)计算损失函数的值:
其中Loss表示损失函数的值,pmf表示用户物品评分矩阵中第m个用户与第f个用户的联合概率分布,qmf表示低维矩阵中第m个用户与第f个用户的联合概率分布;
(2i)利用最小化损失函数的值,通过梯度下降法更新低维矩阵;
(2j)判断是否达到预设的迭代次数1000次,若是,则得到对用户物品评分矩阵降维后的低维矩阵,否则,返回(2i)。
步骤3,对低维矩阵中的用户进行重复聚类。
(3a)利用聚类算法对低维矩阵中的用户进行K个类别的聚类,得到用户物品评分矩阵中每个用户的类别:
(3a1)从低维矩阵中随机选择K个用户作为初始聚类中心;
所述K个用户其取值根据所选的评分数据集而定:当评分数据集为MovieLens-100K时,K为20;当评分数据集为MovieLens-1M时,K为64;当评分数据集为MovieLens-2K时,K为24。
(3a2)从低维矩阵中任意选择一个用户作为目标用户;
(3a3)从所有的聚类中心中任意选择一个聚类中心作为目标聚类中心;
(3a4)计算目标用户与目标聚类中心的距离:
其中,duv表示目标用户u与目标聚类中心v的距离,N表示低维矩阵中物品的数量,i表示低维矩阵中第i个物品,xui表示目标用户u对第i个物品的评分值,xvi表示目标聚类中心v对第i个物品的评分值;
(3a5)判断是否选完所有的聚类中心,若是,则根据目标用户与所有聚类中心之间的距离,将目标用户分配到距离最近的聚类中心所属的集群中,执行(3a6),否则,返回(3a3);
(3a6)判断是否选完低维矩阵中的所有用户,若是,则从所有的集群中任意选择一个集群作为目标集群,执行(3a7),否则,返回(3a2);
(3a7)将目标集群中用户对物品评分的均值,作为目标集群的聚类中心;
(3a8)判断所有集群的聚类中心是否没有变化,若是,则得到低维矩阵中每个用户对应的类别,否则,返回(3a2);
(3b)判断是否对低维矩阵中的用户重复聚类了5次,若是,则执行步骤4,否则,返回(3a)。
步骤4,构建虚拟用户物品评分矩阵。
(4a)从用户物品评分矩阵的所有类别中任意选择一个类别作为当前类别;
(4b)将当前类别中用户对物品评分的均值,作为当前类别的聚类中心;
(4c)判断是否选完了用户物品评分矩阵中的所有类别,若是,则用所有类别的聚类中心组成虚拟用户物品评分矩阵,执行步骤5,否则,返回(4a)。
步骤5,利用多臂赌博机提取信息核。
(5a)将虚拟用户物品评分矩阵中的每个用户的信任值初始化为1;
(5b)从用户物品评分矩阵中任意选择一个用户作为目标用户;
(5c)从用户物品评分矩阵中任意选择一个物品作为目标物品;
(5d)生成一个随机数,判断这个随机数是否大于0.2,若是,则从虚拟用户物品评分矩阵中选出信任值最大的用户作为虚拟用户a,否则,从虚拟用户物品评分矩阵中任意选取一个用户作为虚拟用户a;
(5e)计算目标用户对目标物品的预测评分:
pui=avgu+rai-avga,
其中,pui表示目标用户u对目标物品i的预测评分,avgu表示目标用户u评分的均值,rai表示虚拟用户a对目标物品i的评分,avga表示虚拟用户a评分的均值;
(5f)计算虚拟用户的收益值:
其中,Ba表示虚拟用户a的收益值,|·|表示取绝对值操作,rui表示目标用户u对目标物品i的评分,pui表示目标用户u对目标物品i的预测评分;
(5g)更新虚拟用户的信任值:
其中,表示虚拟用户a在t时刻的信任值,表示虚拟用户a在t-1时刻的信任值,Ga表示虚拟用户a被选中的次数,Ba表示虚拟用户a的收益值;
(5h)判断是否选完用户物品评分矩阵中所有物品,若是,则执行(5i),否则,返回(5c);
(5i)判断是否选完用户物品评分矩阵中所有用户,若是,则将虚拟用户物品评分矩阵中的用户,按照信任值从大到小排序,从排序中选取前M个用户,组成信息核,执行步骤6,否则,返回(5b)。
所述M个用户其取值根据所选的评分数据集而定:当评分数据集为MovieLens-100K时,M为60;当评分数据集为MovieLens-1M时,M为200;当评分数据集为MovieLens-2K时,M为75。
步骤6,利用步骤5提取出的信息核为用户物品评分矩阵中的每一个用户推荐所需要的物品。
(6a)计算用户物品评分矩阵中每一个用户与信息核中每一个用户之间的余弦相似度:
其中,sim(u,v)表示用户物品评分矩阵中第u个用户与信息核中第v个用户的余弦相似度,i表示物品集合I(u)与物品集合I(v)交集中的第i个物品,I(u)表示用户物品评分矩阵中的第u个用户评过分的物品集合,I(v)表示信息核中第v个用户评过分的物品集合,rui表示用户物品评分矩阵中第u个用户对第i个物品的评分值,rvi表示信息核中第v个用户对第i个物品的评分值;
(6b)从用户物品评分矩阵中任意选取一个用户作为目标用户;
(6c)从信息核中选取与目标用户余弦相似度最大的前N个用户,组成目标用户的邻居集;
(6d)计算目标用户对其评分为0的物品的预测评分值:
其中,pui表示目标用户u对评分为0的第i个物品的预测评分值,v表示用户集合Ωui中第v个用户,Ωui表示目标用户u的邻居集中对第i个物品评过分的用户集合,sim(u,v)表示目标用户u与第v个用户的余弦相似度,rvi表示第v个用户对第i个物品的评分值;
(6e)将目标用户评分为0的物品,即包含着用户可能喜欢的物品,按照预测评分值从大到小排序,从排序中选取排序靠前的物品,组成推荐列表,推荐给目标用户;
(6f)判断是否选完用户物品评分矩阵中所有用户,若是,则用户物品评分矩阵中的每一个用户获得所需要的物品,否则,返回(6b)。
下面结合仿真实验对本发明的效果做进一步的说明。
1.仿真条件:
本发明仿真实验的运行环境是:Windows7 64位操作系统,CPU为Intel(R)Core(TM)i3-CPU 550U@3.20GHz,内存为6GB,编译环境为Matlab2017a。
2.仿真实验数据与评价指标:
本发明的仿真实验中采用推荐系统领域常用的数据集MovieLens-100K、MovieLens-1M和MovieLens-2K,为了验证验证本发明在提取信息核上的推荐效果,将三个数据集分别都拆分为训练集Train和测试集Test,三个数据统计信息见如下表1。
表1数据集统计信息表
其中,表1中的Dataset(original)表示原始数据集,Dataset(subset)表示原始数据集中的子集,包括训练集Train,测试集Test,#User表示用户数量,U表示用户集合,#Item表示物品数量,I表示物品集合,#Ratings表示评分数量,R表示用户对物品的评分。
本发明采用推荐精度precision作为评价指标,该推荐精度precision的确定如下:
1)从测试集中任意选取一个用户作为目标用户,按照下式,计算信息核对目标用户的推荐精度:
其中,precisionu表示测试集中信息核对目标用户u的推荐精确度,Q表示信息核对目标用户u的推荐物品中用户u需要的物品数量,L表示信息核对目标用户u的推荐物品数量;
2)判断是否得到信息核对测试集中所有用户的推荐精度,若是,则执行3),否则,返回1);
3)计算信息核在测试集上的推荐精度:
其中,precision表示信息核在测试集上的推荐精度,u表示用户集合U中第u个用户,U表示测试集中的用户集合,precisionu表示信息核对第u个用户的推荐精度。
3.仿真实验内容与结果分析:
仿真实验1,在上述三个数据集的测试集Test上,以推荐精度precision为评价指标,对本发明与五个现有技术:基于频率Frequency的信息核构建方法、基于排名Rank的信息核构建方法、基于矩阵分解PMF的方法、基于去噪自编码器CDAE的方法和基于神经网络NeuRec的方法进行对比,对比结果如图2-图4所示,图中纵坐标表示推荐精度,横坐标表示推荐列表长度,其中:
图2为在数据集MovieLens-100K上的实验结果;
图3为在数据集MovieLens-1M上的实验结果;
图4为在数据集MovieLens-2K上的实验结果。
从图2-图4可以看出,本发明的曲线位于五个现有技术的曲线的上方,因此说明本发明的推荐精度是最高的。
为了进一步验证本发明在推荐精度上的优势,当数据集为MovieLens-1M时,比较本发明与五个现有技术的推荐精度,对比结果如表2所示。
表2在MovieLens-1M上各方法的推荐精度表
top-N | Frequency | Rank | PMF | CDAE | NeuRec | 本发明 |
10 | 0.0260 | 0.0272 | 0.0886 | 0.1901 | 0.1800 | 0.3299 |
15 | 0.0258 | 0.0270 | 0.0878 | 0.1820 | 0.1737 | 0.3075 |
20 | 0.0258 | 0.0270 | 0.0868 | 0.1801 | 0.1611 | 0.2881 |
25 | 0.0259 | 0.0270 | 0.0857 | 0.1758 | 0.1526 | 0.2673 |
30 | 0.0259 | 0.0270 | 0.0843 | 0.1689 | 0.1471 | 0.2574 |
35 | 0.0260 | 0.0272 | 0.0886 | 0.1901 | 0.1800 | 0.3299 |
40 | 0.0259 | 0.0270 | 0.0830 | 0.1613 | 0.1423 | 0.2193 |
表2中,top-N表示推荐列表长度,Frequency表示基于频率Frequency的信息核构建方法的推荐精度,Rank表示基于排名Rank的信息核构建方法的推荐精度,PMF表示基于矩阵分解PMF方法的推荐精度,CDAE表示基于去噪自编码器CDAE方法的推荐精度,NeuRec表示基于神经网络NeuRec方法的推荐精度。
从表2可以看出,本发明在数据集MovieLens-1M上的推荐精度都高于其它五个现有技术的推荐精度。
仿真实验2,在上述三个数据集的测试集Test上,以在线推荐时间为评价指标,对本发明与两个现有提取信息核的方法:基于频率Frequency的信息核构建方法和基于频率Rank的信息核构建方法进行对比,对比结果如表3所示。
表3三个提取信息核的方法的在线推荐时间表
由表3可以看出,在三个数据集上,基于频率Frequency的信息核构建方法和基于频率Rank的信息核构建方法的在线推荐时间较长,而本发明的在线推荐时间较短,说明了本发明能够更快速地向用户推荐物品。
Claims (5)
1.一种基于聚类及多臂赌博机的信息核构建方法,其特征在于,包括如下:
(1)构建用户物品评分矩阵:
从用户物品的评分数据集中提取评分信息,将未评过分的物品的评分用0表示,将评过分的物品的评分用对应评分值表示,组成用户物品评分矩阵;
(2)对用户物品评分矩阵进行降维,得到低维矩阵;
(3)对低维矩阵中的用户进行重复聚类:
(3a)利用聚类算法对低维矩阵中的用户进行K个类别的聚类,得到用户物品评分矩阵中每个用户的类别;
(3b)判断是否对低维矩阵中的用户重复聚类了5次,若是,则执行(4),否则,返回(3a);
(4)构建虚拟用户物品评分矩阵:
(4a)从用户物品评分矩阵的所有类别中任意选择一个类别作为目标类别;
(4b)将目标类别中用户对物品评分的均值,作为目标类别的聚类中心;
(4c)判断是否选完了用户物品评分矩阵中的所有类别,若是,则用所有类别的聚类中心组成虚拟用户物品评分矩阵,执行(5),否则,返回(4a);
(5)利用多臂赌博机提取信息核:
(5a)将虚拟用户物品评分矩阵中的每个用户的信任值初始化为1;
(5b)从用户物品评分矩阵中任意选择一个用户作为目标用户;
(5c)从用户物品评分矩阵中任意选择一个物品作为目标物品;
(5d)生成一个随机数,判断这个随机数是否大于0.2,若是,则从虚拟用户物品评分矩阵中选出信任值最大的用户作为虚拟用户a,否则,从虚拟用户物品评分矩阵中任意选取一个用户作为虚拟用户a;
(5e)计算目标用户对目标物品的预测评分:
pui=avgu+rai-avga,
其中,pui表示目标用户u对目标物品i的预测评分,avgu表示目标用户u评分的均值,rai表示虚拟用户a对目标物品i的评分,avga表示虚拟用户a评分的均值;
(5f)计算虚拟用户的收益值:
其中,Ba表示虚拟用户a的收益值,|·|表示取绝对值操作,rui表示目标用户u对目标物品i的评分,pui表示目标用户u对目标物品i的预测评分;
(5g)更新虚拟用户的信任值:
其中,表示虚拟用户a在t时刻的信任值,表示虚拟用户a在t-1时刻的信任值,Ga表示虚拟用户a被选中的次数,Ba表示虚拟用户a的收益值;
(5h)判断是否选完用户物品评分矩阵中所有物品,若是,则执行(5i),否则,返回(5c);
(5i)判断是否选完用户物品评分矩阵中所有用户,若是,则将虚拟用户物品评分矩阵中的用户,按照信任值从大到小排序,从排序中选取前M个用户,组成信息核,执行(6),否则,返回(5b);
(6)利用(5)提取出的信息核为用户物品评分矩阵中的每一个用户推荐所需要的物品。
2.根据权利要求1所述的方法,其特征在于,(3a)中利用聚类算法对低维矩阵中的用户进行K个类别的聚类,实现步骤如下:
(3a1)从低维矩阵中随机选择K个用户作为初始聚类中心;
(3a2)从低维矩阵中任意选择一个用户作为目标用户;
(3a3)从所有的聚类中心中任意选择一个聚类中心作为目标聚类中心;
(3a4)计算目标用户与目标聚类中心的距离:
其中,duv表示目标用户u与目标聚类中心v的距离,N表示低维矩阵中物品的数量,i表示低维矩阵中第i个物品,xui表示目标用户u对第i个物品的评分值,xvi表示目标聚类中心v对第i个物品的评分值;
(3a5)判断是否选完所有的聚类中心,若是,则根据目标用户与所有聚类中心之间的距离,将目标用户分配到距离最近的聚类中心所属的集群中,执行(3a6),否则,返回(3a3);
(3a6)判断是否选完低维矩阵中的所有用户,若是,则从所有的集群中任意选择一个集群作为目标集群,执行(3a7),否则,返回(3a2);
(3a7)将目标集群中用户对物品评分的均值,作为目标集群的聚类中心;
(3a8)判断所有集群的聚类中心是否没有变化,若是,则得到低维矩阵中每个用户对应的类别,否则,返回(3a2)。
3.根据权利要求1所述的方法,其特征在于,(2)中对用户物品评分矩阵进行降维,其实现如下:
(2a)从用户物品评分矩阵中任意选择一个用户作为目标用户;
(2b)计算目标用户选择其他用户作为邻近点的条件概率分布:
其中,pf|m表示目标用户m选择第f个用户作为邻近点的条件概率分布,DTmf表示目标用户m与第f个用户之间的余弦距离,表示以目标用户m为中心点的高斯分布的方差,w表示用户物品评分矩阵中的第w个用户,DTmw表示目标用户m与第w个用户之间的余弦距离;
(2c)判断是否选完用户物品评分矩阵中的所有用户,若是,执行(2d),否则,返回(2a);
(2d)从用户物品评分矩阵中任意选取两个用户,计算所选取的两个用户的联合概率分布:
其中,pmf表示所选取的第m个用户与所选取的第f个用户的联合概率分布,pm|f表示第f个用户选择第m个用户作为邻近点的条件概率分布,pf|m表示第m个用户选择第f个用户作为邻近点的条件概率分布;
(2e)判断是否得到了用户物品评分矩阵中两两用户之间的联合概率分布,若是,则随机初始化低维矩阵,执行(2f),否则,返回(2d);
(2f)从低维矩阵中任意选取两个用户,计算所选取的两个用户的联合概率分布:
其中,qeh表示所选取的用户e与所选取的用户h的联合概率分布,DReh表示用户e与用户h之间的欧式距离,s表示低维矩阵中第s个用户,y表示低维矩阵中第y个用户,DRsy表示第s个用户与第y个用户之间的欧式距离;
(2g)判断是否得到了低维矩阵中两两用户之间的联合概率分布,若是,执行(2h),否则,返回(2f);
(2h)计算损失函数的值:
其中Loss表示损失函数的值,pmf表示用户物品评分矩阵中第m个用户与第f个用户的联合概率分布,qmf表示低维矩阵中第m个用户与第f个用户的联合概率分布;
(2i)利用最小化损失函数的值,通过梯度下降法更新低维矩阵;
(2j)判断是否达到预设的迭代次数,若是,则得到对用户物品评分矩阵降维后的低维矩阵,否则,返回(2i)。
4.根据权利要求1所述的方法,其特征在于,(1)中建立的用户物品评分矩阵,表示如下:
其中,R表示用户物品评分矩阵,rui表示第u个用户对第i个物品的评分,u是从1到z,z表示用户物品评分矩阵中用户的数量,i是从1到n,n表示用户物品评分矩阵中物品的数量。
5.根据权利要求1所述的方法,其特征在于,(6)中利用信息核为用户物品评分矩阵中的每一个用户推荐所需要的物品,其实现如下:
(6a)计算用户物品评分矩阵中每一个用户与信息核中每一个用户之间的余弦相似度:
其中,sim(u,v)表示用户物品评分矩阵中第u个用户与信息核中第v个用户的余弦相似度,i表示物品集合I(u)与物品集合I(v)交集中的第i个物品,I(u)表示用户物品评分矩阵中的第u个用户评过分的物品集合,I(v)表示信息核中第v个用户评过分的物品集合,rui表示用户物品评分矩阵中第u个用户对第i个物品的评分值,rvi表示信息核中第v个用户对第i个物品的评分值;
(6b)从用户物品评分矩阵中任意选取一个用户作为目标用户;
(6c)从信息核中选取与目标用户余弦相似度最大的前N个用户,组成目标用户的邻居集;
(6d)计算目标用户对其评分为0的物品的预测评分值:
其中,pui表示目标用户u对评分为0的第i个物品的预测评分值,v表示用户集合Ωui中第v个用户,Ωui表示目标用户u的邻居集中对第i个物品评过分的用户集合,sim(u,v)表示目标用户u与第v个用户的余弦相似度,rvi表示第v个用户对第i个物品的评分值;
(6e)将目标用户评分为0的物品,即包含着用户可能喜欢的物品,按照预测评分值从大到小排序,从排序中选取排序靠前的物品,组成推荐列表,推荐给目标用户;
(6f)判断是否选完用户物品评分矩阵中所有用户,若是,则用户物品评分矩阵中的每一个用户获得所需要的物品,否则,返回(6b)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910224593.2A CN109949099B (zh) | 2019-03-23 | 2019-03-23 | 基于聚类及多臂赌博机的信息核构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910224593.2A CN109949099B (zh) | 2019-03-23 | 2019-03-23 | 基于聚类及多臂赌博机的信息核构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109949099A true CN109949099A (zh) | 2019-06-28 |
CN109949099B CN109949099B (zh) | 2022-04-08 |
Family
ID=67011519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910224593.2A Active CN109949099B (zh) | 2019-03-23 | 2019-03-23 | 基于聚类及多臂赌博机的信息核构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109949099B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733004A (zh) * | 2021-01-22 | 2021-04-30 | 上海交通大学 | 一种基于多臂老虎机算法的影视作品推荐方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991966A (zh) * | 2014-07-29 | 2015-10-21 | Tcl集团股份有限公司 | 媒体内容排序方法及系统 |
EP2960849A1 (en) * | 2014-06-26 | 2015-12-30 | Deutsche Telekom AG | Method and system for recommending an item to a user |
CN106326351A (zh) * | 2016-08-05 | 2017-01-11 | 天津大学 | 一种基于用户反馈的推荐系统冷启动解决方法 |
CN107563867A (zh) * | 2017-09-06 | 2018-01-09 | 天津大学 | 一种基于多臂赌博机置信上限的推荐系统冷启动方法 |
CN107609033A (zh) * | 2017-08-10 | 2018-01-19 | 西安电子科技大学 | 基于自适应协同进化算法的信息核提取方法 |
CN108460147A (zh) * | 2018-03-20 | 2018-08-28 | 西安电子科技大学 | 基于多子种群协同进化构建信息核的推荐方法 |
CN108776919A (zh) * | 2018-05-31 | 2018-11-09 | 西安电子科技大学 | 基于聚类及进化算法构建信息核的物品推荐方法 |
-
2019
- 2019-03-23 CN CN201910224593.2A patent/CN109949099B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2960849A1 (en) * | 2014-06-26 | 2015-12-30 | Deutsche Telekom AG | Method and system for recommending an item to a user |
CN104991966A (zh) * | 2014-07-29 | 2015-10-21 | Tcl集团股份有限公司 | 媒体内容排序方法及系统 |
CN106326351A (zh) * | 2016-08-05 | 2017-01-11 | 天津大学 | 一种基于用户反馈的推荐系统冷启动解决方法 |
CN107609033A (zh) * | 2017-08-10 | 2018-01-19 | 西安电子科技大学 | 基于自适应协同进化算法的信息核提取方法 |
CN107563867A (zh) * | 2017-09-06 | 2018-01-09 | 天津大学 | 一种基于多臂赌博机置信上限的推荐系统冷启动方法 |
CN108460147A (zh) * | 2018-03-20 | 2018-08-28 | 西安电子科技大学 | 基于多子种群协同进化构建信息核的推荐方法 |
CN108776919A (zh) * | 2018-05-31 | 2018-11-09 | 西安电子科技大学 | 基于聚类及进化算法构建信息核的物品推荐方法 |
Non-Patent Citations (3)
Title |
---|
CAIHONG MU ET AL: "Information core optimization using Evolutionary Algorithm with Elite Population in recommender systems", 《2017 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION (CEC)》 * |
XIAOFANG ZHANG ET AL: "Con-CNAME: A Contextual Multi-armed Bandit Algorithm for Personalized Recommendations", 《ARTIFICIAL NEURAL NETWORKS AND MACHINE LEARNING-ICANN 2018》 * |
王高智 等: "基于内容和最近邻算法的多臂老虎机推荐算法", 《华南师范大学学报(自然科学版)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733004A (zh) * | 2021-01-22 | 2021-04-30 | 上海交通大学 | 一种基于多臂老虎机算法的影视作品推荐方法 |
CN112733004B (zh) * | 2021-01-22 | 2022-09-30 | 上海交通大学 | 一种基于多臂老虎机算法的影视作品推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109949099B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102663100B (zh) | 一种两阶段混合粒子群优化聚类方法 | |
CN110674407A (zh) | 基于图卷积神经网络的混合推荐方法 | |
CN106548255A (zh) | 一种基于海量用户行为的商品推荐方法 | |
CN111797321A (zh) | 一种面向不同场景的个性化知识推荐方法及系统 | |
CN104391860A (zh) | 内容类别检测方法及装置 | |
CN102799671A (zh) | 基于PageRank算法的网络个性化推荐方法 | |
CN105956093B (zh) | 一种基于多视图锚点图哈希技术的个性化推荐方法 | |
CN107122411A (zh) | 一种基于离散多视图哈希的协同过滤推荐方法 | |
JP5503633B2 (ja) | トピックモデル学習方法、装置、及びプログラム | |
CN106202999B (zh) | 基于不同尺度tuple词频的微生物高通量测序数据分析协议 | |
CN109815357A (zh) | 一种基于非线性降维及稀疏表示的遥感图像检索方法 | |
CN106951471A (zh) | 一种基于svm的标签发展趋势预测模型的构建方法 | |
CN106055661A (zh) | 基于多Markov链模型的多兴趣资源推荐方法 | |
CN108776919B (zh) | 基于聚类及进化算法构建信息核的物品推荐方法 | |
CN103914705A (zh) | 一种基于多目标免疫克隆的高光谱图像分类和波段选择的方法 | |
CN102722578B (zh) | 一种基于拉普拉斯正则化无监督的聚类特征选取方法 | |
CN101968852A (zh) | 基于熵排序的半监督谱聚类确定聚类数的方法 | |
CN109446414A (zh) | 一种基于神经网络分类的软件信息站点快速标签推荐方法 | |
CN108304479A (zh) | 一种基于图结构过滤的快速密度聚类双层网络推荐方法 | |
CN107609033A (zh) | 基于自适应协同进化算法的信息核提取方法 | |
CN103942318B (zh) | 一种并行ap传播的xml大数据聚类集成方法 | |
CN103970888B (zh) | 基于网络度量指标的文档分类方法 | |
CN107391594A (zh) | 一种基于迭代视觉排序的图像检索方法 | |
Doetsch et al. | Logistic model trees with auc split criterion for the kdd cup 2009 small challenge | |
Sitorus et al. | Sensing trending topics in twitter for greater Jakarta area |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |