发明名称 一种基于图计算模型的矩阵分解并行化方法
摘要 本发明公开了一种基于图计算模型的矩阵分解并行化方法。矩阵分解可以灵活地纳入更多的用户信息。矩阵分解根据用户对物品的评分,推断出用户和物品的隐语义向量,然后根据用户和物品的隐语义向量来进行推荐。然而在实际应用场景中实现这种矩阵分解推荐算法会需要消费大量的时间,不能满足目前商业方面的需求。利用分布式计算平台将这种矩阵分解推荐算法并行化能有效解决这一问题,同时在实现这种矩阵分解推荐算法中会存在多次迭代计算问题,本发明提出了一种基于Spark的GraphX图计算框架来实现矩阵分解并行化,相比传統的MapReduce计算图模型无论是在遇到多次迭代问题上还是执行效率上都有着很明显的优势。
申请公布号 CN105975440A 申请公布日期 2016.09.28
申请号 CN201610291830.3 申请日期 2016.05.05
申请人 浙江理工大学 发明人 张娜;戴世超;包晓安;熊子健
分类号 G06F17/16(2006.01)I 主分类号 G06F17/16(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 郑海峰
主权项 一种基于图计算模型的矩阵分解并行化方法,其特征在于,包括以下步骤:1)根据用户对商品的评分矩阵R={r<sub>ui</sub>}设定初始的用户子矩阵X和商品子矩阵Y,使得X的行数与Y的行数相等,X的列数与R的行数相等,Y的列数与R的列数相等,r<sub>ui</sub>代表用户u对商品i的评分;2)通过两个子矩阵X和Y的乘积<img file="FDA0000982340380000011.GIF" wi="234" he="63" />与R的差值建立目标损失函数:<maths num="0001"><math><![CDATA[<mrow><mi>L</mi><mrow><mo>(</mo><mi>R</mi><mo>,</mo><mi>X</mi><mo>,</mo><mi>Y</mi><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>i</mi><mo>)</mo><mo>&Element;</mo><mi>I</mi></mrow></munder><msup><mrow><mo>(</mo><msub><mi>r</mi><mrow><mi>u</mi><mi>i</mi></mrow></msub><mo>-</mo><msubsup><mi>x</mi><mi>u</mi><mi>T</mi></msubsup><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><mi>&lambda;</mi><mrow><mo>(</mo><munder><mo>&Sigma;</mo><mi>u</mi></munder><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>u</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><munder><mo>&Sigma;</mo><mi>i</mi></munder><mo>|</mo><mo>|</mo><msub><mi>y</mi><mi>i</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000982340380000012.GIF" wi="1302" he="182" /></maths>其中,x<sub>u</sub>表示计算过程中的用户子矩阵X,y<sub>i</sub>表示计算过程中的商品子矩阵Y,I是已知评分在矩阵R中的下标索引集合,λ为设定参数,表示正则化的程度;3)利用ALS或SGD算法的并行化求解步骤2)中的目标损失函数;更新用户矩阵X和商品矩阵Y;所述的ALS或SGD算法的并行化利用图计算模型完成;4)重复执行步骤2)和3),直到满足设定条件,得到最终的用户子矩阵<img file="FDA0000982340380000015.GIF" wi="51" he="56" />和商品子矩阵<img file="FDA0000982340380000014.GIF" wi="68" he="58" />
地址 310018 浙江省杭州市江干经济开发区白杨街道2号大街928号