Многозначная классификация – переобучение?

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

Моя задача следующая:

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

Как комбинации лекарств, так и симптомы, связанные с почечной недостаточностью, представлены в виде кодированного методом one-hot вектора (например, человек, у которого наблюдаются симптомы 1 и 3 из 4 возможных, представлен как [1,0,1,0]).

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

Loss and Accuracy profile of model performance over epochs

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

После добавления dropout и L2 регуляризации (Baseline Reg), потери на валидации не увеличиваются так сильно, что, кажется, решает проблему переобучения, но точность становится очень нестабильной и в среднем хуже, чем в базовой модели.

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

Заранее спасибо!

Архитектура моделей приведена ниже:

Model: "baseline"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense_6 (Dense)              (884, 800)                603200    
_________________________________________________________________
dense_7 (Dense)              (884, 800)                640800    
_________________________________________________________________
dense_8 (Dense)              (884, 4)                  3204      
=================================================================
Total params: 1,247,204
Trainable params: 1,247,204
Non-trainable params: 0
_________________________________________________________________

Model: "baseline_reg"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense_9 (Dense)              (884, 800)                603200    
_________________________________________________________________
dropout (Dropout)            (884, 800)                0         
_________________________________________________________________
dense_10 (Dense)             (884, 800)                640800    
_________________________________________________________________
dense_11 (Dense)             (884, 4)                  3204      
=================================================================
Total params: 1,247,204
Trainable params: 1,247,204
Non-trainable params: 0
_________________________________________________________________

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

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

Многоэтикеточная классификация и проблема переобучения: анализ и подходы

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

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

С добавлением Dropout и L2-регуляризации в модифицированную модель (Baseline Reg) ситуация с валидационной ошибкой улучшилась, что указывает на снижение переобучения. Тем не менее, точность в целом стала более нестабильной, что может указывать на необходимость дополнительной настройки гиперпараметров регуляризации для нахождения баланса между смещением и разбросом.

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

  1. Альтернативные Метрики: Примените метрики, лучше подходящие для многоэтикеточных задач, такие как F1-мера или метрика точного совпадения, чтобы получить более полное представление о качестве модели.

  2. Улучшение Архитектуры: Может быть полезно исследовать более усложненные архитектуры, такие как сверточные нейронные сети или рекуррентные сети, которые способны лучше улавливать сложные паттерны в данных.

  3. Реализация Дополнительных Техник Регуляризации: Помимо Dropout и L2-регуляризации, рассмотрите использование Batch Normalization или датасетов увеличенного размера для снижения переобучения.

  4. Тонкая Настройка Гиперпараметров: Примените методы поиска, такие как сеточный или случайный поиск, для оптимизации гиперпараметров, включая коэффициенты регуляризации и размер слоя Dropout.

  5. Аугментация Данных: Если возможно, увеличьте количество данных, что поможет модели в обучении на более обширном наборе ситуаций, уменьшив риск переобучения.

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

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

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