一种基于生成对抗网络和双聚类的推荐方法及系统与流程

文档序号:17477572发布日期:2019-04-20 06:13阅读:734来源:国知局
一种基于生成对抗网络和双聚类的推荐方法及系统与流程

本发明涉及计算机应用技术领域,特别是基于深度学习和双聚类分析的推荐方法及系统。



背景技术:

随着信息技术和互联网技术的发展,从海量信息中给用户推荐其可能感兴趣的信息成为一个研究热点。传统的推荐方法可以分为协同过滤推荐方法、基于内容的推荐方法和混合推荐方法三种。双聚类分析技术作为一种重要的无监督数据挖掘方法,它通过对数据矩阵的行和列同时进行聚类,从而获得隐藏在数据中的局部结构和有趣子模式。2000年cheng和church提出双聚类的概念,并给出了双聚类的cc算法,该算法使用贪心迭代搜索算法寻找双聚类,并用随机数替换找到的双聚类对应元素,寻找下一个双聚类。在其基础上进行研究,不少学者得到了一些有意义的研究成果。2003年,yang和wang提出了floc算法,通过随机化初始聚类,修正了cc算法找不到重叠双聚类的缺点,但聚类结果容易陷入局部最优。于是,bryan和divina等人分别将模拟退火算法和多目标进化算法应用于双聚类,有助于寻找双聚类问题的全局最优解。2012年,hanczar等人提出用集成方法解决双聚类问题,取得了较好的效果。2014年,goodfellow等人提出了著名的生成对抗网络,通过生成网络和判别网络的相互博弈得到一个优良的生成模型,目前已在图像分类、文本挖掘、图像修复、异常检测等领域获得广泛应用。例如,2017年,li等人用生成对抗网络对部分遮挡或局部损坏的人脸图像进行修复。目前的各种推荐方法和系统大多没考虑含有缺失评价值的情况或者采用简单的均值(众数)代替法、线性插值法、回归预测法等,但这些方法存在精度低、误差大的问题。另外,现有推荐方法和系统在对不同用户群的针对性项目推荐方面也还存在着不够精准的问题。



技术实现要素:

本发明所要解决的技术问题是克服现有技术的不足而提供一种基于生成对抗网络和双聚类的推荐方法及系统,本发明克服了传统的推荐方法和系统缺失评价值填充精度低、误差大的局限性,可以实现对不同用户群进行精准的项目推荐。

本发明为解决上述技术问题采用以下技术方案:

根据本发明提出的一种基于生成对抗网络和双聚类的推荐方法及系统,包括以下步骤:

步骤1、读取用户-项目的不完备评价数据集,并对非缺失评价值归一化;

步骤2、根据每一个用户对所有项目的评价数据中是否含有缺失值,将用户划分为不含缺失评价值的完备评价用户和含缺失评价值的不完备评价用户;

步骤3、基于完备评价用户对所有项目归一化后的评价数据矩阵,构建并训练生成对抗网络;

步骤4、利用训练好的生成网络预测和填充归一化后的缺失评价值,得到用户-项目的完备归一化后评价值对应的数据矩阵;

步骤5、基于填充后所有用户对所有项目的归一化后完备评价值数据矩阵,利用双聚类集成算法进行双聚类,从而得到由对应子簇构成的双聚类结果。

步骤6、针对双聚类的每个子簇,向其对应用户群进行关联项目组的推荐,从而提高推荐的效果。

作为本发明所述的一种基于生成对抗网络和双聚类的推荐方法及系统的技术方案,所述步骤3的构建并训练生成对抗网络具体如下:

(3-1)利用堆叠降噪自编码器构造生成网络,用一个二元分类器作为判别网络,组成生成对抗网络;

(3-2)基于完备评价用户的评价数据矩阵训练网络,利用堆叠降噪自编码器重构误差和生成对抗网络的误差之和最小原则确定最优网络参数。

作为本发明所述的一种基于生成对抗网络和双聚类的推荐方法及系统的技术方案,所述步骤5中利用双聚类集成算法进行双聚类包括以下步骤:

(5-1)从现有双聚类算法中选择几个适合所有样本完备数据矩阵的双聚类算法作为基聚类算法;

(5-2)基于所有样本的完备数据矩阵,运行每个基聚类算法,得到对应的双聚类结果;

(5-3)比较所有基聚类算法得到双聚类结果对应的子簇,迭代合并相似度较大的双聚类子簇,从而得到最终的双聚类结果。

作为本发明所述的一种基于生成对抗网络和双聚类的推荐方法及系统的技术方案,所述步骤(5-3)中迭代合并相似度较大的双聚类子簇,包括以下步骤:

(5-3-1)定义双聚类子簇的相似度,给定最小相似度阈值;

(5-3-2)计算双聚类结果中所有双聚类子簇两两之间的相似度;

(5-3-3)将具有最大相似度且高于最小相似度阈值的两个双聚类子簇进行合并,同时删除对应的小子簇,得到新的双聚类结果;

(5-3-4)反复执行步骤(5-3-2)和(5-3-3),直到没有双聚类子簇合并为止。

作为本发明所述的一种基于生成对抗网络和双聚类的推荐方法及系统的技术方案,所述系统包括以下模块:

评价数据读取模块,用于读取用户-项目的不完备评价数据集,并将其载入服务器内存进行归一化;

用户划分模块,用于区分完备评价用户和不完备评价用户,由处理器根据用户是否对所有项目进行完整评价进行划分,并在服务器硬盘上指定不同的区域分别存储相应的归一化评价数据;

网络构建和训练模块,用于构建和利用完备评价用户归一化的评价数据集训练生成对抗网络,获得最优的网络参数,并存储到服务器硬盘上;

缺失评价值填充模块,用于将具有最优网络参数的生成网络应用到不完备评价用户归一化后缺失评价值的预测和填充中,获得填充后完备的用户-项目归一化评价数据集,并存储到服务器硬盘上;

双聚类模块,用于对填充后完备的用户-项目归一化评价数据集进行双聚类集成,得到若干对应的双聚类子簇,将其存储到服务器硬盘上;

推荐模块,用于向特定用户群推荐对应的项目组,并在相应用户群终端显示。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

本发明方法利用生成对抗网络填充后用户-项目的缺失评价值,并利用双聚类集成算法进行双聚类,克服了传统的缺失评价值填充方法精度低、误差大的缺点,而且采用的双聚类集成算法比单个双聚类算法聚类的结果更加多样化,对应的推荐结果针对性更强,从而提高了推荐的效果。

附图说明

图1是本发明所述方法的总流程图。

图2是本发明所述生成对抗网络训练的流程图。

图3是本发明所述双聚类集成方法的流程图。

图4是本发明所述系统的框架图。

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

本发明的基本思路:首先对原始用户-项目评价值数据的非缺失评价值进行归一化;接下来构造并训练生成对抗网络,用训练好的生成对抗网络预测和填充缺失属性值,最后利用双聚类集成算法进行双聚类,得到各个双聚类子簇,进而针对不同用户群输出对应的推荐结果。

技术方案描述如下:

本发明所述方法的总流程图如图1所示,以电影推荐为例,包括以下步骤:

1.读取观众-电影评分数据集,并对每部电影非缺失评分值采用最大最小归一化方法对评分值进行归一化;

2.根据每一个观众对所有电影的评分数据中是否含有缺失值,将用户观众划分为不含缺失评分值的完备评分观众和含缺失评分值的不完备评分用户观众。

4.构建并训练生成对抗网络,填充归一化缺失评分值;如图2所示,采用生成对抗网络对缺失评分值填充的具体步骤如下:

(1)利用堆叠降噪自编码器构造生成网络g、用一个二元分类器作为判别网络d,组成生成对抗网络;

(2)给定随机初始化参数,基于完备评分用户的评分值数据矩阵a交替训练生成网络g和判别网络d,利用堆叠降噪自编码器重构误差和生成对抗网络的误差之和最小原则确定最优网络参数θ1,θ2,k,θk;

(3)根据训练得到的最优网络参数θ1,θ2,k,θk,由生成网络g预测并填充缺失评分值,得到所有观众对所有电影的完备评分数据矩阵。

5.用双聚类集成算法对填充后所有观众对所有电影的完备评分数据矩阵进行双聚类,如图3所示,主要包括以下步骤:

(1)综合考虑双聚类子簇包含的样本、属性和对应属性值,定义两个双聚类子簇的相似度s,给定最小相似度阈值α;

(2)选择l个双聚类算法c1,c2,…,cl作为基双聚类算法;

(3)基于所有样本的完备数据,依次运行基双聚类算法c1,c2,…,cl,得到对应的双聚类子簇,并将所有基双聚类算法得到的双聚类子簇组成集合e;

(4)计算e中所有双聚类子簇两两之间的相似度,得到对应相似度矩阵u;

(5)基于所有样本的完备数据,依次运行基双聚类算法c1,c2,…,cl,得到对应的双聚类子簇,并将所有基双聚类算法得到的双聚类子簇组成集合e;

(6)反复执行步骤(4)和(5),直到没有双聚类子簇合并为止。

6.针对双聚类的每个子簇,向其对应用户群进行关联各部电影的推荐,从而提高推荐的效果。

本发明所述系统的框架图如图4所示,以电影推荐为例,包括以下模块:评价数据读取模块,用于读取用户-项目的不完备评价数据集,并将其载入服务器内存利用cpu进行归一化处理;

用户划分模块,用于区分完备评价用户和不完备用户,由处理器根据用户是否对所有项目进行完整评价进行划分,并在服务器硬盘上指定不同的区域分别存储相应归一化评价数据;

网络构建和训练模块,用于构建和利用完备评价用户归一化的评价数据集训练生成对抗网络,获得最优的网络参数,并存储到服务器硬盘上;

缺失评价值填充模块,用于将具有最优网络参数的生成网络应用到不完备评价用户归一化后缺失评价值的预测和填充中,获得填充后完备的用户-项目归一化评价数据集,并存储到服务器硬盘上;

双聚类模块,用于对填充后完备的用户-项目归一化评价数据集进行双聚类集成,得到若干对应的双聚类子簇,将其存储到服务器硬盘上;

推荐模块,用于向特定用户群推荐对应的项目组,并在相应用户群终端显示。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1