У меня следующая проблема:
- У нас есть набор из 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 не нравятся большинство изображений.
Есть ли какой-нибудь известный метод, который можно использовать для расчета такой вероятности?
источник
Ответы:
Я считаю, что это стандартная проблема совместной фильтрации . Поиск в Google дает тысячи результатов.
источник
Это похоже на хорошую проблему для машинного обучения, поэтому я сосредоточусь на этой группе методов.
Первая и самая очевидная идея - алгоритм kNN. Там вы сначала рассчитываете сходство среди зрителей, а затем прогнозируете недостающие голоса со средним количеством голосов на этой картине, поданных подобными пользователями. Подробности смотрите в Википедии .
Другая идея состоит в том, чтобы вырастить случайный лес без надзора на этих данных (в любом случае, с атрибутами на изображениях или людях, что бы ни было лучше) и вычислить недостающие данные на основе структуры леса; Весь метод реализован и описан в
randomForest
пакете R , ищитеrfImpute
функцию.Наконец, вы можете реструктурировать задачу в виде простой задачи классификации, скажем, сделать объект из каждого нуля в матрице и попытаться придумать некоторые приемлемые дескрипторы (например, средний голос зрителя, средний голос за изображение, голос за большинство, второй по величине, .. аналогичное средство просмотра, то же самое с изображением, возможно, некоторые внешние данные (средний оттенок изображения, возраст избирателя и т. д.). Затем попробуйте различные классификаторы по этим данным (SVM, RF, NB, ...).
Есть также несколько более сложных возможностей; для обзора вы можете найти решения для призовой задачи Netflix (которая была похожей проблемой).
источник