¿Qué hace que un clasificador clasifique mal los datos? [cerrado]

9

¿Podría ser de los datos en sí? ¿O es porque el modelo no puede detectar eficientemente las similitudes entre los datos, o hay otras razones para una clasificación errónea?

Sofia693
fuente
13
En mi opinión, la pregunta es demasiado vaga. ¿Hay algún problema en particular?
jpmuc
1
Tal como está escrito, esto podría leerse como "clasificar erróneamente [cualquier] dato". En ese caso, puede ocurrir incluso si el modelo es un reflejo perfecto del proceso de generación de datos, siempre que el DGP sea estocástico / no determinista. Es decir, se espera cierto grado de clasificación errónea debido a la existencia de ruido.
gung - Restablece a Monica
@gung ¿no es simplemente un ajuste excesivo?
theGD
3
@theGD, puede tener un clasificador perfecto que clasifique erróneamente algunos datos, si el proceso no es determinista. Esa es la forma como es.
gung - Restablece a Monica

Respuestas:

19

Supongamos que está hablando de una clasificación errónea en los datos de entrenamiento, es decir, es difícil minimizar la pérdida en el conjunto de datos de entrenamiento, no hay problema de sobreajuste de datos de prueba.

Tiene razón en que, en la mayoría de los casos, la clasificación errónea puede provenir de "el modelo es demasiado simple" o "los datos son demasiado ruidosos". Me gustaría dar dos ejemplos para ilustrar más.

  1. El modelo es "demasiado simple" para capturar los "patrones en los datos".

    • El ejemplo se muestra en la figura de la izquierda. Supongamos que queremos usar una regresión logística / una línea para separar dos clases, pero las dos clases no son linealmente separables.

    • En este caso, todavía hay "patrones notables en los datos", y si cambiamos el modelo, podemos mejorar. Por ejemplo, si usamos el clasificador KNN, en lugar de la regresión logística, podemos tener un rendimiento muy bueno.

  2. Los datos tienen demasiado ruido, es muy difícil hacer la tarea de clasificación.

    • El ejemplo se muestra en la figura de la derecha, donde, si verifica el código, verá que dos clases son muy similares (dos clases son gaussianas 2D, la media es 0,01×2 aparte, pero la desviación estándar para cada clase es 1.0) Es esencialmente una tarea muy desafiante.

Conjuntos de datos de ejemplo, uno con dos espirales de malla, uno con distribuciones gaussianas muy superpuestas

Tenga en cuenta que los dos ejemplos son triviales, ya que podemos visualizar los datos y el clasificador. En el mundo real, no es el caso, cuando tenemos millones de puntos de datos y clasificadores súper complicados.

Código:

library(mlbench)
set.seed(0)
par(mfrow=c(1,2))
d=mlbench.spirals(500)
plot(d)
lg_fit=glm(d$classes~d$x[,1]+d$x[,2]-1,family=binomial())
abline(0,-lg_fit$coefficients[1]/lg_fit$coefficients[2])

d2=mlbench.2dnormals(500,r=0.01)
plot(d2)
Haitao Du
fuente
mencionó KNN, tenga en cuenta que estoy hablando de clasificación y no de agrupamiento, es decir, cuando tenemos una capacitación y pruebas de datos. Lo que me confunde un poco es que, por ejemplo, si tenemos dos tipos de datos que significan características diferentes para cada dato, ¿qué hace que el clasificador etiquete mal los datos de prueba en el proceso de prueba? Creo que esto me lleva a su segundo ejemplo, lo que significa que mis datos tienen mucho ruido y el modelo está luchando por eso, pero supongamos que lo resolvimos mediante la selección de características, ¿puede haber ruido incluso después de la selección de características?
Sofia693
o tal vez se me ocurra otra razón por la cual mis dos tipos de datos realmente comparten similitudes en sus características y eso puede "engañar" al modelo, ¿podría ser este un caso de alguna manera?
Sofia693
@ Sofia693 1. KNN NO es Kmeans, es un modelo de clasificación. 2. Realmente no sigo tus comentarios.
Haitao Du
Me refiero a que si tenemos dos grupos (por ejemplo, 50 pacientes con autismo y 50 sujetos sanos y los datos se extraen de la resonancia magnética, donde cada sujeto se representa como un vector de características), entreno un clasificador y uso la técnica Leave One Out. Ahora el modelo puede clasificar erróneamente el tema de prueba debido al ruido (como mencionó en el segundo ejemplo) pero podemos usar la selección de funciones para reducir el ruido, ¿verdad? ¿Por qué el modelo todavía clasifica erróneamente el tema de prueba? ¿podría haber ruido incluso después de la selección de funciones?
Sofia693
Mi segunda suposición es que los dos grupos en realidad comparten similitudes en sus vectores de características, por lo que el modelo realmente tiene dificultades para asignar el sujeto de prueba a uno de los grupos.
Sofia693
11

Además de @ hxd1011 (+1).

  1. Desequilibrio de clase en términos relativos o términos absolutos. En ambos casos construimos una representación inadecuada de la clase de interés. Por lo general, el último es más difícil de superar. (Referencia de ejemplo: Aprendiendo de datos desequilibrados por él y García)
  2. Criterios de clasificación inadecuados. Capacitamos a nuestro clasificador usando una función de evaluación inapropiada y / o usamos criterios inapropiados para derivar nuestra solución final. Problema muy común al usar "soluciones enlatadas". (Ejemplo de referencia: Daño causado por la precisión de clasificación y otras reglas de puntuación de precisión incorrecta discontinua por Harrell)
  3. No hay clase en la realidad. Deseamos que haya algo allí, pero realmente no hay nada. Por lo general, la experiencia en el dominio aleja a las personas de esto, pero como recién llegado, esto siempre es un problema. (Ejemplo de referencia: nuestra vida diaria. El sesgo de publicación probablemente también sea un problema aquí ...)
  4. Sobreajuste Tenemos un modelo decente y un conjunto de datos decente, pero no formamos adecuadamente la construcción de un modelo poco realista. Por lo general, esto se relaciona con el punto 2. (¡Puntos extra por falta de ajuste!) (Ejemplo de referencia: El problema del sobreajuste por Hawkings)
  5. Deriva de concepto. Las cosas cambian y no volvemos a entrenar. Nuestro clasificador tiene un rendimiento excelente en nuestra muestra de marketing de "ventas navideñas". Sí, usar este modelo en julio probablemente será una molestia ... (Ejemplo de referencia: Una encuesta sobre adaptación de deriva conceptual por Gama et al.)
  6. Fuga de datos / características mágicas. Capacitamos a partir de información que no estará disponible en el momento de la predicción. Común cuando se tienen eventos / series temporales como datos. (Referencia de ejemplo: Fuga en minería de datos: formulación, detección y evitación por Kaufman et al.)
usεr11852
fuente
1
No entiendo el punto 3. La pregunta supone una noción de "clase" para tener un clasificador que está clasificando erróneamente algunos datos. ¿Quiere decir que el etiquetado es inconsistente (la "clase" está mal definida)? ¿O que las características no contienen información relevante para la tarea de clasificación?
Charles Staats
@CharlesStaats: "las características no contienen ninguna información relevante para la tarea de clasificación" es una falla del segundo tipo, "criterios de clasificación inadecuados".
MSalters
¿Crees que las etiquetas pobres caerían en 2, o merece su entrada por separado?
Jonas
@CharlesStaats: Asumir " alguna noción de clase " no significa que realmente exista y / o si puede ser compatible con los datos disponibles. Es por eso que la experiencia en el dominio es extremadamente útil en estos casos; nos ayuda a distinguir entre un "problema real" y tratar de "ajustar el ruido". Hay casos en los que las etiquetas reflejan una hipótesis (por ejemplo, potencial para desarrollar una enfermedad causada por una mutación aleatoria) en lugar de una noción medible (por ejemplo, el paciente tiene la enfermedad causada por una mutación aleatoria).
usεr11852
@Jonas: Este es un buen punto; Creo que el etiquetado incorrecto debería ser una entrada separada. Potencialmente podría asociarse con el punto sobre "los datos son demasiado ruidosos" planteados por hxd1011.
usεr11852