Наука о данных для предсказания хитовых песен

Может ли алгоритм предсказать хитовые песни? Давайте посмотрим, как мы можем успешно создать классификатор хитовых песен, используя только звуковые функции, как описано в моей публикации (Herremans et al., 2014).

Во время моей докторской диссертации я наткнулся на статью Pachet & Roi (2008), озаглавленную Наука о хитовых песнях еще не наука. Это было для меня интригующим и заставило меня задуматься, можем ли мы на самом деле предсказать хитовые песни. Исследования по этой теме очень ограничены, более полный обзор литературы см. В Herremans et al. (2014) . Мы решили, что эффективность модели можно повысить, сосредоточив внимание на одном конкретном жанре: танцевальной музыке. Мне это кажется интуитивно понятным, поскольку разные жанры музыки имеют разные характеристики, чтобы стать хитом.

Набор данных

Чтобы иметь возможность прогнозировать попадания, нам сначала нужен набор данных о популярных и не популярных песнях. Хотя недостатка в хит-листах нет, совсем другое дело - найти не -списки. Поэтому мы решили разделить хиты на песни с высоким и низким рейтингом. Мы немного поэкспериментировали, чтобы увидеть, какое разделение подойдет лучше всего, как показано в таблице 1, в результате получилось три набора данных (D1, D2 и D3):

Каждый со слегка несбалансированным распределением классов:

Хиты были собраны из двух источников: Billboard (BB) и Original Charts Company (OCC). В таблице ниже показано количество собранных обращений. Обратите внимание, что песни остаются в чартах несколько недель, поэтому уникальных песен намного меньше:

Теперь, когда у нас есть список песен, нам нужны сопровождающие их звуковые функции. Мы использовали The Echo Nest Analyzer (Jehan and DesRoches, 2012) для извлечения ряда звуковых функций. Этот изящный API позволяет нам получить ряд звуковых функций, основанных только на имени исполнителя и названии песни. Echo Nest был куплен Spotify и теперь интегрирован в Spotify API. Итак, что мы извлекли:

1. Стандартные звуковые функции:
К ним относятся: длительность, темп, размер, режим (основной (1) или второстепенный (0)), тональность, громкость, танцевальность (рассчитывается с помощью Echo Nest на основе силы удара , стабильность темпа, общий темп и т. д.), Энергия (рассчитывается с помощью Echo Nest на основе громкости и длительности сегментов).

2. Новые временные функции
Поскольку песни меняются со временем, мы добавили ряд агрегированных по времени функций на основе Schindler & Rauber (2012). Они включают среднее значение, дисперсию, минимум, максимум, диапазон и 80 процентилей из ~ 1-секундных сегментов. Это было сделано для следующих функций:

Тембр - базисный вектор PCA (13 измерений) цветового тона звука. 13-мерный вектор, который фиксирует цвет тона для каждого сегмента песни.
Разница долей - Время между ударами.

Большой! Теперь у нас есть хорошая коллекция звуковых функций вместе с их верхним положением в чарте. Как и любой хороший проект в области науки о данных, давайте займемся визуализацией данных. Первое, что мы замечаем, - это то, что хиты меняются со временем. То, что было хитом десять лет назад, не обязательно является хитом сегодня. Когда мы визуализируем наши особенности с течением времени, это становится очевидным:

Интересно, что мы видим, что танцевальные хиты стали короче, громче и, в соответствии с особенностями «танцевальности» Echo Nest, менее танцевальными!

Для более полной визуализации функций с течением времени ознакомьтесь с моей небольшой статьей о визуализации популярных песен: (Herremans & Lauwers, 2017) и сопутствующей веб-страницей.

Модели

Исследуются два типа моделей: понятные и модели черного ящика. Как и следовало ожидать, последние более эффективны, но первые дают нам представление о том, почему песня может считаться хитом.

Дерево решений (C4.5)

Чтобы уместить дерево решений на странице, я установил обрезку на большое значение. Это делает дерево маленьким и понятным, но дает низкий AUC 0,54 на D1. Мы видим, что присутствуют только временные особенности! Это значит, что они должны быть важны. В частности, тембр 3 (третье измерение тембрового вектора PCA), который отражает акцент атаки (резкость), кажется важным для предсказания хитов.

Модель на основе правил (потрошитель)

Используя RIPPER, мы получаем набор правил, очень похожий на дерево решений. Снова присутствует тембр 3. На этот раз наш AUC составляет 0,54 на D1.

Наивный байесовский метод, логистическая регрессия, вспомогательные векторные машины (SVM)

Чтобы легко прочитать описание этих методов, обратитесь к Herremans et al. (2014) .

Окончательные результаты

Прежде чем перейти к каким-либо результатам, я должен подчеркнуть, что нет смысла использовать здесь общую классификацию «точность», потому что классы не сбалансированы (см. Рисунок 1). Если вы хотите использовать точность, она должна быть специфичной для класса. Это частая ошибка, но ее очень важно помнить. Поэтому мы используем кривую оператора приемника (ROC), площадь под кривой (AUC) и матрицы неточностей для правильной оценки моделей.

10-кратная перекрестная проверка

Мы получаем лучшие результаты для набора данных 1 (D1) и набора данных 2 (D2) без выбора функций (мы использовали CfsSubsetEval с генетическим поиском). Перед обучением все функции были стандартизированы. Поскольку D3 имеет наименьшее «разделение» между попаданиями и невыполнениями, этот результат имеет смысл. В целом логистическая регрессия работает лучше всего.

Глядя на кривую ROC ниже, мы видим, что модель превосходит случайный оракул (диагональная линия).

Подробную информацию о точности классификации можно увидеть, посмотрев на матрицу путаницы, которая показывает, что правильно определить песни, не попавшие в хиты, непросто! Однако в 68% случаев хиты распознаются правильно.

Несвоевременный набор тестов

Вместо 10-кратной перекрестной проверки мы также использовали тестовый набор хронологически «новых» песен. Это привело к дальнейшему увеличению производительности:

Интересно, что модель лучше предсказывает новые песни. Что вызывает эту асимметрию? Может быть, он научится предсказывать развитие тенденций с течением времени? В будущих исследованиях следует рассмотреть интригующую эволюцию музыкальных предпочтений с течением времени.

Заключение

Рассматривая исключительно звуковые функции, Herremans et al. (2014) с AUC 81% могли предсказать, попадет ли песня в топ-10 хитов. Можем ли мы сделать еще лучше? Скорее всего, да! Набор функций, которые мы рассмотрели в этом исследовании, ограничен, поэтому, расширяя его с использованием музыкальных функций как низкого, так и высокого уровня, можно достичь более высокой точности. Кроме того, в ходе последующего исследования я изучил влияние социальных сетей на предсказание попаданий, которое также оказывает значительное влияние »(Herremans & Bergmans, 2017)».

Профессор доктор Дориен Херреманс - dorienherremans.com

использованная литература

Херреманс, Д., Мартенс, Д., & Соренсен, К. (2014). Прогноз танцевальной хитовой песни. Журнал новых музыкальных исследований, 43 (3), 291–302. [Ссылка на препринт]

Херреманс, Д., и Бергманс, Т. (2017). Прогнозирование хитовой песни на основе данных и звуковых характеристик первых пользователей. 18-я Международная конференция по поиску информации о музыке (ISMIR) - последняя демонстрация. Шузу, Китай [ссылка препринта]

Херреманс Д., Лауверс В. 2017. Визуализация эволюции альтернативных хит-карт. 18-я Международная конференция по поиску информации о музыке (ISMIR) - последняя демонстрация. Шузу, Китай [ссылка препринта]

Джехан Т. и Десроше Д. 2012. Документация по EchoNest Analyzer, URL-адрес developer.echonest.com/docs/v4/_static/AnalyzeDocumentation. pdf

Паше Ф. и Рой П. (2008, сентябрь). Хит-песня Наука - это еще не наука. В ISMIR (стр. 355–360).

Шиндлер А. и Раубер А. (2012, октябрь). Захват временной области в эхонестических функциях для повышения эффективности классификации. В Международном семинаре по адаптивному поиску мультимедиа (стр. 214–227). Спрингер, Чам.