Définition de la cible
Publié: 2015-08-21Les méthodes d'apprentissage automatique peuvent être classées en deux grandes catégories : supervisées et non supervisées. L'apprentissage supervisé apprend à partir d'un ensemble étiqueté d'observations, où les observations sont connues pour appartenir à certaines classes (pour les problèmes de classification) ou avoir certaines valeurs (problème de régression). L'apprentissage non supervisé apprend à partir d'un ensemble d'observations non étiquetées, où rien d'autre n'est connu en dehors des observations elles-mêmes.
Pour les méthodes d'apprentissage supervisé, nous disons essentiellement que "regardez ces données 'vraies' et dites-moi savoir pour connaître la 'vérité' des données invisibles". Pour les méthodes d'apprentissage non supervisé, cela équivaut à "regardez ces données et dites-moi quelque chose d'intéressant que je ne sais pas". Bien qu'une dichotomie claire soit utile, dans cet article, nous parlerons de variantes intéressantes où la définition de la cible peut devenir elle-même une tâche très intéressante !
Semi-encadré
Il s'agit d'un terrain d'entente entre les données supervisées et non supervisées, où les «vraies» étiquettes n'existent que pour certaines des observations mais pas toutes. Ignorer les informations disponibles est une injustice pour la qualité des modèles analytiques, mais l'utilisation de ces informations peut rendre le problème inhabituel. Dans le monde où la génération de données est facile – pensez à Internet – et où l'étiquetage est coûteux, de nombreux problèmes relèvent du domaine semi-supervisé.
Une approche pourrait consister à ne pas inclure les informations d'étiquette pour la modélisation, mais uniquement pour la validation du modèle et la comparaison des performances. Par exemple, nous pouvons segmenter les données en k clusters en utilisant un clustering non supervisé, puis vérifier la compétence de notre modèle en comparant le cluster prédit au cluster réel. Cela peut nous aider à mieux choisir parmi plusieurs solutions de clustering.
Une autre approche pourrait consister à utiliser ces informations pour la modélisation. Nous avons discuté du clustering semi-supervisé dans un article de blog précédent.
Discret contre continu
Alors que de nombreuses situations entrent évidemment dans des catégories de classification ou de régression - où la valeur "vraie" est une classe discrète ou une valeur continue - il existe des cas où la transformation cible a du sens.
Considérez les revenus au niveau du client en fonction de la démographie du client et du comportement des transactions passées. C'est un problème assez courant dans les secteurs de la vente au détail, des banques, des assurances et des télécommunications. Les revenus, souvent des N derniers mois, sont évidemment en nombre continu. Une régression (linéaire, peut-être) peut convenir ici, me direz-vous ! Mais il existe des méthodes plus complexes et sophistiquées disponibles pour les problèmes de classification, comme les réseaux de neurones, qui peuvent potentiellement faire un meilleur travail mais ne s'appliqueront pas à la cible continue. Selon le contexte commercial, vous n'aurez peut-être pas besoin de prédire les revenus réels, mais seulement si les revenus seront élevés, moyens ou faibles. Si tel est le cas, vous pouvez examiner la répartition des revenus pour tous les clients et définir les limites pour haut-moyen et moyen-bas, et le tour est joué ! Vous avez converti un problème cible continu en problème de classification discrète à trois classes.
Si votre objectif continu est un pourcentage - disons une fraction d'élèves réussissant l'examen par école - et que vous souhaitez également prédire le pourcentage pour une école nouvelle / invisible, vous avez alors une autre option en dehors du modèle de régression. Vous pouvez morceler les données ! Le morcellement convertit les fractions continues en classes binaires en reproduisant les observations. Pour une observation avec une valeur cible de 40 %, vous répliquez l'observation 100 fois et pour 40 d'entre elles, attribuez la classe 1 et pour les 60 autres, attribuez la classe 60. Étant donné que l'observation est la même et que l'ensemble de fonctionnalités est le même, le modèle essaiera de différencier 1 à partir de 0 et concluez que ce type d'observation a 40 % de chances d'être 1 et 60 % de chances d'être 0. Vous pouvez faire de même pour toutes les observations. (Oui, cela augmentera la taille du collecteur de données d'entraînement.) La plupart des modèles de classification courants produisent de toute façon une probabilité de classe = 1 comme résultat, et c'est le résultat que vous voulez de toute façon !
Pourrait-il y avoir un cas pour convertir des classes discrètes en valeur continue? Généralement non, mais il y a des exemples. Lorsque vous essayez de prédire l'âge de quelqu'un en années - qui est essentiellement un nombre entier discret de 0 à 100 (environ) - vous pouvez traiter l'âge comme une cible continue. De même, si vous avez des catégories de revenus suffisamment granulaires, par exemple 0-50k, 50k-100k, 100k-150k, etc., vous pouvez alors bénéficier du traitement du revenu comme une variable continue plutôt que de résoudre un problème à 20 classes.
Cas sans classe
Toutes les données sont étiquetées ou non étiquetées. Lorsque les données sont étiquetées (suppose, binaire), elles appartiennent soit à une classe, soit à une autre. Mais en pratique, les données peuvent n'appartenir à aucune classe.
Par exemple, parmi un tas de réclamations d'assurance, vous savez peut-être avec certitude que certaines réclamations sont des fraudes et que d'autres ne sont pas des fraudes, mais vous n'en savez peut-être pas beaucoup qui n'ont jamais fait l'objet d'une enquête. Considérez, parmi les demandeurs de carte de crédit qui sont acceptés ou qui ont été rejetés dans le cadre du modèle de notation des demandes dans le secteur bancaire. Mais il y a beaucoup de clients qui n'ont pas postulé du tout, et vous ne savez pas s'ils auraient été acceptés ou non. Souvent, nous ne pouvons pas traiter des données sans étiquette et nous devons les exclure de notre population de développement. Cependant, il faut garder à l'esprit si cela induit un biais dans la modélisation. Dans l'exemple d'assurance ci-dessus, peut-être que les réclamations qui ont fait l'objet d'une enquête étaient suspectes au départ (même celles trouvées sans fraude), ou dans l'exemple bancaire, les clients qui n'ont pas postulé n'ont pas été sollicités par la force de vente qui excluait complètement une catégorie démographique.
Si vous effectuez une transformation cible comme décrit dans la section précédente, vous pouvez créer vous-même des données sans classe. Supposons que vous définissiez un chiffre d'affaires supérieur à 5000/- par an comme un maximum et inférieur à 5000/- par an comme un minimum pour convertir une cible continue en cible binaire. Ce sera cependant une mauvaise conception, car il y a une coupure arbitraire à 5000. Un client avec un revenu de 4999/- n'est pas très différent de celui avec un revenu de 5001/- mais vous les mettez à part. Votre définition impliquera qu'un revenu de 5001/- est plus similaire à un revenu de 10000/- qu'à un revenu de 4999/-. Vous voyez le problème ? Vous pouvez le faire, techniquement, mais le modèle résultant ne sera pas bon et robuste puisque vous lui demandez d'apprendre les différences avec des clients similaires.
Ce qui est généralement une bonne pratique consiste à inclure une zone tampon/sans classe. Ainsi, vous pouvez définir un revenu de 6000/- ou plus comme élevé et 4000/- ou moins comme bas, et ignorer les observations avec un revenu compris entre 4000/- et 6000/-. Pendant que vous perdez des données, le modèle fera un bien meilleur travail puisque ce que vous définissez comme étant différent est vraiment différent.
Bien que l'accent soit mis à juste titre sur la préparation des données, la génération de fonctionnalités et la méthode d'apprentissage automatique, la définition de la bonne cible peut également être utile pour la qualité du résultat analytique global.