根据特征从集合中推荐项目

人工智能 机器学习 学习算法
2021-11-17 08:53:58

原谅可能是一个基本问题。我只是在试验 ML / AL,我有一个小问题集,我想看看它是否可以用 ML / AI 解决。基本上,给定一组具有多种功能的对象,我想创建一个自动向用户推荐一个对象的过程。

我在想某种聚类算法可能是最好的方法。但是,我试图解决的一个主要挑战是,我事先不知道会有多少不同的集群会演变……在某些场景中,我们的 Feature X 非常重要,但在其他场景中,用户会说功能 Y 很重要。

其次,我的输入集是什么?对于每个训练样本,我将有 1 个选定对象和 N-1 个未选定对象。但我不想“训练”未选择的对象是“坏的”,因为它们可以在未来的训练示例中被选中。

最后,我还没有大的训练集,所以我想使用过程中的反馈(用户输入,“这是一个错误的选择”或“使用这个对象。”)来进一步完善算法。这可行吗?

这种过程是否有任何既定的模式?提前致谢。

2个回答

这个问题通常用“奇异值分解”来解决。

也可以搜索“Netflix Challenge”。

一种方法是协同过滤

另见链接

但是,这确实需要您拥有有关某些产品的某些用户偏好的数据鉴于您已声明您愿意挖掘用户偏好,这种方法可能是可行的。

这个想法是,使用这些数据,您可以训练模型来预测用户如何评价产品。这是通过学习用户的“偏好签名”和每个产品的特征向量来完成的。

大概的概念

对于您的第 i 个用户,该算法将学习所述偏好作为向量

θ(一世)

此外,对于您的第 j 个产品,它将学习一个特征向量

X(j)

然后,您可以通过计算点积(或一些等价物)来预测第 i 个用户将如何评价第 j 个项目。也就是说,将预测评分计算为:

R^(一世,j)=θ(一世)X(j)

然后,您可以使用此评级来确定产品是否适合用户。

A. Ng 机器学习 Coursera MOOC有一个非常好的协同过滤模块

实施说明

在向用户询问反馈时,请尝试要求量化措施。例如,经典的 1-5 级评分。