"..approach problème de classification par régression .." par "régression" Je supposerai que vous entendez une régression linéaire, et je comparerai cette approche à l'approche de "classification" consistant à ajuster un modèle de régression logistique.
Avant de faire cela, il est important de clarifier la distinction entre les modèles de régression et de classification. Les modèles de régression prédisent une variable continue, telle que la quantité de pluie ou l'intensité du soleil. Ils peuvent également prévoir des probabilités, telles que la probabilité qu'une image contienne un chat. Un modèle de régression à prédiction de probabilité peut être utilisé dans le cadre d'un classificateur en imposant une règle de décision. Par exemple, si la probabilité est de 50% ou plus, décidez qu'il s'agit d'un chat.
La régression logistique prédit les probabilités et constitue donc un algorithme de régression. Cependant, il est communément décrit comme une méthode de classification dans la littérature d’apprentissage automatique, car il peut être (et est souvent) utilisé pour créer des classificateurs. Il existe également de "vrais" algorithmes de classification, tels que SVM, qui ne prédisent qu'un résultat et ne fournissent pas de probabilité. Nous ne discuterons pas de ce type d'algorithme ici.
Régression linéaire ou logistique sur les problèmes de classification
Comme Andrew Ng l'explique , avec la régression linéaire, vous insérez un polynôme dans les données - par exemple, comme dans l'exemple ci-dessous, nous ajustons une ligne droite dans l' ensemble d'échantillons {taille de la tumeur, type de tumeur} :
En haut, les tumeurs malignes gagnent , les non malignes, , et la ligne verte correspond à notre hypothèse . Pour faire des prédictions, nous pouvons dire que pour toute taille de tumeur donnée , si dépasse nous prédisons une tumeur maligne, sinon nous prédisons bénigne.10h(x)xh(x)0.5
On dirait que nous pourrions prédire correctement chaque échantillon d’entraînement, mais modifions maintenant un peu la tâche.
Intuitivement, il est clair que toutes les tumeurs supérieures à un certain seuil sont malignes. Ajoutons donc un autre échantillon avec une taille de tumeur énorme et exécutons à nouveau la régression linéaire:
Maintenant notre ne fonctionne plus. Pour continuer à faire des prédictions correctes, nous devons le changer en ou quelque chose du genre - mais cela ne signifie pas comment l'algorithme devrait fonctionner.h(x)>0.5→malignanth(x)>0.2
Nous ne pouvons pas modifier l'hypothèse chaque fois qu'un nouvel échantillon arrive. Au lieu de cela, nous devrions l’apprendre à partir des données du jeu d’entraînement, puis (en utilisant l’hypothèse que nous avons apprise) faire des prédictions correctes pour les données que nous n’avons pas vues auparavant.
J'espère que cela explique pourquoi la régression linéaire n'est pas la meilleure solution pour les problèmes de classification! En outre, vous voudrez peut-être regarder VI. Régression logistique. Vidéo de classement sur ml-class.org qui explique l'idée plus en détail.
MODIFIER
probabilislogic a demandé ce qu'un bon classificateur ferait. Dans cet exemple particulier, vous utiliseriez probablement une régression logistique qui pourrait apprendre une hypothèse comme celle-ci (je l'invente):
Notez que la régression linéaire et la régression logistique vous donnent une ligne droite (ou un polynôme d'ordre supérieur) mais ces lignes ont une signification différente:
- h(x) pour la régression linéaire interpole ou extrapole la sortie et prédit la valeur de nous n'avons pas vue. C'est simplement comme brancher un nouveau et obtenir un nombre brut, et est plus approprié pour des tâches telles que la prédiction, par exemple le prix d'une voiture basé sur {la taille de la voiture, l'âge de la voiture}, etc.xx
- h(x) pour la régression logistique vous indique la probabilité que appartienne à la classe "positive". C'est pourquoi on appelle cela un algorithme de régression: il estime une quantité continue, la probabilité. Cependant, si vous définissez un seuil sur la probabilité, tel que , vous obtenez un classificateur, ce qui est souvent le cas avec la sortie d'un modèle de régression logistique. Cela équivaut à mettre une ligne sur l'intrigue: tous les points situés au-dessus de la ligne du classificateur appartiennent à une classe alors que les points ci-dessous appartiennent à l'autre classe.xh(x)>0.5
Ainsi, la ligne de fond est que dans le scénario de classification , nous utilisons un tout autre raisonnement et un tout autre algorithme que dans le scénario de régression.