Random forest

De Wikipedia, la enciclopedia libre

Random forest (o random forests) también conocidos en castellano como Bosques aleatorios es una combinación de árboles predictores tal que cada árbol depende de los valores de un vector aleatorio probado independientemente y con la misma distribución para cada uno de estos. Es una modificación sustancial de bagging que construye una larga colección de árboles no correlacionados y luego los promedia.[1][2]

El algoritmo para inducir un random forest fue desarrollado por Leo Breiman[3]​ y Adele Cutler y Random forests es su marca de fábrica. El término aparece de la primera propuesta de Random decision forests, hecha por Tin Kam Ho de Bell Labs en 1995. El método combina la idea de bagging de Breiman y la selección aleatoria de atributos, introducida independientemente por Ho,[4][5]​ Amit y Geman,[6]​ para construir una colección de árboles de decisión con variación controlada.

La selección de un subconjunto aleatorio de atributos es un ejemplo del método random subspace, el que, según la formulación de Ho, es una manera de llevar a cabo la discriminación estocástica[7]​ propuesta por Eugenio Kleinberg.

En muchos problemas el rendimiento del algoritmo random forest es muy similar a la del boosting, y es más simple de entrenar y ajustar. Como consecuencia, el Random forest es popular y ampliamente utilizado.

Definición de random forests[editar]

La idea esencial del bagging es promediar muchos modelos ruidosos pero aproximadamente imparciales, y por tanto reducir la variación. Los árboles son los candidatos ideales para el bagging, dado que ellos pueden registrar estructuras de interacción compleja en los datos, y si crecen suficientemente profundo, tienen relativamente baja parcialidad. Producto de que los árboles son notoriamente ruidosos, ellos se benefician enormemente al promediar.

Cada árbol es construido usando el siguiente algoritmo:

  1. Sea N el número de casos de prueba, M es el número de variables en el clasificador.
  2. Sea m el número de variables de entrada a ser usado para determinar la decisión en un nodo dado; m debe ser mucho menor que M
  3. Elegir un conjunto de entrenamiento para este árbol y usar el resto de los casos de prueba para estimar el error.
  4. Para cada nodo del árbol, elegir aleatoriamente m variables en las cuales basar la decisión. Calcular la mejor partición del conjunto de entrenamiento a partir de las m variables.

Para la predicción un nuevo caso es empujado hacia abajo por el árbol. Luego se le asigna la etiqueta del nodo terminal donde termina. Este proceso es iterado por todos los árboles en el ensamblado, y la etiqueta que obtenga la mayor cantidad de incidencias es reportada como la predicción.

Características (o rasgos) y Ventajas[editar]

Las ventajas del random forests son:[8]

  • Ser uno de los algoritmos de aprendizaje más certeros que hay disponible. Para un conjunto de datos lo suficientemente grande produce un clasificador muy certero.[9]
  • Correr eficientemente en bases de datos grandes.
  • Manejar cientos de variables de entrada sin excluir ninguna.
  • Dar estimaciones de qué variables son importantes en la clasificación.[1][2]
  • 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 valores atípicos, o (ascendiendo) dando vistas interesantes de los datos.
  • Ofrecer un método experimental para detectar las interacciones de las variables.

Desventajas[editar]

  • Se ha observado que Random forests sobreajusta en ciertos grupos de datos con tareas de clasificación/regresión ruidosas.[10]
  • A diferencia de los árboles de decisión, la clasificación hecha por random forests es difícil de interpretar.[11]
  • Para los datos que incluyen variables categóricas con diferente número de niveles, el random forests se parcializa 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. Métodos como las permutaciones parciales se han usado para resolver el problema[12][13]
  • Si los datos contienen grupos de atributos correlacionados con similar relevancia para el rendimiento, entonces los grupos más pequeños están favorecidos sobre los grupos más grandes.[14]

Visualización[editar]

Datos de entrenamiento.
Visualización de Random Forest después del entrenamiento.
Modelo de regresión logística después de entrenamiento.

Para formar una visualización intuitiva del espacio-modelo representado por un random forests, se creó un set de datos que consiste en 200 puntos aleatorios (100 puntos verdes y 100 puntos rojos). Los puntos verdes eran obtenidos a partir de una distribución Gaussiana con un centroide en (0,1), y los puntos rojos eran obtenidos de una distribución de Gaussiana con un centroide en (1,0). En ambos casos, la variación era circular con un radio medio de 1.

El modelo del random forest, consistente de 50 árboles, entrenados usando estos datos. La pureza del color indica la porción de los 50 árboles que votaron de acuerdo. Un over-fit (sobre ajuste) significativo puede ser observado en la visualización de Random Forest después del entrenamiento.

En contraste, se presenta la visualización de un modelo de regresión logístico (menos propenso al sobre ajuste), que también fue entrenado usando estos mismos datos.

Véase también[editar]

Referencias[editar]

  1. a b Piryonesi, S. Madeh; El-Diraby, Tamer E. (2020-06). «Role of Data Analytics in Infrastructure Asset Management: Overcoming Data Size and Quality Problems». Journal of Transportation Engineering, Part B: Pavements (en inglés) 146 (2): 04020022. ISSN 2573-5438. doi:10.1061/JPEODX.0000175. Consultado el 7 de agosto de 2020. 
  2. a b Hastie, Trevor.; Friedman, J. H. (Jerome H.) (2001). The elements of statistical learning : data mining, inference, and prediction : with 200 full-color illustrations. Springer. ISBN 0-387-95284-5. OCLC 46809224. Consultado el 7 de agosto de 2020. 
  3. Breiman, Leo (2001). «Random Forests». Machine Learning 45 (1): 5-32. doi:10.1023/A:1010933404324. 
  4. Ho, Tin Kam (1995). Random Decision Forest. Proceedings of the 3rd International Conference on Document Analysis and Recognition, Montreal, QC, 14–16 August 1995. pp. 278-282. Archivado desde el original el 4 de julio de 2008. 
  5. Ho, Tin Kam (1998). «The Random Subspace Method for Constructing Decision Forests». IEEE Transactions on Pattern Analysis and Machine Intelligence 20 (8): 832-844. doi:10.1109/34.709601. Archivado desde el original el 30 de septiembre de 2007. 
  6. Amit, Yali; Geman, Donald (1997). «Shape quantization and recognition with randomized trees». Neural Computation 9 (7): 1545-1588. doi:10.1162/neco.1997.9.7.1545. Archivado desde el original el 5 de febrero de 2018. Consultado el 3 de enero de 2013. 
  7. Kleinberg, Eugene (1996). «An Overtraining-Resistant Stochastic Modeling Method for Pattern Recognition». Annals of Statistics 24 (6): 2319-2349. MR 1425956. doi:10.1214/aos/1032181157. Archivado desde el original el 19 de julio de 2011. 
  8. [1]
  9. Caruana, Rich; Karampatziakis, Nikos; Yessenalina, Ainur (2008). An empirical evaluation of supervised learning in high dimensions. Proceedings of the 25th International Conference on Machine Learning (ICML). 
  10. Segal, Mark R. (14 de abril de 2004). Machine Learning Benchmarks and Random Forest Regression. Center for Bioinformatics & Molecular Biostatistics. 
  11. Berthold, Michael R. (2010). Guide to Intelligent Data Analysis. Springer London. 
  12. Deng,H.; Runger, G.; Tuv, E. (2011). Bias of importance measures for multi-valued attributes and solutions. Proceedings of the 21st International Conference on Artificial Neural Networks (ICANN). pp. 293-300. 
  13. Altmann A, Tolosi L, Sander O, Lengauer T (2010). «Permutation importance:a corrected feature importance measure». Bioinformatics. doi:10.1093/bioinformatics/btq134. 
  14. Tolosi L, Lengauer T (2011). «Classification with correlated features: unreliability of feature ranking and solutions.». Bioinformatics. doi:10.1093/bioinformatics/btr300. 

Implementación Comercial[editar]

  • [2] Random Forests.

Implementaciones Open source[editar]

  • El software SQP usa el algoritmo de random forest para predecir la calidad de presuntas de encuestas en función de las múltiples características formales y lingüísticas que ésta pueda tener.