Объедините вероятности нескольких мультиклассовых моделей

Aug 18 2020

Допустим, у меня есть две мультиклассовые модели (A и B), которые предсказывают, принадлежит ли набор входных данных к одному из 5 классов. Прогнозы каждой модели представляют собой вероятности, которые в сумме равны 1. В качестве примера представьте себе следующее:

+---------+---------+---------+--------+
|         | Model A | Model B | Result |
+---------+---------+---------+--------+
| Class 1 | 0.2     | 0.4     | ?      |
+---------+---------+---------+--------+
| Class 2 | 0.3     | 0.3     | ?      |
+---------+---------+---------+--------+
| Class 3 | 0.15    | 0.2     | ?      |
+---------+---------+---------+--------+
| Class 4 | 0.25    | 0.05    | ?      |
+---------+---------+---------+--------+
| Class 5 | 0.1     | 0.05    | ?      |
+---------+---------+---------+--------+

Как я могу объединить эти вероятности в одну вероятность, которая все равно равна единице?

Ответы

4 StephanKolassa Aug 18 2020 at 15:25

Самый простой подход - просто взять среднее значение прогнозов для каждого класса. Вы можете использовать гирю.

Предположим, первая модель дает прогнозы $p_1, \dots, p_5$ а второй дает $q_1, \dots, q_5$. затем

$$\sum_{i=1}^5 p_i=\sum_{i=1}^5 q_i = 1.$$

Взять любой вес $0<w<1$, определите комбинированный прогноз как $r_i := wp_i+(1-w)q_i$. затем

$$ \sum_{i=1}^5 r_i = \sum_{i=1}^5\big(wp_i+(1-w)q_i\big) = w\sum_{i=1}^5 p_i+(1-w)\sum_{i=1}^5 q_i = w+(1-w) = 1. $$

Итак, ваши прогнозы снова составляют 1. Это также работает более чем с двумя классификаторами.

В качестве весов вы можете использовать прошлые показатели ваших двух классификаторов. Или возьмем невзвешенное среднее,$w=\frac{1}{2}$, что часто лучше, чем пытаться оценить «оптимальные» веса ( Claeskens et al., 2016, IJF ).

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