交替最小二乘的输入

input for Alternating Least Square

我们正在使用 ALS 作为基于 user/click 数据的推荐模型,来自 Spark/Scala。

评级栏是一个分数 [0,1]

val als = new ALS()
    .setImplicitPrefs(true)
    .setRank(myrank)
    .setRegParam(mylambda)
    .setAlpha(myalpha)
    .setMaxIter(numIter)
    .setUserCol("myuseridx")
    .setItemCol("myitemidx")
    .setRatingCol("rating")
val model = als.fit(training)

我的问题是:隐式模型的输入数据在技术上必须包含所有用户项目组合,即还包括未购买的项目组合吗?

ALS 通过固定用户或项目矩阵并使用最小二乘法求解来解决推荐问题。本质上,对于隐式数据集,这意味着所有未设置为 1 的项目都被视为零。所以你只需要包括积极的观察。

这里还有一些讨论: http://yifanhu.net/PUB/cf.pdf