Соотношение кривых ROC со статистикой классов

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

У меня есть три модели нейронных сетей, которые я запускаю на одном и том же наборе данных (из 7 классов) и вычисляю их производительность по классам, а также ROC-кривые. Первая модель — это 4-слойная модель с 8 нейронами в каждом слое, вторая — 3-слойная сеть из 32 узлов в каждом слое, а последняя — двухслойная сеть из 64 узлов в каждом слое. Статистика по классам и ROC-кривые для каждой сети показаны ниже:

Сеть 4×8:

              precision    recall  f1-score   support
         0.0      0.999     1.000     1.000     86582
         1.0      0.688     0.494     0.575      1732
         2.0      0.490     0.266     0.345       267
         3.0      0.929     0.955     0.942      8878
         4.0      0.000     0.000     0.000        70
         5.0      0.155     0.726     0.256       117
         6.0      0.740     0.520     0.611       148

    accuracy                          0.983     97794
   macro avg      0.572     0.566     0.533     97794
weighted avg      0.984     0.983     0.983     97794

enter image description here

Сеть 3×32:

              precision    recall  f1-score   support  
         0.0      0.999     1.000     0.999     86582
         1.0      0.690     0.622     0.654      1732
         2.0      0.547     0.367     0.439       267
         3.0      0.929     0.960     0.944      8878
         4.0      0.000     0.000     0.000        70
         5.0      0.330     0.325     0.328       117
         6.0      0.667     0.338     0.448       148

    accuracy                          0.985     97794
   macro avg      0.595     0.516     0.545     97794
weighted avg      0.984     0.985     0.984     97794

enter image description here

Сеть 2×64:

              precision    recall  f1-score   support
         0.0      0.999     1.000     0.999     86582
         1.0      0.689     0.641     0.664      1732
         2.0      0.411     0.139     0.207       267
         3.0      0.932     0.957     0.944      8878
         4.0      0.000     0.000     0.000        70
         5.0      0.241     0.453     0.315       117
         6.0      0.800     0.378     0.514       148

    accuracy                          0.985     97794
   macro avg      0.582     0.510     0.520     97794
weighted avg      0.984     0.985     0.984     97794

enter image description here

Смотрев на ROC-графики, я делаю вывод, что сеть 2×64 превосходит во всех классах по сравнению с двумя другими, но из таблиц и учитывая статистику F1, я предпочитаю сеть 3×32, так как она имеет лучшую производительность в большинстве классов. Значения AUC почти всегда равны 1 для всех классов, кроме класса 4 в сети 3×32, что мне не понятно, учитывая высокий диапазон полученных значений precision и recall (также класс 4 имеет нулевую точность и полноту во всех моделях). Вкратце, я нахожу статистику F1 гораздо более понятной, чем ROC, и не могу связать эти две концепции вместе, но я думаю, что должно быть единое объяснение.

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

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

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

AUC против F1:

В общем, ROC предназначена для различных уровней порогов, и, таким образом, у нее много значений F-оценки. F1-оценка применима для любого конкретного момента на ROC-кривой.

Вы можете рассматривать это как меру точности и полноты при конкретном значении порога, в то время как AUC — это площадь под ROC-кривой. Для того чтобы F-оценка была высокой, и точность, и полнота должны быть высокими.

Следовательно, когда у вас есть дисбаланс данных между положительными и отрицательными образцами, всегда следует использовать F1-оценку, так как ROC усредняет по всем возможным порогам.

Заключение:

Так что в вашем конкретном случае, учитывая, что я могу четко видеть по значениям точности и полноты, что ваши классы сильно несбалансированы, используйте F1-оценку для выбора модели вместо AUC-ROC-оценки.

.

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

Связь ROC-кривых и статистики классов: Анализ показателей нейронных сетей

Ваш запрос касается взаимосвязи ROC-кривых и статистики классов при сравнении производительности трех нейронных сетей, каждая из которых обучается на одном и том же наборе данных, содержащем 7 классов. Эти модели различаются архитектурой: 4 слоя по 8 нейронов, 3 слоя по 32 нейрона и 2 слоя по 64 нейрона. Давайте проведем детальный анализ представленных данных и дадим рекомендации по выбору метрики оценки производительности.

Описание моделей и их результатов

4×8 Модель:

  • Модель показала высокий уровень точности для класса 0.0, однако другие классы имеют заметные проблемы с точностью и полнотой.
  • Как следствие, средневзвешенная точность 0.984 и макро-средняя оценка F1 — 0.533.

3×32 Модель:

  • Здесь наблюдается некоторая улучшенная производительность по сравнению с первой моделью, особенно для класса 1.0.
  • Средневзвешенная точность равна 0.984, а макро-средняя оценка F1 немного выше — 0.545.

2×64 Модель:

  • Показывает лучшую производительность в классе 1.0 и улучшенную точность в некоторых других классах по сравнению с предыдущими моделями.
  • Средневзвешенная точность также составляет 0.984, с макро-средней оценкой F1 на уровне 0.520.

Анализ ROC-кривых и AUC

ROC-кривые работают путем построения графиков зависимости истинно положительных и ложноположительных частот для различных порогов. Значение площади под кривой (AUC) часто близко к 1 для всех классов, кроме класса 4, что вызывает сомнения.

Сравнение F1 и AUC

  • F1-Score: Это усредненная гармоническая мера между точностью и полнотой. Это особенно полезно при наличии дисбаланса классов, что как раз видно на вашем наборе данных.
  • AUC-ROC: Это усредненная оценка по всем порогам, предоставляющая общую картину чувствительности и специфичности модели.

Рекомендации

  1. Выбор метрики: Учитывая дисбаланс классов, F1-Score предоставит более адекватную оценку качества модели. Посмотрев на ваши данные, можно сделать вывод, что F1-Score предоставляет более прозрачную интерпретацию производительности модели, особенно для второстепенных классов.

  2. Оценка модели 3×32: С учетом F1-показателей, данная модель показывает лучшую производительность для большего числа классов, чем другие архитектуры.

  3. Использование ROC-кривых: Пользуйтесь ими для понимания общей динамики вашей модели, но не используйте их как единственное основание для окончательного выбора модели в условиях дисбаланса классов.

В заключение, F1-Score лучше подходит для оценки ваших моделей, учитывая имеющийся дисбаланс классов. Набор данных и его характеристики требуют более гибкого подхода к выбору метрики, чем автосследование AUC.

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

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