Как оптимизировать механизм предложений базы данных

Я делаю онлайн-движок для рекомендательных фильмов. Я провел некоторые исследования и думаю, что лучший способ реализовать это — использовать корреляцию Пирсона и создать таблицу с полями item1, item2 и корреляции, но проблема в том, что после каждой оценки элемента у меня есть для восстановления корреляции в худшем случае для N записей (где N — количество элементов).

Еще одна мысль, которую я прочитал, — это следующая статья. , но я не придумал, как это реализовать.

Итак, каково ваше предложение по оптимизации этого процесса? Или любые другие предложения? Спасибо.


person Dimitar Vouldjeff    schedule 16.04.2010    source источник


Ответы (2)


Текущий подход к такого рода проблемам «корзины для покупок» заключается в использовании разложения по сингулярным значениям (SVD). Все 3 лучших участника NetFlix Prize использовали SVD. SVD используется для выполнения «уменьшения размерности» на огромной ковариационной матрице продуктов * людей. Хорошая новость заключается в том, что существуют инкрементальные методы (добавление нескольких наблюдений в набор данных не подразумевает пересчета всей матрицы).

person wildplasser    schedule 23.10.2011

Оптимального решения не существует, но вы можете найти множество предложений, просмотрев теги «совместная фильтрация» или теги «механизм рекомендаций» в Stack Overflow.

person isomorphismes    schedule 14.03.2011