Наиболее естественный класс моделей машинного обучения для групповых данных/данных о расе

Вопрос или проблема

У меня есть набор данных о результатах студентов на экзаменах, который выглядит следующим образом:

Class_ID   Class_size   Student_Number   IQ   Hours   Score   Top
1          3            3                101  10      98      1
1          3            4                99   19      80      0
1          3            6                130  3       95      0
2          5            4                93   5       50      0
2          5            5                103  9       88      0
2          5            8                112  12      99      0
2          5            1                200  10      100     1
2          5            2                90   19      78      0
3          2            5                100  12      84      0
3          2            7                102  13      88      1

И я хотел бы построить модель машинного обучения, пытаясь предсказать, кто будет лучшим в классе (то есть студент с наивысшим Score) для любого заданного Class_ID, используя IQ и Hours (количество отработанных часов) в качестве признаков.

Другими словами, входными данными являются IQ и Hours для каждого студента (скажем, от 1 до n) в классе, а выходными данными является вектор вероятностей (p_1, …, p_n), где каждая p_i — это вероятность того, что студент i имеет наибольший результат в классе.

Вот что я пробовал:

  1. Самый наивный подход – использовать регрессию на Score, а затем определить, кто будет иметь наивысший результат в классе. Проблема с этим подходом заключается в том, что он не дает вероятность того, кто, скорее всего, получит самый высокий результат в любом заданном классе.

  2. Поскольку это задача ранжирования, естественным классом моделей обучения будет использование XGBRanker в XGBoost или LGBMRanker в lightgbm. К сожалению, выходными данными является список relevance score вместо списка вероятностей, который не имеет естественной интерпретации в терминах вероятности.

Одним очевидным способом решить эту проблему является применение softmax к relevance score в xgboost, но у этого нет прямой значимой вероятностной интерпретации, как в энергетических моделях, таких как функция энергии RBM. На самом деле, я пробовал это сделать, и вероятности становятся очень экстремальными (большая часть вероятности сосредоточена на одном студенте для каждого класса, что дает плохой результат теста с высокой дисперсией).

  1. Другой класс моделей обучения – это модели классификации, такие как логистическая регрессия/деревья решений на Top. Однако с этим подходом есть две основные проблемы.

Первая проблема заключается в том, что рассматривать каждого студента как обучающий пример не является хорошим подходом, поскольку, например, в одном классе могут быть два очень умных (высокий IQ) и трудолюбивых (высокий Hours) студента, и если таких студентов будет много в разных классах, традиционные модели, такие как логистические/деревообрабатывающие модели, могут испытывать трудности с обучением.

Чтобы обойти указанную проблему, рассматривая отдельного студента как обучающий пример, мы можем рассматривать каждый класс как обучающий пример. Для этого мы “сплющиваем” наш набор данных и выполняем многоклассовую классификацию на Top:

Class_ID Class_size IQ_1 IQ_2 IQ_3 IQ_4 IQ_5 Hours_1 Hours_2 Hours_3 Hours_4 Hours_5 Score_1 Score_2 Score_3 Score_4 Score_5  Top
1        3          101  99   130  NaN  NaN  10      19      3       NaN     NaN     98      80      95      NaN     NaN      3     
2        5          93   103  112  200  90   5       9       12      10      19      50      88      99      100     78       1
3        2          100  102  NaN  NaN  NaN  12      13      NaN     NaN     NaN     84      88      NaN     NaN     NaN      7

Проблема с этим подходом заключается в том, что количество студентов в каждом классе различно, и, следовательно, матрица признаков становится очень разреженной (так как число студентов в разных классах может сильно различаться).

Поэтому логистическая модель/обычная сеть прямого распространения/модель на основе деревьев не кажется естественной для таких групповых данных.

Так что мой вопрос: существует ли какой-либо естественный класс моделей машинного обучения для работы с этими “групповыми данными”, как в наборе данных, который я указал выше?

Также в этой задаче меня интересует только тот, кто в итоге окажется на вершине класса (или, возможно, топ-3), поэтому ранжирование не так уж и важно (например, знать, что студент 4 занимает 11-е место, а студент 8 — 12-е, не имеет большого значения).

Заранее большое спасибо.

Ответ или решение

Модели машинного обучения для анализа групповых данных о студентах

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

1. Иерархические модели или модели смешанной линейной регрессии

Иерархические модели (или модели смешанной линейной регрессии) могут быть весьма эффективными для анализа данных, сопоставленных по группам (в данном случае, классы студентов). Эти модели позволяют вам учитывать вариации на разных уровнях (например, студенты внутри классов).

Преимущества:

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

Недостатки:

  • Сложность реализации и интерпретации таких моделей может потребовать дополнительных усилий.

2. Модели надгрупповой выборки (Group-Level Sampling Models)

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

Преимущества:

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

Недостатки:

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

3. Модели на основе рангов (Ranking Models)

Несмотря на то, что вы упомянули использование XGBRanker и LGBMRanker, которые не дают вероятностных выходов, можно рассмотреть адаптацию этих моделей для вашей задачи.

Преобразование результатов:
Как вы правильно заметили, после получения рангов можно применить метод softmax для нормализации выходов. Важно правильно настроить увольнение (т.е. гиперпараметры), чтобы избежать чрезмерной концентрации вероятностей на одном студенте.

Преимущества:

  • Позволяет учитывать порядок и относительные оценки студентов.
  • Объединяет идеи из ранжирования и вероятностного классифицирования.

Недостатки:

  • Потребуются дополнительные шаги для округления вероятностей и упрощения их интерпретации.

4. Модели на основе нейронных сетей

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

Применение:
Использование модели, которая может учитывать связь между студентами в одном классе (например, применяя LSTM или Graph Neural Networks), может стать успешным подходом.

Преимущества:

  • Модели хороши в выявлении сложных взаимосвязей.
  • Повышенная гибкость при обработке различных форматов данных.

Недостатки:

  • Высокие вычислительные затраты и требования к обучению.

Заключение

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

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

Оцените материал
Добавить комментарий

Капча загружается...