Как взвесить несбалансированные мягкие метки?

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

Цель — это вероятность между N классами, я не хочу, чтобы она предсказывала класс с наивысшей вероятностью, а ‘фактическую’ вероятность для каждого класса.

Например:

|    | Класс 1 | Класс 2 | Класс 3 |
------------------------------------
|  1 |     0.9 |    0.05 |    0.05 |
|  2 |     0.2 |     0.8 |       0 |
|  3 |     0.3 |     0.3 |     0.4 |
|  4 |     0.7 |       0 |     0.3 |
------------------------------------
|  + |     2.1 |    1.15 |    0.75 | <- как исправить этот дисбаланс?
| >0 |       4 |       3 |       3 | <- или этот?

Некоторые классы имеют ‘больше’ образцов в том смысле, что сумма вероятностей выше, чем у других классов. Должен ли я компенсировать это с помощью весов в функции потерь? Или я должен только исправить дисбаланс в >0, как обычно?

Если у вас несбалансированные классы (например, если у вас 3 класса и 100 примеров класса 1, 1000 примеров класса 2 и 5000 примеров класса 3), то да, я бы взвесил функцию потерь (я бы использовал взвешенную категориальную кросс-энтропию).

Если вы имеете в виду, что некоторые классы имеют более высокую вероятность, чем другие, то это нормальное и ожидаемое поведение. Например, если вы решаете задачу классификации с 10 классами, как на MNIST, и вы пытаетесь предсказать данное изображение, если изображение имеет закругленные участки, то гораздо более вероятно, что это 3 или 8, чем 1.

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

Как взвесить несбалансированные мягкие метки?

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

Проблема несбалансированных классов

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

|    | Class 1 | Class 2 | Class 3 |
------------------------------------
|  1 |     0.9 |    0.05 |    0.05 |
|  2 |     0.2 |     0.8 |       0 |
|  3 |     0.3 |     0.3 |     0.4 |
|  4 |     0.7 |       0 |     0.3 |
------------------------------------
|  + |     2.1 |    1.15 |    0.75 |
| &gt;0 |       4 |       3 |       3 | 

Из таблицы видно, что сумма вероятностей для различных классов не равномерна. Например, класс 1 имеет значительно больший вес в обучающем наборе (сумма вероятностей 2.1), в то время как класс 3 имеет всего 0.75.

Необходимость и способы взвешивания

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

  1. Использование весов в функции потерь: Используйте метод взвешенной кросс-энтропии, где каждый класс будет иметь соответствующий вес, основанный на его количестве экземпляров. Для выполнения этого шага можно применять формулу:
    [
    \text{Weighted Loss} = -\sum_{i=1}^{N} w_i \cdot y_i \cdot \log(\hat{y_i})
    ]
    где (w_i) — вес класса, (y_i) — истинные метки, и (\hat{y_i}) — предсказанные вероятности.

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

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

Вывод

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

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

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

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

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