发明名称 一种概率矩阵分解推荐方法
摘要 本发明给出一种概率矩阵分解推荐方法,该方法基于显性与隐性反馈信息同时结合概率矩阵分解技术帮助用户给商品评分,首先对用户信任关系矩阵进行概率矩阵分解,然后对用户的商品评分矩阵和隐性反馈信息进行概率矩阵分解,综合两次分解的结果,求出隐含用户特征矩阵、隐含商品特征矩阵以及隐性反馈信息特征向量,最后计算出给用户推荐的评分。本发明能够很好地利用在线社交网络帮助用户推荐商品的评分,缓解社交网络中数据稀疏问题和冷启动问题,有着很好的推荐效果,同时能运用于有大规模数据集的推荐系统。
申请公布号 CN105160539A 申请公布日期 2015.12.16
申请号 CN201510339198.0 申请日期 2015.06.17
申请人 南京邮电大学 发明人 王东;陈志;岳文静
分类号 G06Q30/02(2012.01)I;G06Q50/00(2012.01)I 主分类号 G06Q30/02(2012.01)I
代理机构 南京知识律师事务所 32207 代理人 汪旭东
主权项 一种概率矩阵分解推荐方法,其特征在于该方法包括以下步骤:步骤1)获得用户在线社交网络中的信任关系矩阵与用户商品评分矩阵;所述在线社交网络是在互联网上与其他人相联系的一个平台,用户对产品进行评分,同时分享给该用户的朋友,查询该用户的朋友的评分;步骤2)随机生成U和Z,所述U∈R<sup>d×m</sup>表示隐含用户特征矩阵,Z∈R<sup>d×m</sup>表示隐含信任关系特征矩阵,<img file="FDA00007404689300000117.GIF" wi="117" he="64" />表示d行m列的矩阵,d是用户根据经验指定的隐含特征数,m是用户的个数,将隐含用户特征矩阵和隐含信任关系特征矩阵的先验分布表示为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>p</mi><mrow><mo>(</mo><mi>U</mi><mo>|</mo><msubsup><mi>&sigma;</mi><mi>U</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mi>N</mi><mrow><mo>(</mo><msub><mi>U</mi><mi>i</mi></msub><mo>|</mo><mn>0</mn><mo>,</mo><msubsup><mi>&sigma;</mi><mi>U</mi><mn>2</mn></msubsup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000740468930000011.GIF" wi="603" he="141" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>p</mi><mrow><mo>(</mo><mi>Z</mi><mo>|</mo><msubsup><mi>&sigma;</mi><mi>Z</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mi>N</mi><mrow><mo>(</mo><msub><mi>Z</mi><mi>k</mi></msub><mo>|</mo><mn>0</mn><mo>,</mo><msubsup><mi>&sigma;</mi><mi>z</mi><mn>2</mn></msubsup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000740468930000012.GIF" wi="590" he="136" /></maths>所述i表示用户个数的变量,k表示用户个数的变量,U<sub>i</sub>表示用户ui的特征列向量,Z<sub>k</sub>表示第k个信任关系特征向量,<img file="FDA0000740468930000013.GIF" wi="278" he="83" />表示是均值为0,方差为<img file="FDA0000740468930000014.GIF" wi="69" he="85" />的高斯分布的概率密度函数,<img file="FDA0000740468930000015.GIF" wi="272" he="77" />表示是均值为0,方差为<img file="FDA0000740468930000016.GIF" wi="64" he="77" />的高斯分布的概率密度函数;步骤3)对用户信任关系矩阵进行概率矩阵分解,用户信任关系矩阵的条件概率分布表示为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>p</mi><mrow><mo>(</mo><mi>T</mi><mo>|</mo><mi>U</mi><mo>,</mo><mi>Z</mi><mo>,</mo><msubsup><mi>&sigma;</mi><mi>T</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><munderover><mi>&Pi;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msup><mrow><mo>[</mo><mi>N</mi><mrow><mo>(</mo><msubsup><mi>t</mi><mrow><mi>i</mi><mo>_</mo><mi>k</mi></mrow><mo>*</mo></msubsup><mo>|</mo><mi>g</mi><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>Z</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>,</mo><msubsup><mi>&sigma;</mi><mi>T</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mo>]</mo></mrow><msub><mi>I</mi><mrow><mi>i</mi><mo>_</mo><mi>k</mi><mo>_</mo><mi>T</mi></mrow></msub></msup></mrow>]]></math><img file="FDA0000740468930000017.GIF" wi="1150" he="175" /></maths>所述T表示m×m维的用户信任关系矩阵,<img file="FDA0000740468930000018.GIF" wi="79" he="78" />表示U<sub>i</sub>的转置,<img file="FDA0000740468930000019.GIF" wi="434" he="85" />表示均值为<img file="FDA00007404689300000110.GIF" wi="210" he="77" />方差为<img file="FDA00007404689300000111.GIF" wi="65" he="77" />的高斯分布的概率密度函数,I<sub>i_k_T</sub>是一个变量,表示用户u<sub>i</sub>与用户u<sub>k</sub>之间信任关系,当用户u<sub>i</sub>信任用户u<sub>k</sub>时,I<sub>i_k_T</sub>=1,否则I<sub>i_k_T</sub>=0;所述<img file="FDA00007404689300000112.GIF" wi="200" he="81" />是将<img file="FDA00007404689300000113.GIF" wi="130" he="84" />的值映射在[0,1]之间,<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>g</mi><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>Z</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><msup><mi>e</mi><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>Z</mi><mi>k</mi></msub><mo>)</mo></mrow></msup></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA00007404689300000114.GIF" wi="456" he="148" /></maths><img file="FDA00007404689300000115.GIF" wi="83" he="79" />是一个变量,<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msubsup><mi>t</mi><mrow><mi>i</mi><mo>_</mo><mi>k</mi></mrow><mo>*</mo></msubsup><mo>=</mo><msqrt><mfrac><mrow><msup><mi>d</mi><mo>-</mo></msup><mrow><mo>(</mo><msub><mi>u</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow><mrow><msup><mi>d</mi><mo>+</mo></msup><mrow><mo>(</mo><msub><mi>u</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><msup><mi>d</mi><mo>-</mo></msup><mrow><mo>(</mo><msub><mi>u</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow></mfrac></msqrt><mo>&times;</mo><msub><mi>t</mi><mrow><mi>i</mi><mo>_</mo><mi>k</mi></mrow></msub><mo>,</mo></mrow>]]></math><img file="FDA00007404689300000116.GIF" wi="702" he="170" /></maths>t<sub>i_k</sub>表示用户u<sub>i</sub>与用户u<sub>k</sub>之间的信任权值,d<sup>+</sup>(u<sub>i</sub>)表示用户u<sub>i</sub>信任的用户数量,d<sup>‑</sup>(u<sub>k</sub>)表示用户u<sub>k</sub>被信任的用户数量;步骤4)随机生成V,所述V∈R<sup>d×n</sup>表示隐含商品特征矩阵,<img file="FDA00007404689300000214.GIF" wi="114" he="64" />表示d行n列的矩阵,n表示商品的个数,将隐含商品特征矩阵的先验分布表示为:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>p</mi><mrow><mo>(</mo><mi>V</mi><mo>|</mo><msubsup><mi>&sigma;</mi><mi>V</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mi>N</mi><mrow><mo>(</mo><msub><mi>V</mi><mi>j</mi></msub><mo>|</mo><mn>0</mn><mo>,</mo><msubsup><mi>&sigma;</mi><mi>V</mi><mn>2</mn></msubsup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000740468930000021.GIF" wi="618" he="142" /></maths>所述j表示商品个数的变量,V<sub>j</sub>表示商品i<sub>j</sub>的特征向量,<img file="FDA0000740468930000022.GIF" wi="271" he="86" />表示是均值为0,方差为<img file="FDA0000740468930000023.GIF" wi="70" he="81" />的高斯分布的概率密度函数;步骤5)对用户的商品评分矩阵进行概率矩阵分解,用户的商品评分矩阵的条件概率分布表示为:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>p</mi><mrow><mo>(</mo><mi>R</mi><mo>|</mo><mi>U</mi><mo>,</mo><mi>V</mi><mo>,</mo><msubsup><mi>&sigma;</mi><mi>R</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><munderover><mi>&Pi;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msup><mrow><mo>[</mo><mi>N</mi><mrow><mo>(</mo><msub><mi>r</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi></mrow></msub><mo>|</mo><mi>g</mi><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><mrow><mo>(</mo><msub><mi>V</mi><mi>j</mi></msub><mo>+</mo><msup><mrow><mo>|</mo><msub><mi>I</mi><mi>u</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>I</mi><mi>u</mi></msub></mrow></munder><msub><mi>y</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>,</mo><msubsup><mi>&sigma;</mi><mi>R</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mo>]</mo></mrow><msub><mi>I</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi><mo>_</mo><mi>R</mi></mrow></msub></msup></mrow>]]></math><img file="FDA0000740468930000024.GIF" wi="1660" he="178" /></maths>所述R表示m×n维的用户的商品评分矩阵,r<sub>i_j</sub>表示用户u<sub>i</sub>对商品i<sub>j</sub>的评分,<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mi>N</mi><mrow><mo>(</mo><msub><mi>r</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi></mrow></msub><mo>|</mo><mi>g</mi><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><mrow><mo>(</mo><msub><mi>V</mi><mi>j</mi></msub><mo>+</mo><msup><mrow><mo>|</mo><msub><mi>I</mi><mi>u</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>I</mi><mi>u</mi></msub></mrow></munder><msub><mi>y</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>,</mo><msubsup><mi>&sigma;</mi><mi>R</mi><mn>2</mn></msubsup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000740468930000025.GIF" wi="748" he="155" /></maths>表示均值为<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><mi>g</mi><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><mrow><mo>(</mo><msub><mi>V</mi><mi>j</mi></msub><mo>+</mo><msup><mrow><mo>|</mo><msub><mi>I</mi><mi>u</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>I</mi><mi>u</mi></msub></mrow></munder><msub><mi>y</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000740468930000026.GIF" wi="525" he="158" /></maths>方差为<img file="FDA0000740468930000027.GIF" wi="67" he="85" />的高斯分布的概率密度函数,I<sub>u</sub>表示被用户评过分的商品集合,|I<sub>u</sub>|表示被用户评过分的商品的数量,I<sub>i_j_R</sub>表示用户u<sub>i</sub>是否给商品i<sub>j</sub>评过分,若评过分,则I<sub>i_j_R</sub>=1,否则I<sub>i_j_R</sub>=0,y<sub>j</sub>表示已被用户评过分的商品对即将要评分商品i<sub>j</sub>的隐性影响的权重值,初始值为1.0;步骤6)分别计算U<sub>i</sub>、V<sub>j</sub>、Z<sub>k</sub>及y<sub>j</sub>的更新值U<sub>i</sub>′、V<sub>j</sub>′、Z<sub>k</sub>′与y<sub>j</sub>′,<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><msup><msub><mi>U</mi><mi>i</mi></msub><mo>&prime;</mo></msup><mo>=</mo><msub><mi>U</mi><mi>i</mi></msub><mo>-</mo><mi>&gamma;</mi><mo>&CenterDot;</mo><mfrac><mrow><mo>&PartialD;</mo><mi>L</mi></mrow><mrow><mo>&PartialD;</mo><msub><mi>U</mi><mi>i</mi></msub></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000740468930000028.GIF" wi="397" he="135" /></maths><maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><msup><msub><mi>V</mi><mi>j</mi></msub><mo>&prime;</mo></msup><mo>=</mo><msub><mi>V</mi><mi>j</mi></msub><mo>-</mo><mi>&gamma;</mi><mo>&CenterDot;</mo><mfrac><mrow><mo>&PartialD;</mo><mi>L</mi></mrow><mrow><mo>&PartialD;</mo><msub><mi>V</mi><mi>j</mi></msub></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000740468930000029.GIF" wi="381" he="149" /></maths><maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><msup><msub><mi>Z</mi><mi>k</mi></msub><mo>&prime;</mo></msup><mo>=</mo><msub><mi>Z</mi><mi>k</mi></msub><mo>-</mo><mi>&gamma;</mi><mo>&CenterDot;</mo><mfrac><mrow><mo>&PartialD;</mo><mi>L</mi></mrow><mrow><mo>&PartialD;</mo><msub><mi>Z</mi><mi>k</mi></msub></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA00007404689300000210.GIF" wi="395" he="142" /></maths><maths num="0013" id="cmaths0013"><math><![CDATA[<mrow><msup><msub><mi>y</mi><mi>j</mi></msub><mo>&prime;</mo></msup><mo>=</mo><msub><mi>y</mi><mi>j</mi></msub><mo>-</mo><mi>&gamma;</mi><mo>&CenterDot;</mo><mfrac><mrow><mo>&PartialD;</mo><mi>L</mi></mrow><mrow><mo>&PartialD;</mo><msub><mi>y</mi><mi>j</mi></msub></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA00007404689300000211.GIF" wi="385" he="148" /></maths>所述γ为预先定义的步长,γ足够小且γ>0,γ的具体值根据经验确定,其中<maths num="0014" id="cmaths0014"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><mfrac><mrow><mo>&PartialD;</mo><mi>L</mi></mrow><mrow><mo>&PartialD;</mo><msub><mi>U</mi><mi>i</mi></msub></mrow></mfrac><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>I</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi><mo>_</mo><mi>R</mi></mrow></msub><msup><mi>g</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><mrow><mo>(</mo><msub><mi>V</mi><mi>j</mi></msub><mo>+</mo><msup><mrow><mo>|</mo><msub><mi>I</mi><mi>u</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>I</mi><mi>u</mi></msub></mrow></munder><msub><mi>y</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><mi>g</mi><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><mrow><mo>(</mo><msub><mi>V</mi><mi>j</mi></msub><mo>+</mo><msup><mrow><mo>|</mo><msub><mi>I</mi><mi>u</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>I</mi><mi>u</mi></msub></mrow></munder><msub><mi>y</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>r</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><msub><mi>V</mi><mi>j</mi></msub><mo>+</mo><msup><mrow><mo>|</mo><msub><mi>I</mi><mi>u</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>I</mi><mi>u</mi></msub></mrow></munder><msub><mi>y</mi><mi>j</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>+</mo><msub><mi>&lambda;</mi><mi>C</mi></msub><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>I</mi><mrow><mi>i</mi><mo>_</mo><mi>k</mi><mo>_</mo><mi>T</mi></mrow></msub><msup><mi>g</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>Z</mi><mi>k</mi></msub><mo>)</mo></mrow><mrow><mo>(</mo><mi>g</mi><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>Z</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>-</mo><msubsup><mi>t</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi></mrow><mo>*</mo></msubsup><mo>)</mo><mo>)</mo></mrow><msub><mi>Z</mi><mi>k</mi></msub><mo>+</mo><msub><mi>&lambda;</mi><mi>U</mi></msub><msub><mi>U</mi><mi>i</mi></msub></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA00007404689300000212.GIF" wi="1782" he="316" /></maths><maths num="0015" id="cmaths0015"><math><![CDATA[<mrow><mfrac><mrow><mo>&PartialD;</mo><mi>L</mi></mrow><mrow><mo>&PartialD;</mo><msub><mi>V</mi><mi>j</mi></msub></mrow></mfrac><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>I</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi><mo>_</mo><mi>R</mi></mrow></msub><msup><mi>g</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><mrow><mo>(</mo><msub><mi>V</mi><mi>j</mi></msub><mo>+</mo><msup><mrow><mo>|</mo><msub><mi>I</mi><mi>u</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>I</mi><mi>u</mi></msub></mrow></munder><msub><mi>y</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><mi>g</mi><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><mrow><mo>(</mo><msub><mi>V</mi><mi>j</mi></msub><mo>+</mo><msup><mrow><mo>|</mo><msub><mi>I</mi><mi>u</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>I</mi><mi>u</mi></msub></mrow></munder><msub><mi>y</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>r</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>)</mo></mrow><msub><mi>U</mi><mi>i</mi></msub><mo>+</mo><msub><mi>&lambda;</mi><mi>V</mi></msub><msub><mi>V</mi><mi>j</mi></msub><mo>,</mo></mrow>]]></math><img file="FDA00007404689300000213.GIF" wi="1728" he="157" /></maths><maths num="0016" id="cmaths0016"><math><![CDATA[<mrow><mfrac><mrow><mo>&PartialD;</mo><mi>L</mi></mrow><mrow><mo>&PartialD;</mo><msub><mi>Z</mi><mi>k</mi></msub></mrow></mfrac><mo>=</mo><msub><mi>&lambda;</mi><mi>C</mi></msub><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>I</mi><mrow><mi>i</mi><mo>_</mo><mi>k</mi><mo>_</mo><mi>T</mi></mrow></msub><msup><mi>g</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>Z</mi><mi>k</mi></msub><mo>)</mo></mrow><mi>g</mi><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>Z</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>-</mo><msubsup><mi>t</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi></mrow><mo>*</mo></msubsup><mo>)</mo><msub><mi>U</mi><mi>i</mi></msub><mo>+</mo><msub><mi>&lambda;</mi><mi>Z</mi></msub><msub><mi>Z</mi><mi>k</mi></msub><mo>,</mo></mrow>]]></math><img file="FDA0000740468930000031.GIF" wi="1082" he="142" /></maths><maths num="0017" id="cmaths0017"><math><![CDATA[<mrow><mfrac><mrow><mo>&PartialD;</mo><mi>L</mi></mrow><mrow><mo>&PartialD;</mo><msub><mi>y</mi><mi>j</mi></msub></mrow></mfrac><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>I</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi><mo>_</mo><mi>R</mi></mrow></msub><msup><mi>g</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><mrow><mo>(</mo><msub><mi>V</mi><mi>j</mi></msub><mo>+</mo><msup><mrow><mo>|</mo><msub><mi>I</mi><mi>u</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>I</mi><mi>u</mi></msub></mrow></munder><msub><mi>y</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow><mo>&times;</mo><mrow><mo>(</mo><mi>g</mi><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><mrow><mo>(</mo><msub><mi>V</mi><mi>j</mi></msub><mo>+</mo><msup><mrow><mo>|</mo><msub><mi>I</mi><mi>u</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>I</mi><mi>u</mi></msub></mrow></munder><msub><mi>y</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>r</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>)</mo></mrow><msub><mi>U</mi><mi>i</mi></msub><msup><mrow><mo>|</mo><msub><mi>I</mi><mi>u</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><mo>+</mo><mi>&lambda;</mi><msub><mi>y</mi><mi>j</mi></msub></mrow>]]></math><img file="FDA0000740468930000032.GIF" wi="1797" he="165" /></maths>所述<maths num="0018" id="cmaths0018"><math><![CDATA[<mrow><msub><mi>&lambda;</mi><mi>C</mi></msub><mo>=</mo><msubsup><mi>&sigma;</mi><mi>R</mi><mn>2</mn></msubsup><mo>/</mo><msubsup><mi>&sigma;</mi><mi>T</mi><mn>2</mn></msubsup><mo>,</mo></mrow>]]></math><img file="FDA0000740468930000033.GIF" wi="284" he="82" /></maths><maths num="0019" id="cmaths0019"><math><![CDATA[<mrow><msub><mi>&lambda;</mi><mi>U</mi></msub><mo>=</mo><msubsup><mi>&sigma;</mi><mi>R</mi><mn>2</mn></msubsup><mo>/</mo><msubsup><mi>&sigma;</mi><mi>U</mi><mn>2</mn></msubsup><mo>,</mo></mrow>]]></math><img file="FDA0000740468930000034.GIF" wi="291" he="82" /></maths><maths num="0020" id="cmaths0020"><math><![CDATA[<mrow><msub><mi>&lambda;</mi><mi>V</mi></msub><mo>=</mo><msubsup><mi>&sigma;</mi><mi>R</mi><mn>2</mn></msubsup><mo>/</mo><msubsup><mi>&sigma;</mi><mi>V</mi><mn>2</mn></msubsup><mo>,</mo></mrow>]]></math><img file="FDA0000740468930000035.GIF" wi="280" he="84" /></maths><maths num="0021" id="cmaths0021"><math><![CDATA[<mrow><msub><mi>&lambda;</mi><mi>Z</mi></msub><mo>=</mo><msubsup><mi>&sigma;</mi><mi>R</mi><mn>2</mn></msubsup><mo>/</mo><msubsup><mi>&sigma;</mi><mi>Z</mi><mn>2</mn></msubsup><mo>,</mo></mrow>]]></math><img file="FDA0000740468930000036.GIF" wi="283" he="87" /></maths>λ为预先定义的规则化参数,λ足够小且λ>0,λ的具体值根据经验确定;步骤7)根据公式<maths num="0022" id="cmaths0022"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><mi>L</mi><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>I</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi><mo>_</mo><mi>R</mi></mrow></msub><mrow><mo>(</mo><msub><mi>r</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi></mrow></msub><mo>-</mo><mi>g</mi><msup><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><mrow><mo>(</mo><msub><mi>V</mi><mi>j</mi></msub><mo>+</mo><msup><mrow><mo>|</mo><msub><mi>I</mi><mi>u</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>I</mi><mi>u</mi></msub></mrow></munder><msub><mi>y</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow><mo>+</mo><mfrac><msub><mi>&lambda;</mi><mi>C</mi></msub><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>I</mi><mrow><mi>i</mi><mo>_</mo><mi>k</mi><mo>_</mo><mi>T</mi></mrow></msub><mrow><mo>(</mo><msubsup><mi>t</mi><mrow><mi>i</mi><mo>_</mo><mi>j</mi></mrow><mo>*</mo></msubsup><mo>-</mo><mi>g</mi><msup><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>Z</mi><mi>k</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>+</mo><mfrac><msub><mi>&lambda;</mi><mi>U</mi></msub><mn>2</mn></mfrac><msubsup><mrow><mo>|</mo><mo>|</mo><mi>U</mi><mo>|</mo><mo>|</mo></mrow><mi>F</mi><mn>2</mn></msubsup><mo>+</mo><mfrac><msub><mi>&lambda;</mi><mi>V</mi></msub><mn>2</mn></mfrac><msubsup><mrow><mo>|</mo><mo>|</mo><mi>V</mi><mo>|</mo><mo>|</mo></mrow><mi>F</mi><mn>2</mn></msubsup><mo>+</mo><mfrac><msub><mi>&lambda;</mi><mi>Z</mi></msub><mn>2</mn></mfrac><msubsup><mrow><mo>|</mo><mo>|</mo><mi>Z</mi><mo>|</mo><mo>|</mo></mrow><mi>F</mi><mn>2</mn></msubsup><mo>+</mo><mfrac><mi>&lambda;</mi><mn>2</mn></mfrac><msubsup><mrow><mo>|</mo><mo>|</mo><msub><mi>y</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mi>F</mi><mn>2</mn></msubsup></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000740468930000037.GIF" wi="1707" he="365" /></maths>计算目标函数L的值,当目标函数L的值变化小于某个预先定义的很小的常数或在经过设定的迭代次数后终止迭代过程,否则令U<sub>i</sub>=U<sub>i</sub>′,V<sub>j</sub>=V<sub>j</sub>′,Z<sub>k</sub>=Z<sub>k</sub>′,y<sub>j</sub>=y<sub>j</sub>′,返回步骤6),所述<img file="FDA0000740468930000038.GIF" wi="85" he="101" />是欧几里得向量范数;步骤8)当迭代运算终止后,得到U<sub>i</sub>′、V<sub>j</sub>′以及y<sub>j</sub>′,使用<maths num="0023" id="cmaths0023"><math><![CDATA[<mrow><msub><mover><mi>r</mi><mo>^</mo></mover><mrow><mi>i</mi><mo>_</mo><mi>j</mi></mrow></msub><mo>=</mo><msup><msubsup><mi>U</mi><mi>i</mi><mo>&prime;</mo></msubsup><mi>T</mi></msup><mrow><mo>(</mo><msup><msub><mi>V</mi><mi>j</mi></msub><mo>&prime;</mo></msup><mo>+</mo><msup><mrow><mo>|</mo><msub><mi>I</mi><mi>u</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mi>&Sigma;</mi><mrow><mi>j</mi><mo>&Element;</mo><msub><mi>I</mi><mi>u</mi></msub></mrow></munder><msubsup><mi>y</mi><mi>j</mi><mo>&prime;</mo></msubsup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000740468930000039.GIF" wi="602" he="168" /></maths>计算用户u<sub>i</sub>对商品i<sub>j</sub>的未知评分<img file="FDA00007404689300000310.GIF" wi="102" he="86" />
地址 210046 江苏省南京市栖霞区亚东新城区文苑路9号