RANDOM
FOREST BOSQUE
ALEATORIO
MACHINE LEARNING
PRESENTADO POR: DAMIAN VILLAREAL
WILMER CERON
HISTORIA…
El algoritmo para inducir un random forest fue desarrollado por Leo Breiman
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 (esta es una compañía estadounidense de investigación y
desarrollo científico) en 1995.
El método combina la idea de bagging de Breiman y la selección aleatoria de
atributos, introducida independientemente por Ho Amit y German para
construir una colección de árboles de decisión con variación controlada.
El bagging o la agregación de Bootstrap, también llamada empaquetamiento. Es
un meta-algoritmo conjunto de aprendizaje automático diseñado para mejorar la
estabilidad y precisión de los algoritmos de aprendizaje automático utilizados en la
clasificación estadística y la regresión
ENFOQUE EN MACHINE
LEARNING
Random Forest o bosques aleatorios es un algoritmo de aprendizaje
supervisado. Como ya puedes ver en su nombre, crea un bosque y lo
hace de alguna manera aleatorio. El bosque que construye, es un conjunto
de árboles de decisión, la mayoría de las veces entrenados con el método
de embolsado. La idea general del método de empaquetamiento o
embolsado es generar una combinación de modelos de aprendizaje que
aumenta el resultado general.
APRENDIZAJE
SUPERVISADO
El aprendizaje supervisado es una técnica para deducir
una función a partir de datos de entrenamiento. Los datos
de entrenamiento consisten de pares de objetos
normalmente vectores: una componente del par son los
datos de entrada y el otro, los resultados deseados.
Dando su resultado en valor numérico Problemas de
regresión o valor de clase clasifición
Trabaja construyendo una gran cantidad de arboles de decision muy poco
profundos, y luego toma la clase que cada árbol eligió. Esta idea es muy poderosa
en Machine Learning. Si tenemos en cuenta que un sencillo clasificador entrenado
podría tener sólo el 60 por ciento de precisión, podemos entrenar un montón de
clasificadores que sean por lo general acertados y luego podemos utilizar la
sabiduría de todos los aprendices juntos. Con Python los podemos utilizar de la
siguiente manera:
Y así cuantos mas arboles hayan en el bosque mas robusto
será y por ende mejor precisión tendrá el algoritmo.
EJEMPLO DE APLICACIÓN
Predecir la enfermedad de un paciente tomando en cuenta los síntomas que presenta.
Con este algoritmo se puede determinar la enfermedad de una persona enferma de acuerdo a
los síntomas que presenta.
Predecir si una persona puede vivir o morir en el hundimiento del Titanic tomando en
cuenta la edad, sexo y ubicación de su cabina. Con este algoritmo se puede determinar si
una persona puede vivir o morir el hundimiento del Titanic.
No se puede utilizar en:
Predecir el precio de una acción de la bolsa de valores, tomando en cuanta los datos
históricos. Con este algoritmo no se puede predecir el valor de una acción de la bolsa ya que
para esto se requiere un algoritmo de regresión y este es un algoritmo de clasificación.
FORMULAS
En forma resumida sigue este proceso:
Selecciona individuos al azar (usando muestreo con reemplazo) para crear
diferentes set de datos.
Crea un árbol de decisión con cada set de datos, obteniendo diferentes arboles,
ya que cada set contiene diferentes individuos y diferentes variables en cada
nodo.
Al crear los arboles se eligen variables al azar en cada nodo del árbol, dejando
crecer el árbol en profundidad (es decir, sin podar).
Predice los nuevos datos usando el "voto mayoritario", donde clasificará como
"positivo" si la mayoría de los arboles predicen la observación como positiva.
Ventajas del algoritmo:
Puede resolver ambos tipos de problemas, es decir, clasificación y regresión, y realiza una
estimación decente en ambos frentes.
Unos de los beneficios que más llama la atención es el poder de manejar grandes cantidades de
datos con mayor dimensionalidad. Puede manejar miles de variables de entrada e identificar
las variables más significativas, por lo que se considera uno de los métodos de reducción de
amplio volumen. Además el modelo muestra la importancia de la variable, que puede ser una
característica muy útil.
Tiene un método efectivo para estimar datos faltantes y mantiene la precisión cuando falta una
gran proporción de los datos.
Correr eficientemente en bases de datos grandes.
Manejar cientos de variables de entrada sin excluir ninguna
Desventajas del algoritmo:
Hace un buen trabajo en la clasificación, pero no es tanto bueno como para los
problemas de regresión, ya que no proporciona predicciones precisas y continuas sobre
la naturaleza. En caso de regresión, no predice más allá del rango en los datos de
entrenamiento, y que pueden sobre-ajustar los conjuntos de datos que son
particularmente ruidosos.
En ocasiones se puede parecer este algoritmo como una caja negra, ya que se tiene muy
poco control sobre lo que hace el modelo. Puedes, en el mejor de los casos, probar
diferentes parámetros y datos aleatorios.
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.
RESUM
EN
Para decirlo en palabras simples: el bosque aleatorio crea
múltiples árboles de decisión y los combina para obtener
una predicción más precisa y estable
GRACIAS...