美文网首页
【基于模型的协同过滤5】黑箱模型延伸到协同过滤一般解法

【基于模型的协同过滤5】黑箱模型延伸到协同过滤一般解法

作者: 虾图米粒 | 来源:发表于2020-06-21 09:39 被阅读0次

这一篇主要想讨论黑箱模型延伸到协同过滤一般解法。一般的机器学习分类器可以都可以直接延伸到协同过滤,但是其中一个主要的挑战在于矩阵是稀疏的。对于需要预测的评分是二元的很多时候,大量缺失值直接被填充为0, 这样的数据包括用户交易数据, 互联网点击数据等等。

也因此那些能对不均匀分布数据集能够进行有效预测的算法往往更容易延伸到协同过滤。但是预测预测的评分是2元及以上,那么直接将缺失值填为0将带来很大的偏差。当然我们可以通过降维进行处理。但是降维同时也降低了对分类结果的可解释性。

为了能直接使用原始特征空间,我们可以把分类方法作为元算法与迭代方法结合使用。换句话说,将现成的分类算法用作为黑箱算法来通过其他项目评分预测某一项目评分。那么接下来的一个问题是,我们如何克服不未完全指定行列的训练问题?其中的关键诀窍是用迭代的方式连续的改进填充训练列的缺失值。

具体如下操作方式如下: 我们首先假定一个任意的分类/回归算法A,该算法可以与完全指定(无缺失值)的矩阵一起使用。

  • 第一步: 初始化缺失值。 初始确实值得方法我们可以用用行平均值,列平均值或任何简单的协同过滤算法来初始化矩阵中缺失的观测。当然在用这些初始化方式的时候我们可以通过使行列居中的方法来消除用户或者项目的偏差,作为预处理步骤。在这种情况下,需要在后期处理阶段将每个用户的偏差加回到预测值上。在预处理过程中消除用户偏见通常会使该方法更可靠。如果消除了用户偏差,则丢失的条目将始终用行平均值0填充。当初始化缺失值以及用户偏差消除仍会带来预测偏差。接下来我们可以通过一个两步迭代的方式逐步降低偏差
  • 第二步:更新缺失值。通过将算法A来估计缺失值,确实值得估计方式是将要预测的列作为预测变量,剩下的列作为特征变量(使用初始化后的值)。将预测变量中可以直接观测到实例作为训练集,缺失实例作为预测集。根据预测集上的预测分数更新每一列的缺失值。
  • 第三步:迭代缺失值。我们将第二步不断迭代直到收敛。

该方法可能对初始化和算法A比较敏感。尽管如此,该方法的优点是它是一种简单的方法,可以很容易地用任何现成的分类或回归模型来实现。

喜欢请点赞,转载请注明出处!

参考文献
[1] Aggarwal, Charu C.Recommender systems. Vol. 1. Cham: Springer International Publishing, 2016.

相关文章

网友评论

      本文标题:【基于模型的协同过滤5】黑箱模型延伸到协同过滤一般解法

      本文链接:https://www.haomeiwen.com/subject/ecjoxktx.html