Fruit des recherches d'IBM et inspiré par la sélection naturelle en biologie, le machine learning en continu est disponible pour le noeud Classificateur automatique et Numérisation automatique.
L'inconvénient de la modélisation est que les modèles deviennent obsolètes en raison de l'évolution de vos données au fil du temps. Ce phénomène est appelé dérive des modèles ou dérive conceptuelle. Pour éviter cette dérive, SPSS Modeler offre une fonction de machine learning automatique en continu.
Qu'est-ce que la dérive des modèles ? Un modèle construit sur des données historiques peut devenir stagnant. Le plus souvent, de nouvelles données ne cessent d'arriver, qu'il s'agisse de nouvelles variations, de nouveaux modèles ou de nouvelles tendances, et celles-ci ne sont pas capturées par les anciennes données historiques. Pour résoudre ce problème, IBM s'est inspiré du célèbre phénomène en biologie appelé la sélection naturelle des espèces. Selon ce point de vue, les modèles sont assimilés aux espèces et les données à la nature. Tout comme la nature sélectionne les espèces, nous devons laisser les données sélectionner le modèle. Il y a une grande différence entre les modèles et les espèces: les espèces peuvent évoluer, mais les modèles sont statiques après leur construction.
L'évolution des espèces n'est possible qu'à deux conditions : la première est la mutation des gènes et la seconde est la population. Du point de vue de la modélisation, pour que la première condition (mutation des gènes) soit remplie, il faut introduire de nouvelles modifications de données dans le modèle existant. Pour satisfaire la deuxième condition (population), il faut utiliser plusieurs modèles et non un seul. Comment peut-on représenter plusieurs modèles ? Par le biais d'un EMS (Ensemble Model Set) !
La figure suivante illustre l'évolution possible d'un EMS. Dans la partie supérieure gauche de la figure, les données historiques sont représentées avec des partitions hybrides. Ce sont ces dernières qui enrichissent l'EMS initial. Dans la partie supérieure droite de la figure, un nouveau bloc de données disponible est représenté avec des barres verticales de chaque côté. La barre verticale de gauche représente l'état actuel, et la barre de droite représente un état pour lequel il existe un risque de dérive des modèles. A chaque nouveau cycle de machine learning en continu, deux étapes sont mises en oeuvre pour faire évoluer le modèle et éviter toute dérive.
La première est l'élaboration d'un EMS en utilisant les données d'apprentissage existantes. D'autres modèles sont ensuite créés à partir des nouveaux blocs de données disponibles et ajoutés en tant que composants à l'EMS. La pondération des modèles de composants de l'EMS est réévaluée en utilisant les nouvelles données. A l'issue de cette réévaluation, les modèles de composants ayant une pondération élevée sont sélectionnés pour la prévision actuelle, et ceux dont la pondération est plus faible sont supprimés de l'EMS. Ce dernier est ainsi actualisé, en termes de pondérations et d'instances de modèle, ce qui permet de faire face de manière souple et efficace aux inévitables changements dans les données au fil du temps.
L'EMS (Ensemble Model Set) est un nugget de modèle généré automatiquement qui est lié au noeud de modélisation automatique par le biais d'un lien d'actualisation définissant leur relation d'actualisation. Lorsque vous activez le machine learning automatique continu, de nouveaux actifs de données alimentent sans cesse les noeuds de modélisation automatique dans le but de générer de nouveaux modèles de composants. Le nugget de modèle est mis à jour et non pas remplacé.
La figure suivante présente un exemple de la structure interne d'un EMS dans un scénario de machine learning automatique en continu. Seuls les trois premiers modèles de composants sont sélectionnés pour la prévision en cours. Pour chaque modèle de composant (M1, M2 et M3), deux types de pondération sont pris en compte. La pondération CMW (Current Model Weight) décrit les performances d'un modèle de composant face à un nouveau bloc de données, et la pondération AMW (Accumulated Model Weight) décrit les performances globales d'un modèle de composant face aux blocs de données récents. La pondération AMW est calculée de manière interactive via la pondération CMW et ses propres valeurs précédentes, un hyperparamètre bêta assurant l'équilibre entre elles. La formule de calcul de la pondération AMW est appelée moyenne mobile exponentielle.
Dès qu'un nouveau bloc de données est disponible, SPSS Modeler l'utilise pour générer de nouveaux modèles de composants. Dans le présent exemple, le modèle quatre (M4) est généré avec les pondérations CMW et AMW qui ont été calculées au cours du processus de génération du modèle initial. SPSS Modeler utilise ensuite le nouveau bloc de données pour réévaluer les mesures des modèles de composants existants (M1, M2 et M3) et mettre à jour leurs pondérations CMW et AMW en fonction des résultats de la réévaluation. Enfin, SPSS Modeler peut réorganiser les modèles de composants en fonction de la pondération CMW ou AMW et sélectionner les trois premiers.
Dans cette figure, la pondération CMW est décrite en utilisant la valeur normalisée (sum = 1) et la pondération AMW est calculée en fonction de CMW. Dans SPSS Modeler, la valeur absolue (égale à la mesure pondérée pour l'évaluation sélectionnée - précision, par exemple) est choisie dans un souci de simplicité pour représenter les pondérations CMW et AMW.
- La pondération CMW (Current Model Weight) est calculée par évaluation par rapport au nouveau bloc de données (par exemple, la précision de l'évaluation sur le nouveau bloc de données).
- La pondération AMW (Accumulated Model Weight) est calculée en combinant la pondération CMW et la pondération AMW existante (via la moyenne mobile pondérée de manière exponentielle - EWMA, par exemple).
Formule de la moyenne mobile exponentielle pour le calcul de la pondération AMW :
Dans SPSS Modeler, après l'exécution d'un noeud Classificateur automatique pour générer un nugget de modèle, les options de modèle suivantes sont disponibles pour le machine learning en continu :
- Activer le machine learning automatique en continu lors de l'actualisation du modèle. Sélectionnez cette option pour activer le machine learning en continu. N'oubliez pas que des métadonnées cohérentes (modèle de données) doivent être utilisées pour former le modèle automatique en continu. Si vous sélectionnez cette option, d'autres options sont activées.
- Activer la réévaluation automatique des pondérations de modèle. Cette option contrôle si les mesures d'évaluation (précision, par exemple) sont calculées et mises à jour au cours de l'actualisation des modèles. Si vous sélectionnez cette option, un processus d'évaluation automatique est exécuté après l'EMS (au cours de l'actualisation des modèles). Il est en effet généralement nécessaire de réévaluer les modèles de composants existants en utilisant les nouvelles données pour refléter l'état actuel de vos données. Les pondérations des modèles de composants EMS sont ensuite affectées en fonction des résultats de la réévaluation, et celles-ci sont utilisées pour déterminer dans quelle proportion un modèle de composant contribue à la prévision de l'ensemble final. Cette option est sélectionnée par défaut.
Pondérations CMW et AMW prises en charge pour le noeud Classificateur automatique :
Tableau 1. Pondérations CMW et AMW prises en charge Type de cible CMW AMW Cible du type indicateur Exactitude globale de la zone
sous courbeExactitude accumulée
AUC cumuléCible nominale (set) Exactitude globale Précision cumulée Les trois options suivantes sont liées à la pondération AMW qui est utilisée pour évaluer les performances d'un modèle de composant pendant les périodes où de nouveaux blocs de données sont disponibles :
- Activer le facteur cumulé lors de la réévaluation des pondérations de modèle. Si vous sélectionnez cette option, le calcul de la pondération AMW est activé au cours de la réévaluation des pondérations des modèles. AMW représente les performances complètes d'un modèle de composant EMS au cours de périodes de bloc de données récentes, liées au facteur cumulé β défini dans la formule AMW répertoriée précédemment, que vous pouvez ajuster dans les propriétés du noeud. Lorsque cette option n'est pas sélectionnée, seule la pondération CMW est calculée. Cette option est sélectionnée par défaut.
- Effectuer la réduction de modèle basée sur la limite cumulée lors de l'actualisation du modèle. Sélectionnez cette option si vous souhaitez que les modèles de composants dont la valeur de pondération AMW est inférieure à la limite spécifiée soient supprimés du modèle automatique EMS au cours de l'actualisation des modèles. La suppression des modèles de composants inutiles permet d'éviter que le modèle automatique EMS ne devienne trop lourd.L'évaluation de la valeur limite cumulée est liée à la mesure pondérée utilisée lorsque Vote pondéré par les évaluations est sélectionné comme méthode d'ensemble. Voir ce qui suit.
Notez que si vous sélectionnez Précision du modèle pour la mesure pondérée par l'évaluation, les modèles dont la précision cumulée est inférieure à la limite spécifiée seront supprimés. De plus, si vous sélectionnez Aire sous la courbe pour la mesure pondérée par l'évaluation, les modèles pour lesquels l'AUC cumulé est inférieur à la limite spécifiée seront supprimés.
Par défaut, Précision du modèle est utilisé pour la mesure pondérée par l'évaluation pour le noeud Classificateur automatique, et il existe une mesure AUC ROC facultative pour les cibles de type indicateur.
- Utiliser le vote pondéré par les évaluations cumulées. Sélectionnez cette option si vous souhaitez que la pondération AMW soit utilisée pour le scoring/la prévision. Sinon, la pondération CMW sera utilisée par défaut. Cette option est activée lorsque Vote pondéré par les évaluations est sélectionné pour la méthode d'ensemble.
Pour les cibles du type indicateur, si vous sélectionnez Précision du modèle pour la mesure pondérée par les évaluations, Précision cumulée est utilisé comme pondération AMW pour effectuer le scoring en cours. Ou, si vous sélectionnez Aire sous la courbe pour la mesure pondérée par l'évaluation, AUC cumulé est utilisé comme pondération AMW pour effectuer le scoring en cours. Si vous ne sélectionnez pas cette option mais Précision du modèle pour la mesure pondérée par l'évaluation, Précision globale est utilisé comme pondération CMW pour effectuer le scoring en cours. Si vous sélectionnez Aire sous la courbe, Aire sous la courbe sera utilisée comme CMW pour effectuer le scoring en cours.
Pour les cibles nominales, si vous sélectionnez Utiliser le vote pondéré par les évaluations cumulées, Précision cumulée est utilisée comme pondération AMW pour effectuer le scoring en cours. Dans le cas contraire, Précision globale est utilisée comme pondération CMW pour effectuer ce scoring.
Grâce au machine learning automatique en continu, le nugget de modèle automatique évolue en permanence via la régénération automatique, et vous disposez ainsi de la version la plus récente qui reflète l'état actuel de vos données. SPSS Modeler offre la possibilité de sélectionner les N premiers modèles de composants dans l'EMS en fonction de leurs pondérations actuelles afin de rester à jour face aux variations de données au fil du temps.
Exemple
Dans cet exemple, le machine learning en continu est utilisé dans le secteur des télécommunications pour prévoir le comportement des clients et les fidéliser.
Dans le flux suivant, l'actif de données inclut des informations sur les clients qui sont partis au cours du dernier mois (colonneChurn
). De nouvelles données étant disponibles chaque mois, ce scénario est adapté au machine learning en continu. Dans cet exemple, les données de janvier (Jan
) sont utilisées pour construire un modèle automatique initial, puis les données de février (Feb
) contribuent à améliorer ce modèle via le machine learning en continu.
Examinons maintenant le contenu du nugget de modèle automatique. Il contient trois modèles de composants pour les trois algorithmes que nous avons sélectionnés. Pour chaque modèle de composant, plusieurs mesures d'évaluation sont générées (comme la précision et l'aire sous la courbe). Ces mesures d'évaluation décrivent les performances d'un modèle de composant face aux données de formation (jeu de données de janvier). Vous pouvez sélectionner les modèles de composants à utiliser dans la prévision d'ensemble en cours.
Des mesures d'évaluation cumulées peuvent également apparaître. Ces mesures cumulées sont destinées au machine learning en continu, car elles décrivent les performances d'un modèle de composant face aux modifications récentes des données, pour que vous connaissiez les performances globales du modèle au cours d'une période donnée. Comme il s'agit de notre modèle automatique initial, nous constatons que les valeurs initiales des mesures cumulées sont les mêmes que celles des mesures actuelles liées. Par défaut, les mesures d'évaluation sont calculées par rapport aux données de formation, ce qui peut engendrer un certain degré de surajustement. Pour l'éviter, le noeud Classificateur automatique fournit une option de génération qui calcule des mesures d'évaluation plus stables via une validation croisée.
Examinons ensuite comment est générée la prévision d'ensemble finale. Si nous ouvrons les propriétés d'un modèle automatique, sous Ensemble Flag Targets, le champ d'attrition cible de formation une cible indicateur oui/non. Sous Ensemble Set Targets (pour les champs cible définis qui contiennent plus de deux valeurs) figure un menu déroulant Ensemble method. Plusieurs options figurent dans la liste déroulante (par exemple, Majority voting signifie que chaque modèle de composant détient un ticket pour voter, et Confidence-weighted voting signifie que le champ de confiance de la prévision de chaque modèle de composant est utilisé comme pondération du vote - un niveau de confiance plus élevé ayant plus d'influence sur le résultat final). De même, pour permettre une meilleure prise en charge du machine learning en continu, Evaluation-weighted voting est disponible afin que la mesure d'évaluation du modèle de composant (la précision du modèle ou l'aire sous la courbe, par exemple) soit utilisée comme pondération du vote. Dans le cas d'une cible du type indicateur, il existe également une option permettant de sélectionner une mesure d'évaluation spécifique comme pondération de vote lorsque l'option Evaluation-weighted voting est utilisée. Dans le cas d'une cible nominale, seule l'option Accuracy est prise en charge actuellement.
L'activation du machine learning en continu s'effectue sous les paramètres Ensemble Common. Vous pouvez ensuite utiliser les données de février pour voir ce qui se passe. Vous avez la possibilité de sélectionner deux algorithmes différents pour faire la distinction entre les algorithmes de modèles de composants existants. Puis, après avoir régénéré le flux et visualisé le contenu du modèle automatique, deux nouveaux modèles de composants sont ajoutés (C5 et C&RT). A noter également que les mesures d'évaluation pour les modèles de composants existants ont été recalculées. Les mesures CMW et AMW ne sont pas les mêmes que précédemment. Nous pouvons désormais les comparer aux mesures correspondantes dans le modèle automatique d'origine.
Et maintenant ? Lorsque le modèle automatique amélioré est activé, nous pouvons sélectionner une mesure d'évaluation prioritaire et obtenir les N premiers modèles de composant sur la base de cette mesure. Ces N premiers modèles de composants peuvent ensuite être utilisés pour participer à la prévision de l'ensemble final pour les demandes d'analyse prédictive entrantes. De plus, si Evaluation-weighted voting est sélectionné pour Ensemble method, nous pouvons utiliser des mesures cumulées en tant que pondérations du vote en sélectionnant simplement l'option Use accumulated evaluation-weighted voting sous les paramètres Ensemble Common. Si cette option est désélectionnée, les mesures CMW sont utilisées par défaut dans le vote pondéré par l'évaluation.
Grâce au machine learning en continu, le modèle automatique évolue constamment car il est sans cesse régénéré via de nouveaux blocs de données. Votre modèle est donc au niveau de version le plus récent et reflète l'état actuel des données. Vous disposez de la souplesse nécessaire pour sélectionner les N premiers modèles de composant dans l'EMS sur la base des mesures d'évaluation actuelles ou cumulées afin de vous adapter aux variations des données au fil du temps.
Périodiquement, vous pouvez choisir de déployer le modèle Auto le plus à jour dans Watson Machine Learning.