¿Por qué no abordar la clasificación a través de la regresión?

51

Algunos materiales que he visto sobre el aprendizaje automático dicen que es una mala idea abordar un problema de clasificación a través de la regresión. Pero creo que siempre es posible hacer una regresión continua para ajustar los datos y truncar la predicción continua para obtener clasificaciones discretas. Entonces, ¿por qué es una mala idea?

Strin
fuente
Creo que la regresión siempre es más complicada que la clasificación en el entorno de producción

Respuestas:

57

"... enfoque el problema de clasificación a través de la regresión ..." por "regresión" Asumiré que se refiere a la regresión lineal, y compararé este enfoque con el enfoque de "clasificación" de ajustar un modelo de regresión logística.

Antes de hacer esto, es importante aclarar la distinción entre los modelos de regresión y clasificación. Los modelos de regresión predicen una variable continua, como la cantidad de lluvia o la intensidad de la luz solar. También pueden predecir probabilidades, como la probabilidad de que una imagen contenga un gato. Se puede usar un modelo de regresión de predicción de probabilidad como parte de un clasificador imponiendo una regla de decisión; por ejemplo, si la probabilidad es del 50% o más, decida que es un gato.

La regresión logística predice las probabilidades y, por lo tanto, es un algoritmo de regresión. Sin embargo, se describe comúnmente como un método de clasificación en la literatura de aprendizaje automático, porque puede usarse (y a menudo) para hacer clasificadores. También hay algoritmos de clasificación "verdaderos", como SVM, que solo predicen un resultado y no proporcionan una probabilidad. No discutiremos este tipo de algoritmo aquí.

Regresión lineal versus regresión logística en problemas de clasificación

Como lo explica Andrew Ng , con la regresión lineal, usted ajusta un polinomio a través de los datos; por ejemplo, como en el ejemplo a continuación, ajustamos una línea recta a través del conjunto de muestras {tamaño de tumor, tipo de tumor} :

ingrese la descripción de la imagen aquí

Arriba, los tumores malignos obtienen y los no malignos obtienen , y la línea verde es nuestra hipótesis . Para hacer predicciones, podemos decir que para cualquier tamaño de tumor dado , si es mayor que10 0h(X)Xh(X)0.5 0.5 , predecimos tumor maligno, de lo contrario, predecimos benigno.

Parece de esta manera que podríamos predecir correctamente cada muestra de conjunto de entrenamiento, pero ahora cambiemos un poco la tarea.

Intuitivamente, está claro que todos los tumores que superan cierto umbral son malignos. Así que agreguemos otra muestra con un tamaño de tumor enorme y volvamos a realizar una regresión lineal:

ingrese la descripción de la imagen aquí

h(X)>0.5 0.5metrounalyosolnorteunanorteth(X)>0.2 0.2 o algo así, pero no es así como debería funcionar el algoritmo.

No podemos cambiar la hipótesis cada vez que llega una nueva muestra. En cambio, deberíamos aprenderlo de los datos del conjunto de entrenamiento, y luego (usando la hipótesis que hemos aprendido) hacer predicciones correctas para los datos que no hemos visto antes.

Espero que esto explique por qué la regresión lineal no es la mejor opción para los problemas de clasificación. Además, es posible que desee ver VI. Regresión logística. Video de clasificación en ml-class.org que explica la idea con más detalle.


EDITAR

Probableislogic preguntó qué haría un buen clasificador. En este ejemplo en particular, probablemente usaría una regresión logística que podría aprender una hipótesis como esta (solo estoy inventando esto):

ingrese la descripción de la imagen aquí

Tenga en cuenta que tanto la regresión lineal y regresión logística le dará una línea recta (o un polinomio de orden superior), pero esas líneas tienen un significado diferente:

  • h(X)XX
  • h(X)Xh(X)>0.5 0.5 , obtendrá un clasificador, y en muchos casos esto es lo que se hace con la salida de un modelo de regresión logística. Esto es equivalente a poner una línea en la gráfica: todos los puntos que se encuentran por encima de la línea del clasificador pertenecen a una clase, mientras que los puntos a continuación pertenecen a la otra clase.

Entonces, la conclusión es que en el escenario de clasificación usamos un razonamiento completamente diferente y un algoritmo completamente diferente que en el escenario de regresión.

andreister
fuente
@andreister: Pero, ¿qué sería si todos los valores atípicos se hubieran eliminado o truncado, la regresión lineal sigue siendo una mala idea?
Tomek Tarczynski
Su ejemplo es bueno, sin embargo, no muestra lo que haría un "buen clasificador". ¿Serías capaz de agregar esto? tenga en cuenta que agregar puntos de datos debería cambiar la línea de casi cualquier método. No has explicado por qué este es un mal cambio.
probabilidadislogica
1
@andreister: su ejemplo mostró que algunos datos incorrectos podrían estropear la regresión lineal. Pero, ¿podemos usar la regresión cuadrática o hipótesis aún más complicadas para hacer de la "regresión" un buen clasificador?
Strin
1
@probabilityislogic: buen punto, actualicé la respuesta.
andreister
2
@Strin: las hipótesis más complicadas tienen más probabilidades de sobreajustar los datos. (Es decir, para adaptarse a las peculiaridades de los datos que tiene en la mano, lo que resulta en un ajuste deficiente en los datos futuros). Recuerdo una clase que tomé donde un tipo en la primera fila estaba seguro de que el profesor nos estaba reteniendo y sin darnos los sofisticados algoritmos que nos permitirían hacer una matanza en los mercados de la electricidad ... Nunca comprendió el sobreajuste.
Wayne
14

No puedo pensar en un ejemplo en el que la clasificación sea realmente el objetivo final. Casi siempre el objetivo real es hacer predicciones precisas, por ejemplo, de probabilidades. En ese espíritu, la regresión (logística) es tu amigo.

Frank Harrell
fuente
55
Me parece que lo que efectivamente es la clasificación es, en última instancia, el objetivo en la mayoría de los procesos automatizados en los que no es práctico o imposible contar con intervención o juicio humano. Al recibir, digamos, una señal digital transmitida ruidosamente, el receptor no puede decidir que un bit en particular debería ser 0.97 en lugar de 0 o 1.
cardenal
66
Excepto por el hecho de que el costo de un falso positivo o el costo de un falso negativo rara vez están bajo el control del analista que hizo la clasificación, por lo tanto, el analista original no puede elegir de manera confiable el punto de corte "correcto" para la clasificación. Además, es aconsejable tener una "zona gris" de riesgo intermedio en la que no se haga una clasificación y la recomendación sea "obtener más datos".
Frank Harrell
1
Creo que creo exactamente lo contrario del reclamo en esta respuesta, y nunca encontré esta perspectiva en toda mi educación universitaria en aprendizaje automático. Me sorprende mucho que alguien diga esto. En la práctica, casi siempre me he enfrentado a problemas en los que las personas piensan que quieren predecir una cantidad continua, pero realmente quieren predecir la membresía en diferentes categorías categóricas de esa cantidad. Me cuesta encontrar instancias en las que realmente sea útil predecir una cantidad continua en términos de la inferencia sustantiva subyacente al problema.
ely
99
Creo que has dado por hecho una buena cantidad de dogmas de aprendizaje automático. Estás haciendo una gran cantidad de suposiciones injustificadas. Una de ellas es que las personas realmente necesitan una elección forzada en un cubo categórico. Pueden afirmar querer esto, pero realmente no lo necesitan en la mayoría de las situaciones. Las elecciones no tienen que ser forzadas. Una gran opción es "no tomar decisiones, obtener más datos". La predicción de una cantidad continua subyacente suele ser lo que se necesita. Valdría la pena estudiar la teoría de decisión óptima (Bayes). Si puede proporcionar un ejemplo concreto, comentaré más.
Frank Harrell
11
+1 en el comentario de @Frank Harrell. Por ejemplo, predecir las temperaturas, las precipitaciones, los niveles de los ríos es inmensamente más útil que las predicciones de que estará caliente o húmedo o se inundará. ¿Incluso si el problema es oveja o cabra? una estimación de pr (oveja) es más informativa que "oveja" o "cabra" binarias.
Nick Cox
1

¿Por qué no mirar alguna evidencia? Aunque muchos dirían que la regresión lineal no es adecuada para la clasificación, aún puede funcionar. Para ganar algo de intuición, incluí la regresión lineal (utilizada como clasificador) en la comparación de clasificadores de scikit-learn . Esto es lo que pasa:

ingrese la descripción de la imagen aquí

El límite de decisión es más estrecho que con los otros clasificadores, pero la precisión es la misma. Al igual que el clasificador de vectores de soporte lineal, el modelo de regresión le proporciona un hiperplano que separa las clases en el espacio de características.

Como vemos, usar la regresión lineal como clasificador puede funcionar, pero como siempre, validaría las predicciones.

Para el registro, así es como se ve mi código clasificador:

class LinearRegressionClassifier():

def __init__(self):
    self.reg = LinearRegression()

def fit(self, X, y):
    self.reg.fit(X, y)

def predict(self, X):
    return np.clip(self.reg.predict(X),0,1)

def decision_function(self, X):
    return np.clip(self.reg.predict(X),0,1)

def score(self, X, y):
    return accuracy_score(y,np.round(self.predict(X)))
Nils
fuente
0

1,10,100,...1,2,3,...

Tuerca
fuente