一种基于用户偏好的自适应采样方法与流程

文档序号:13676576阅读:119来源:国知局
技术领域本发明涉及机器学习和模式识别技术领域,特别是涉及机器学习过程加速和自适应采样方法。

背景技术:
随着互联网中信息的膨胀,个性化排序技术在信息过载的时代显得愈发重要。传统的个性化排序的方法主要是基于对用户显式反馈(例如用户对商品的评分)数据的分析,而现实中显式反馈数据量有限,应用场景相对有限,大量的用户兴趣信息往往隐藏在用户的隐含反馈中(例如用户浏览过的网页、用户购买过的商品)。贝叶斯个性化排序(BPR,BayesianPersonalizedRanking)是一种用于处理用户隐含反馈的个性化排序方法,本发明中的算法和框架也是基于贝叶斯个性化排序方法的。矩阵分解的方法在个性化排序中有着广泛地应用,虽然它也可以处理隐含反馈,但在实际的数据集中正反馈的数量远远少于负反馈,从而很容易出现过拟合的问题。贝叶斯个性化排序方法假设用户对他们所选择的商品比其他未被其选择的商品更感兴趣,这个对于用户兴趣对比的假设使得训练数据量大大增加,但是不同的训练实例会对学习过程产生不同的影响,使用随机采样产生训练样本的策略经常使得训练收敛速度很慢。为了加快学习过程,可以采用自适应的采样策略来构建训练数据,例如选取某个领域内流行的商品,或者根据用户的喜好的不同来选取更有价值的商品对作为训练数据,但这两种方法都很难在采样效率和预测效果上达成兼顾平衡。

技术实现要素:
为了解决现有技术存在的上述技术问题,本发明提出一种基于用户偏好的自适应采样方法,具体是一种机器学习中加速基于二元对训练数据的个性化排序模型的方法,其可在保证模型预测精确度不下降的同时,极大地加速BPR模型训练的收敛。本发明是这样实现的,一种基于用户偏好的自适应采样方法,包括步骤:S1,以特征学习的方法从用户和商品的属性特征中学习到用户和商品的低秩表达U0和V0,作为BPR模型的初始参数;S2,根据商品的低秩表达在不同特征维度下对商品进行从大到小排序,得到k个特征维度下的商品排序列表L1,L2,...,Lk;S3,根据商品和用户的低秩特征表达向量,计算训练集合中每一用户购买商品记录(ui,vp)从属于各特征维度的概率分布p(d|ui,vp),并以0初始化一与低秩特征维数相等长度的计数器数组counts;S4,根据概率分布p(d|ui,vp)从低秩特征向量的维度中采样出一特征维度dz作为相关购买记录从属的特征维度;S5,利用几何分布在商品集合排序空间中以预设概率p(r)采样出一排序序号r;S6,结合特征维度dz和排序序号r在商品排序列表中取得一商品作为一个可与用户已经购买的商品Vp进行比较且当前用户未曾购买的商品vq,组成一个三元组(ui,vp,vq),并让计数器加1;然后重复S4~S6,构建一个三元组集合Ds;S7,用三元组集合Ds训练一轮BPR模型,得到商品和用户的低秩表达矩阵V1∈Rm×k,U1∈Rn×k,并以U1更新U0;S8,根据计数器数组counts值计算各特征维度的热门程度,并根据热门程度采样一个特征维度dh,计算V1的第dh列和V0的第dh列的相应向量的相似度若sim≤ρ,则以V1的第dh列更新V0的第dh列,并重新对商品根据特征维度dh特征值大小进行排序,更新排序列表S9,执行S3~S8,直到U1和V1收敛。本发明利用用户在具体购买行为上体现的偏好,构建出更加有效的训练三元组数据,获得了比传统随机采样的方法获得更好的收敛效果并且能保持模型预测的准确性。附图说明图1是本发明实施例提供的方法的流程图;图2是以AUC的似然值为观测指标展示的本发明方法与其它方法的模型收敛速度;图3是以目标函数的似然值为观测指标展示的本发明方法与其它方法的模型收敛速度;图4是本发明方法与其他方法模型在Top-N排序任务上性能的比较。具体实施方式下面详细说明本发明技术方案中所涉及的各个细节问题。应指出的是,所描述的实施例旨在便于对本发明的理解,而对其不起任何限定作用。本发明通过数据预处理后,初始化BPR模型参数,然后在迭代优化的过程中自适应地构建模型训练三元组集合,更新模型参数。在迭代训练完成后,计算商品与用户的相似度,对商品进行个性化排序。参见图1所示,步骤S1,以特征学习的方法从用户和商品的属性特征中,分别学习到用户和商品的低秩表达U0和V0,分别作为BPR模型参数V1∈Rm×k,U1∈Rn×k的初始参数;其中,m和n分别表示商品和用户的个数,k表示低秩特征空间的维度大小,用户和商品的低秩表达可以看作是用户和商品在一个共享的隐空间中的一种特征表达,在这个共享的隐空间中,商品和用户之间可以直接进行比较、运算等操作;本发明中,所述用户的属性特征可以是如用户的职业、收入、过往的购买记录等,而商品的属性特征可以是如商品的类别、描述关键词等。步骤S2根据商品的低秩表达,在各个低秩特征维度下对商品进行从大到小排序,得到k个特征维度下商品的排序列表集合[L1,L2,...,Lk];步骤S3对于用户购买记录中的每一条用户购买商品记录(ui,Vp),根据相关商品和用户的低秩特征表达向量,计算该购买记录从属于各低秩特征维度的概率分布:其中,和分别表示U0和V0的列平均值,和则表示U0和V0的列方差,并以0初始化一个与低秩特征向量维数相等长度的计数器数组counts;步骤S4,根据概率分布p(d|ui,vp)从低秩特征向量的维度[1,k]中采样一个维度dz作为相关购买记录从属的特征维度;步骤S5,利用几何分布在商品集合的排序空间[1,m]中以概率:p(r)∝exp(-r/ω),采样出一个序号r,作为用户选择商品在排序列表中的序号,其中,p(r)表示排序列表中第r个位置上的商品被用户选择的概率,ω是一个先验参数,用以控制分布的概率密度;步骤S6,结合采样得到的特征维度dz和排序序号r在商品排序列表集中取得一个商品作为一个可以与用户已经购买的商品vp进行比较的且当前用户未曾购买的商品vq;步骤S7,如果采样得到的商品Vq是用户ui购买过的商品,重新执行第五步到第六步,直到vq是用户ui没有购买过的商品,组成一个三元组(ui,Vp,vq),并让计数器加1;步骤S8,重复S4~S7,构建一个三元组集合Ds;步骤S9,利用S8得到的三元组集合Ds,训练一轮BPR模型,得到商品和用户的低秩表达矩阵V1∈Rm×k,U1∈Rn×k,并以U1更新U0,即,最小化目标函数:具体地,分别计算目标函数关于U1和V1随机梯度,并利用得到的随机梯度迭代地更新U1和V1,参数的具体更新过程如下:其中,α是给定的学习速率,λu,λp和λq为分别用于控制用户,正样本商品(即用户曾经购买过的商品)和负样本商品(即用户还未曾购买的商品)更新速度的先验参数。经过一轮参数迭代,分别得到商品集合和用户集合的低秩表达矩阵V1∈Rm×k,U1∈Wn×k,并以U1更新U0;步骤S10,根据计数器数组counts的值,计算各特征维度的热门程度,并根据热门程度采样一个特征维度dh,计算V1的第dh列和V0的第dh列的相应向量的相似度如果sim≤ρ,0<ρ<1,则以V1的第dh列更新V0的第dh列,并重新对商品根据在特征维度dh特征值的大小进行排序,更新排序列表步骤S11,执行S3‐‐S10,直到U1和V1收敛为止,然后用学习到的模型参数预测用户对商品的偏好。为了更好地理解基于用户偏好的自适应采样方法在实际BPR模型训练中的作用以及验证本发明实施效果,以电影推荐为例进行说明。本示例采用MovieLens-10K数据库,该数据库中包含了100,000条用户对电影的评价信息,涵盖了943个用户和1682部电影。使用基于用户偏好的自适应采样方法构建训练数据集并用随机梯度下降方法训练模型,最后为数据库中的每一个用户提供一个电影集合的个性化的排序表。在MovieLens-10K数据集上具体实验流程如图1所示:1)在数据预处理时,以一个用户所评价过的所有电影的名称的关键词作为该用户的属性特征,以一部电影的名称的关键词作为电影的属性特征。以“词袋”算法分别生成用户和商品的词频矩阵。2)在参数初始化时,利用LDA(LatentDirichletAllocation)方法分别处理用户和商品词频矩阵,生成用户和商品的低秩表达矩阵U0和V0,作为模型参数V1∈Rm×k,U1∈Rn×k的初始参数;3)在模型训练过程中,首先按具体实施中步骤3至步骤8所描述的方法,构建训练三元组集合,然后按照具体实施中步骤S9至步骤S10所描述的方法学习和更新模型的参数。反复执行这两个子模块,直到模型参数收敛。其中,在本实验中,步骤S5中的控制几何分布概率密度的先验参数ω=500。步骤S9所涉及的模型的学习速率α=0.02,用于控制用户,正样本商品和负样本商品等更新速度的相关先验参数λu=0.01,λp=0.02和λq=0.03。步骤S10中的ρ=0.76;4)在相似度计算过程中,根据学习到的用户和商品的低秩表示矩阵,计算每一个用户和商品集合中的每一个商品间的cosine相似度。5)在个性化排序过程中,根据每个用户与不同商品的相似度,为每个用户提供一个相似度从高到低的商品列表。最后,结合个性化排序算法研究领域中常见的评价指标,如平均精确度(MAP)和AUC(AreaUnderrocCurve),与传统方法如IMF(ImplicitMatrixFactorization)、MF(MatrixFactorization)、Ada-BPR(AdaptiveBPR)、FM(FactorizationMachine)等进行比较论证。论证本发明方法即基于内容的自适应的贝叶斯个性化排序模型(AC-BPR,AdaptiveandContent-awareBPR)在进行个性化排序时准确性以及模型学习过程中的收敛性,发现本发明在保证模型预测精确度不下降的同时,极大的加快了BPR模型的训练收敛速度。下表为各种模型在给定不同训练维度数时的个性化排序效果。本发明通过将用户和商品的属性信息和隐含反馈数据相结合来建立自适应的采样器来获取更有效的训练数据,加速模型的收敛速度。而且,根据每一轮模型训练下来,在微观上模型参数变化不大,不足以引起单个维度下,商品排序上的剧烈变化这一实际现象,通过预定的相应策略,减少三元组训练实例构建的开销,从而以比传统随机采样增加很小一部分开销为代价,并保证模型预测精确度不下降的同时,极大的加快乐BPR模型的训练收敛速度,对于加速个性化排序模型BPR有着重要的实践价值。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1