Recientemente, un proyecto en el que estoy involucrado hizo uso de un perceptrón lineal para regresión múltiple (21 predictores). Utilizaba estocástico GD. ¿Cómo es esto diferente de la regresión lineal de OLS?
regression
machine-learning
Simon Kuang
fuente
fuente
Perceptron
clase a la que se vincula es para un clasificador (salida binaria) en lugar de un regresor (salida continua). ¿Es ese el código real que usaste? Si es así, esa es la diferencia. :)SGDRegressor
; ¿Sería esto equivalente a la regresión lineal?SGDRegressor(loss='squared_loss', penalty='none')
, eso es OLS.Respuestas:
La
Perceptron
clase de scikit-learn (equivalente aSGDClassifier(loss="perceptron", penalty=None, learning_rate="constant", eta0=1)
) usa la siguiente función objetivo:La regresión de mínimos cuadrados, por el contrario, usa Aquí puede ser real; puede darle objetivos de clasificación en si lo desea, pero no le dará un muy buen modelo. Puede optimizar esto si lo desea.
SGDRegressor(loss="squared_loss", penalty=None)
Los dos definen modelos fundamentalmente diferentes: el perceptrón predice una etiqueta de clase binaria con , mientras que la regresión lineal predice un valor real con . Esta respuesta habla sobre por qué tratar de resolver un problema de clasificación con un algoritmo de regresión puede ser problemático.sign(wTxi) wTxi
fuente