Введение 3
Обзор существующих систем 6
Постановка задачи 9
Глава 1. Теория 10
1.1 Получение амплитудно-частотного спектра 10
1.2 Определение параметров для классификации композиций 12
1.3 Алгоритмы классификации 13
1.3.1 Метод опорных векторов 13
1.3.2 Метод ближайших соседей 15
1.3.3 Решающее дерево 18
Глава 2. Практическое исследование 23
2.1 Используемые технологии 23
2.2 Классификация 24
2.3 Перекрёстная проверка 25
2.3.1 Варианты перекрёстной проверки 27
2.3.2 Результаты перекрёстной проверки 28
2.4 Результаты 31
Выводы 36
Заключение 37
Список литературы 39
Приложение 41
В наше время людям доступно большое количество разнообразных музыкальных произведений на любой вкус из разных источников. Каждый человек хотел бы слушать ту музыку, которая больше нравится именно ему. Вручную прослушивать миллионы песен, чтобы отобрать понравившиеся для себя песни, достаточно долго и трудоёмко. Поэтому существуют рекомендательные системы [1], которые делают это за вас.
Существует два наиболее распространённых подхода к построению рекомендательных систем — коллаборативная фильтрация и рекомендации на основе содержимого (content based). Также существуют гибридные системы, которые являются комбинацией этих двух подходов. При рекомендациях на основе содержимого обо всех пользователях собирается информация, которая может говорить об их предпочтениях. Также для каждого объекта, который можно порекомендовать пользователям, выделяются признаки, по которым можно охарактеризовать этот объект. Для музыкальных композиций это могут быть альбом, жанр, исполнитель и так далее. На основе информации о пользователе ему подбираются объекты с нужными признаками. При коллаборативной фильтрации пользователю рекомендуются те объекты, которые понравились другим пользователям с похожими оценками.
Преимущество коллаборативной фильтрации перед content based системами состоит в том, что можно рекомендовать объекты, у которых нет явных признаков — мысли, идеи, мнения. Однако у коллаборативной фильтрации есть и значительные недостатки. Если предметов слишком много или пользователи мало оценивают эти предметы, то много объектов остаётся не оценёнными. Из-за этого трудно найти пользователей с похожими оценками.
Второй проблемой является то, что такая система плохо работает с новыми пользователями и предметами. Если новый пользователь ещё ничего не оценил, то система ничего не сможет ему порекомендовать. Также новый предмет может быть ещё никем не оценённым, поэтому рекомендательная система не сможет предложить этот предмет пользователям.
Для полноценной работы рекомендательных систем им нужна информация о пользователях, поэтому существуют различные способы получения этой информации.
Способы получения информации:
• оценка каких-либо объектов пользователем;
• сравнение каких-либо объектов пользователем;
• выбор лучшего объекта пользователем из группы объектов;
• отслеживание истории просмотров пользователя ;
• отслеживание поведения пользователя в интернете.
Значительный толчок развитию рекомендательных систем принесло соревнование Netflix Prize [2]. Организатором соревнования была компания Netflix, занимающаяся прокатом DVD. Каждому просмотренному фильму клиент мог поставить свою оценку по пятибалльной шкале. В процессе работы компании ей удалось собрать более миллиарда оценок фильмов клиентами. Netflix использовала эту базу оценок для рекомендаций фильмов клиентам, поэтому компания была заинтересована в улучшении качества рекомендаций для получения большей прибыли с проката дисков. Для этих целей в 2006 году компания Netflix объявила соревнование Netflix Prize. На основе миллионов собранных оценок пользователей участники соревнования должны были разработать алгоритм, наилучшим образом определяющий оценку, которую поставит пользователь какому-либо фильму. Качество работы алгоритмов определялось при помощи метрики RMSE:
1 z ;x2
RMSE= iTiZ^“yj)'
J (О ) e т
где i — пользователь, j — предмет, у — оценка пользователя, х — предсказанная оценка, Т — всё множество тестовых оценок.
Участники должны были улучшить разработанный Netflix алгоритм хотя бы на 10% по метрике RMSE. За победу присуждался приз в размере $ 1 000 000. В конце третьего года соревнований только две команды смогли справиться с заданием. Несмотря на то, что только одна команда из двух получила обещанный приз, сам конкурс внёс значительный вклад в развитие данной области.
В ходе этого соревнования участники пытались улучшить или комбинировали существующие подходы рекомендательных систем. Однако они не принимали во внимание физическую природу музыкальных композиций, их амплитудно-частотный спектр. А что, если придумать метод поиска похожих композиций на основе их амплитудно-частотного спектра. Каковы будут его результаты? Ответ на этот вопрос я попытаюсь дать в своей работе.
В настоящее время существует достаточно много рекомендательных систем музыки, которые позволяют пользователю быстро и удобно получать доступ к той музыке, которая удовлетворяет именно его вкусам. Однако исходя из отзывов других пользователей и своего опыта, можно заключить, что не все системы советуют именно ту музыку, которая нравится пользователю. Большинство подобных систем ищут пользователей, которым нравятся те же песни, что и вам, и предлагают к прослушиванию их другие музыкальные композиции. Этот подход может давать не лучшие результаты, так как трудно найти пользователей с одинаковыми плейлистами. Поэтому нет никаких гарантий, что то, что понравилось одному, понравится и другому. Необходимо ещё учитывать звучание голоса и музыки в музыкальной композиции. В данной работе проводилось исследование возможности рекомендаций музыкальных композиций на основе схожести их амплитудно-частотного спектра.
Для определения похожих композиций использовался подход на основе машинного обучения, в частности, алгоритмы классификации. В этих алгоритмах каждый объект представляется вектором признаков, по которым далее происходила классификация и присваивание объекту определённого класса. Для представления музыкальных композиций в подходящем для классификаторов виде использовались статистические характеристики, которые вычислялись по амплитудно-частотному спектру композиций.
В выбранных алгоритмах классификации есть неопределённые параметры, которые необходимо подбирать. Для этой цели зачастую применяют перекрёстную проверку, которая была опробована для метода к ближайших соседей. Оценка работы классификаторов производилась с помощью общепринятых для этой задачи метрик, таких как точность, полнота и F-мера.
Так как музыкальные предпочтения у всех людей разные, не существует одной универсальной выборки для работы алгоритмов классификации. Поэтому в моём исследовании были взяты три выборки песен разных людей. Полученные результаты показали, что не существует одного алгоритма классификации, который бы давал одинаково хорошие результаты для разных людей, но можно в каждом случае такой алгоритм подобрать. Из полученных результатов также можно сделать вывод, что гораздо лучше классифицируются песни одного или нескольких похожих жанров. Например, на основе результатов по третьей выборки можно заключить, что джаз и рок-н-рол хорошо отделяются от современной попсы. Стоит заметить, что на всех трёх выборках данный подход показал неплохие результаты. В дальнейшем необходимо расширять тренировочную и проверочную выборки, чтобы сделать окончательные выводы по применимости данного подхода.
1. Melville P., Mooney R., Nagarajan R. Content-Boosted Collaborative Filtering for Improved Recommendations // University of Texas, USA : Материалы конф. / AAAI-02, Austin, TX, USA, 2002. — 2002. P. 187-192.
2. James Bennett, Stan Lanning The Netflix Prize [Электронный ресурс] // Proceedings of KDD Cup and Workshop 2007, San Jose, California, Aug 12, 2007. URL: http://www.netflixprize.com/assets/NetflixPrizeKDD to appear.pdf (дата обращения: 01.03.16).
3. Вконтакте. Похожие аудиозаписи [Электронный ресурс]: URL: https://vk.com/page-2158488 49041638 (дата обращения: 2.04.16).
4. Как это работает? Рекомендации в Яндекс.Музыке [Электронный ресурс]: URL: https://yandex.ru/blog/company/92883 (дата обращения: 2.04.16).
5. Как работают рекомендации в Apple Music и как им помочь [Электронный ресурс]: URL: http://appleinsider.ru/tips-tricks/kak-rabotayut-rekomendacii-v-apple-music-i-kak-im-pomoch.html (дата обращения: 2.04.16).
6. Сергиенко А. Б. Цифровая обработка сигналов. Спб: Питер, 2006. 751 с.
7. Применение преобразования Фурье для анализа сигналов [Электронный ресурс]: URL: https://habrahabr.ru/post/269991/ (дата обращения: 7.04.16).
8. HOLO [Электронный ресурс]: URL: https://habrahabr.ru/post/161005/ (дата обращения: 9.04.16).
9. Вьюгин В. В. Математические основы машинного обучения и прогнозирования. М.: 2013. 387 с.
10. Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. 2nd ed. Springer, 2009.
11. Воронцов К. В. Лекции по логическим алгоритмам классификации. 2007. 53 с.
12. Гришкин В.М., Власов Д.Ю., Жабко А.П., Ковшов А.М., Щиго- рец С.Б., Якушкин О.О. Система распознавания биологических загрязнителей поверхности памятников культурного наследия // Устойчивость и процессы управления: Материалы III международной конференции. 2015. С. 569-570.
13. Emgu CV [Электронный ресурс]: URL: http://www.emgu.com/wiki/index.php/Main_Page (дата обращения: 04.03.16).
14. Accord.NET [Электронный ресурс]: URL: http://accord- framework.net/ (дата обращения: 26.04.16).
15. Маннинг К., Рагхаван П., Шютце Х. Введение в информационный поиск. M.: Вильямс, 2011. 512 с.
...