主权项 |
一种基于相似性传递的协同过滤方法,其特征在于,该方法包含以下步骤:1)遍历所有用户的历史行为数据,获得描述所有用户对物品过往喜好的关系向量;2)应用关系向量,并设定阈值,根据阈值临界原则计算各个用户间的相似性并得到大小为用户数×用户数的初始相似性矩阵;3)根据初始相似性矩阵中不为零的相似性值,利用相似性传递计算方法计算前述矩阵中相似性值为零的目标用户与其他用户间相似性,最终得到更密集的相似性矩阵;采用以下公式获取更密集的相似性矩阵:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>s</mi><mi>i</mi><mi>m</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mo>|</mo><mi>U</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mo>|</mo></mrow></mfrac><munder><mo>Σ</mo><mrow><mi>w</mi><mo>∈</mo><mi>U</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow></mrow></munder><mo>(</mo><msup><mi>sim</mi><mi>l</mi></msup><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>w</mi><mo>)</mo></mrow><mo>×</mo><mfrac><mrow><msup><mi>sim</mi><mi>l</mi></msup><mrow><mo>(</mo><mi>w</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow></mrow><mrow><munder><mo>Σ</mo><mrow><mi>z</mi><mo>∈</mo><mi>U</mi><mrow><mo>(</mo><mi>w</mi><mo>)</mo></mrow></mrow></munder><msup><mi>sim</mi><mi>l</mi></msup><mrow><mo>(</mo><mi>w</mi><mo>,</mo><mi>z</mi><mo>)</mo></mrow></mrow></mfrac><mo>)</mo></mrow>]]></math><img file="FDA0000994664840000011.GIF" wi="1099" he="230" /></maths>公式中,U(u,v)表示同时与用户u和用户v之间的初始相似程度不为零的用户集合,|U(u,v)|表示同时与用户u和用户v之间的初始相似程度不为零的用户数目,若数目为零,则sim(u,v)=0,U(w)表示与用户w之间的初始相似程度不为零的用户集合;sim<sup>l</sup>(u,v)表示用户u和用户v之间的相似程度;sim<sup>l</sup>(w,v)表示用户w和用户v之间的相似程度;sim<sup>l</sup>(w,z)表示用户w和用户z之间的相似程度;4)根据与目标用户相似程度最高的其他用户对目标用户未选择物品的喜好程度得到当前用户对未选择物品的喜好程度的估计值;5)对每个用户的预测结果进行筛选,产生对每个用户的推荐物品。 |