Микро- и макро-средние (для любой метрики) будут вычислять несколько разные вещи, и, следовательно, их интерпретация будет разной. Макро-среднее вычислит метрику независимо для каждого класса, а затем возьмет среднее (следовательно, будет обрабатывать все классы одинаково), тогда как микро-среднее будет агрегировать вклады всех классов для вычисления средней метрики. В мультиклассовой классификации предпочтение отдается микро-среднему, если вы подозреваете, что может быть дисбаланс классов (т.е. у вас может быть гораздо больше примеров одного класса, чем других классов).
Чтобы проиллюстрировать почему, возьмем, например, точность . Давайте представим, что у вас естьсистема классификации нескольких классовOne-vs-All(в каждом примере только один правильный класс) с четырьмя классами и следующими числами при тестировании:пг = тп( Тп+ Fп)
- Класс A: 1 TP и 1 FP
- Класс B: 10 TP и 90 FP
- Класс C: 1 TP и 1 FP
- Класс D: 1 TP и 1 FP
Вы можете легко видеть, что , тогда как P r B = 0,1 .прA= PрС= PрD= 0,5прВ= 0,1
- Затем будет вычислено среднее среднее значение: пr = 0,5 + 0,1 + 0,5 + 0,54= 0,4
- Микро-среднее рассчитает: пг = 1 + 10 + 1 + 12 + 100 + 2 + 2= 0,123
Это совершенно разные значения точности. Интуитивно понятно, что в макро-среднем «хорошая» точность (0,5) классов A, C и D способствует поддержанию «достойной» общей точности (0,4). Хотя это технически верно (для разных классов средняя точность равна 0,4), это немного вводит в заблуждение, поскольку большое количество примеров не классифицировано должным образом. Эти примеры в основном соответствуют классу B, поэтому они дают только 1/4 от среднего значения, несмотря на то, что они составляют 94,3% ваших тестовых данных. Микро-среднее адекватно улавливает этот дисбаланс класса и снизит общее среднее значение точности до 0,123 (что больше соответствует точности доминирующего класса B (0,1)).
По вычислительным причинам иногда может быть удобнее вычислять средние значения классов, а затем их усреднять на макроуровне. Если дисбаланс классов, как известно, является проблемой, есть несколько способов обойти это. Одним из них является отчет не только о среднем среднем, но и о его стандартном отклонении (для 3 или более классов). Другой способ состоит в том, чтобы вычислить взвешенное макро-среднее значение, при котором вклад каждого класса в среднее значение взвешивается по относительному числу доступных для него примеров. В приведенном выше сценарии мы получаем:
прм а с г O - м е н= 0,25 ⋅ 0,5 + 0,25 ⋅ 0,1 + 0,25 ⋅ 0,5 + 0,25 ⋅ 0,5 = 0,4
прм а к р о - с т де v= 0,173
прм а с г O - ш е я гч т д д= 0,0189 ⋅ 0,5 + 0,943 ⋅ 0,1 + 0,0189 ⋅ 0,5 + 0,0189 ⋅ 0,5= 0,009 + 0,094 + 0,009 + 0,009 = 0,123
Большое стандартное отклонение (0,173) уже говорит нам о том, что среднее значение 0,4 не вытекает из одинаковой точности среди классов, но может быть просто легче вычислить взвешенное макро-среднее значение, которое по сути является еще одним способом вычисления микро-среднего значения. ,