Что должно содержаться в обучающем датасете для обучения с кросс-энтропией?
Answer from AI
sobes.tech AI
Что хотят услышать интервьюеры:
Для обучения с кросс-энтропией в датасете должны быть входные признаки и корректные целевые метки классов. Метки должны однозначно соответствовать нужному классу и быть в формате, который ожидает конкретная реализация функции потерь. Важно также, чтобы данные были размечены последовательно и без сильного шума, иначе кросс-энтропия будет оптимизировать неправильные цели.
Определение:
Кросс-энтропия — это функция потерь для задач классификации, которая сравнивает предсказанное моделью распределение вероятностей с истинной разметкой. Поэтому обучающий датасет должен содержать не только сами объекты, но и правильные ответы: для каждого примера — класс в виде индекса, one-hot-вектора или распределения вероятностей, в зависимости от постановки и фреймворка.
Пример использования:
Например, в задаче классификации писем на «спам» и «не спам» датасет содержит текст письма и метку класса. Для бинарной классификации метка обычно задаётся как 0 или 1, а модель учится выдавать вероятность одного из классов.
# Пример структуры данных для бинарной классификации
X = [
"Скидка 90% только сегодня",
"Встреча перенесена на завтра",
"Вы выиграли приз"
]
y = [
1, # спам
0, # не спам
1 # спам
]
Если используется многоклассовая классификация, то для каждого объекта нужна метка одного из классов, а затем она преобразуется в нужный формат, например в индекс класса или one-hot.
Пояснение кода:
В примере выше X — это входные данные, а y — правильные ответы для обучения. Модель по каждому тексту должна предсказать вероятность принадлежности к классу «спам», а функция кросс-энтропии сравнивает это предсказание с истинной меткой. Чем ближе предсказанная вероятность к правильному классу, тем меньше значение потерь.
Если бы задачу решали в многоклассовом варианте, структура была бы похожей, но метка могла бы храниться как индекс класса:
X = ["кот", "собака", "машина"]
y = [0, 1, 2] # индексы классов
Тогда кросс-энтропия работает с предсказанным распределением по классам и штрафует модель, если вероятность нужного класса мала.
Ключевые моменты:
- В датасете должны быть и признаки, и правильные целевые метки.
- Формат меток зависит от задачи и реализации: индекс класса, one-hot или распределение.
- Для кросс-энтропии важно, чтобы метки были корректными и согласованными по всему датасету.
- Шумная или ошибочная разметка напрямую ухудшает обучение.
- Для бинарной и многоклассовой классификации требования к формату таргета могут отличаться.