Всем привет!

В общем, мне скоро защищать диплом. Нужно уметь определять пол и возраст пользователей на основе музыки, которую они слушают. Требуют "научной новизны" (с).

В общем, у меня имеется выборка пользователей (96000+ штук) с сайта Last.fm. У каждого пользователя указан пол и число полных лет. У каждого пользователя имеется топ-50 его самых прослушиваемых исполнителей.

Идея только одна - рассмотреть пользователей как документы, а их исполнителей, как слова в этом документе. Затем описать документы с помощью TF-IDF модели или же Log-entropy. Получается огромная сильно-разреженная матрица слово-документ. Можно понизить её размерность, используя методы тематического моделирования, например LDA. В результате получается матрица тема-документ (где число тем мы произвольно выбираем). Здесь хорошо заходит метод под названием LSI. Затем применяем к получившемуся классификатор или регрессор и меряем точность, например SVM. Но здесь нету никакой "Научной новизны"

Одна из идей была следующей - построить свою тематическую модель на основе подхода ARTM. В кратце, это подход к тому как модифицировать метод PLSA для улучшения результатов на конкретной задаче. Но здесь есть проблема, в моём случае сам PLSA даёт очень плохие результаты. Кроме того, так как конечная цель - это не выявление тем, а запуск классификатора на документах, представленных в виде вектора тем, то проверка качества получившейся модели сильно затруднена. В общем, данный вариант отпадает начисто.

Есть идея сделать некоторую модификацию LSI, которая бы улучшала результат по сравнению с обычным методом, но неясно, что улучшать.

Может быть у кого-нибудь есть какие-нибудь идеи, что можно придумать ещё, использую имеющиеся данные?

Всем привет! В общем, мне скоро защищать диплом. Нужно уметь определять пол и возраст пользователей на основе музыки, которую они слушают. Требуют "научной новизны" (с). В общем, у меня имеется выборка пользователей (96000+ штук) с сайта Last.fm. У каждого пользователя указан пол и число полных лет. У каждого пользователя имеется топ-50 его самых прослушиваемых исполнителей. Идея только одна - рассмотреть пользователей как документы, а их исполнителей, как слова в этом документе. Затем описать документы с помощью [TF-IDF](https://ru.wikipedia.org/wiki/TF-IDF) модели или же Log-entropy. Получается огромная сильно-разреженная матрица слово-документ. Можно понизить её размерность, используя методы тематического моделирования, например [LDA](https://ru.wikipedia.org/wiki/%D0%9B%D0%B0%D1%82%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D0%B5_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5_%D0%94%D0%B8%D1%80%D0%B8%D1%85%D0%BB%D0%B5). В результате получается матрица тема-документ (где число тем мы произвольно выбираем). Здесь хорошо заходит метод под названием [LSI](https://en.wikipedia.org/wiki/Latent_semantic_indexing). Затем применяем к получившемуся классификатор или регрессор и меряем точность, например [SVM](https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%BE%D0%BF%D0%BE%D1%80%D0%BD%D1%8B%D1%85_%D0%B2%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%BE%D0%B2). Но здесь нету никакой "Научной новизны" Одна из идей была следующей - построить свою тематическую модель на основе подхода [ARTM](http://www.machinelearning.ru/wiki/index.php?title=ARTM). В кратце, это подход к тому как модифицировать метод [PLSA](https://en.wikipedia.org/wiki/Probabilistic_latent_semantic_analysis) для улучшения результатов на конкретной задаче. Но здесь есть проблема, в моём случае сам PLSA даёт очень плохие результаты. Кроме того, так как конечная цель - это не выявление тем, а запуск классификатора на документах, представленных в виде вектора тем, то проверка качества получившейся модели сильно затруднена. В общем, данный вариант отпадает начисто. Есть идея сделать некоторую модификацию LSI, которая бы улучшала результат по сравнению с обычным методом, но неясно, что улучшать. Может быть у кого-нибудь есть какие-нибудь идеи, что можно придумать ещё, использую имеющиеся данные?

Можно попробовать применить идеи из word2vec для не текстов. Например, я совсем недавно читал статью про item2vec (http://arxiv.org/abs/1603.04259) - применение идеи из word2vec для рек. систем. В итоге тоже получается разложение матрицы, но немного необычным способом.

Если попробовать применить эти же идеи к сабжу, то возможно получится новизна.

Так же на Kaggle в конкурсе Rossman один из победителей использовал похожую идею, вот тут можно почитать http://blog.kaggle.com/2016/01/22/rossmann-store-sales-winners-interview-3rd-place-cheng-gui/

Можно попробовать применить идеи из word2vec для не текстов. Например, я совсем недавно читал статью про item2vec (http://arxiv.org/abs/1603.04259) - применение идеи из word2vec для рек. систем. В итоге тоже получается разложение матрицы, но немного необычным способом. Если попробовать применить эти же идеи к сабжу, то возможно получится новизна. Так же на Kaggle в конкурсе Rossman один из победителей использовал похожую идею, вот тут можно почитать http://blog.kaggle.com/2016/01/22/rossmann-store-sales-winners-interview-3rd-place-cheng-gui/

Мне еще одна интересная ссылка по теме something2vec попалась: item2vec

Мне еще одна интересная ссылка по теме something2vec попалась: [item2vec](https://docs.google.com/presentation/d/19QDuPmxB9RzQWKXp_t3yqxCvMBSMaOQk19KNZqUUgYQ/edit#slide=id.g11a4ba0c5c_0_6)
315
просмотров
2
ответов
2
подписчики
Предпросмотр
введите как минимим 10 characters
WARNING: You mentioned %MENTIONS%, but they cannot see this message and will not be notified
Сохраняю...
Сохранено
Все темы будут удалено ?
Сохранены неопубликованные черновики. Нажмите для продолжения редактирования
Discard draft