Combine as probabilidades de vários modelos multiclasse
Digamos que eu tenha dois modelos multiclasse (A e B) que estão prevendo se um conjunto de entradas pertence ou não a uma das 5 classes. As previsões de cada modelo são probabilidades que somam 1. Como exemplo, imagine o seguinte:
+---------+---------+---------+--------+
| | 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 | ? |
+---------+---------+---------+--------+
Como eu faria para combinar essas probabilidades em uma única probabilidade que ainda soma um?
Respostas
A abordagem mais simples seria apenas obter uma média das previsões para cada classe. Você pode usar um peso.
Suponha que o primeiro modelo forneça previsões $p_1, \dots, p_5$ e o segundo dá $q_1, \dots, q_5$. Então
$$\sum_{i=1}^5 p_i=\sum_{i=1}^5 q_i = 1.$$
Pegue qualquer peso $0<w<1$, defina a predição combinada por $r_i := wp_i+(1-w)q_i$. Então
$$ \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. $$
Portanto, suas previsões somam novamente 1. Isso também funciona para mais de dois classificadores.
Como pesos, você pode usar o desempenho anterior de seus dois classificadores. Ou pegue a média não ponderada,$w=\frac{1}{2}$, o que frequentemente é melhor do que tentar estimar pesos "ótimos" ( Claeskens et al., 2016, IJF ).
Como alternativa, você pode usar qualquer outro método para combinar suas previsões e apenas renormalizar os resultados depois para somar 1.