System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及推荐系统领域,尤其涉及一种基于排序学习的离散社交推荐方法。
技术介绍
1、推荐系统的主要任务是为用户推荐满足用户偏好的top-n个物品,随着用户和物品的规模不断扩大,推荐系统的效率问题越来越得到关注。离散技术已经被广泛证明是一种解决快速相似性搜索的有前途的方法,一方面,通过将实值数据向量编码为紧凑的二进制代码,使得在内存中高效存储海量数据成为可能;另一方面,将向量空间中的内积相似度计算替换为适当的hamming空间中的位运算,可以显著降低运算的时间复杂度,甚至可以利用查找表进行常数时间内的搜索,然而,在将数据离散化的过程中不可避免地会产生量化损失。现有研究通过引入辅助信息来提高离散模型的精确度,但模型最终的效果仍然距离实值模型有很大差距,有待进一步提升。
2、离散推荐面临的两个主要问题是减少量化误差和离散优化问题。早期的工作中,大多使用“两阶段”方法设计离散推荐模型,分别是松弛优化和二值量化,但在两阶段的过程中会造成很大的量化误差。此后,一种单阶段学习哈希技术被提出来用于减少二值化的量化偏差,该技术用双曲正切函数tanh(βx)逼近符号函数sign(x),其中x表示实值向量,β为在离散推荐模型训练过程中增加的缩放参数,通过上述无限近似过程使量化偏差可以忽略不计,从而有助于实现更好的推荐性能。在求解离散问题上,直通式估计器(straight-through estimator,ste)是一种通过将离散变量的梯度直接复制到相应的连续变量上来实现离散优化的方法,但该方法容易产生次优解的问题。近年来,越来越多的
3、排序学习是一种监督学习的排序方法,已经被广泛应用到推荐与搜索等领域。传统的排序方法通过构造相关度函数,按照相关度进行排序。排序学习一般说来有三类方法:单文档方法pointwise,文档对方法pairwise和文档列表方法listwise。对于离散推荐的研究,已有的推荐算法大多采用基于pointwise的评估指标,如2016年发表于sigir的工作discrete collaborative filtering提出了一个经典的离散协同过滤方法dcf,该方法使用均方误差mse评估模型;除此之外,也有一些基于pairwise的评估指标,如steffenrendle在bpr:bayesian personalized ranking from implicit feedback中首次提出的bpr。
4、由于top-n推荐是推荐系统的一个典型的问题,旨在向用户推荐n个用户最感兴趣的物品,故推荐系统的评估指标大多是基于listwise的排序指标,如平均精度map、归一化折损累计增益ndcg等,而目前大多的离散推荐模型大多采用基于pointwise的评估指标,使得模型训练和评估指标没有保持一致,从而使模型的训练达不到最优状态。
技术实现思路
1、针对上述现有技术的不足,本专利技术提出了一种基于排序学习的离散社交推荐方法,在保留离散推荐模型效率优势的同时通过引入社交信息丰富语义信息并采用基于listwise的优化方法提高离散推荐模型精度。
2、本专利技术提出了一种基于排序学习的离散社交推荐方法,该方法包括如下步骤:
3、步骤1:获取用户与物品的交互信息和用户社交数据并构建社交数据集,按照预定规则将社交数据集划分为训练集和测试集;
4、步骤2:将训练集转换为在离散社交推荐场景下的二进制表示,并利用转换得到的二进制编码分别计算用户对物品的偏好分数和用户之间的社交关系分数;
5、步骤3:基于用户对物品的偏好分数和用户之间的社交关系分数,构建离散社交推荐模型,包括:社交关系预测模型和联合优化目标函数模型;
6、步骤4:将训练集输入离散社交推荐模型,采用基于渐进式非凹凸性过程gnccp的交替优化策略对离散社交推荐模型进行训练,得到训练好的离散社交推荐模型;
7、步骤5:将测试集输入训练好的离散社交推荐模型,对于测试集中的任意用户,利用训练好的离散社交推荐模型为该用户推荐n个最符合用户偏好的物品;
8、所述步骤1进一步包括:
9、步骤1.1:获取若干个物品的物品编号、若干个用户的用户编号、用户对物品的评分和用户之间的社交关系;其中所述用户对物品的评分包括五个评分等级;
10、步骤1.2:利用获取的用户编号、物品编号和用户对物品的评分构成用户与物品的交互信息,记为“uid iid rui”,其中uid表示用户u的用户编号,iid表示物品i的物品编号,rui表示用户u对物品i的评分;
11、步骤1.3:利用用户编号和用户之间的社交关系构成用户社交数据,记为“uid tidtut”,其中tid表示用户t的用户编号;tut表示用户u和用户t之间的社交关系,且tut=1表示用户u和用户t有社交关系,tut=0表示用户u和用户t无社交关系;
12、步骤1.4:对用户与物品的交互信息进行数据清洗,将交互信息少于p条的用户和物品从用户与物品的交互信息中剔除,并利用清洗后的用户与物品的交互信息和用户社交数据构建社交数据集;
13、步骤1.5:将社交数据集中的用户与物品的交互信息按照预定比例划分为训练集和测试集,并将社交数据集中的用户社交数据添加至划分好的训练集中;
14、步骤1.6:利用训练集中所有的用户编号构建用户集u,利用训练集中所有的物品编号构建物品集i,利用训练集中所有用户对物品的评分构建评分集r,利用训练集中所有用户之间的社交关系构建社交关系集t,并将训练集记为x={u,i,r,t};
15、步骤2中所述用户对物品的偏好分数的计算方法为:采用汉明距离计算用户与物品之间的汉明相似度作为用户对物品的偏好分数,表示为:
16、
17、其中表示用户u对物品i的偏好分数;r表示第r位二进制编码;bur表示用户u的第r位二进制编码的取值;dir表示物品i的第r位二进制编码的取值;表示判断bur和dir是否相等,若相等则取值为1,若不相等则取值为0;bu为用户u的二进制编码;di为物品i的二进制编码;
18、所述用户之间的社交关系分数的计算方法为:对于用户集中的用户u和用户t,采用汉明距离计算用户u和用户t之间的汉明相似度作为用户u和本文档来自技高网...
【技术保护点】
1.一种基于排序学习的离散社交推荐方法,其特征在于,该方法包括如下步骤:
2.根据权利要求1所述一种基于排序学习的离散社交推荐方法,其特征在于,所述步骤1进一步包括:
3.根据权利要求2所述一种基于排序学习的离散社交推荐方法,其特征在于,步骤2中所述用户对物品的偏好分数的计算方法为:采用汉明距离计算用户与物品之间的汉明相似度作为用户对物品的偏好分数,表示为:
4.根据权利要求3所述一种基于排序学习的离散社交推荐方法,其特征在于,步骤3中所述社交关系预测模型,包括:用户对物品的评分预测和用户之间的社交关系预测;
5.根据权利要求4所述一种基于排序学习的离散社交推荐方法,其特征在于,步骤3中所述联合优化目标函数模型的构建方法为:
6.根据权利要求5所述一种基于排序学习的离散社交推荐方法,其特征在于,步骤S3中所述基于排序的平均精确度AP表示为:
7.根据权利要求6所述一种基于排序学习的离散社交推荐方法,其特征在于,步骤S4中所述联合优化目标函数为:
8.根据权利要求7所述一种基于排序学习的离散社交推荐
9.根据权利要求8所述一种基于排序学习的离散社交推荐方法,其特征在于,步骤4中所述基于渐进式非凹凸性过程GNCCP的交替优化策略对离散社交推荐模型进行训练的过程为:将训练集X输入离散社交推荐模型,设置二进制向量维度f、渐进式非凹凸性过程优化器的优化步长d以及温度参数τ,采用基于渐进式非凹凸性过程GNCCP的交替优化策略对离散社交推荐模型中的联合优化目标函数模型进行优化训练,根据交替优化策略将联合优化目标函数模型的优化训练分解为三个近似子问题,分别为:从用户集松弛后的连续向量空间中获得离散最优解的近似子问题、从物品集松弛后的连续向量空间中获得离散最优解的近似子问题以及从社交关系集松弛后的连续向量空间中获得离散最优解的近似子问题,通过对所述三个近似子问题进行求解来得到联合优化目标函数模型的离散最优解并保存模型参数,得到训练好的离散社交推荐模型。
10.根据权利要求9所述一种基于排序学习的离散社交推荐方法,其特征在于,所述从用户集松弛后的连续向量空间中获得离散最优解的近似子问题的求解过程为:固定联合优化目标函数模型中的D和W,仅考虑B的优化更新,采用渐进式非凹凸性过程GNCCP对联合优化目标函数模型进行优化,利用转动参数ζ对当D和W固定不变时的联合优化目标函数模型进行优化更新,并采用Frank-wolfe算法对优化后的目标函数进行迭代求解,得到当D和W固定不变时联合优化目标函数模型的离散最优解,如下公式所示:
...【技术特征摘要】
1.一种基于排序学习的离散社交推荐方法,其特征在于,该方法包括如下步骤:
2.根据权利要求1所述一种基于排序学习的离散社交推荐方法,其特征在于,所述步骤1进一步包括:
3.根据权利要求2所述一种基于排序学习的离散社交推荐方法,其特征在于,步骤2中所述用户对物品的偏好分数的计算方法为:采用汉明距离计算用户与物品之间的汉明相似度作为用户对物品的偏好分数,表示为:
4.根据权利要求3所述一种基于排序学习的离散社交推荐方法,其特征在于,步骤3中所述社交关系预测模型,包括:用户对物品的评分预测和用户之间的社交关系预测;
5.根据权利要求4所述一种基于排序学习的离散社交推荐方法,其特征在于,步骤3中所述联合优化目标函数模型的构建方法为:
6.根据权利要求5所述一种基于排序学习的离散社交推荐方法,其特征在于,步骤s3中所述基于排序的平均精确度ap表示为:
7.根据权利要求6所述一种基于排序学习的离散社交推荐方法,其特征在于,步骤s4中所述联合优化目标函数为:
8.根据权利要求7所述一种基于排序学习的离散社交推荐方法,其特征在于,步骤s5中所述对联合优化目标函数进行松弛的方法为:定义一个长度为l的实值评分向量s,记为s=[s1,s2,……,sl]t,其中s1,s2,……,sl分别表示第1个、第2个和第l个实值评分向量;设πs是将s中的元素按降序排序后得到的实值评分序列,对于实值评分向量s中的任意两个元素sa和sb,构建排列矩阵对排列矩阵进行松弛,得到松弛后的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。