主权项 |
一种基于图计算模型的矩阵分解并行化方法,其特征在于,包括以下步骤: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>Σ</mo><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>i</mi><mo>)</mo><mo>∈</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>λ</mi><mrow><mo>(</mo><munder><mo>Σ</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>Σ</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" /> |