Перекрестная энтропийная потеря — это функция потерь, которая говорит вам, насколько плохо ваша модель машинного обучения или глубокого обучения классифицирует вещи. Он сравнивает вероятности, которые ваша модель присваивает различным категориям, таким как кошки и собаки, с фактическими вероятностями, которые вы хотите, чтобы ваша модель изучала.
Чтобы лучше понять кросс-энтропийные потери, давайте сначала рассмотрим концепцию энтропии.
Энтропия – это мера неопределенности в распределении вероятностей. Распределение вероятностей с высокой энтропией более неопределенно, а распределение с низкой энтропией более достоверно.
Кросс-энтропия измеряет разницу между двумя распределениями вероятностей.
Теперь давайте рассмотрим пример из реальной жизни. Представьте, что у вас есть сумка, наполненная разноцветными шариками: красными, синими и зелеными. Вы хотите построить модель машинного обучения, которая может предсказать цвет мяча, взятого из мешка. Истинное распределение вероятности для шаров выглядит следующим образом:
- Красный: 50%
- Синий: 30%
- Зеленый: 20%
Допустим, ваша модель предсказывает следующее распределение вероятностей для цветов:
- Красный: 60%
- Синий: 25%
- Зеленый: 15%
Функция кросс-энтропийных потерь измеряет разницу между истинным распределением вероятностей и предсказанным распределением вероятностей. В этом случае кросс-энтропийные потери будут выше, поскольку прогнозируемое распределение значительно отличается от истинного распределения.
Математически функция кросс-энтропийных потерь может быть определена как:
Cross-Entropy = L(y, t) = -∑(t_i * ln(y_i))
Где y
— прогнозируемое распределение вероятностей, t
— истинное распределение вероятностей, а суммирование проводится по всем классам или категориям.
Давайте возьмем реальную задачу классификации и посмотрим, как эта функция может работать -
У вас есть модель машинного обучения, которая классифицирует изображения кошек, собак и лошадей. Целевой вектор t
для изображения собаки будет [0, 1, 0]
, где 1
указывает правильную категорию (собака). Предположим, что выходные вероятности модели для этого изображения равны [0.4, 0.4, 0.2]
. Перекрестная энтропийная потеря для этого изображения будет:
[L(y, t) = — (0 \times \ln 0,4) — (1 \times \ln 0,4) — (0 \times \ln 0,2) = 0,92]
В этом примере потеря перекрестной энтропии, равная 0,92, указывает на то, что модель не очень уверена в своем прогнозе, поскольку она присваивает 40%-ную вероятность обеим категориям кошек и собак. Если бы модель была более точной, потери перекрестной энтропии были бы ниже. Например, если выходные вероятности модели для изображения лошади были [0.1, 0.2, 0.7]
, а истинный целевой вектор был [0, 0, 1]
, потеря кросс-энтропии была бы:
[L(y, t) = — (0 \times \ln 0,1) — (0 \times \ln 0,2) — (1 \times \ln 0,7) = 0,36]
Эта более низкая кросс-энтропийная потеря указывает на то, что модель более уверена в своем прогнозе, присваивая правильную категорию (лошадь) с вероятностью 70%.
Потеря кросс-энтропии часто используется в сочетании с функцией активации Softmax, которая преобразует выходные данные модели в распределение вероятностей. При использовании в качестве функции потерь для задач классификации кросс-энтропийные потери и логарифмические потери рассчитывают одно и то же количество и могут использоваться
Он широко используется в машинном обучении и глубоком обучении для задач классификации и играет решающую роль в повышении точности моделей.