Quelle est la différence entre la régression linéaire du perceptron et la régression linéaire LS?

8

Récemment, un projet dans lequel j'ai participé a utilisé un perceptron linéaire pour la régression multiple (21 prédicteurs). Il a utilisé GD stochastique. En quoi est-ce différent de la régression linéaire OLS?

Simon Kuang
la source
La Perceptronclasse à laquelle vous liez est destinée à un classifieur (sortie binaire) plutôt qu'à un régresseur (sortie continue). Est-ce bien le code que vous avez utilisé? Si c'est le cas, c'est la différence. :)
Dougal
@Dougal, ça compte quand même parmi les GLM: scikit-learn.org/stable/…
Simon Kuang
@Dougal: supposons que vous disposiez d'un (G) LM que vous avez optimisé en L2 SGDRegressor; serait-ce équivalent à une régression linéaire?
Simon Kuang
Oui, certains GLM sont des classificateurs. Si vous l'avez utilisé SGDRegressor(loss='squared_loss', penalty='none'), c'est OLS.
Dougal

Réponses:

5

La Perceptronclasse de scikit-learn (équivalente à SGDClassifier(loss="perceptron", penalty=None, learning_rate="constant", eta0=1)) utilise la fonction objectif suivante:

1Ni=1Nmax(0,yiwTxi).
Dans ce cas, . Si a le bon signe, il ne subit aucune perte; sinon, cela donne une perte linéaire. Le perceptron en particulier utilise un taux d'apprentissage fixe qui peut également entraîner une certaine bizarrerie d'optimisation.yi{1,1}wTxi

La régression des moindres carrés, en revanche, utilise Ici, peut être n'importe quel réel; vous pouvez lui donner des cibles de classification dans si vous voulez, mais ça ne vous donnera pas un très bon modèle. Vous pouvez optimiser cela avec si vous le souhaitez.

1Ni=1N(yiwTxi)2.
yi{1,1}SGDRegressor(loss="squared_loss", penalty=None)

Les deux définissent des modèles fondamentalement différents: le perceptron prédit une étiquette de classe binaire avec , tandis que la régression linéaire prédit une valeur réelle avec . Cette réponse explique pourquoi essayer de résoudre un problème de classification avec un algorithme de régression peut être problématique.sign(wTxi)wTxi

Dougal
la source