RandomForest
Definición
Random Forests es una técnica de agregación desarrollada por Leo Breiman, que mejora la precisión en la clasificación mediante la incorporación de aleatoriedad en la construcción de cada clasificador individual.
Esta aleatorización puede introducirse en la partición del espacio (construcción del árbol), así como en la muestra de entrenamiento.
Los árboles y los bosques. El Random Forest comienza con una técnica de aprendizaje automático estándar llamada "árbol de decisiones", que, en cuanto al conjunto, corresponde a un aprendizaje. En un árbol de decisión, una entrada se introduce en la parte superior y hacia abajo a medida que atraviesa el árbol de los datos se acumulan en conjuntos más pequeños y más pequeños(sobra).
Características de random forest
- No es superable en la precisión, de entre los algoritmos actuales.
- Funciona de manera eficiente en grandes bases de datos.
- Puede manejar miles de variables de entrada sin borrado de variables.
- Aporta estimaciones de qué variables son importantes en la clasificación.
- Se genera una estimación objetiva interna de la generalización de error a medida que avanza la construcción del bosque.
- Tiene un método eficaz para la estimación de los datos faltantes y mantiene la precisión cuando una gran parte de los datos que faltan.
- Tiene métodos para error de equilibrio en la población de conjuntos de datos no balanceados de clase.
- Los bosques generados se pueden guardar para uso futuro en otros datos.
- Los prototipos que calcula dan información acerca de la relación entre las variables y la clasificación.
- Se calcula proximidades entre pares de casos que se pueden utilizar en la agrupación, la localización de los valores atípicos, o (por escala) dar interesantes vistas de los datos.
- Las caracterésiticas anteriores se pueden extender a los datos no etiquetados, que conducen a agrupamiento no supervisado, vistas de datos y la detección de valores atípicos.
- Ofrece un método experimental para la detección de iteracciones de variables.
Algoritmo:
Así es como se formó este sistema, para un número determinado de árboles T:
- Muestra N casos al azar con el reemplazo para crear un subconjunto de los datos. El subconjunto debe ser aproximadamente 66% del conjunto total.
- En cada nodo:
- Para un número m, las variables predictoras m son seleccionados al azar entre todas las variables predictoras.
- La variable de predicción que proporciona la mejor división, de acuerdo con una función objetiva, se utiliza para hacer una división binaria en ese nodo.
- En el siguiente nodo, elije otras m variables al azar entre todas las variables predictoras y hace lo mismo.
- Selección aleatoria divisor: m = 1
- Empaquetadores de Breiman: m = número total de variables de predictor
- Random forest: m << número de variables predictoras. Brieman sugiere tres posibles valores de m: ½ m √, √ m y 2 m √
Tenga en cuenta que:
- Con un gran número de predictores, el predictor conjunto elegible será muy diferente de nodo a nodo.
- Cuanto mayor sea la correlación entre los nodos del árbol, mayor será la tasa de error de random forest, es conveniente tener los arboles lo menos correlacionados como sea posible.
- Si m baja, tanto la correlación entre los árboles y la fuerza de los árboles individuales bajan. Así que un poco de valor óptimo de m debe ser descubierto.
Una estimación de la tasa de error se puede obtener, sobre
la base de los datos de entrenamiento, por lo siguiente:
- En cada iteración de arranque, predecir los datos no en la muestra de arranque (lo Breiman llamadas "fuera de bolsa", o fuera de banda, datos) utilizando el árbol crecido con la muestra de arranque.
- Agregar las predicciones fuera de banda (OOB) (En promedio, cada punto de datos sería fuera de la bolsa alrededor de 36% de los tiempos, por lo que agregan estas predicciones.) calcular la tasa de error,y lo llaman la estimación de la tasa de OOB error.
Información adicional del RandomForest
El paquete RandomForest
produce opcionalmente dos datos adicionales: una medida de la importancia
de las variables de predicción, y una medida de la estructura interna de los datos (la
proximidad de diferentes puntos de datos entre uno y otro)
Importancia de variable: Este es un concepto difícil de
definir, en general, debido a la importancia de una variable respecto a
su interacción con otras variables. El algoritmo random forest calcula la importancia de una variable mirando cuánta predicción
de error aumenta cuando los datos (OOB) para esa variable sean permutados,
mientras todos los demás se quedan sin cambio.
Medida de proximidad: (i, j) elemento de la
proximidad de la matriz producida por random forest es la fracción de los
árboles en los que los elementos i y j que caen en el mismo nodo terminal. La
intuición es que las observaciones similares deben estar en los
mismos nodos terminales con más frecuencia que los diferentes. La matriz de proximidad se puede utilizar
para identificar la estructura de los datos o de aprendizaje no supervisado con Random Forest.
Ventajas
Las ventajas del random forest son:
- Ser uno de los más certeros algoritmos de aprendizaje disponible. Para muchos sets de datos produce un clasificador grandemente certero.
- Correr eficientemente en grandes bases de datos.
- Poder manejar cientos de variables entrantes sin excluir ninguna.
- Dar estimados de qué variables son importantes en la clasificación.
- Tener un método eficaz para estimar datos perdidos y mantener la exactitud cuando una gran proporción de los datos está perdida.
- Computar los prototipos que dan información sobre la relación entre las variables y la clasificación.
- Computar las proximidades entre los pares de casos que pueden usarse en los grupos, localizando outliers, o (ascendiendo) dando vistas interesantes de los datos.
- Ofrecer un método experimental para detectar las interacciones de las variables.
Desventajas
- Random forests han sido observados para sobreajustar en ciertos sets de datos con tareas de clasificación/regresión ruidosas.
- A diferencia de los arboles de decisión, la clasificación hecha por random forests es difícil de interpretar por el hombre.
- Para los datos que incluyen variables categóricas con diferente número de niveles, el random forest es parciales a favor de esos atributos con más niveles. Por consiguiente, la posición que marca la variable no es fiable para este tipo de datos. Los métodos como las permutaciones parciales se usaron para resolver el problema.
- Si los datos contienen grupos de atributos correlacionados de relevancia similar para el rendimiento, entonces los grupos más pequeños están favorecidos sobre los grupos más grandes.
[1] wikipedia:
http://es.wikipedia.org/wiki/Random_forest
[2]Weka (código):
http://weka.sourceforge.net/doc/weka/classifiers/trees/RandomForest.html
[3] Classification and regresion by randomForest:
http://www.webchem.science.ru.nl/PRiNS/rF.pdf
[4] RandomForest Leo Breiman and Adele Cutler:
http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm