某人会喜欢图像的概率

机器算法验证 缺失数据 评分
2022-03-04 21:25:00

我有以下问题:
- 我们有 N 个人
- 我们有 K 个图像
- 每个人对一些图像进行评分。一个人可能喜欢或不喜欢图像(这是仅有的两种可能性)。- 问题是如何计算某人喜欢特定图像的可能性。

我将举例说明我的直觉。
N = 4
K = 5
+ 表示该人喜欢图像
- 表示该人不喜欢该图像
0 表示该人尚未被询问该图像,并且应该预测该值

x 1 2 3 4 5    
1 + - 0 0 +   
2 + - + 0 +  
3 - - + + 0  
4 - 0 - - -

人 1 可能会喜欢图像 3,因为人 2 具有相似的偏好,人 2 喜欢图像 3。
人 4 可能不喜欢图像 2,因为没有其他人喜欢它,此外,人 4 不喜欢大多数图像。

有没有众所周知的方法可以用来计算这种可能性?

2个回答

我相信这是Collaborative Filtering的标准问题。谷歌搜索提供了数千个结果。

这对于机器学习来说似乎是一个很好的问题,所以我将专注于这组方法。

首先也是最明显的想法是 kNN 算法。在那里,您首先计算观众之间的相似度,然后用相似用户对这张照片的平均投票预测丢失的选票。有关详细信息,请参阅维基百科

另一个想法是在这些数据上生成无监督的随机森林(无论哪种方式,图像或人物中的属性,无论哪个更好),并根据森林结构估算缺失的数据;整个方法在RrandomForest包中实现和描述,寻找rfImpute功能。

最后,您可以将问题重组为一个简单的分类任务,比如在矩阵中创建一个每个零的对象,并尝试考虑一些合理的描述符(如平均观众投票、平均图像投票、最多投票、第二多投票、.. . 类似的查看器,与图像相同,可能是一些外部数据(图像的平均色调,选民的年龄等)。然后在这些数据上尝试各种分类器(SVM,RF,NB,...)。

还有一些更复杂的可能性;有关概述,您可以查找 Netflix 奖品挑战(这是一个类似的问题)解决方案。