Регистрация / Вход
Прислать материал

Разработка рекомендательной системы для мобильного музыкального плеера

Фамилия
Кочнев
Имя
Юрий
Отчество
Владимирович
Номинация
Информационные технологии
Институт
Институт информационных технологий и автоматизированных систем управления (ИТАСУ)
Кафедра
Автоматизированных систем управления
Академическая группа
АС-13
Научный руководитель
к.т.н., доц. Бондаренко И.С.
Название тезиса
Разработка рекомендательной системы для мобильного музыкального плеера
Тезис

Реалии современного мира вынуждают вести борьбу за внимание клиентов. В свою очередь, пользователи становятся более требовательными к товарам и оказываемым услугам, так как рынок IT насыщен огромным множеством конкурентоспособных продуктов. Сегодня для решения задачи привлечения клиентов все чаще используются различные инструменты персонализации. Одним из наиболее мощных инструментов являются рекомендательные системы (РС), которые предсказывают потребности пользователей и предоставляют им рекомендации в автоматическом режиме. 

На рынке мобильных приложений внедрение решений персонализации так же является целесообразным и даже необходимым для поддержания актуальности программной продукции. Поэтому целью данной работы является разработка РС для мобильного музыкального плеера, как одного из самых востребованных продуктов среди мобильных приложений. Это позволит привлечь внимание потенциальных пользователей и облегчит для них поиск новой музыки. Кроме того, внедрение РС в продукт даст ему конкурентное преимущество на рынке. 

В данной работе реализована система рекомендаций на основе сингулярного разложения матриц (SVD алгоритм). Суть такого алгоритма представлена на рисунке 1. Исходная матрица рейтингов раскладывается в сингулярное разложение, где векторы матрицы U характеризует пользователей, а векторы матрицы V - песни. Для предсказания оценки конкретного слушателя конкретному треку необходимо взять скалярное произведение их векторов. 

Рисунок 1 - Принцип SVD алгоритма

Далее, для адекватной работы модели ее необходимо обучить таким образом, чтоб разница между фактическими оценками и предсказанными была минимальна:

\(argmin\sum_{u,i} (\dot{r}_{u,i} - \mu - b_u - b_i - u_uv_i^T)^2+\lambda(\sum_u b_u^2 + \sum_i b_i^2 + ||u_u||^2+||v_i||^2)\)

Этот подход обеспечивает надежность, высокую производительность и высокую скорость, поэтому при работе с большими массивами данных целесообразно использовать именно SVD алгоритм. В процессе разработки использовались математические методы и методы машинного обучения. Программа реализована на языке Python с использованием библиотек NumPy, SciPy, Pandas, Scikit-learn и Matplotlib. Разработанная РС является универсальной, так как требует простой формализации входных данных и является хорошо масштабируемой.