¿Cuál es la diferencia entre regresión logística y perceptrón?

30

Estoy revisando las notas de Andrew Ng sobre Machine Learning.

Las notas nos presentan a la regresión logística y luego al perceptrón. Al describir Perceptron, las notas dicen que solo cambiamos la definición de la función de umbral utilizada para la regresión logística. Después de hacer eso, podemos usar el modelo Perceptron para la clasificación.

Entonces mi pregunta es: si esto necesita ser especificado y consideramos a Perceptron como una técnica de clasificación, ¿qué es exactamente la regresión logística? ¿Se usa solo para obtener la probabilidad de que un punto de datos pertenezca a una de las clases?

GrowinMan
fuente
Buena pregunta, creo que es muy importante cómo comienzas la explicación en NN, especialmente porque NN puede ser muy complicado de entender, por favor. considera mi respuesta.
prosti

Respuestas:

22

En resumen, la regresión logística tiene connotaciones probabilísticas que van más allá del uso del clasificador en ML. Tengo algunas notas sobre regresión logística aquí .

La hipótesis en la regresión logística proporciona una medida de incertidumbre en la aparición de un resultado binario basado en un modelo lineal. La salida está limitada asintóticamente entre 0 y 1 , y depende de un modelo lineal, de modo que cuando la línea de regresión subyacente tiene el valor 0 , la ecuación logística es 0.5=e01+e0 , que proporciona un punto de corte natural para fines de clasificación. Sin embargo, es a costa de tirar la información de probabilidad en el resultado real deh(ΘTx)=eΘTx1+eΘTx , que a menudo es interesante (por ejemplo, la probabilidad de incumplimiento del préstamo dados los ingresos, puntaje de crédito, edad, etc.)

El algoritmo de clasificación de perceptrón es un procedimiento más básico, basado en productos de punto entre ejemplos y pesos . Cada vez que un ejemplo se clasifica incorrectamente, el signo del producto escalar está en desacuerdo con el valor de clasificación ( 1 y 1 ) en el conjunto de entrenamiento. Para corregir esto, el vector de ejemplo se agregará o restará iterativamente del vector de pesos o coeficientes, actualizando progresivamente sus elementos:

Vectorialmente, las características o atributos de un ejemplo son x , y la idea es "pasar" el ejemplo si:dx

o ...1dθixi>theshold

. La función de signo da como resultado 1 o - 1 , en oposición a 0 y 1 en regresión logística.h(x)=sign(1dθixitheshold)1101

El umbral se absorberá en el coeficiente de polarización , . La fórmula es ahora:+θ0

, o vectorizado: h ( x ) = signo ( θ T x ) .h(x)=sign(0dθixi)h(x)=sign(θTx)

Los puntos mal clasificados tendrán , lo que significa que el producto de puntos de Θ y xsign(θTx)ynΘ será positivo (vectores en la misma dirección), cuando y n es negativo, o el producto de puntos será negativo (vectores en direcciones opuestas), mientras que y n es positivo.xnynyn


He estado trabajando en las diferencias entre estos dos métodos en un conjunto de datos del mismo curso , en el que los resultados de la prueba en dos exámenes separados están relacionados con la aceptación final a la universidad:

El límite de decisión se puede encontrar fácilmente con la regresión logística, pero fue interesante ver que aunque los coeficientes obtenidos con perceptrón eran muy diferentes a los de la regresión logística, la simple aplicación de la función de a los resultados arrojó una clasificación tan buena. algoritmo. De hecho, la segunda iteración alcanzó la precisión máxima (el límite establecido por la inseparabilidad lineal de algunos ejemplos). Aquí está la secuencia de las líneas de división límite como 10 iteraciones aproximadas a los pesos, comenzando desde un vector aleatorio de coeficientes:sign()10

La precisión en la clasificación en función del número de iteraciones aumenta rápidamente y se estabiliza en un , de acuerdo con la rapidez con que se alcanza un límite de decisión casi óptimo en el videoclip de arriba. Aquí está la trama de la curva de aprendizaje:90%

ingrese la descripción de la imagen aquí


El código utilizado está aquí .

Antoni Parellada
fuente
5

Hay cierta confusión que puede surgir aquí. Originalmente, un perceptrón solo se refería a redes neuronales con una función de paso como la función de transferencia. En ese caso, por supuesto, la diferencia es que la regresión logística usa una función logística y el perceptrón usa una función de paso. En general, ambos algoritmos deberían producir el mismo límite de decisión (al menos para un perceptrón neuronal único). Sin embargo:

  1. El vector de parámetros para el perceptrón se puede escalar arbitrariamente en comparación con el derivado por regresión logística. Cualquier escala del vector de parámetros definirá el mismo límite, pero las probabilidades calculadas por regresión logística dependen de la escala exacta.
  2. El resultado de una función escalonada, por supuesto, no puede interpretarse como ningún tipo de probabilidad.
  3. Como una función de paso no es diferenciable, no es posible entrenar un perceptrón usando los mismos algoritmos que se usan para la regresión logística.

En algunos casos, el término perceptrón también se usa para referirse a redes neuronales que usan una función logística como función de transferencia (sin embargo, esto no está de acuerdo con la terminología original). En ese caso, una regresión logística y un "perceptrón" son exactamente lo mismo. Por supuesto, con un perceptrón es posible usar múltiples neuronas, todas utilizando una función de transferencia logística, que se relaciona de alguna manera con el apilamiento de la regresión logística (no es lo mismo, pero es similar).

LiKao
fuente
2

Puede usar la regresión logística para construir un perceptrón. La regresión logística utiliza la función logística para construir la salida de una entrada dada. La función logística produce un resultado uniforme entre 0 y 1, por lo que necesita una cosa más para convertirlo en un clasificador, que es un umbral. Los perceptrones se pueden construir con otras formas funcionales, por supuesto, no solo logísticas .

y(x1,x2|b)=eb0+b1x1+b2x21+eb0+b1x1+b2x2
b1,b2,b3ex1+ex

y(x|b)xbyYy~=0y(x|b)<Yy~=1y(x|b)Y

Aksakal
fuente
1

Ambos aplican regresión al estimar los parámetros del mismo modelo transformado logísticamente. Según las propiedades de las funciones convexas, los valores de los parámetros serán los mismos de cualquier forma que elija para estimarlos. Para citarme de una respuesta anterior:

La regresión logística modela una función de la media de una distribución de Bernoulli como una ecuación lineal (la media es igual a la probabilidad p de un evento de Bernoulli). Al usar el enlace logit como una función de la media (p), el logaritmo de las probabilidades (log-odds) puede derivarse analíticamente y usarse como la respuesta de un llamado modelo lineal generalizado. Además de la predicción, esto le permite interpretar el modelo en inferencia causal. Esto es algo que no puedes lograr con un Perceptron lineal.

El Perceptron, toma la función de logit inverso (logístico) de wx, y no utiliza supuestos probabilísticos para el modelo ni su parámetro. La capacitación en línea le dará exactamente las mismas estimaciones para los pesos / parámetros del modelo, pero no podrá interpretarlos en inferencia causal debido a la falta de valores p, intervalos de confianza y, bueno, un modelo de probabilidad subyacente.

Digio
fuente
1

x1,,xNRny1,,yN{1,1}1xi

(1)minimize1Ni=1Nmax(yiβTxi,0).
βRn+1

1Nii(β)

i(β)=max(yiβTxi,0).
iβ
g={0if yiβTxi0(so yi and βTxi have the same sign)yixiotherwise.
Each epoch of stochastic subgradient descent (with step size t>0)) sweeps through the training observations and, for the ith observation, performs the update
ββtg={βif yi and βTxi have the same signβ+tyixiotherwise.
We recognize that this is the iteration for the perceptron algorithm (with learning rate t).

littleO
fuente
0

Andrew Ng used the term "logistic regression" as a model for solving the binary classification problem.

As you may saw in the paper he actually never draw the model itself.

Let me add few details to the bucket so you may find the reasoning on how I think he constructed the lectures.

The model used for the "logistic regression" is a single level perception with with custom number of inputs and one output ranging from 0 to 1.

Back in 90's the most appreciated activation function was the sigmoidal activation function, and there is a great mathematical theory as a backup.

This is exactly the model Andrew Ng is using since that function ranges from 0 to 1.

Also the derivative s'(x) = s(x)(1−s(x)), where s(x) is sigmoidal activation function.

For the error function he uses L2, although in some papers he may use some other function for that.

So to recap, when considering "logistic regression" just consider the single level perception with sigmoidal activation function, custom number of inputs and single output.


Just a few notes: There is nothing wrong with the sigmoidal activation function, although for the floating point arithmetic, ReLU dominates hidden layers nowadays, but in the near future posits (or some other arithmetical units) may put sigmoidal activation function back to the table.

Personalty, I would use simpler model with the ReLU function to explain the SLP (single level perceptron) since it is more used today.

prosti
fuente