Направление
«Большие данные, искусственный интеллект, финансовые технологии и машинное обучение»
Определение моделей поведения учеников Сириус.Курсов
О чём проект
«Сириус.Курсы» – это платформа дистанционного образования, уже на протяжении нескольких лет представляющая обширный выбор курсов, затрагивающих большинство сфер знаний. На данный момент на ней учатся более 150 тысяч пользователей.
«Сириус.Курсы» не могут позволить себе не развиваться, для данного сервиса приоритетом является постоянное повышение качества обучения. Чтобы помочь каждому ученику реализовать свои образовательные потребности, перед платформой «Сириус.Курсы» была поставлена задача персонализировать обучение.

Но учеников на платформе более 150 тысяч, и каждый из них уникален по своему поведению. Проблема состоит в том, что посмотреть на каждого будет просто физически невозможно.


Цель

Поэтому мы поставили перед собой цель: выявить различные модели поведения учеников для реализации персональных рекомендаций. То есть необходимо разбить учеников на несколько однородных групп. Впоследствии можно будет персонализировать обучение для каждой из них.
Что делали
Подготовка признаков
  • придумать, по каким признакам сравнивать учеников,
  • подсчитать признаки,
  • проверить правильность подсчётов.

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

Кластеризация — задача группировки множества объектов на подмножества-кластеры таким образом, чтобы объекты из одного кластера были более похожи друг на друга, чем на объекты из других кластеров.
Оценка результатов
  • визуализация,
  • отчеты,
  • сравнение алгоритмов,
  • интерпретация.

Чтобы понять, что разбиение на кластеры действительно прошло осмысленно, необходимо как посмотреть на значения некоторых численных характеристик, так и оценить «человеческим взглядом» различные визуализации получившихся кластеров. Интерпретация получившихся кластеров и есть выявление различных моделей поведения учеников.
Как делали
Подготовка признаков
Чтобы понять, чем ученики отличаются друг от друга, нужно решить, по каким параметрам их сравнивать.

Каждый придуманный параметр мы вычисляли и отдавали на проверку другому участнику команды, чтобы убедиться, что мы будем работать с корректными значениями.

Все количественные значения, такие как, например, количество задач, были обращены в доли, чтобы они не зависели от конкретного курса, который проходил ученик.
Кластеризация
Для кластеризации существуют различные алгоритмы. Мы попробовали три из них: K-Means++, DBSCAN и OPTICS.

Ма начали работать с алгоритмом K-Means++, но он разделил учеников курсов на 3 примерно равных группы, и не выдержал сравнения с результатами DBSCAN, который мы попробовали далее.
Photograph: Lee Scott / Unsplash
После этого мы попробовали алгоритм OPTICS. Мы обнаружили, что во всех кластеризациях OPTICS образовывался большой плотный кластер. Исследуя эту проблему, мы обнаружили, что подобная есть и у кластеризаций, полученных с помощью DBCSAN. В общем, он давал результаты похожего уровня качества, что и DBSCAN.
Photograph: Lee Scott / Unsplash
Для того, чтобы сравнить эти алгоритмы наилучшим образом, мы перешли к этапу оценки результатов.
Оценка результатов
Добиться идеальной кластеризации очень сложно, да и не всегда возможно оценить, является ли полученная кластеризация таковой. Поэтому мы добивались наилучшего результата. Чтобы результат получился наилучшим расстояние между кластерами должно быть наибольшим, а сами кластеры должны быть плотными.


Быстро оценить расстояния между кластерами и их плотность помогает проекция на оптимальную плоскость. Вы уже неоднократно видели такие проекции на сайте. Плоскость названа оптимальной, так как это одна плоскость в многомерном пространстве, образованном множеством характеристик.
Разумеется, оценка “на глаз” не всегда точна, поэтому мы создали программу для генерации отчёта. Загрузив в эту программу таблицу с признаками учеников и результатами кластеризации, мы получаем множество таблиц - расстояния между кластерами по различными метрикам.

Чтобы видеть различия между кластерами, а также для их дальнейшей интерпретации, мы добавили в отчёт таблицу, со средним значением и отклонением каждой характеристики в кластере.


И отобразили характеристики объектов в кластере на графиках.


Добавили проекции кластеров не только на оптимальную плоскость, но и на плоскости, образованные каждой парой параметров.

Вот так выглядит наш отчёт в итоге.
Photograph: Lee Scott / Unsplash
Благодаря таким отчётам, мы смогли оценивать качество кластеризации значительно быстрее и качественнее, чем раньше, поэтому мы приступили к отбору наилучших алгоритмов кластеризации, признаков и настроек. Были проведены 22 различных кластеризации и сгенерированы отчёты по ним. Каждый из нас, просмотрел эти отчёты и выбрал по 3 лучших из них. В результате такого голосования был составлен рейтинг лучших методов кластеризации.

Оказалось, что все лучшие результаты были получены с помощью алгоритма OPTICS, поэтому дальше мы продолжили работать с ним.
Модели поведения учеников
Кластеризация учеников курса по геометрии на основании успеваемости

Было выделено 3 кластера. Самый крупный из них состоит из учеников, которые не начинали решать большинство задач, совсем не взаимодействовали с продвинутыми модулями и не прошли бо́льшую часть курса. Два кластера поменьше оба состоят из учеников, которые пробовали решать все задачи, и с большинством справились, хорошо решали продвинутые модули. Разница между этими кластерами во времени обучения. Одни занимались в начале курса, другие проявили активность в конце.

Photograph: Lee Scott / Unsplash
Для этой кластеризации использовались характеристики:

  • доля задач, которые ученик не стал решать,
  • среднее время от последней посылки до конца курса,
  • доля закрытых продвинутых модулей ко всем,
  • среднее число попыток на задачу,
  • доля задач с ok ко всем,
  • нерешенные задачи с посылками.
Кластеризация учеников курса по лингвистике на основании интенсивности прохождения модулей

Из всех учеников курса по лингвистике, мы выбрали тех, кто получил зачёт по всем модулям курса и кластеризовали их. Оказалось, что большинство пользователей занимались на курсе довольно равномерно.
Photograph: Lee Scott / Unsplash
Для этой кластеризации использовались характеристики:

  • доля зачтённых модулей в первой трети обучения,
  • доля зачтённых модулей во второй трети обучения,
  • доля зачтённых модулей в третьей трети обучения.
Итоги
  • Выявили различные модели поведения учеников.
  • Определили наиболее подходящие признаки и алгоритмы для кластеризации.
  • Создали программу для генерации отчётов, позволяющих оценивать качество кластеризации и интерпретировать кластеры.

Результаты наших исследований и программные наработки переданы платформе «Сириус.Курсы». Мы надеемся, что в дальнейшем они будут использоваться для реализации персональных рекомендаций.
Команда
  • Михаил Кондрашин
    Придумывал, вычислял и валидировал признаки, реализовывал и запускал кластеризации K-means++ и DbScan, автор программы для генерации системы отчётов
    tg: @misha567889
  • Максим Конюшенко
    Придумывал, вычислял и валидировал признаки, анализировал их на зависимости, реализовал по ним генерацию отчётов
    tg: @maksimkon
  • Артём Волчихин
    Придумывал и валидировал признаки, нашёл и предложил к использованию алгоритм кластеризации Optics, готовил слайды презентаций
    tg: @owbfk
  • Марта Степашкина
    Придумывала, вычисляла и валидировала признаки, реализовала несколько блоков в отчёт по кластеризации, руководила подготовкой презентаций, представляла наш проект на всех мероприятиях
    tg: @s0_0martha
  • Михаил Яриков
    Придумывал и вычислял признаки, научился запускать и настраивать алгоритм кластеризации Optics, готовил этот лендинг
    tg: @MichYar
  • Ольга Большакова
    Наставница
    tg: @obolshakova
  • Александр Садовников
    Наставник
    tg: @alexkanerus
Фото
Направление "Большие данные, искусственный интеллект, финансовые технологии и машинное обучение"
© Большие Вызовы, 2021