一种基于聚类PU矩阵分解的个性化推荐方法与流程

文档序号:11251748阅读:1155来源:国知局
一种基于聚类PU矩阵分解的个性化推荐方法与流程

本发明提供一种基于聚类pu矩阵分解的个性化推荐方法,涉及个性化推荐领域的矩阵分解算法,特别适用于关系矩阵中只有正例被观察到的推荐系统问题。



背景技术:

目前,个性化推荐技术已广泛运用于互联网的各方面,例如著名的电商平台amazon,会根据用户的浏览、点击、购买、评价历史数据,推荐用户可能感兴趣的其他商品;著名的电影视频网站netflix会根据用户对已看电影的评分判断出用户对哪些类型的电影感兴趣,然后推荐合适的电影给用户。

一种主流的个性化推荐算法,是根据用户群对商品集的评分记录,得到评分矩阵,也称关系矩阵,然后使用机器学习技术,对缺失的值填补,将预测值较大的商品推荐给用户。大多情形下,用户对商品的评分由低到高有很多值,但也有很多情形,用户对商品只有喜欢或不喜欢的表达,如果仅知道用户喜欢哪些商品,则关系矩阵中只有正例元素被观察到,其他均为非标记元素。传统的推荐算法并不适用上述情形。

随着数据收集和处理能力的增强,有更多的用户或商品的特征会被收集和使用。传统的个性化推荐算法浪费了很多有用的用户或商品的辅助特征信息,本发明考虑采用带辅助特征信息的归纳式矩阵补全方法提升推荐效果,同时也可考虑使相似的用户或商品的推荐结果尽量接近,将聚类的思想融入到模型中。



技术实现要素:

发明目的:目前的个性化推荐往往只考虑用户商品的多值关系,忽略了用户和商品之间往往只存在二值关系并且只有正向关系被观察到,此外通常忽略了相似用户和商品之间的联系,不具有普适性。针对上述问题,本发明提供了一种基于聚类pu(p为正样本,u为未标记样本)矩阵分解的个性化推荐方法法:首先构建用户和商品的二值关系矩阵,使用聚类pu矩阵分解的方法训练模型,再用训练的模型预测未被观察到的用户商品之间的关系,按预测值从大到小进行推荐。

技术方案:一种基于聚类pu矩阵分解的个性化推荐方法,包括使用聚类pu矩阵分解方法训练的步骤,对用户或商品进行推荐的步骤。

所述使用聚类pu矩阵分解方法训练的具体步骤为:

步骤100,输入用户与商品的行为数据至数据处理平台,行为数据是指用户对商品的浏览记录、购买记录等;

步骤101,若存在用户或商品各自的特征数据,则输入作为关系矩阵的辅助特征信息;

步骤102,对特征数据进行预处理,去除异常值的噪声影响,同时进行数据正规化处理;

步骤103,定义用户和商品的关系标签,若某用户与某商品有关联,则定义为正向关系,标记为“1”,否则该用户与该商品关系未知,标记为“0”;标记完成后得到二值关系矩阵a;

步骤104,初始化聚类数k、正负样本损失权重c、正则项系数λ1、聚类项系数λ2等模型参数;

步骤105,在数据处理平台上,使用聚类pu矩阵分解方法训练模型,得到两个参数矩阵w,h;

步骤106,输出并保存模型w,h至数据处理平台的存储系统;

对用户或商品进行推荐的具体步骤为:

步骤200,判断是否需要对新用户或新商品进行推荐,如果是则获取新用户或商品的特征数据;否则取出已有用户或商品的特征数据;

步骤201,判断是否利用辅助特征信息,若是则用特征信息矩阵v与训练得到的参数矩阵w,h相乘得到预测值矩阵m=whtvt;否则直接相乘w,h得到预测值矩阵m=wht

步骤202,将预测值矩阵m中的元素,按数值从高到低排序;

步骤203,根据实际需求,确立要推荐的用户商品数目为t,对m中未知关系的用户商品,按从高到低的顺序取出最大的t个进行推荐;

所述模型训练的具体流程为:首先初始化机器学习平台,然后随机初始化所要训练的模型参数矩阵w,h,进入训练过程:先计算整个模型的目标方程,再计算要训练的参数矩阵的梯度,使用共轭梯度法交替更新参数矩阵w,h的值;

定义模型的目标方程

其中,m为用户数,n为商品数,v为特征维度,k为聚类数,w和h是模型要学的参数矩阵,f是聚类项矩阵,v∈rn×v表示用户或商品的特征信息矩阵,aij是观察到的二值矩阵,若aij=1,则cij=c,若aij=0,则cij=1-c,c为初始化的正样本损失权重,1-c为负样本的损失权重,λ1,λ2分别对应于正则项系数和聚类项系数;使用交替优化的思想,先固定w,计算h的梯度,用共轭梯度下降法更新一轮h;再固定h,计算的w梯度,用共轭梯度下降法更新一轮w;再对w进行svd矩阵分解,取最大k个奇异向量,构成矩阵作为新的f;不断迭代上述过程,直到训练完毕。

所述用户与商品的关系矩阵中只有观察到的正向关系,其他均为未知关系。

所述用户和商品的辅助特征信息,是指用户或商品各自的特征数据,训练推荐算法时可以学到更多有用的信息。

本发明方法既可以对已有的用户或商品进行推荐,也可对新加入的用户或商品进行推荐。

有益效果:与现有技术相比,本发明提供的基于聚类pu矩阵分解的个性化推荐方法,利用了用户和商品之间潜在的相似性,使学习的结果更具解释性,且提升了推荐效果。

附图说明

图1为本发明实施的个性化推荐方法训练工作流程图;

图2为本发明实施的个性化推荐方法预测工作流程图;

图3为本发明实施的模型训练工作流程图;

图4为本发明方法与pu归纳式矩阵补全方法的实验效果对比图;

图5为本发明方法与pu归纳式矩阵补全方法的实验效果对比图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

基于聚类pu矩阵分解的个性化推荐方法,训练工作流程如图1所示。首先将收集的用户和商品的行为数据存至数据处理平台(步骤10)。接着判断是否使用辅助特征信息,即用户商品各自独立的一些特征(步骤11),若使用辅助特征信息,则加入用户商品的特征数据(步骤12),否则跳到下一步。然后对数据进行预处理,包括除噪音和数据正规化等过程(步骤13),再从数据中判断已知的用户和商品之间的关系(步骤14),若存在已知的正向关系则标记为”1”(步骤15a),否则标记为”0”(步骤15b),表示用户商品的关系未知。通过上述步骤,可以得到用户商品的关系矩阵a(步骤16)。接下来系统初始化各项参数,例如聚类数目k和正负样本损失权重c等(步骤17),进入到模型训练的迭代阶段(步骤18),每迭代一轮进行判断是否达到停止条件(步骤19),若未达到停止条件则继续迭代,否则输出训练结果并保存模型(步骤20)。

使用训练得到的模型预测用户商品关系并进行推荐的工作流程如图2所示。首先读取训练得到的模型(步骤21),判断需要推荐的目标是否是新用户或商品(步骤22),若是则需获取新用户商品的特征数据(步骤23a),否则直接取出已有的用户商品特征数据(步骤23b)。接着判断是否使用辅助特征信息来预测(步骤24),这和训练时是一致的,即训练时若使用了辅助特征信息,则预测时也要用,否则两个过程均不用。若使用辅助特征信息,则将特征信息矩阵与模型参数矩阵相乘(步骤25a),否则直接将模型参数矩阵相乘(25b),得到预测值矩阵m(步骤26)。接着将预测值矩阵m中的元素,按数值从高到低排序(步骤27),根据实际需求,确立要推荐的用户商品数目为t(步骤28),对m中未知关系的用户商品,按预测值从高到低的顺序取出最大的t个进行推荐,输出推荐结果(步骤29)。

推荐方法内部详细的模型训练与优化的工作流程图如图3所示。首先初始化机器学习平台(步骤180),然后随机初始化所要训练的模型参数矩阵w,h(步骤181),进入训练过程(步骤182):先计算整个模型的目标方程(步骤184),再计算要训练的参数矩阵的梯度(步骤185),使用共轭梯度法交替更新参数矩阵w,h的值(步骤186),对新的参数矩阵w进行svd分解,取出前k个最大的奇异向量组成的矩阵,作为聚类项矩阵f新的值(步骤187),重复上述步骤,不断交替更新参数矩阵w,h和聚类项矩阵f(步骤183),直到满足停止条件(步骤188),输出参数模型(步骤189)。

本发明在两个数据集上进行了实验,对比了本发明的方法和已有最好方法的效果,已有的最好方法是cho-juihsieh在2015年机器学习顶级会议icml论文中提出的“pu归纳式矩阵补全方法”。

第一个数据集是学术论文相关的数据集citeulike,关系矩阵每一行是一个作者(类比于用户),每一列是一篇文章(类比于商品),关系矩阵元素为1代表作者引用了文章,另外还有文章的辅助特征信息矩阵,由文本内容生成。本数据集作者数5551,文章数16980,文章的特征维度为8000,已知的引用数目为204987。

实验结果如图4所示,绿色线为本发明的实验效果,蓝色线为pu归纳式矩阵补全方法的实验效果,评价指标为auc(精确度),可见本发明的方法有很大提升。

第二个数据集是多标记学习的数据集eurlex,关系矩阵每一行是一个样本(类比于用户),每一列是一个标签(类比于商品),关系矩阵元素为1代表样本拥有某个标记,此外有样本的辅助特征信息矩阵。本数据集样本数19346,标记数3393,样本特征维度5000,已知的标签数为102741。

实验结果如图5所示,绿色线为本发明的实验效果,蓝色线为pu归纳式矩阵补全方法的实验效果,评价指标为auc,可见本发明的方法有很大提升。

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