В совместной фильтрации у нас есть значения, которые не заполняются. Предположим, что пользователь не смотрел фильм, тогда мы должны добавить туда «na».
Если я собираюсь взять SVD этой матрицы, то я должен добавить туда некоторое число - скажем, 0. Теперь, если я разложу матрицу, у меня есть метод для поиска похожих пользователей (путем определения, какие пользователи находятся ближе друг к другу в уменьшенное размерное пространство). Но прогнозируемое предпочтение само по себе - для пользователя элемент будет нулевым. (потому что это то, что мы ввели в неизвестных столбцах).
Так что я застрял с проблемой совместной фильтрации против SVD. Они кажутся почти одинаковыми, но не совсем.
В чем разница между ними и что происходит, когда я применяю SVD к проблеме совместной фильтрации? Я так и сделал, и результаты кажутся приемлемыми с точки зрения поиска соседних пользователей, и это здорово, но как?