Fonctions de coût par rapport aux mesures d’évaluation
Dans les quelques dernières unités, nous avons commencé à voir une division dans les fonctions de coût, qui entraînent le modèle, et les métriques d’évaluation, qui est la façon dont nous évaluons nous-mêmes le modèle.
Toutes les fonctions de coût peuvent être des mesures d’évaluation
Toutes les fonctions de coût peuvent être des mesures d’évaluation, mais pas nécessairement intuitives. Perte logarithmique, par exemple : les valeurs ne sont pas intuitives.
Certaines métriques d’évaluation ne peuvent pas être des fonctions de coût
- Il est difficile pour certaines métriques d’évaluation de devenir des fonctions de coût.
- Ceci est dû à des contraintes pratiques et mathématiques.
- Parfois, les choses ne sont pas faciles à calculer (par exemple « à quel point un objet ressemble à un chien »)
- Les fonctions de coût sont parfaitement lissées. Par exemple, la justesse est utile, mais si nous modifions légèrement notre modèle, cela ne se remarquera pas. Étant donné que l’ajustement est une procédure avec un grand nombre de petites modifications, cela donne l’impression que les modifications n’entraînent pas d’amélioration.
- Graphique de fonction de coût avec beaucoup d’éléments plats
- Actualisez les courbes ROC à partir de la version antérieure. Cela nécessite la modification du seuil pour toutes sortes de valeurs, mais à la fin de la journée, notre modèle aura seulement un seuil de 0,5
Ce n’est pas si mauvais.
Il peut être frustrant de constater que nous ne pouvons pas utiliser les mesures favorites comme fonction de coût. Il y a cependant un avantage qui est lié au fait que toutes les métriques sont des simplifications de ce que nous souhaitons atteindre : aucune n’est parfaite. Cela signifie que les modèles complexes « trichent » souvent : ils trouvent un moyen d’obtenir des coûts réduits sans réellement trouver une règle générale qui résout notre problème. Le fait d’avoir une métrique qui n’agit pas comme la fonction de coût nous donne un « contrôle de validité » indiquant que le modèle n’a pas trouvé de moyen de tricher. Si nous savons qu’un modèle prend des raccourcis, nous pouvons repenser notre stratégie d’entraînement.
Jusqu’à présent, nous avons vu cette « triche » quelques fois. Par exemple, quand les modèles dépassent fortement les données d’entraînement, ils mémorisent essentiellement les bonnes réponses au lieu de trouver une règle générale que nous pouvons appliquer avec succès à d’autres données. Nous utilisons les jeux de données de test comme « vérification de la validité » pour vérifier que le modèle n’a pas fait cela. Nous avons également vu qu’avec des données déséquilibrées, les modèles peuvent parfois simplement apprendre à toujours fournir la même réponse (par exemple « False ») sans avoir à examiner les caractéristiques, car en moyenne, ceci est correct et donne une petite erreur.
Les modèles complexes recherchent également des raccourcis d’autres façons. Les modèles complexes peuvent parfois dépasser la fonction de coût proprement dite. Par exemple, imaginez que nous essayons de créer un modèle capable de dessiner des chiens. Nous disposons d’une fonction de coût qui vérifie que l’image est brune, montre une texture à fourrure et contient un objet de la taille appropriée. Avec cette fonction de coût, un modèle complexe peut apprendre à créer une boule de poils bruns, pas parce qu’il ressemble à un chien, mais parce qu’il offre un coût faible et est facile à générer. Si nous avons une métrique externe qui compte le nombre de jambes et de têtes (qui ne peut pas être facilement utilisé comme fonction de coût, car il ne s’agit pas de métriques lisses), nous verrons rapidement si notre modèle triche et nous allons réfléchir à la façon dont nous l’entraînons. En revanche, si notre autre mesure est bien précise, nous pouvons avoir la certitude que le modèle a saisi l’idée de ce à quoi un chien devrait ressembler, au lieu de simplement tromper la fonction de coût pour obtenir une valeur faible.