Combinar probabilidades de varios modelos de clases múltiples

Aug 18 2020

Digamos que tengo dos modelos de varias clases (A y B) que predicen si un conjunto de entradas pertenece o no a una de las 5 clases. Las predicciones de cada modelo son probabilidades que suman 1. Como ejemplo, imagine lo siguiente:

+---------+---------+---------+--------+
|         | 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    | ?      |
+---------+---------+---------+--------+

¿Cómo haría para combinar estas probabilidades en una sola probabilidad que todavía suma uno?

Respuestas

4 StephanKolassa Aug 18 2020 at 15:25

El enfoque más simple sería simplemente tomar un promedio de las predicciones para cada clase. Puedes usar un peso.

Suponga que el primer modelo da predicciones $p_1, \dots, p_5$ y el segundo da $q_1, \dots, q_5$. Entonces

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

Toma cualquier peso $0<w<1$, defina la predicción combinada por $r_i := wp_i+(1-w)q_i$. Entonces

$$ \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. $$

Entonces, sus predicciones nuevamente suman 1. Esto también funciona para más de dos clasificadores.

Como ponderaciones, puede utilizar el rendimiento anterior de sus dos clasificadores. O tome el promedio no ponderado,$w=\frac{1}{2}$, que con frecuencia es mejor que tratar de estimar pesos "óptimos" ( Claeskens et al., 2016, IJF ).

Alternativamente, puede usar cualquier otro método para combinar sus predicciones y simplemente volver a normalizar los resultados después para sumar 1.