El aprendizaje por conjuntos ayuda a mejorar los resultados del aprendizaje automático al combinar varios modelos. Este enfoque permite la producción de un mejor rendimiento predictivo en comparación con un solo modelo. La idea básica es aprender un conjunto de clasificadores (expertos) y permitirles votar.
Ventaja: Mejora en la precisión predictiva.
Desventaja: es difícil entender un conjunto de clasificadores.
¿Por qué funcionan los conjuntos?
Dietterich (2002) mostró que los conjuntos superan tres problemas:
- Problema estadístico:
el problema estadístico surge cuando el espacio de hipótesis es demasiado grande para la cantidad de datos disponibles. ¡Por lo tanto, hay muchas hipótesis con la misma precisión en los datos y el algoritmo de aprendizaje elige solo una de ellas! ¡Existe el riesgo de que la precisión de la hipótesis elegida sea baja en datos no vistos! - Problema computacional:
el problema computacional surge cuando el algoritmo de aprendizaje no puede garantizar la búsqueda de la mejor hipótesis. - Problema de representación:
el problema de representación surge cuando el espacio de hipótesis no contiene ninguna buena aproximación de la(s) clase(s) de destino.
¿El principal desafío para desarrollar modelos de conjuntos?
El principal desafío no es obtener modelos base de alta precisión, sino obtener modelos base que cometan diferentes tipos de errores. Por ejemplo, si se utilizan conjuntos para la clasificación, se pueden lograr altas precisiones si diferentes modelos base clasifican incorrectamente diferentes ejemplos de entrenamiento, incluso si la precisión del clasificador base es baja.
Métodos para construir conjuntos de forma independiente:
- Voto mayoritario
- Embolsado y Random Forest
- Inyección de aleatoriedad
- Conjuntos de selección de funciones
- Codificación de salida con corrección de errores
Métodos para la Construcción Coordinada de Conjuntos –
- impulsar
- Apilado
Clasificación confiable: enfoque de metaclasificador
Co-entrenamiento y autoentrenamiento
Tipos de clasificador de conjuntos:
Embolsado:
El embolsado (Bootstrap Aggregation) se utiliza para reducir la varianza de un árbol de decisión. Supongamos un conjunto D de d tuplas, en cada iteración i , se muestrea un conjunto de entrenamiento Di de d tuplas con reemplazo de D (es decir, bootstrap). Luego se aprende un modelo clasificador M i para cada conjunto de entrenamiento D < i. Cada clasificador Mi devuelve su predicción de clase. El clasificador embolsado M* cuenta los votos y asigna la clase con más votos a X (muestra desconocida).
Pasos de implementación del embolsado –
- Se crean múltiples subconjuntos a partir del conjunto de datos original con tuplas iguales, seleccionando observaciones con reemplazo.
- Se crea un modelo base en cada uno de estos subconjuntos.
- Cada modelo se aprende en paralelo de cada conjunto de entrenamiento y de forma independiente entre sí.
- Las predicciones finales se determinan combinando las predicciones de todos los modelos.
- Se crean múltiples subconjuntos a partir del conjunto de datos original, seleccionando observaciones con reemplazo.
- Se selecciona aleatoriamente un subconjunto de características y la característica que ofrece la mejor división se utiliza para dividir el Node de forma iterativa.
- El árbol crece al más grande.
- Repita los pasos anteriores y la predicción se basa en la agregación de predicciones de n número de árboles.
Random Forest:
Random Forest es una extensión sobre el embolsado. Cada clasificador del conjunto es un clasificador de árbol de decisión y se genera utilizando una selección aleatoria de atributos en cada Node para determinar la división. Durante la clasificación, cada árbol vota y se devuelve la clase más popular.
Pasos de implementación de Random Forest –
Puede obtener más información en la documentación de sklearn.
Publicación traducida automáticamente
Artículo escrito por Avik_Dutta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA