El aprendizaje por conjuntos de contraste es una forma de aprendizaje de reglas de asociación que busca identificar diferencias significativas entre distintos grupos mediante la ingeniería inversa de los predictores clave que caracterizan a cada grupo. Por ejemplo, dado un conjunto de atributos para un grupo de estudiantes (clasificados por tipo de titulación), un algoritmo de aprendizaje por conjuntos de contraste identificaría las características distintivas entre los estudiantes que buscan una licenciatura y aquellos que cursan un doctorado.
Descripción general
Una práctica común en la minería de datos es clasificar , es decir, observar los atributos de un objeto o situación y adivinar a qué categoría pertenece el elemento observado. A medida que se examina nueva evidencia (normalmente alimentando un conjunto de entrenamiento a un algoritmo de aprendizaje ), estas suposiciones se refinan y mejoran. El aprendizaje de conjuntos de contraste funciona en la dirección opuesta. Mientras que los clasificadores leen una colección de datos y recopilan información que se utiliza para colocar nuevos datos en una serie de categorías discretas, el aprendizaje de conjuntos de contraste toma la categoría a la que pertenece un elemento e intenta reconstruir la evidencia estadística que lo identifica como miembro de una clase. Es decir, los aprendices de conjuntos de contraste buscan reglas que asocien los valores de los atributos con cambios en la distribución de clases. [ 1 ] Buscan identificar los predictores clave que contrastan una clasificación de otra.
Por ejemplo, un ingeniero aeroespacial podría registrar datos sobre los lanzamientos de prueba de un nuevo cohete. Se tomarían mediciones a intervalos regulares durante el lanzamiento, registrando factores como la trayectoria del cohete, las temperaturas de operación, las presiones externas, etc. Si el lanzamiento falla tras varias pruebas exitosas, el ingeniero podría utilizar el aprendizaje por conjuntos de contraste para distinguir entre las pruebas exitosas y las fallidas. Un algoritmo de aprendizaje por conjuntos de contraste generará un conjunto de reglas de asociación que, al aplicarse, indicarán los predictores clave de cada prueba fallida en comparación con las exitosas (la temperatura era demasiado alta, la presión del viento era demasiado alta, etc.).
El aprendizaje de conjuntos de contraste es una forma de aprendizaje de reglas de asociación . [ 2 ] Los aprendices de reglas de asociación suelen ofrecer reglas que vinculan atributos que ocurren comúnmente juntos en un conjunto de entrenamiento (por ejemplo, las personas que están inscritas en programas de cuatro años y toman una carga académica completa tienden a vivir cerca del campus). En lugar de encontrar reglas que describan la situación actual, los aprendices de conjuntos de contraste buscan reglas que difieran significativamente en su distribución entre grupos (y, por lo tanto, pueden usarse como predictores para esos grupos). [ 3 ] Por ejemplo, un aprendiz de conjuntos de contraste podría preguntar: "¿Cuáles son los identificadores clave de una persona con una licenciatura o una persona con un doctorado, y en qué se diferencian las personas con doctorados y licenciaturas?"
Los algoritmos de clasificación estándar , como C4.5 , no tienen concepto de importancia de clase (es decir, no saben si una clase es "buena" o "mala"). Estos algoritmos no pueden sesgar ni filtrar sus predicciones hacia ciertas clases deseadas. Dado que el objetivo del aprendizaje de conjuntos de contraste es descubrir diferencias significativas entre grupos, es útil poder orientar las reglas aprendidas hacia ciertas clasificaciones. Varios algoritmos de aprendizaje de conjuntos de contraste, como MINWAL [ 4 ] o la familia de algoritmos TAR [ 5 ] [ 6 ] [ 7 ], asignan ponderaciones a cada clase para enfocar las teorías aprendidas hacia resultados que sean de interés para una audiencia particular. Por lo tanto, el aprendizaje de conjuntos de contraste puede considerarse una forma de aprendizaje de clases ponderadas [ 8 ] .
Ejemplo: Compras en el supermercado
Las diferencias entre la clasificación estándar, el aprendizaje de reglas de asociación y el aprendizaje de conjuntos de contraste se pueden ilustrar con una sencilla metáfora de supermercado. En el siguiente conjunto de datos pequeño, cada fila es una transacción de supermercado y cada "1" indica que el artículo fue comprado (un "0" indica que el artículo no fue comprado):
Dados estos datos,
- El aprendizaje mediante reglas de asociación puede revelar que los clientes que compran cebollas y patatas juntas probablemente también compren carne picada para hamburguesas.
- La clasificación podría revelar que los clientes que compraron cebollas, patatas y carne picada para hamburguesas estaban adquiriendo artículos para una barbacoa.
- El aprendizaje por conjuntos de contraste puede revelar que la principal diferencia entre los clientes que compran para una barbacoa y los que compran para una cena de aniversario es que los clientes que adquieren artículos para una barbacoa compran cebollas, patatas y carne picada (y no compran foie gras ni champán).
Aprendizaje del tratamiento
El aprendizaje por tratamiento es una forma de aprendizaje de conjuntos de contraste ponderados que toma un único grupo deseable y lo contrasta con los grupos indeseables restantes (el nivel de deseabilidad está representado por clases ponderadas). [ 5 ] El "tratamiento" resultante sugiere un conjunto de reglas que, al aplicarse, conducirán al resultado deseado.
El aprendizaje de tratamientos difiere del aprendizaje estándar de conjuntos de contraste mediante las siguientes restricciones:
- En lugar de buscar las diferencias entre todos los grupos, el aprendizaje por tratamiento especifica un grupo en particular en el que centrarse, asigna un peso a esta agrupación deseada y agrupa a los grupos restantes en una categoría de "no deseados".
- El aprendizaje mediante tratamientos se centra explícitamente en teorías mínimas. En la práctica, los tratamientos se limitan a un máximo de cuatro restricciones (es decir, en lugar de enumerar todas las razones por las que un cohete difiere de una patineta, un estudiante de tratamiento indicará de una a cuatro diferencias principales que predicen para los cohetes un alto nivel de significancia estadística).
Este enfoque en la simplicidad es un objetivo importante para quienes aprenden mediante tratamientos. El aprendizaje mediante tratamientos busca el cambio más pequeño que tenga el mayor impacto en la distribución de la clase. [ 8 ]
Conceptualmente, los algoritmos de aprendizaje por tratamiento exploran todos los subconjuntos posibles del rango de valores para todos los atributos. Esta búsqueda suele ser inviable en la práctica, por lo que el aprendizaje por tratamiento a menudo se centra en descartar rápidamente los rangos de atributos que, al aplicarse, dan lugar a una distribución de clases donde la clase deseada es minoritaria. [ 7 ]
Ejemplo: Datos de vivienda de Boston
El siguiente ejemplo muestra el resultado del algoritmo de aprendizaje TAR3 aplicado a un conjunto de datos de viviendas de la ciudad de Boston (un conjunto de datos público considerable con más de 500 ejemplos). En este conjunto de datos, se recopilan diversos factores para cada vivienda, y cada una se clasifica según su calidad (baja, media-baja, media-alta y alta). La clase deseada se establece como "alta", y todas las demás clases se agrupan como indeseables.
El resultado del aprendizaje de tratamiento es el siguiente:
Distribución de clases de referencia: mínimo: 29% Medlow: 29% medio-alto: 21% máximo: 21% Tratamiento sugerido: [PTRATIO=[12.6..16), RM=[6.7..9.78)] Nueva distribución de clases: bajo: 0% Medlow: 0% medio-alto: 3% máximo: 97%
Sin aplicar ningún tratamiento (regla), la clase deseada representa solo el 21% de la distribución de clases. Sin embargo, si se filtra el conjunto de datos para incluir viviendas con entre 6,7 y 9,78 habitaciones y una proporción de padres por profesor en el vecindario de entre 12,6 y 16, entonces el 97% de los ejemplos restantes se incluyen en la clase deseada (viviendas de alta calidad).
Algoritmos
Existen varios algoritmos que realizan aprendizaje de conjuntos de contraste. Las siguientes subsecciones describen dos ejemplos.
ESTUCO
El algoritmo de aprendizaje de conjuntos de contraste STUCCO [ 1 ] [ 3 ] trata la tarea de aprender a partir de conjuntos de contraste como un problema de búsqueda en árbol , donde el nodo raíz del árbol es un conjunto de contraste vacío. Los nodos hijos se añaden especializando el conjunto con elementos adicionales seleccionados mediante un ordenamiento canónico de atributos (para evitar visitar los mismos nodos dos veces). Los nodos hijos se forman añadiendo términos que siguen a todos los términos existentes en un orden dado. El árbol formado se explora en amplitud. Dados los nodos en cada nivel, se escanea el conjunto de datos y se cuenta el soporte para cada grupo. A continuación, se examina cada nodo para determinar si es significativo y grande, si debe podarse y si deben generarse nuevos nodos hijos. Una vez localizados todos los conjuntos de contraste significativos, un postprocesador selecciona un subconjunto para mostrar al usuario: primero se muestran los resultados de orden inferior, más simples, seguidos de los resultados de orden superior, que son "sorprendentes y significativamente diferentes " [ 3 ] .
El cálculo del soporte se obtiene al contrastar la hipótesis nula de que el soporte del conjunto de contraste es igual en todos los grupos (es decir, que el soporte del conjunto de contraste es independiente de la pertenencia al grupo ). El recuento de soporte para cada grupo es un valor de frecuencia que se puede analizar en una tabla de contingencia, donde cada fila representa el valor de verdad del conjunto de contraste y cada variable de columna indica la frecuencia de pertenencia al grupo. Si existe una diferencia en las proporciones entre las frecuencias del conjunto de contraste y las de la hipótesis nula, el algoritmo debe determinar si las diferencias en las proporciones representan una relación entre variables o si se pueden atribuir a causas aleatorias. Esto se puede determinar mediante una prueba de chi-cuadrado que compara el recuento de frecuencia observado con el recuento esperado.
Los nodos se podan del árbol cuando todas las especializaciones del nodo nunca pueden conducir a un conjunto de contraste significativo y grande. La decisión de podar se basa en:
- Tamaño mínimo de la desviación: La diferencia máxima entre el soporte de dos grupos cualesquiera debe ser mayor que un umbral especificado por el usuario.
- Frecuencias esperadas de las celdas: Las frecuencias esperadas de las celdas de una tabla de contingencia solo pueden disminuir a medida que se especializa el conjunto de contrastes. Cuando estas frecuencias son demasiado pequeñas, se viola la validez de la prueba de chi-cuadrado.
- Límites: Se establece un límite superior para la distribución de una estadística calculada cuando la hipótesis nula es verdadera. Los nodos se eliminan cuando ya no es posible cumplir con este límite.
TAR3
El aprendiz de conjunto de contraste ponderado TAR3 [ 6 ] [ 9 ] se basa en dos conceptos fundamentales: el levantamiento y el soporte de un conjunto de reglas.
El efecto de un conjunto de reglas es el cambio que una decisión produce en un conjunto de ejemplos tras su imposición (es decir, cómo cambia la distribución de clases en respuesta a la imposición de una regla). TAR3 busca el conjunto de reglas más pequeño que induzca los mayores cambios en la suma de los pesos asignados a cada clase multiplicada por la frecuencia con la que aparece cada clase. El efecto se calcula dividiendo la puntuación del conjunto en el que se aplica el conjunto de reglas entre la puntuación del conjunto de referencia (es decir, sin aplicar reglas). Cabe destacar que, al invertir la función de puntuación del efecto, el algoritmo TAR3 también puede seleccionar las clases restantes y descartar la clase objetivo.
Es problemático basarse únicamente en el índice de mejora de un conjunto de reglas. El ruido de datos incorrecto o engañoso, si se correlaciona con ejemplos fallidos, puede dar lugar a un conjunto de reglas sobreajustado. Un modelo sobreajustado de este tipo puede tener un índice de mejora elevado, pero no refleja con precisión las condiciones predominantes en el conjunto de datos. Para evitar el sobreajuste , TAR3 utiliza un umbral de soporte y rechaza todas las reglas que se encuentran por debajo de este umbral. Dado una clase objetivo, el umbral de soporte es un valor proporcionado por el usuario (normalmente 0,2) que se compara con la proporción de la frecuencia de la clase objetivo cuando se ha aplicado el conjunto de reglas respecto a la frecuencia de esa clase en el conjunto de datos general. TAR3 rechaza todos los conjuntos de reglas con un soporte inferior a este umbral.
Al requerir tanto un alto valor de elevación como un alto valor de soporte, TAR3 no solo devuelve conjuntos de reglas ideales, sino que también favorece conjuntos de reglas más pequeños. Cuantas menos reglas se adopten, mayor será la evidencia que las respalde.
El algoritmo TAR3 solo crea conjuntos de reglas a partir de rangos de valores de atributos con un alto valor heurístico. Para determinar qué rangos utilizar, primero calcula la puntuación de mejora de cada rango de valores de atributo. Estas puntuaciones individuales se ordenan y se convierten en una distribución de probabilidad acumulativa. TAR3 selecciona valores aleatoriamente de esta distribución, lo que significa que es poco probable que se seleccionen rangos con puntuaciones bajas. Para crear un conjunto de reglas candidatas, se seleccionan y combinan varios rangos. Estos conjuntos de reglas candidatas se puntúan y ordenan. Si no se observa ninguna mejora tras un número de rondas definido por el usuario, el algoritmo finaliza y devuelve los conjuntos de reglas con las puntuaciones más altas.
Referencias
- 1 2 Stephen Bay; Michael Pazzani (2001). "Detección de diferencias grupales: Minería de conjuntos de contraste" (PDF) . Minería de datos y descubrimiento de conocimiento . 5 (3): 213– 246. doi : 10.1023/A:1011429418057 . S2CID 2941550 .
- ↑ GI Webb; S. Butler; D. Newlands (2003). Sobre la detección de diferencias entre grupos . Actas de KDD'03 de la novena conferencia internacional ACM SIGKDD sobre descubrimiento de conocimiento y minería de datos.
- 1 2 3 Stephen Bay; Michael Pazzani (1999). Detección de cambios en datos categóricos: minería de conjuntos de contraste . KDD '99 Actas de la quinta conferencia internacional ACM SIGKDD sobre descubrimiento de conocimiento y minería de datos.
- ↑ CH Cai; AWC Fu; CH Cheng; WW Kwong (1998). Minería de reglas de asociación con elementos ponderados (PDF) . Actas del Simposio Internacional de Ingeniería y Aplicaciones de Bases de Datos (IDEAS 98).
- 1 2 Y. Hu (2003). Aprendizaje del tratamiento: Implementación y aplicación (Tesis de maestría). Departamento de Ingeniería Eléctrica, Universidad de Columbia Británica.
- 1 2 K. Gundy-Burlet; J. Schumann; T. Barrett; T. Menzies (2007). Análisis paramétrico de algoritmos de guía de reentrada ANTARES utilizando generación de pruebas avanzadas y análisis de datos . En 9º Simposio Internacional sobre Inteligencia Artificial, Robótica y Automatización en el Espacio.
- 1 2 Gregory Gay; Tim Menzies; Misty Davies; Karen Gundy-Burlet (2010). "Encontrar automáticamente las variables de control para el comportamiento de sistemas complejos" (PDF) . Ingeniería de software automatizada . 17 (4).
- 1 2 T. Menzies; Y. Hu (2003). "Minería de datos para personas muy ocupadas" (PDF) . IEEE Computer . 36 (11): 22– 29. doi : 10.1109/mc.2003.1244531 .
- ↑ J. Schumann; K. Gundy-Burlet; C. Pasareanu ; T. Menzies; A. Barrett (2009). Soporte de verificación y validación de software mediante análisis paramétrico de grandes sistemas de simulación de software . Actas de la Conferencia Aeroespacial IEEE de 2009.
- Gestión de datos
- minería de datos