system: [SYSTEM]

user: 3. 污染源信息协同过滤算法模型的建立 污染源信息相似度的计算如下： 读取u_item表，将1682行数据任取两行数据并向量化得 R i 与 R j ，则两向量代表两部污染源信息所属类型，根据协同过滤算法，两个污染源信息类型间的相似度 s i m c 表达式如下， s i m c = cos ( R i ， R j ) = R i ⋅ R j ‖ R i ‖ ‖ R j ‖ 读取 R i j 矩阵，设对项i和项j两者共同评分过的用户集合用 U i j 表示， U i 和 U j 分别表示对项i和项j评分过的用户集合 [ 4 ]，则项i与项j之间的相似性 s i m i j 表达式如下， s i m i j = ∑ c ∈ U i j ( R c ， i − R i ¯ ) ( R c ， j − R j ¯ ) ∑ c ∈ U i ( R c ， i − R i ¯ ) 2 ∑ c ∈ U j ( R c ， j − R j ¯ ) 2 R c ， i 表示用户c给予项i的评分， R c ， j 表示用户c给予项j的评分， R c ¯ 表示用户c给予所有项的平均评分值。 综合分析 s i m c 与 s i m i j 可知， s i m i j 对 s i m 值影响因子a较大，而 s i m c 对 s i m 值影响因子b较小，经分析取 a = 0.8 ， b = 0.2 。即 s i m = 0.8 s i m i j + 0.2 s i m c 。 设目标项TI的最近用户集合用 N N T I = { N N 1 ， N N 2 ， ⋯ ， N N K } 表示 [ 5 ]，则用户对项TI的预测评分 P u ， T I 可以借助用户u对最近邻居集合 N N T I 中项的评分得到 [ 2 ]，公式如下： P u ， T I = R T I ¯ + ∑ n ∈ N N T I s i m ( T I ， n ) * ( R u ， n − R n ¯ ) ∑ n ∈ N N T I ( | s i m ( T I ， n ) | ) s i m ( T I ， n ) 表示目标项TI与最近用户n之间的相似性， R u ， n 表示用户u对项n的评分。 R T I ¯ 和 R n ¯ 分别表示对项TI及项n的平均评分值。 运用预测后的 s i m 值补全原 R i j 矩阵，得经缺省值预测补全的 R i j 矩阵。图1为原 R i j 矩阵，图2为经缺省值预测补全的 R i j 矩阵。 图1. 原始 R i j 矩阵 (部分) 图2. 缺省值预测补全矩阵(部分) 考虑到这种缺省值预测算法的过优化问题。即如果对每个未评分的污染源信息进行缺省值预测的话，用户评分表的稀疏程度将会是100%。针对这样的评分表，基于用户协同过滤推荐算法得到的最近邻将会和基于原有用户评分表的计算结果有着十分大的差别，甚至是完全相反的。我们可以假设用户原有的污染源信息评分表为用户喜好的真实情况，而这时计算得到的最近邻将会产生较大的反差，即过优化问题。因此，在对污染源信息进行缺省值处理时，我们应对污染源信息的相似度设置较高的阈值。只有高于设定阈值的相似度近邻才可被认可。选用Top N方法时，我们也采用了较小的N值。即只取预测分最高前几名作为推荐。目的是确保Null值处理后保证用户最近邻计算的可信度。经查阅文献可知，阈值取0.24时效果比较好。 图3为优化缺省值预测补全矩阵。使用修正后的余弦相似度算法对 R i j 进行计算获得用户间的相似度矩阵，设用户i与用户j共同评分的污染源信息集合用 U i j 来表示。 U i ， U j 分别表示用户i与j评过分的污染源信息的集合。则用户i与用户j的相似度 s i m ( i ， j ) 为 s i m ( i ， j ) = ∑ c ∈ U i j ( R c ， i − R i ¯ ) ( R c ， j − R j ¯ ) ∑ c ∈ U i ( R c ， i − R i ¯ ) 2 ∑ c ∈ U j ( R c ， j − R j ¯ ) 2 其中 R i ¯ 与 R j ¯ 分别表示用户i和用户j对所有污染源信息评分的平均值。 图3. 优化缺省值预测补全矩阵(部分) 通过以上步骤，我们可以得到所有用户的近邻集合。设用户i的近邻集合为 N i ，可以得到针对特定污染源信息a，用户i的预测评分为 R i ， a = R i ¯ + ∑ j ∈ N i ∩ R j ， a ≠ n u l l s i m ( i ， j ) * ( R j ， a − R j ¯ ) ∑ j ∈ N i ∩ R j ， a ≠ n u l l ( | s i m ( i ， j ) | ) 其中 R i ¯ 为用户i对所有污染源信息的平均评分值。 得出用户针对未观看过污染源信息的预测评分后，再使用TOP-N算法，获得目标用户预测评分最好的N个污染源信息编号，即为目标用户喜好的TOP-N污染源信息编号。 此时考虑问题一中UFTB算法 [ 2 ]，即 F u ( i ) = F ( i | x & y ) F ( x & y ) 其中 F u ( i ) 是基于UFTB算法对用户u的第i个污染源信息的评测评分。 F ( i | x & y ) 表示在用户喜好的污染源信息类型中，未评分污染源信息i所获得的评测分值。 F ( x & y ) 中的x为用户对某类污染源信息的评分高低。y表示用户对这类污染源信息的评分个数。 F ( x & y ) 可表示为 F ( x & y ) = 1 ，当x大于 x ¯ ，且y大于 y ¯ 。其中 x ¯ 表示用户对所有污染源信息类型的平均评分值。 y ¯ 表示用户对所有污染源信息类型的平均评分值个数。即表明如果用户不喜欢某些类型的污染源信息，则该类型的污染源信息所在列 R · j 均为零(图4)。 图4. 非用户喜好剔除后的优化缺省值预测补全矩阵(部分) 本文使用某数据网上的943个用户，1682个污染源信息的数据进行模拟。同时，18类主要污染源信息分别为：(1) 大气污染：I. 烟尘、II. 二氧化硫；(2) 水污染：III. 生活污水和其它耗氧废物、IV. 传染病菌和病毒、V. 植物营养剂——如氮和磷、VI. 有机化学合成剂-如杀虫剂、除锈剂和合成洗涤剂、VII. 来自工、矿、农业操作的其他矿物质和化学物质、VIII. 来自土地侵蚀的沉淀物、IX. 放射性物质、X. 热污染；(3) 土壤污染：XI. 化肥、农药、XII. 有机和无机污染物、XIII. 来自大气、水的污染物质迁移转化进入土壤的污染物质、XIV. 自然界或矿床周围元素富集形成的污染；(4) 其他污染源：XV. 光污染、XVI. 噪声、XVII. 电磁辐射、XVIII. 其他资料来源：http://mip.findlaw.cn/shpc/teshuqinquanjiufen/pcjf/1416533.html。下图5、表2以108号用户为例说明获得推荐的污染源信息的过程。 图5. 用户108的相似度Top 5用户 Table 2 Recommended pollution source information number table for specific user 用户编号 推荐污染源信息编号(Top 1 - 5) 108 813， 316， 251， 285， 306 133 332， 1022， 1293， 302， 292 228 742， 705， 919， 318， 91 232 141， 543， 1126， 463， 1073 336 855， 653， 408， 114， 302 338 919， 12， 611， 127， 50 545 207， 408， 169， 526， 483 613 403， 470， 483， 474， 251 696 423， 200， 316， 372， 661 777 48， 169， 249， 261， 644 表2. 对特定用户的推荐污染源信息编号表 按照建立用户i对项j的评分矩阵 R i j ，预测补全缺省值，优化缺省值，剔除用户不喜欢的污染源信息类型这一顺序，我们得出了用户的近邻集合，求出近邻集合所有人对所有污染源信息的评分和，再排序取TOP5即为最后结果。