CN114049166A - 基于离散因子分解机的物品推荐方法 - Google Patents
基于离散因子分解机的物品推荐方法 Download PDFInfo
- Publication number
- CN114049166A CN114049166A CN202111185507.5A CN202111185507A CN114049166A CN 114049166 A CN114049166 A CN 114049166A CN 202111185507 A CN202111185507 A CN 202111185507A CN 114049166 A CN114049166 A CN 114049166A
- Authority
- CN
- China
- Prior art keywords
- discrete
- matrix
- parameters
- parameter
- user
- 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
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000000354 decomposition reaction Methods 0.000 title claims abstract description 11
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000012549 training Methods 0.000 claims abstract description 18
- 238000012163 sequencing technique Methods 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 74
- 239000011159 matrix material Substances 0.000 claims description 63
- 238000005457 optimization Methods 0.000 claims description 28
- 238000005070 sampling Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 9
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000005259 measurement Methods 0.000 claims description 4
- 238000002939 conjugate gradient method Methods 0.000 claims description 3
- 238000009795 derivation Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 25
- 238000011160 research Methods 0.000 description 4
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Development Economics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Game Theory and Decision Science (AREA)
- Computing Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于离散因子分解机的物品推荐方法,包括下述步骤:获取用户、物品以及评分的关系数据;基于偏好数据构建因子分解机模型,所述因子分解机模型的输入为所述关系数据,输出为预测评分;对所述因子分解机模型的参数进行初始化,所述初始化包括实数参数的初始化与离散参数的初始化;根据所述偏好数据更新因子分解机离散参数和实数参数;根据更新后的参数,计算每个用户对于每个物品的预测得分,并对得分由高到低进行排序,为每个用户生成推荐物品清单。本方法采用二元二次规划对参数进行优化,因子分解机的训练过程中,使用混合整数问题求解,对离散参数逐个参数更新,具有收敛性好、扩展性强及准确度高的优点。
Description
技术领域
本发明涉及推荐系统技术领域,具体涉及一种基于离散因子分解机的物品推荐方法。
背景技术
互联网经济在近些年来迎来了快速发展的黄金时期,推荐系统作为一个互联网公司线上业务的核心子模块,能够有效辅助公司提升线上的营收水平能力。随着推荐系统近年的不断深入研究,推荐系统的建模也从基础的矩阵分解方法,拓展成可以建模复杂应用场景的一般性模型,如因子分解机方法。一般而言,推荐系统主要包含用户、物品,以及用户对物品的评分三大部分。一部分推荐系统方法还能对其他的环境信息进行建模,比如用户间的好友关系,评分时间,物品类型等。
根据建模方法不同,主流的基于协同过滤方法的推荐系统可以分为矩阵分解以及因子分解机两类;根据参数的优化形式,推荐系统的建模方法也可以分为实值优化以及离散优化两类互补的方法;根据优化的目标不同,推荐系统还可以分为另外两类,分别为预测评分型推荐系统和预测排名型推荐系统。在建模方法上,矩阵分解方法主要受自身框架的制约,只能局限于用户、物品以及评分三个主要因素,对其他环境信息的建模能力不足;因子分解机与矩阵分解方法相比有着灵活、高效的优势,不但能针对不同场景建模,还能取得优异的推荐效果,因此近些年它逐渐取代了矩阵分解模型成为了新的科研热门方法。
在参数的优化形式上,实值优化有着直接、简单、方便的天然优势,离散优化通常需要引入数学上额外的约束和松弛条件,同时也会造成一定的信息丢失使得推荐精度略微下降。在优化目标上,预测排名型的推荐系统明显优于预测评分型,许多科研工作已经证实,物品的排名先后明显会影响到推荐效果,排名的顺序在某种角度上也反映出同一用户对不同物品的潜在喜好关系。现有技术在离散参数优化上所使用的离散坐标梯度下降方法对参数初始化较敏感,容易收敛到局部解中,因此还需要引入额外的预训练过程帮助参数初始化。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于离散因子分解机的物品推荐方法,采用二元二次规划对参数进行优化,因子分解机的训练过程中,使用混合整数问题求解,对离散参数逐个参数更新,具有收敛性好、扩展性强及准确度高的优点。
为了达到上述目的,本发明采用以下技术方案:
本发明提供了一种基于离散因子分解机的物品推荐方法,包括下述步骤:
S1、获取用户、物品以及评分的关系数据,所述关系数据为“用户—物品—评分”形式,将所述关系数据处理为“用户—物品I—物品J—物品I与J间的偏好关系”形式的偏好数据;
S2、基于偏好数据构建因子分解机模型,所述因子分解机模型的输入为同一偏好数据中包含的两个关系数据,输出为两个关系数据的预测评分,将两个预测评分差值转化为预测概率,所述因子分解机模型的目标是最小化所有物品间的预测概率与实际取值之间的差距,即最小化所有物品间的交叉熵;
S3、对所述因子分解机模型的参数进行初始化,所述初始化包括实数参数的初始化与离散参数的初始化;更新离散因子分解机离散参数和实数参数;
S4、根据更新后的离散参数和实数参数,计算每个用户对于每个物品的预测得分,并对预测得分由高到低进行排序,为每个用户生成推荐物品清单。
更具体的,步骤S1中,所述偏好数据是指:用户比起物品J而言更喜欢物品I,符合该条件则取值为1,否则为0;所述偏好关系包括:用户对物品I的评分大于或等于物品J、用户与物品I的交互次数大于或等于与物品J的交互次数。
更具体的,步骤S2中,所述基于偏好数据构建因子分解机模型,具体为:
将偏好数据中包含的两个关系数据,即“用户与物品I”和“用户与物品J”相关的数据作为因子分解机模型的两个m维输入向量xi和xj,根据预测公式 分别计算两个m维输入向量xi和xj的预测得分和其中ws为m维实数参数向量w的第s个值,bs,bt分别为k×m大小的离散矩阵B的第s和t列的列向量,k为离散特征的维度数;通过公式将两预测得分的差值转换为介于0到1之间的概率,其中exp()为指数函数;若Pij≥0.5,则视为用户喜欢物品I,否则喜欢物品J;最小化物品间的预测概率与实际取值之间的差距,即最小化两者之间的交叉熵:∑(i,j)∈Ω-yijlogPij-1-yij)log(1-Pij),其中(i,j)代表同一偏好数据下用户对两不同物品的交互数据,Ω为由所述偏好数据组成的数据集,yij为所述偏好数据中“物品I与J间的偏好关系”。
更具体的,步骤S3中,所述实数参数的初始化是通过标准高斯分布随机生成,或者通过预训练过程进行初始化,所述预训练是将离散参数还原为实数参数,并采用实数优化方法进行训练,最后再将训练得到的实数参数通过哈希函数离散化得到离散参数;
所述离散参数初始化是先通过进行实数参数初始化过程,再利用哈希函数方法将实数离散化。
更具体的,步骤S3中,所述更新离散参数,具体为:
将原始问题建模为同构二元二次规划问题,所述原始问题是指因子分解机模型对离散参数矩阵进行更新的一般形式,包括一个二次项和一次项,所述同构二元二次规划问题是指针对原始问题中的二次项进行的离散求解方法;
通过半正定松弛算法求解;
通过高斯随机过程生成原始问题的近似解。
更具体的,所述将原始问题建模为同构二元二次规划问题,具体为:
将原始问题建模为同构二元二次规划问题的数学表达形式其中k为离散特征的维度数,r∈{1,…,m}为1到m范围内的整数,代表某列待更新的离散向量,dr为一次项的系数向量,Cr为二次项的半正定系数矩阵,br为离散参数矩阵B中第r列离散向量,系数矩阵v为自由变量,取值为±1,原始问题中的半正定矩阵Cr以及向量dr通过所述数学建模得到的交叉熵对离散矩阵B的每一列离散向量br进行的公式推导得到,具体为:
将所述建模得到的交叉熵公式∑(i,j)∈Ω-yijlogPij-(1-yij)log(1-Pij)化简为∑(i,j)∈Ω-yijSij+log(1+exp(Sij)),其中为同一偏好数据中两物品的预测评分差;
更新离散矩阵B具体为:对矩阵的每列向量br分别进行更新,其他列向量不变,将实际辅助目标函数进一步化简为仅保留与向量br有关的相关项利用Sij与br的关系,推出原始问题中半正定矩阵Cr以及向量dr,公式为:
更具体的,所述通过半正定松弛求解具体为:
通过建模为同构二元二次规划问题得到的优化目标利用 的关系,将建模的同构二元二次规划公式转换为其等价形式其中X为向量外积形成的半正定对称矩阵,tr是矩阵的迹,代表k+1维的半正定对称矩阵,且所形成的外积矩阵的秩rank(X)=1。
更具体的,所述通过高斯随机过程生成原始问题的近似解,具体为:
将半正定对阵矩阵X作为高斯分布的协方差矩阵,随机采样n次及以上,采样结果为其中ξl为均值为0,协方差为X的高斯分布随机生成,l为随机采样次数;通过符号函数对每个采样结果进行离散化从中选择与目标最接近的采样作为同构二元二次规划问题的解通过去掉同构二元二次规划的解x的最后一个自由变量v,取前k个值,从而得到原始问题的解br。
更具体的,步骤S3中,所述更新离散参数,还包括步骤为:
通过模型的收敛度量评估是否需要重复更新参数,具体为:
所述模型收敛度量评估,提供提前终止训练过程的功能,该评估通过参数改变的幅度或者目标函数的数值变化幅度判断是否收敛;
所述参数改变的幅度包括:实值参数变化幅度超过5%、离散参数数值发生改变的个数不超过总参数个数的20%;
所述目标函数的数值变化幅度为目标函数的变化幅度不超过5%。
更具体的,步骤S3中,所述更新实数参数,具体为:
更新实数参数w0,w,将两实数参数视为一个整体令实际辅助目标函数对的导数为0,从而得到方程并转化为一般的方程组求解形式其中矩阵A的每一行均为所述偏好关系组成的数据集Ω下的两个交互数据的输入向量之差向量 分别为向量xi的第s和t个值,m为输入向量维度,参数的闭式解由得到并转换为优化问题,即最小化所述优化问题可通过共轭梯度法进行高效迭代求解,从而得到更新后的参数w0,w。
本发明与现有技术相比,具有如下优点和有益效果:
本发明提供的一种基于离散因子分解机的物品推荐方法具有以下优势:
1、快速收敛:本发明去除了现有方案中的预训练环节,并且经过多次重复实验表明本发明需要的迭代次数比现有方案要少,大大降低了时间成本,优化了方案;
2、可扩展性强:本发明的技术与现有技术相比,并未向离散参数添加任何约束,本技术也可以采用现有技术中所采用的各种离散变量约束,辅助本技术更稳定地收敛;
3、精度更高:本发明抛弃现有方法所采用的离散坐标梯度下降方法,引入了二元二次规划方法进行离散问题的求解,摆脱了现有方法的参数初始化敏感问题,使得本发明取得更好且更稳定的推荐准确度;与实值因子分解机方法相比,本模型带来的精度损失几乎可以忽略,但同时具备离散因子分解机运算速度快、存储成本小等的优势。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种基于离散因子分解机的物品推荐方法的流程图;
图2为本发明实施例数据收集及处理过程示意图;
图3为本发明实施例因子分解机模型与离散因子分解机的工作原理;
图4为本发明实施例参数更新的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请中的实施例及附图,对本发明的技术方案进行清楚、完整地描述,应当理解,附图仅用于示例性说明,不能理解为对本专利的限制。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
技术术语解释:
因子分解机(Factorization Machine,FM)算法是一种基于协同过滤的机器学习算法,可用于求解回归,分类和排序等问题。FM模型中的参数求解使用的是基于梯度的优化方法,然而在样本较少的情况下,该优化方法收敛速度慢,且易陷入局部最优。
离散优化:离散推荐方法属于推荐系统研究的一个子分支,对原本采用实值优化的模型应用离散优化理论,对参数进行离散化更新。
实施例
如图1所示,本实施例为一种基于离散因子分解机的物品推荐方法,该方法包括以下步骤:
S1、获取用户、物品以及评分的关系数据,关系数据为“用户—物品—评分”形式,将关系数据处理为“用户—物品I—物品J—物品I与J间的偏好关系”形式的偏好数据,如图2所示;
进一步的,偏好数据是指:用户比起物品J而言更喜欢物品I,符合该条件则取值为1,否则为0;包括但不限于:用户对物品I的评分大于或等于物品J、用户与物品I的交互次数大于或等于与物品J的交互次数等;
以Yelp评分数据集为例,在过滤小于20个评分的物品和用户后,所得的数据集共包含13679位用户,12922个物品和640143条评分记录,将数据集对半划分为训练集与测试集后,处理得到的偏好数据共有15499269条。
S2、基于偏好数据构建因子分解机模型,因子分解机模型的输入为同一偏好数据中包含的两个关系数据,输出为两个关系数据的预测评分,将两个预测评分差值转化为预测概率,因子分解机模型的目标是最小化所有物品间的预测概率与实际取值之间的差距,即最小化所有物品间的交叉熵,具体为:
将偏好数据中包含的两个关系数据,即“用户与物品I”和“用户与物品J”相关的数据作为因子分解机模型的两个m维输入向量xi和xj,在因子分解机的输入向量中,一部分向量被用于表示用户向量和物品向量,如图3中输入向量的前4个元素和后4个元素,这两部分向量中的每一个取值对应一个逻辑命题是否成立,如“需要预测评分的用户为用户A”、“需要预测评分的用户为用户B”,依次类推,在成立时取1,否则取0,因此这两部分向量有且仅有一个取值为1的元素,代表着该向量对应的用户和物品;根据预测公式 分别计算两个m维输入向量xi和xj的预测评分和其中ws为m维实数参数向量w的第s个值,bs,bt为k×m大小的离散矩阵B的第s和t列的列向量,k为离散特征的维度数;通过公式将两预测评分的差值转换为介于0到1之间的概率,其中exp()为指数函数;若Pij≥0.5,则视为用户喜欢物品I,否则喜欢物品J;最小化物品间的预测概率与实际取值之间的差距,即最小化两者之间的交叉熵:∑(i,j)∈Ω-uijlogPij-(1-yij)log(1-Pij),其中(i,j)代表同一偏好数据下用户对两不同物品的交互数据,Ω为由所述偏好数据组成的数据集,yij为所述偏好数据中“物品I与J间的偏好关系”。
S3、对因子分解机模型的参数进行初始化,包括实数参数的初始化与离散参数的初始化;更新因子分解机离散参数和实数参数;
进一步的,实数参数的初始化方法可以是简单地通过标准高斯分布随机生成,也可以是通过预训练过程进行初始化;预训练过程为,将离散参数还原为实数参数,采用一般的实数优化方法进行训练,如梯度下降等,最后再将训练得到的实数参数通过哈希函数离散化得到离散参数;离散参数的初始化可以通过先进行实数参数初始化过程,再利用哈希函数将实数离散化;哈希函数包括但不仅限于符号函数:将大于等于0的实数赋值为+1,小于0的实数赋值为-1;局部敏感哈希方法等。
进一步的,如图4所示,更新因子分解机的离散参数,步骤为:
S31、将原始问题建模为同构二元二次规划问题,原始问题是指因子分解机模型对离散参数矩阵进行更新的一般形式,包括一个二次项和一次项,同构二元二次规划问题是指针对原始问题中的二次项进行的离散求解方法,具体为:
将原始问题建模为同构二元二次规划问题的数学表达形式其中k为离散特征的维度数,r∈{1,…,m}为1到m范围内的整数,代表某列待更新的离散向量,dr为一次项的系数向量,Cr为二次项的半正定系数矩阵,br为离散参数矩阵B中第r列离散向量,系数矩阵v为自由变量,取值为±1,从而使得原始问题能够借助同构二元二次规划的形式,利用半正定松弛算法进行求解。在更新离散向量br时,离散参数矩阵B中的其他列向量保持不变;原始问题中的半正定矩阵Cr以及向量dr通过所述数学建模得到的交叉熵对离散矩阵B的每一列离散向量br进行的公式推导得到,具体为:
将所述建模得到的交叉熵公式∑(i,j)∈Ω-yijlogPij-(1-yij)log(1-Pij)化简为∑(i,j)∈Ω-yijSij+log(1+exp(Sij)),其中为同一偏好数据中两物品的预测评分差,化简后的公式为本方法求解混合整数问题时所使用的目标函数,最小化该目标函数等同于最小化交叉熵损失;
受B∈{±1}k×m的离散约束限制,上式目标函数的优化求解仅能通过穷举等效率极低的方法进行求解,无法直接得到更新参数所需的闭式解,由此,利用Jaakkola-Jordan边界对log(1+exp(Sij)),通过引入辅助参数对目标函数最后一项log(1+exp(Sij))进行松弛,具体为:其中由此得到 作为本模型的实际辅助目标函数;
更新离散矩阵B具体为:对矩阵的每列向量br分别进行更新,在更新离散向量br时,离散参数矩阵B的其他列向量保持不变,将实际辅助目标函数进一步化简为仅保留与向量br有关的相关项利用Sij与br的关系,推出原始问题中半正定矩阵Cr以及向量dr,公式为:
S32、通过半正定松弛算法求解,具体为:
通过建模为同构二元二次规划问题得到的优化目标利用 的关系,将建模的同构二元二次规划公式转换为其等价形式其中X为向量外积形成的半正定对称矩阵,tr是矩阵的迹,且所形成的外积矩阵的秩rank(X)=1;半正定松弛通过去除矩阵X中rank(X)=1的约束,使得tr(HX)的最小化问题能被现有的凸优化求解器进行求解,得到求解结果X后,由于结果矩阵X的秩rank(X)可能不等于1,因此仍需要对该结果进行后续的处理。
S33、通过高斯随机过程生成原始问题的近似解,具体为:
将半正定对阵矩阵X作为高斯分布的协方差矩阵,随机采样n次及以上,得到其中ξl为均值为0,协方差为X的高斯分布随机生成,l为随机采样次数;通过符号函数对每个采样结果进行离散化从中选择与目标最接近的采样作为同构二元二次规划问题的解通过去掉同构二元二次规划的解x的最后一个自由变量v,取前k个值,从而得到原始问题的解br。
S34、通过模型的收敛度量评估是否需要重复更新参数,具体为:
模型收敛度量评估,提供提前终止训练过程的功能,该评估通过参数改变的幅度或者目标函数的数值变化幅度判断是否收敛;参数改变的幅度包括:实值参数变化幅度超过5%、离散参数数值发生改变的个数不超过总参数个数的20%等;目标函数的数值变化幅度为目标函数的变化幅度不超过5%等。
进一步的,更新因子分解机的实数参数,具体为:
更新实数参数w0,w,将两实数参数视为一个整体令实际辅助目标函数对的导数为0,从而得到方程并转化为一般的方程组求解形式其中矩阵A的每一行均为所述偏好关系组成的数据集Ω下的两个交互数据的输入向量之差向量 分别为向量xi的第s和t个值,m为输入向量维度,参数的闭式解由得到,但因某些情况下可能无法对矩阵A求逆,因此将其转换为优化问题,即最小化所述优化问题可通过共轭梯度法进行高效迭代求解,从而得到更新后的参数w0,w。
S4、根据更新后的离散参数和实数参数,计算每个用户对于每个物品的预测得分,并对该得分由高到低进行排序,从而为每个用户生成推荐物品清单。
根据生成的推荐列表的前10个物品得到的归一化折损累计增益指标
上表给出了本发明公开的方法与其他方法在两个现实的物品推荐数据集Yelp和Amazon上的结果,测试方法为对所有用户生成推荐的物品清单,根据生成的列表与实际用户对该列表中每个物品的评分数据评估推荐精度;使用的推荐精度指标为归一化折损累计增益(即Normalized Discounted Cumulative Gain,NDCG),数值越大代表推荐精度越高;仅选取生成的物品清单的前10个物品,目的为评估生成列表中靠前物品的推荐精度。上表表明本方法不仅要优于现有的方案,而且相比于其他方法而言,本方法在离散向量特征数k取值较低时,推荐精度的下降幅度明显低于其他方法。
需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.基于离散因子分解机的物品推荐方法,其特征在于,包括下述步骤:
S1、获取用户、物品以及评分的关系数据,所述关系数据为“用户-物品-评分”形式,将所述关系数据处理为“用户-物品I-物品J-物品I与J间的偏好关系”形式的偏好数据;
S2、基于偏好数据构建因子分解机模型,所述因子分解机模型的输入为同一偏好数据中包含的两个关系数据,输出为两个关系数据的预测评分,将两个预测评分差值转化为预测概率,所述因子分解机模型的目标是最小化所有物品间的预测概率与实际取值之间的差距,即最小化所有物品间的交叉熵;
S3、对所述因子分解机模型的参数进行初始化,所述初始化包括实数参数的初始化与离散参数的初始化;更新离散因子分解机离散参数和实数参数;
S4、根据更新后的离散参数和实数参数,计算每个用户对于每个物品的预测得分,并对预测得分由高到低进行排序,为每个用户生成推荐物品清单。
2.根据权利要求1所述基于离散因子分解机的物品推荐方法,其特征在于,步骤S1中,所述偏好数据是指:用户比起物品J而言更喜欢物品I,符合该条件则取值为1,否则为0;所述偏好关系包括:用户对物品I的评分大于或等于物品J、用户与物品I的交互次数大于或等于与物品J的交互次数。
3.根据权利要求1所述基于离散因子分解机的物品推荐方法,其特征在于,步骤S2中,所述基于偏好数据构建因子分解机模型,具体为:
将偏好数据中包含的两个关系数据,即“用户与物品I”和“用户与物品J”相关的数据作为因子分解机模型的两个m维输入向量xi和xj,根据预测公式 分别计算两个m维输入向量xi和xj的预测得分和其中ws为m维实数参数向量w的第s个值,bs,bt分别为k×m大小的离散矩阵B的第s和t列的列向量,k为离散特征的维度数;通过公式将两预测得分的差值转换为介于0到1之间的概率,其中exp()为指数函数;若Pij≥0.5,则视为用户喜欢物品I,否则喜欢物品J;最小化物品间的预测概率与实际取值之间的差距,即最小化两者之间的交叉熵:∑(i,j)∈Ω-yijlog Pij-(1-yij)log(1-Pij),其中(i,j)代表同一偏好数据下用户对两不同物品的交互数据,Ω为由所述偏好数据组成的数据集,yij为所述偏好数据中“物品I与J间的偏好关系”。
4.根据权利要求1所述基于离散因子分解机的物品推荐方法,其特征在于,步骤S3中,所述实数参数的初始化是通过标准高斯分布随机生成,或者通过预训练过程进行初始化,所述预训练是将离散参数还原为实数参数,并采用实数优化方法进行训练,最后再将训练得到的实数参数通过哈希函数离散化得到离散参数;
所述离散参数初始化是先通过进行实数参数初始化过程,再利用哈希函数方法将实数离散化。
5.根据权利要求1所述基于离散因子分解机的物品推荐方法,其特征在于,步骤S3中,所述更新离散参数,具体为:
将原始问题建模为同构二元二次规划问题,所述原始问题是指因子分解机模型对离散参数矩阵进行更新的一般形式,包括一个二次项和一次项,所述同构二元二次规划问题是指针对原始问题中的二次项进行的离散求解方法;
通过半正定松弛算法求解;
通过高斯随机过程生成原始问题的近似解。
6.根据权利要求5所述基于离散因子分解机的物品推荐方法,其特征在于,所述将原始问题建模为同构二元二次规划问题,具体为:
将原始问题建模为同构二元二次规划问题的数学表达形式其中k为离散特征的维度数,r∈{1,...,m}为1到m范围内的整数,代表某列待更新的离散向量,dr为一次项的系数向量,Cr为二次项的半正定系数矩阵,br为离散参数矩阵B中第r列离散向量,系数矩阵v为自由变量,取值为±1,原始问题中的半正定矩阵Cr以及向量dr通过所述数学建模得到的交叉熵对离散矩阵B的每一列离散向量br进行的公式推导得到,具体为:
将所述建模得到的交叉熵公式∑(i,j)∈Ω-yijlog Pij-(1-yij)log(1-Pij)化简为∑(i,j)∈Ω-yijSij+log(1+exp(Sij)),其中为同一偏好数据中两物品的预测评分差;
更新离散矩阵B具体为:对矩阵的每列向量br分别进行更新,其他列向量不变,将实际辅助目标函数进一步化简为仅保留与向量br有关的相关项利用Sij与br的关系,推出原始问题中半正定矩阵Cr以及向量dr,公式为:
9.根据权利要求5所述基于离散因子分解机的物品推荐方法,其特征在于,还包括步骤为:
通过模型的收敛度量评估是否需要重复更新参数,具体为:
所述模型收敛度量评估,提供提前终止训练过程的功能,该评估通过参数改变的幅度或者目标函数的数值变化幅度判断是否收敛;
所述参数改变的幅度包括:实值参数变化幅度超过5%、离散参数数值发生改变的个数不超过总参数个数的20%;
所述目标函数的数值变化幅度为目标函数的变化幅度不超过5%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111185507.5A CN114049166B (zh) | 2021-10-12 | 2021-10-12 | 基于离散因子分解机的物品推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111185507.5A CN114049166B (zh) | 2021-10-12 | 2021-10-12 | 基于离散因子分解机的物品推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114049166A true CN114049166A (zh) | 2022-02-15 |
CN114049166B CN114049166B (zh) | 2024-04-30 |
Family
ID=80205324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111185507.5A Active CN114049166B (zh) | 2021-10-12 | 2021-10-12 | 基于离散因子分解机的物品推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114049166B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104604A (zh) * | 2019-11-25 | 2020-05-05 | 北京交通大学 | 基于哈希学习的轻量级社会化推荐方法 |
CN111275521A (zh) * | 2020-01-16 | 2020-06-12 | 华南理工大学 | 一种基于用户评论与满意层面嵌入的商品推荐方法 |
CN112256966A (zh) * | 2020-10-23 | 2021-01-22 | 北京交通大学 | 基于半监督因子分解机的物品推荐方法 |
CN112529636A (zh) * | 2020-12-18 | 2021-03-19 | 平安科技(深圳)有限公司 | 商品推荐方法、装置、计算机设备及介质 |
-
2021
- 2021-10-12 CN CN202111185507.5A patent/CN114049166B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104604A (zh) * | 2019-11-25 | 2020-05-05 | 北京交通大学 | 基于哈希学习的轻量级社会化推荐方法 |
CN111275521A (zh) * | 2020-01-16 | 2020-06-12 | 华南理工大学 | 一种基于用户评论与满意层面嵌入的商品推荐方法 |
CN112256966A (zh) * | 2020-10-23 | 2021-01-22 | 北京交通大学 | 基于半监督因子分解机的物品推荐方法 |
CN112529636A (zh) * | 2020-12-18 | 2021-03-19 | 平安科技(深圳)有限公司 | 商品推荐方法、装置、计算机设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114049166B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110969516B (zh) | 一种商品推荐方法及装置 | |
CN111797321B (zh) | 一种面向不同场景的个性化知识推荐方法及系统 | |
CN111191092B (zh) | 标签确定方法和标签确定模型训练方法 | |
CN106980648B (zh) | 一种基于概率矩阵分解结合相似度的个性化推荐方法 | |
CN112950324B (zh) | 一种知识图谱辅助的成对排序个性化电商推荐方法及系统 | |
CN107688870B (zh) | 一种基于文本流输入的深度神经网络的分层因素可视化分析方法及装置 | |
Fu et al. | Deep reinforcement learning framework for category-based item recommendation | |
CN112395487B (zh) | 信息推荐方法、装置、计算机可读存储介质及电子设备 | |
CN105976070A (zh) | 基于重点元素的矩阵分解及微调方法 | |
CN114238577B (zh) | 融合多头注意力机制的多任务学习情感分类方法 | |
CN109933720B (zh) | 一种基于用户兴趣自适应演化的动态推荐方法 | |
CN113918834A (zh) | 融合社交关系的图卷积协同过滤推荐方法 | |
CN114443958A (zh) | 一种推荐方法、推荐系统及推荐系统训练方法 | |
CN115204967A (zh) | 一种融入用户长短期兴趣表征隐式反馈的推荐方法 | |
Imron et al. | Aspect Based Sentiment Analysis Marketplace Product Reviews Using BERT, LSTM, and CNN | |
CN104376120B (zh) | 一种信息检索方法及系统 | |
CN115344794A (zh) | 一种基于知识图谱语义嵌入的旅游景点推荐方法 | |
CN114997155A (zh) | 一种基于表格检索和实体图推理的事实验证方法与装置 | |
CN114049166B (zh) | 基于离散因子分解机的物品推荐方法 | |
CN109299291A (zh) | 一种基于卷积神经网络的问答社区标签推荐方法 | |
Pan et al. | A movie recommendation model combining time information and probability matrix factorisation | |
Yue et al. | Improved FunkSVD algorithm based on RMSProp | |
CN111612572A (zh) | 一种基于推荐系统的自适应局部低秩矩阵近似建模方法 | |
CN115858942B (zh) | 面向用户输入的序列化推荐方法及装置 | |
CN115936008B (zh) | 一种文本建模模型的训练方法、文本建模方法及装置 |
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 |