Объедините вероятности нескольких мультиклассовых моделей
Допустим, у меня есть две мультиклассовые модели (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 | ? |
+---------+---------+---------+--------+
Как я могу объединить эти вероятности в одну вероятность, которая все равно равна единице?
Ответы
Самый простой подход - просто взять среднее значение прогнозов для каждого класса. Вы можете использовать гирю.
Предположим, первая модель дает прогнозы $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.