Здравствуйте, Gattaka, Вы писали:
G>Коллеги,
G>А а есть ли среди нас пользователи факторизационных машин. Хотелось бы пару вопросов узнать. Писать в форум по алгоритмам как-то рука поднимается, там совсем другие алгоритмы обсуждаются — такого больше нигде нет.
G>В частности как именно они используются в рекомендательных системах. Я так понимаю предсказания берут как предиктор? Или весы как-то используют.
Оба-на!
Наконец-то возможность подвернулась высказаться в теме от первого лица!
Ну и похвастать книжкой:
https://www.amazon.com/Providing-Actionable-Recommendations-Paul-Marx/dp/3844102159/
ответ в главе 2.1.1.3
в общих чертах, мы имеем на входе неполную и очень разряженную матрицу. (колонки — объекты, строки — юзеры, ячейки — оценка юзером объекта).
задача рекомендательной системы заполнить в этой матрице свободные места.
факторизационные методы делают разложение неполной матрицы на "латентные" факторы, которые описывают юзерские оценки в неком n-мерном пространстве. имея это n-мерное разложение, восстанавливается "исходная" двумерная матрица, в которой, вуаля, пустые ячейки теперь заполнены.
собственно, способ, как именно делать разложение на факторы, и определяет особенность конкретного факторизационного метода.
G>Потом, я сейчас покрутил LibFM — что-то значения уж сильно прыгают из-за стохастической природы алгоритма, если поставить много итераций — стабильнее, но уже очень не быстро. Как с этим быть?
в общем — точность предсказаний определяют в основном количество факторов (которое должно быть оптимальным для данной матрицы), точность(метод) разложения и масса мелких параметров. быстрый метод раскладывает матрицу в 100млн элементов (скажем 6000х17000) более-менее удовлетворительно в плане точности примерно за час. "ну да и фиг с ним!", — говорят эксперты.
бо само разложение не надо делать часто. оно может вызываться периодически, скажем два раза в день/месяц/год. в остальное время для рекомендаций/предсказаний используется уже рассчитанная и сохраненная "восстановленная" матрица.
ПС: а predictor делает predictions, которые и есть предсказания
а весы можно использовать, если есть для этого основания, но как правило используют само значение, округленное и отсеченное в рамках шкалы оценок системы