Datos sesgados en el aprendizaje automático


18

Estoy trabajando en un proyecto de Machine Learning con datos que ya están (muy) sesgados por la selección de datos.

Supongamos que tiene un conjunto de reglas codificadas. ¿Cómo se construye un modelo de aprendizaje automático para reemplazarlo, cuando todos los datos que puede usar son datos que ya fueron filtrados por esas reglas?

Para aclarar las cosas, supongo que el mejor ejemplo sería la Evaluación del riesgo de crédito : la tarea es filtrar a todos los clientes que probablemente no paguen.

  • Ahora, los únicos datos (etiquetados) que tiene son de clientes que han sido aceptados por el conjunto de reglas, porque solo después de aceptar verá si alguien paga o no (obviamente). No sabe qué tan bueno es el conjunto de reglas y cuánto afectarán la distribución pagada a no pagada. Además, tiene datos sin etiquetar de los clientes que han sido rechazados, nuevamente debido al conjunto de reglas. Por lo tanto, no sabe qué hubiera pasado con esos clientes si hubieran sido aceptados.

Por ejemplo, una de las reglas podría ser: "Si la edad del cliente <18 años, entonces no acepte"

El clasificador no tiene forma de aprender a manejar clientes que han sido filtrados por estas reglas. ¿Cómo se supone que el clasificador debe aprender el patrón aquí?

Ignorar este problema llevaría al modelo a estar expuesto a datos que nunca antes había encontrado. Básicamente, quiero estimar el valor de f (x) cuando x está fuera de [a, b] aquí.


8
La forma en que esto se maneja generalmente en la evaluación del riesgo de crédito es al no filtrar una cierta proporción de solicitantes por las reglas. Un pequeño número de solicitantes son admitidos al azar y marcados como tales.
Matthew Drury

Esto es realmente bueno saberlo. Tal vez incluso puedo configurar cosas para hacer lo mismo.
Laksan Nathan

1
Cuando explico este problema a los no expertos, dibujo una nube (la realidad) y un polígono que se aproxima a la nube (el modelo). Muestro los falsos errores positivos y los falsos errores negativos. Es visualmente claro que necesito ambos errores para mejorar el modelo, para aproximarme mejor a la nube.
MSalters

Preparando mi presentación ahora mismo. Esta analogía es realmente útil, ¡gracias!
Laksan Nathan

Esto se llama el dilema de exploración-explotación.
seanv507

Respuestas:


12

Tiene razón en preocuparse: incluso los mejores modelos pueden fallar espectacularmente si la distribución de datos fuera de la muestra difiere significativamente de la distribución de los datos en los que el modelo fue entrenado / probado.

Creo que lo mejor que puede hacer es entrenar un modelo en los datos etiquetados que tiene, pero trate de mantener el modelo interpretable. Eso probablemente significa estar limitado a modelos simples. Luego, podría intentar razonar cómo las reglas aprendidas por su modelo podrían interactuar con las reglas anteriores que tenía, en un intento de estimar qué tan bien podría funcionar su modelo en la población sin filtrar.

Por ejemplo, suponga que su modelo encuentra que en su conjunto de datos etiquetado, cuanto más joven es el cliente, más probabilidades hay de que se conviertan en valores predeterminados. Entonces puede ser razonable suponer que su modelo funcionará bien si eliminó el filtro anterior de "Si la edad del cliente es <18 años, entonces no acepte".


4

No estoy seguro de entender completamente esa pregunta, pero hasta donde entiendo, está preguntando cómo entrenar a un clasificador para predecir sobre muestras que se encuentran fuera del dominio de las muestras que ya ha visto. Esto es, en general, y que yo sepa, no es posible. La teoría del aprendizaje automático se basa en la idea de la "minimización empírica del riesgo", que se reduce a suponer que su conjunto de entrenamiento es una buena aproximación de su distribución real sobre muestras y etiquetas. Si se viola esa suposición, no hay realmente ninguna garantía.

Menciona datos sin etiquetar: no sé si esto resolvería su problema, pero el aprendizaje semi-supervisado tiene muchos métodos para tratar de aprender clasificadores dados tanto datos etiquetados como no etiquetados, y es posible que desee considerar investigarlos (por ejemplo , SVM transductores).


Estoy de acuerdo, no hay "solución" para mi problema. Pero tal vez hay algunos consejos prácticos sobre cómo trabajar con este tipo de problemas.
Laksan Nathan

2

Sus reglas pueden brindarle una forma de realizar el aumento de datos . Copie una muestra positiva, cambie la edad a 17 años y luego márquela como una muestra negativa.

Este procedimiento no será necesariamente trivial o útil para todos los conjuntos de datos. Trabajo con datos de PNL y es difícil hacerlo bien en ese dominio. Por ejemplo, si tiene otras características correlacionadas con la edad, puede terminar con muestras poco realistas. Sin embargo, proporciona una vía para exponer el sistema a algo como las muestras que no llegaron al conjunto de datos.


Agregar ruido a los datos seguro es una forma de manejar este problema. Pero solo en algunos casos donde los datos del cliente se pueden clasificar fácilmente. No lo haría en un grado en que nuevamente resultaría en una salida "sesgada" de conocimiento de dominio: percepción colectiva / subjetiva que conduzca a una colisión retrospectiva de presunto conocimiento.
Laksan Nathan

2

Una cosa que nos ha funcionado en una situación similar es aprender un poco de refuerzo (explorar y explotar). Además del modelo basado en reglas, ejecutamos un explorador que con una pequeña probabilidad cambiaría la respuesta del modelo, por lo que en casos ocasionales donde el modelo no recomendaría una tarjeta a un joven de 17 años, el explorador anularía el modelo. decisión y emitir una tarjeta. A partir de estos casos ocasionales, generaría datos de aprendizaje para un modelo de aprendizaje futuro en el que se puede utilizar para decidir recomendar tarjetas para niños de 17 años en función de si las que el explorador emitió a los niños de 17 años no incumplieron, por lo que puede cree sistemas que puedan funcionar fuera de los sesgos de su modelo existente.


Como estos casos ocasionales están vinculados a un cierto riesgo financiero, sería un enfoque paso a paso que podría revelar un nuevo patrón a largo plazo. Básicamente, una compensación de exploración-explotación como la mencionas. Esto definitivamente será considerado en el proyecto.
Laksan Nathan

2

Desde un punto de vista práctico, es difícil / irrazonable pedirle a un modelo que prediga algo sobre los casos que no son posibles en el sistema actual (sin almuerzo gratis).

Una forma de sortear ese problema es agregar aleatorización al sistema actual (desplegado), por ejemplo, agregar la posibilidad de omitir (algunas de) las reglas con una probabilidad pequeña y controlada (y, por lo tanto, un costo predecible).

Una vez que haya logrado convencer a las personas responsables del sistema para que lo hagan, puede usar métodos de evaluación fuera de la política, como el muestreo de importancia, para hacer preguntas de "qué pasaría si". Por ejemplo, ¿cuál sería el riesgo crediticio esperado si permitiéramos que las personas que actualmente no cumplen con las reglas tomen un crédito? Incluso se puede simular el efecto de su modelo de predicción (sesgado) en esa población. Una buena referencia para ese tipo de métodos es el artículo de Bottou sobre aprendizaje contrafactual y razonamiento.


Buena referencia, gracias. Me tomaré el tiempo para analizarlo.
Laksan Nathan

1

La respuesta estadística clásica es que si el proceso de selección está en los datos y lo describe el modelo o la selección es aleatoria, entonces el modelo paramétrico lo contempla correctamente. Ver el documento de Donald Rubin Inferencia y datos faltantes (1976). Debe incluir el mecanismo de selección de datos en su modelo. Este es un campo donde la inferencia paramétrica debería funcionar mejor que el aprendizaje automático puro.


1

Esto es similar al dilema posterior a la vida: qué proporción de buenas y malas acciones (datos) es suficiente para llegar al cielo en lugar del infierno (clase), después de que uno muere (¡filtro!). Aquí, la muerte sirve como filtro, lo que lleva a valores perdidos hacia un esquema de aprendizaje supervisado.

Quiero desambiguar entre el problema del valor perdido y el problema de los "datos sesgados". No existen los datos sesgados, existe un "modelo sesgado" que explica dichos datos, pero los datos en sí no están sesgados, simplemente faltan. Si los datos faltantes se correlacionan significativamente con los datos observables, entonces es completamente posible entrenar un modelo imparcial y lograr buenos resultados predictivos.

Si los datos faltantes no están completamente correlacionados con los datos observables, entonces es un caso de 'no sabes lo que no sabes'. No puede utilizar métodos de aprendizaje supervisados ​​ni no supervisados. El problema está fuera de los ámbitos de la ciencia de datos.

Por lo tanto, en aras de una solución significativa, supongamos que los datos faltantes están correlacionados con datos observables. Explotaremos dicha correlación.

Existen varios algoritmos de minería de datos que intentan resolver dicho problema. Puede probar 'Métodos de conjunto' como Bagging-n-Boosting o algoritmos de 'minería de patrones frecuentes' como Apriori y FP-growth. También puede explorar métodos en Robust Statistics.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.