前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【论文】eALS

【论文】eALS

作者头像
平凡的学生族
发布2019-06-25 12:18:34
9270
发布2019-06-25 12:18:34
举报
文章被收录于专栏:后端技术

本文对于加快矩阵分解作出了贡献。解决了两个问题:

  1. 缺少负面反馈数据。大部分MF是基于正面反馈建模的,用户交互过才会有数据记录。然而,用户没有交互过的数据,可能是他还没看过该数据,也可能他不喜欢,看到了也没查阅该数据。不管是没看过,还是不喜欢,在矩阵中都只是"0"值。为了采样负面反馈数据,有几种做法:
    1. 把缺失数据都当做负面反馈,施加一个统一的值[1]。Robin Devooght认为ρ = α(nm − |R|)/|R|,比较好。p=1时,为观测值与已观测值重要性相等。也是这么做的,以便降低计算复杂度。然而,这种假设在现实世界中是无效的、不合理的。
  2. 大部分算法是基于离线数据的,因此难以跟上快速变换的在线数据。

隐式反馈容易获取,但难以利用,因为不易挖掘其中的负面反馈信息。

3. 准备工作

3.1 隐式反馈中的MF

通常预测分数是依靠特征向量想成得到的:

人们通常会再加一个偏置:

Hu提出可以再加一个权重w[2]

3.2 ALS效率优化

一般来说,目标函数是

通过求导数=0的点,我们可以得到极值

image.png

时间复杂度是:

但是矩阵求逆的时间复杂度太大。Hu[2]提出给那些未观测到数据的元素都赋予固定的权重w0。

image.png

从而时间复杂度变为:

但上式的前半部分在

时依旧占据着主要的开销。更何况后半部分的时间复杂度也大于SGD,SGD的时间复杂度如下:

3.3 逐元素处理的ALS

我们可以一个一个元素地处理,比如下式:

把导数设为0,我们可以得到:

image.png

同理,对于商品特征向量,有:

时间复杂度: 可以降到

image.png

如果提前计算

则时间复杂度甚至能降到

image.png

4. eALS

4.1 缺失值处理

提出了以下公式:

ci表示没用户点击的item i是true negative的概率。ci如何表示,是一个问题。

4.1.1 流行程度相关的权重策略

上文的ci可以表达为以下公式,该公式考虑了被观测item的流行程度:

fi的表达如下:

意思就是: 浏览过物品i的人数 / ∑每个物品被浏览过的人数。

α一般取0.5效果较好,取1以上时会加重流行的item重要性。 另外,统一权重的方法相当于上面公式中α=0且w0 = c0/N的时候。

4.2 学习公式

时间复杂度如下:

最快的依然是基于SGD的BPR,因为后者只对部分的缺失数据进行采样、学习。

4.3 在线更新

每次出现新交互(u,i)时,更新的时间复杂度如下:

总结

  1. 最关键的是,eALS的公式学习不是基于梯度下降,而是用一步到位的计算公式。该公式的效率比其他同类型(一步到位)的公式要高。也正因为一步到位计算,它必须对每个空缺位置进行填充。(一般填0,但权重不填0)。
  2. 对于每个缺失位置都进行了填充,只是其权重不是固定值,而是一个与对应item的流行度相关的值。物品越流行,则其不被某用户点击时,施加的"惩罚"越大
  3. 速度最快的还是BPR,因为后者不会填充所有缺失位置,而是只填充部分空缺。当然,由于采用梯度下降的方法,也不要求user-item交互矩阵填充所有空缺。

疑问

结合本文4.1.1的公式,有两个疑问:

  1. 我觉得还是没把"未被观测"和"未被点击"的人所区分开。一个很流行的物品没有被某个user购买,没准是因为这个user真的没见过这个物品,但公式会因为物品很流行,强行认为user不喜欢该物品。
  2. 就算r_ui^2(user对item是否产生交互的预测值)考虑了user对item的喜好程度,那预测值,则当item缺失没被user看到过,而未被user点击时,其施加的惩罚应当更低吧?然而公式会使得这个惩罚更高。

  1. Robin Devooght. Dynamic Matrix Factorization with Priors on Unknown Values.
  2. Y. Hu, Y. Koren, and C. Volinsky. Collaborative filtering for implicit feedback datasets
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.06.25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3. 准备工作
    • 3.1 隐式反馈中的MF
      • 3.2 ALS效率优化
        • 3.3 逐元素处理的ALS
        • 4. eALS
          • 4.1 缺失值处理
            • 4.1.1 流行程度相关的权重策略
          • 4.2 学习公式
            • 4.3 在线更新
            • 总结
            • 疑问
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档