Combinez les probabilités de plusieurs modèles multi-classes
Disons que j'ai deux modèles multi-classes (A et B) qui prédisent si un ensemble d'entrées appartient ou non à l'une des 5 classes. Les prédictions de chaque modèle sont des probabilités totalisant 1. À titre d'exemple, imaginez ce qui suit:
+---------+---------+---------+--------+
| | 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 | ? |
+---------+---------+---------+--------+
Comment pourrais-je combiner ces probabilités en une seule probabilité qui se résume toujours à une?
Réponses
L'approche la plus simple serait de prendre simplement une moyenne des prédictions pour chaque classe. Vous pouvez utiliser un poids.
Supposons que le premier modèle donne des prédictions $p_1, \dots, p_5$ et le second donne $q_1, \dots, q_5$. ensuite
$$\sum_{i=1}^5 p_i=\sum_{i=1}^5 q_i = 1.$$
Prenez n'importe quel poids $0<w<1$, définissez la prédiction combinée par $r_i := wp_i+(1-w)q_i$. ensuite
$$ \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. $$
Ainsi, vos prédictions se résument à nouveau à 1. Cela fonctionne également pour plus de deux classificateurs.
En tant que pondérations, vous pouvez utiliser les performances passées de vos deux classificateurs. Ou prenez la moyenne non pondérée,$w=\frac{1}{2}$, ce qui est souvent mieux que d'essayer d'estimer des poids «optimaux» ( Claeskens et al., 2016, IJF ).
Vous pouvez également utiliser toute autre méthode pour combiner vos prédictions et simplement renormaliser les résultats par la suite pour les additionner à 1.