Combina le probabilità di diversi modelli multi-classe

Aug 18 2020

Diciamo che ho due modelli multi-classe (A e B) che prevedono se un insieme di input appartiene o meno a una delle 5 classi. Le previsioni di ogni modello sono probabilità che si sommano a 1. Come esempio, immagina quanto segue:

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

Come potrei combinare queste probabilità in una singola probabilità che ancora somma a una?

Risposte

4 StephanKolassa Aug 18 2020 at 15:25

L'approccio più semplice sarebbe prendere solo una media delle previsioni per ogni classe. Puoi usare un peso.

Supponiamo che il primo modello fornisca previsioni $p_1, \dots, p_5$ e il secondo dà $q_1, \dots, q_5$. Poi

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

Prendi qualsiasi peso $0<w<1$, definire la previsione combinata di $r_i := wp_i+(1-w)q_i$. Poi

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

Quindi le tue previsioni si sommano di nuovo a 1. Questo funziona anche per più di due classificatori.

Come pesi, potresti utilizzare il rendimento passato delle tue due categorie di classificazione. Oppure prendi la media non ponderata,$w=\frac{1}{2}$, che spesso è meglio che cercare di stimare pesi "ottimali" ( Claeskens et al., 2016, IJF ).

In alternativa, puoi utilizzare qualsiasi altro metodo per combinare le tue previsioni e rinormalizzare i risultati in seguito per sommarli a 1.