Воплощаю рекомендательную систему с бинарными оценками - 1 и 0. Формула прогноза оценки, в соответствии с алгоритмом SVD:
r = mu + b_u + b_i + <произведение факторов>,
где b_u и b_i - базовые предикторы по user и item, соответственно. Проблема в том, что базовые предикторы получаются очень маленькими, с несколькими нулями после запятой, и не влияют на предсказание оценки. В результате, оценки для пользователя получаются одинаковые. Как преодолеть сию оказию?
andymitrich: единственное, что приходит в голову - неправильно считаете b_i и b_u. То, что они близки к нулю, похоже на то, что вы, когда считаете средний рейтинг пользователя (например), делите не на количество его оценок, а на общее количество пользователей
Варианты -
1. Нормализация - x=(x-mean(x))/std(x)
2. Разворот на главные компоненты (PCA).
3. Разворот на нелинейные главные компоненты - KPCA.
Это будет как шаг предобработки данных.
Нормализация сделает влияние переменной независимым от количественного измерения.