每日学习记录 2019-10-25

2019-10-25

提出问题

怎么把相似度融入 ALS 模型中。

解决方案

想融入进去,先再看看 ALS 模型的损失函数是怎样的

ALS 模型

ALS 模型的原理及推导过程: https://www.jianshu.com/p/a245d20c1b51

简单总结:

  • ALS 的损失函数与论文中的 baseline 的损失函数基本一致
  • 因此只需要考虑添加用户相似度的正则项即可

计算皮尔逊系数的 Pearsonr() 函数

计算皮尔逊相关系数的函数为 Pearsonr()

  • 功能:

    • 计算特征与目标变量之间的相关度
  • 参数说明:

    • 输入:x为特征,y为目标变量.
    • 输出:r: 相关系数 [-1,1]之间,p-value: p值。
    • PS: p值越小,表示相关系数越显著,一般p值在500个样本以上时有较高的可靠性。
  • 具体 Pearsonr() 用法参考链接

    • https://blog.csdn.net/zhouwenyuan1015/article/details/65938847
    • http://blog.sina.com.cn/s/blog_90e51ee00102x8vn.html
    • 官方开发文档: http://www.statsoft.com/Textbook/Statistics-Glossary/P/button/p#Pearson%20Correlation
  • 目前代码的改编状态

    • 已经写好相关函数,可以计算出两个用户之间的相似度了
    • 下一步再写计算项目之间相似度即可

论文中的相似度安排

论文中添加了相似度的损失函数如下:

论文中添加相似度的损失函数
  • 参数说明

    • 其中 α 是正则化参数, 表示用户 与用户 之间的相似度,F +(i)表示用户 的正面好友。
  • 第一和第三项是 baseline 的内容。第二项就是添加用户相似度的结果

  • 作用:

    • 该方法利用社交网络信息设计社交正则化项,以约束矩阵分解目标函数。
    • 社会规范化术语还间接模拟了味觉的传播。
    • 更具体地说,如果用户i有一个朋友f,而用户f有一个朋友用户g,则该正则项实际上间接地最小化了潜矢量 ui 和 ug 之间的距离。 一旦学习融合,口味的传播将达到和谐状态。

明日安排

  • 继续看项目之间的。这个进程应该很快
  • 再看 ALS 代码,看相关的 python 库源码,再看如何添加用户相似度与项目相似度进 ALS 的损失函数中

你可能感兴趣的:(每日学习记录 2019-10-25)