Re: Факторизационные машины в повседневной жизни
От: paul.marx Германия Провести онлайн-опрос
Дата: 23.11.16 18:17
Оценка: 8 (3) :)
Здравствуйте, 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, которые и есть предсказания
а весы можно использовать, если есть для этого основания, но как правило используют само значение, округленное и отсеченное в рамках шкалы оценок системы
Провести онлайн-опрос
Online-Umfrage erstellen
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.