基于重点元素的矩阵分解及微调方法

文档序号:10613383阅读:346来源:国知局
基于重点元素的矩阵分解及微调方法
【专利摘要】本发明提供了一种基于重点元素的矩阵分解及微调方法。该方法主要包括:采集用户对于商品的评分信息,根据评分信息组成稀疏评分矩阵R;根据稀疏评分矩阵R初始化两个低维矩阵P,Q,将低维矩阵P和Q相乘得到预测矩阵设置基于稀疏评分矩阵R和预测矩阵之间的差值最小化的目标函数;通过迭代过程优化目标函数得到低维矩阵P,Q,以及预测矩阵对预测矩阵进行微调更新,得到最终的预测矩阵。本发明针对矩阵分解算法中存在的不足,通过对算法的改进,提出了基于重点元素的快速矩阵分解及微调算法,该算法提高了矩阵分解效率和分解速度的同时,提升了推荐的准确性。
【专利说明】
基于重点元素的矩阵分解及微调方法
技术领域
[0001] 本发明涉及矩阵分解技术领域,尤其涉及一种基于重点元素的矩阵分解及微调方 法。
【背景技术】
[0002] 当今时代,互联网发展迅速,已成为人们生活的重要组成部分和人类文明传播发 展的重要载体。这个时代,无论是信息的生产者还是信息的消费者都遇到了很大的挑战。对 于信息消费者,从大量信息中找到自己感兴趣的信息是一件非常困难的事情;对于信息生 产者,让自己生产的信息脱颖而出,受到广大用户的关注,也是一件困难的事情。个性化推 荐系统就是解决这一矛盾的重要工具,推荐系统为不同用户提供不同的服务,带来了由"人 找信息"到"信息找人"的转变。主流的推荐算法有三个:基于内容的推荐、基于协同过滤的 推荐、混合推荐算法。由于基于协同过滤的推荐算法具有思路简单易于理解、推荐准确度 高、适用范围广等优点,使其成为了推荐系统中应用最为广泛的算法。
[0003] 很多情况下,对于已经接触或者有兴趣的商品,用户会以评分的形式把自己对于 商品的偏好程度进行显式的反馈,这些评分数据在复杂而巨大的网络环境下显的尤为重 要,一方面它简单直接可见的反应了用户对于商品的偏好,另一方面它对于其他用户亦是 最直接的参考。用户的评分数据可以用一个规模巨大的矩阵来表示,矩阵中的元素表示某 一用户对于特定商品的评分值。由于形成的矩阵中有许多空值,即用户对于商品没有过评 分记录,因此该矩阵会是一个大规模的稀疏评分矩阵。利用一定的分析方法将矩阵中的数 据填满,并根据填充的数据进行预测推荐是目前评分推荐系统研究的热点和难点问题。
[0004] 基于矩阵分解的推荐算法是一种典型的协同过滤推荐算法,是目前推荐算法研究 的前沿领域之一。基于矩阵分解的协同过滤推荐算法可以将用户、物品的特征转换为隐语 义两个低维特征矩阵,然后再通过计算用户和物品之间隐语义的相关性进行推荐。基于矩 阵分解的推荐模型最早是使用标准的SVD(singular value decomposition,奇异值分解) 模型进行分解预测,但是该方法需要事先进行矩阵空值的补全,并且具有相当高的时间复 杂度,在大规模数据环境下应用困难,因此一直没能成为主流的矩阵分解方法。2006年, Simon Funk等首先提出改进的SVD方法,首先初始化两个低秩矩阵来表示用户特征和物品 特征,然后通过随机梯度下降法对特征矩阵进行优化,使其更接近原始的评分矩阵。这种矩 阵分解方法被定义为隐式语义模型,并成为基本的矩阵分解模型。此后对于矩阵分解方法 的改进都是在进行基于优化的改进,例如NMF、PMF、以及BPMF模型等,均提高了矩阵分解模 型的鲁棒性和推荐效率。矩阵分解算法具有准确度高、可扩展性好等诸多优点。
[0005] 然而在进行低维隐语义矩阵的学习优化过程中,传统算法在计算过程中综合考虑 了整个矩阵综合评分对于分解结果的影响,没有考虑到已有评分数据对于分解效果的重点 影响因素,因为在矩阵分解初期,可以利用的元素,只有初始的评分数据,因此这些数据应 该在分解过程中应该被重点考虑。同时,经过分解后的预测矩阵中评分过渡集中在某个评 分区间,这与实际情况的评分分布是不相符的,因此需要运用一定的方法对于预测结果进 行整体的微调。

【发明内容】

[0006] 本发明的实施例提供了一种基于重点元素的矩阵分解及微调方法,以实现有效地 进行矩阵分解。
[0007] 为了实现上述目的,本发明采取了如下技术方案。
[0008] 一种基于重点元素的矩阵分解及微调方法,包括:
[0009] 采集用户对于商品的评分信息,根据所述评分信息组成稀疏评分矩阵R;
[0010] 根据所述稀疏评分矩阵R初始化两个低维矩阵P,Q,将所述低维矩阵P和Q相乘得到 预测矩阵及,设置基于所述稀疏评分矩阵R和所述预测矩阵i之间的差值最小化的目标函 数;
[0011] 通过迭代过程优化所述目标函数得到所述低维矩阵P,Q,以及预测矩阵左,对所述 预测矩阵及进行微调更新,得到最终的预测矩阵。
[0012] 进一步地,所述的设置基于所述稀疏评分矩阵R和所述预测矩阵i之间的差值最小 化的目标函数,包括:
[0013] 设所述稀疏评分矩阵R的行向量表示用户,数量为η,行向量表示商品,数量为m,稀 疏评分矩阵R中的元素 Ru表示用户i对于商品j的评分,所述稀疏评分矩阵R中的空值表示用 户没有对该商品进行过评分,所述低维矩阵P和Q的维度为k,k小于η和m;
[0014]
[0015] 表示稀疏评分矩阵R中的空值填满后得到的预测结果,基于所述稀疏评分矩阵 R和所述预测矩阵|之间的差值最小化的目标函数为:
[0016]
[0017] 其中
为防止目标函数过拟合的正则化项,λΡ和正则化参数。
[0018] 进一步地,所述的通过迭代过程优化所述目标函数得到所述低维矩阵P,Q,以及预 测矩阵及,包括:
[0019] 所述低维矩阵P,Q初始化为随机的低维矩阵,采用随机梯度下降的优化方法对要 优化更新的P和Q分别求偏导得优化的梯度方向,然后沿负梯度方向优化所述低维矩阵P,Q, 优化更新公式为:
[0020]
[0021] S表示设定的学习率;
[0022] 根据所述稀疏评分矩阵R中已经评分的元素对上面的优化更新公式进行继续细 化,得到更新后的优化更新公式为:
[0023]
、 L --· :; -一:, _
[0024] 其中,U表示被用户i评分过的商品集合,山表示评分过商品j的用户集合;
[0025] 将优化更新后的低维矩阵P,Q相乘得到预测矩阵及,然后根据及进行原始矩阵的填 充,所述稀疏评分矩阵R中已有的评分位置值保留,仅填充空位的预测值,形成下一步迭代 更新的稀疏评分矩阵,利用迭代更新的稀疏评分矩阵再重新进入下一步的优化迭代更新P 和Q,直至最终满足目标函数d最小化至收敛,则稀疏评分矩阵预测更新完毕。
[0026] 进一步地,所述的对所述预测矩阵及进行微调更新,得到最终的预测矩阵,包括: [0027] 计算微调更新的比率Pft:
[0028]
[0029] 其中ΘΚ表示稀疏评分矩阵R中的真实评分,表示经过优化更新至收敛后预测矩 阵及中的相同位置的预测评分值,I r I为稀疏评分矩阵R中的初始评分数量;
[0030] 设稀疏评分矩阵R中最小的评分值为Pmin,最大的评分值为Pmax [0031 ]所述预测矩阵及最终的预测矩阵为:
[0032]
[0033] 其中pro表示稀疏评分矩阵R中小于Pmax及大于Pmin的评分分布规律对对应用某一 用户i时的分布比例。
[0034] 由上述本发明的实施例提供的技术方案可以看出,本发明实施例针对矩阵分解算 法中存在的不足,通过对算法的改进,提出了基于重点元素的快速矩阵分解及微调算法,该 算法提高了矩阵分解效率和分解速度的同时,提升了推荐的准确性。
[0035] 本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变 得明显,或通过本发明的实践了解到。
【附图说明】
[0036] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他 的附图。
[0037] 图1为本发明实施例提供的一种基于重点元素的矩阵分解及微调方法的处理流程 图;
[0038] 图2为本发明实施例提供的一种稀疏评分矩阵R的分解、优化更新示意图。
【具体实施方式】
[0039] 下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始 至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参 考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0040] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式"一"、"一 个"、"所述"和"该"也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措 辞"包括"是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加 一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元 件被"连接"或"耦接"到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在 中间元件。此外,这里使用的"连接"或"耦接"可以包括无线连接或耦接。这里使用的措辞 "和/或"包括一个或更多个相关联的列出项的任一单元和全部组合。
[0041] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术 语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该 理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意 义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
[0042]为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步 的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0043] 实施例一
[0044] 本发明的目的在于解决矩阵分解算法中存在的问题而提供一种基于重点元素的 快速分解算法,并对预测矩阵进行微调整,使分解结果更准确。本发通过对据收集的用户_ 商品稀疏大矩阵的学习分解,分解为低维隐式空间中的两个矩阵,初始矩阵与分解为的两 个矩阵点乘之间满足差值的最小化,计算过程中最小化这个差值的目标函数,通过梯度下 降方法优化两个矩阵,并最终将两个矩阵点乘得到预测矩阵。
[0045] 该实施例提供了一种基于重点元素的矩阵分解及微调方法的处理流程如图1所 示,包括如下的处理步骤:
[0046] 步骤S110、采集用户对于商品的评分信息,并根据评分信息形成对应的稀疏评分 矩阵R。用户数量表示为η,商品数量表示为m。
[0047] 矩阵的行向量表示用户,数量为η,行向量表示商品,数量为m,稀疏评分矩阵R中的 元素 Ru表示用户i对于商品j的评分。并且矩阵R中会有相当多的空值,即表示这个用户没有 对该商品进行过评分,这些空值就是我们需要进行得分预测并推荐的。
[0048]步骤S120、根据已有的稀疏评分矩阵R,初始化两个低维矩阵P,Q,维度设为f,设置 基于所述稀疏评分矩阵R和所述预测矩阵1之间的差值最小化的目标函数。
[0049]本发明的基于矩阵分解的推荐算法将稀疏评分矩阵R分解为隐因子空间上用户、 物品特征矩阵,它将稀疏的高维矩阵R分解为两个低维的隐因子矩阵PQ的乘积。稀疏评分矩 阵R的规模为η行m列,隐因子矩阵P,Q的维度设为k,k远小于η和m。矩阵分解的公式如下表 示:
[0050]
[0051] 其中及表示填满后预测的结果。我们需要得到的结果是使稀疏评分矩阵R和预测 矩阵左之间的差值最小,因此得到差值最小化的目标函数为:
[0052]
[0053] 其中
为防止函数过拟合的正则化项,为正则化参数,通过 目标函数可以直观的理解为预测的分值能够尽量的逼近真实的已知评分值。
[0054] 步骤S130、优化目标函数得到P,Q和预测矩阵及,优化过程中重点关注矩阵中已有 的评分元素,通过迭代学得出预测矩阵i。
[0055] 针对目标函数,P,Q初始化为随机的低维矩阵,因此初始的目标函数差值很大,采 用随机梯度下降的优化方法最终得到P和Q,优化更新公式为:
[0056]
[0057] 0表示设定的学习率,S学习率取值最优取值为0.0005,取值范围为0.0001-0.01之 间。这个优化更新公式就是根据上面差值最小化目标函数并利用梯度下降法(利用求导得 梯度)进行的更新迭代。
[0058] 然后通过分析更新公式发现,更新过程综合考虑了所有评分元素的影响,包括其 中未评分的元素。因此,通过继续细化公式,经过提取重点元素的步骤得到:
[0059]
[0060]其中,U表示被用户i评分过的商品集合,山表示评分过商品j的用户集合,
[0061]将优化更新后的低维矩阵P,Q相乘得到预测矩阵J,然后根据及进行原始矩阵的填 充,所述稀疏评分矩阵R中已有的评分位置值保留,仅填充空位的预测值,形成下一步迭代 更新的稀疏评分矩阵,利用迭代更新的稀疏评分矩阵再重新进入下一步的优化迭代更新P 和Q,直至最终满足目标函数d最小化至收敛,则稀疏评分矩阵预测更新完毕。
[0062]与传统分解算法相比,充分考虑了更新过程每一步对于已有评分数据集的重视, 因为这些已有评分提供了更多的分解协同证据。该算法可以明显的减少矩阵分解的时间复 杂度,因为在计算更新每一个元素时,考虑了固有评分元素的影响。
[0063]步骤S140、将得到的预测矩阵进行整体微调,得到最终的预测矩阵。
[0064]设稀疏评分矩阵R中最小的评分值为Pmin,最大的评分值为Pmax,在实际应用中,P max 可以为5,Pmin可以为1。经统计观察得到,在1-5分的打分系统中,更新后的评分多位于2-4区 间,因此需要进行如下微调。
[0066]
[0065] 本发明提出了基于预测矩阵的评分微调方法。首先计算微调更新的比率,公式如 下:
[0067] 其中ΘR表示稀疏评分矩阵R中的真实评分,表示经过优化更新后预测矩阵力中 的相同位置的预测评分值,因为每次迭代更新时,原有矩阵中已存在的评分位置的评分是 不变的,因此最终的预测矩阵中相对应位置与原始矩阵中的评分之间会存在差值。I Γ |为 稀疏评分矩阵R中的初始评分数量。
[0068] 所述预测矩阵|最终的预测矩阵为:
[0069]
[0070] 其中pro表示稀疏评分矩阵R中小于Pmax及大于Pmin的评分分布规律对对应某一用 户i时的分布比例。如某用户i的所有评分中小于2分的项在其所有评分中所占的百分比。经 统计观察得到,在1-5区间的打分系统中,所得的最终的预测评分多位于2-4区间,因此需要 进行微调,使其更符合打分分布规律。
[0071] 实施例二
[0072] 在该实施例中通过具体的实例对比进行算法性能的说明:
[0073] 一,数据准备
[0074]我们选取了推荐系统常用的标准评分数据集Epioions,对数据集进行预处理后, 提取100000条数据进行仿真实验,实验数据集组成的矩阵的稀疏度为1.5%。矩阵中的评分 数据分布在1-5之间,因此实验结果的预测值我们也设定为1至5之间的数值。
[0075]二,形成训练集测试集
[0076]采用交叉验证的方法进行仿真实验。将数据集中的90%的数据抽出作为训练集, 将剩下10%的数据作为验证集。
[0077] 三,实验过程
[0078] 首先初始化随机生成低维矩阵P,Q,维度f设为6,然后根据目标函数利用低度下降 法进行P,Q的更新,每次更新完毕后,将预测的结果填入相对应的矩阵空白处,已有的评分 不变,形成新的矩阵进行下次迭代,直到所得的目标函数收敛到最小值。一次实验仿真共进 行500次更新迭代得出最终的预测矩阵及,一次梯度下降优化共进行100次迭代得出优化后 的P,Q,共进行10次实验,最终结果取平均。图2为一种稀疏评分矩阵R的分解、优化更新示意 图,下面的表1为算法推荐性能对比示意表,表2为时间复杂度比较示意表。
[0079] 表 1
[0080]

[0083]四,性能指标
[0084] 1.我们选取均方根误差(RMSE)和绝对误差(MAE)两个指标来进行算法性能的判
断。两个指标的基本思想都是判断预测矩阵与测试矩阵之间的距离。RMSE和MAE的公式分别 为:
[0085]
[0086]
[0087] 对于这两个指标来说,其值越小表明预测推荐的性能越好。
[0088] 2.对于算法时间复杂度的提升,我们选取仿真过程中处理每个用户的平均时间为 指标进行性能的对比验证。平均处理时间越短,则其时间复杂度越小。
[0089] 综上所述,本发明实施例针对矩阵分解算法中存在的不足,通过对算法的改进,提 出了基于重点元素的快速矩阵分解及微调算法,该算法重点关注已有评分元素在整体矩阵 分解中的作用,提高了矩阵分解效率和分解速度,同时,本算法在统计分析的基础上提出了 对于最终预测结果的微调方法,按照一定的比例将不符合评分分布规律的预测评分进行微 调整,提升了对于个体用户评分预测的准确性。该方法用在基于稀疏评分矩阵的推荐系统 中时可以进一步提升推荐的准确性,帮助决策者更好的做出推荐决策。
[0090] 本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或 流程并不一定是实施本发明所必须的。
[0091] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可 借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质 上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品 可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些 部分所述的方法。
[0092] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部 分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或 系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法 实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为 分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或 者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根 据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术 人员在不付出创造性劳动的情况下,即可以理解并实施。
[0093]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围 为准。
【主权项】
1. 一种基于重点元素的矩阵分解及微调方法,其特征在于,包括: 采集用户对于商品的评分信息,根据所述评分信息组成稀疏评分矩阵R; 根据所述稀疏评分矩阵R初始化两个低维矩阵P,Q,将所述低维矩阵P和Q相乘得到预测 矩阵Λ,设置基于所述稀疏评分矩阵R和所述预测矩阵I之间的差值最小化的目标函数; 通过迭代过程优化所述目标函数得到所述低维矩阵P,Q,W及预测矩阵i,对所述预测 矩阵i进行微调更新,得到最终的预测矩阵。2. 根据权利要求1所述的方法,其特征在于,所述的设置基于所述稀疏评分矩阵R和所 述预测矩阵,々之间的差值最小化的目标函数,包括: 设所述稀疏评分矩阵R的行向量表示用户,数量为n,行向量表示商品,数量为m,稀疏评 分矩阵R中的元素 Ru表示用户i对于商品j的评分,所述稀疏评分矩阵R中的空值表示用户没 有对该商品进行过评分,所述低维矩阵P和Q的维度为k,k小于η和m;矣。》W表示稀疏评分矩阵R中的空值填满后得到的预测结果,基于所述稀疏评分矩阵R和 所述预测矩阵度之间的差值最小化的目标函数为:其中,Y!问?τ和旱闷If为防止目标函数过拟合的正则化项,糾化Q为正则化参数。3. 根据权利要求2所述的方法,其特征在于,所述的通过迭代过程优化所述目标函数得 到所述低维矩阵P,Q,W及预测矩阵袁,包括: 所述低维矩阵P,Q初始化为随机的低维矩阵,采用随机梯度下降的优化方法对要优化 更新的P和Q分别求偏导得到优化的梯度方向,然后沿负梯度方向优化所述低维矩阵P,Q,优 化更新公式为:a表示设定的学习率; 根据所述稀疏评分矩阵R中已经评分的元素对上面的优化更新公式进行继续细化,得 到更新后的优化更新公式为:其中,Ui表示被用户i评分过的商品集合,&表示评分过商品j的用户集合; 将优化更新后的低维矩阵P,Q相乘得到预测矩阵於,然后根据i进行原始矩阵的填充, 所述稀疏评分矩阵R中已有的评分位置值保留,仅填充空位的预测值,形成下一步迭代更新 的稀疏评分矩阵,利用迭代更新的稀疏评分矩阵再重新进入下一步的优化迭代更新P和Q, 直至最终满足目标函数d最小化至收敛,则稀疏评分矩阵预测更新完毕。4.根据权利要求3所述的方法,其特征在于,所述的对所述预测矩阵1进行微调更新,得 到最终的预测矩阵,包括: 计算微调更新的比率Pft:其中0R表示稀疏评分矩阵R中的真实评分,Θ,..表示经过优化更新至收敛后预测矩阵袁 中的相同位置的预测评分值,I Γ I为稀疏评分矩阵R中的初始评分数量; 设稀疏评分矩阵R中最小的评分值为Pmin,最大的评分值为Pmax 所述预测矩阵畫最终的预测矩阵为:其中pro表示稀疏评分矩阵R中小于Pmax及大于Pmin的评分分布规律对对应用某一用户i 时的分布比例。
【文档编号】G06Q30/02GK105976070SQ201610366251
【公开日】2016年9月28日
【申请日】2016年5月27日
【发明人】刘云, 张致远, 熊菲
【申请人】北京交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1