Está en la página 1de 93

Inteligencia Artificial aplicada

a los Rayos Gamma Espectrales (SL)


Fabiola Bodan Francisco Castillo Gamarra Nstor Ramos
June 2017

1
Objetivos

Identificacin de minerales de arcillas


para la prediccin y mitigacin de dao
de formacin causado por calidad e
incompatibilidad de agua.
Metodologa:
Algoritmos de inteligencia artificial.
Qu es la inteligencia artificial ?

Disciplina de la ciencia y la ingeniera dedica a:


Entender los principios que gobiernan los
comportamientos inteligentes naturales o
artificiales
Desarrollar metodologas para el diseo y la
implementacin de instrumentos tiles e
inteligentes.
Habilidad de las computadoras de realizar
actividades que requieran inteligencia
Inteligencia Artificial
Formal Logics
Fuzzy Logic (Lgica Difusa)
Genetic Algorithms
Artificial Neural Network (ANN)
Knowledge Representation (Representacin
del Conocimiento)
Ensemble Learning (Aprendizaje Permanente-
Random Forest)
Qu son Redes
Neuronales Artificiales?

Modelo simplificado del cerebro


Esencialmente un funcin de aproximacin
Transforma la entrada en salidas de acuerdo a sus
mejores habilidades

Entradas Salidas

Entradas ANN Salidas


Qu son Redes
Neuronales Artificiales?
Cuerpo de
la Clula Sinapsis

Sinapsis

Dendritas Axn

Neuronas

Entradas
Salidas

Sinapsis
Redes Neuronales Artificiales (ANN)

Para que se usan la ANN ?


Clasificacin
Reconocimiento de Patrones, extraccin de caractersticas, igual
de imgenes
Prediccin
Extrapolacin basada en datos histricos
Por qu usar ANN ?
Habilidad de Aprehender
Las ANN descubren como funcionar por si solas
Determinan su funcin basada solo en las entrada
Habilidad de Generalizar
Son capaces de producir salidas razonables para que entradas
que no han sido utilizadas para el entrenamiento
Cmo funciona una ANN ?

La salida de una neurona es una funcin basada en la suma


de las entradas mas una polarizacin(bias)

1 1
2
2 Neurona = (1 1 + 2 2 + 3 3 + )
3
3
bias

La funcin de la Red Neuronal completa es simplemente el


clculo de todas las salidas de las neuronales
Un clculo completamente determinstico
Funcin de Activacin en las ANN

Aplicada a la suma pesada de las entradas de


una neurona para producir una salida
Mayora de las ANN usan sigmoides
Suavizada, continua, y monotnicamente
creciente (derivada positiva)
Rango limitado pero no tiene ni un mx ni min
Considerado ON ligeramente menos que el mximo,
OFF ligeramente mayor que el mnimo
Funcin de Activacin en las ANN

Las sigmoides mas comunes son:


= 1 (1 + ) (funcin logstica)
Las derivadas son importantes en las ANN y la
funcin logstica tiene una derivada interesante
= () (1 ())
Otras sigmoides que se usan
Tangente hiperblica
Arco-tangente
La naturaleza exacta de la funcin tiene poco
efecto en las habilidades de las ANN
Que son los pesos en las ANN ?

Son el factor mas importante que determinan su funcin


El entrenamiento es la presentar a la red algunos ejemplos y modificar los
pesos para que se aproximen a la funcin deseada.
Dos tipos de entrenamiento
Supervisado
Se entrega a la ANN las entradas y las salidas deseadas
Se mide la respuesta de la red a las entradas
Se modifican los pesos para reducir la diferencia entre las salidas deseadas y las calculadas

No supervisado
Solo se entregan las entradas
La ANN ajusta los pesos de forma que entradas similares produzcan salidas parecidas
La red identifica patrones y diferencias en las entradas sin asistencia interna

Iteraciones (epoch)
Una iteracin del proceso para proveer a la red con una entrada y calcular los pesos
Tpicamente se requieren varias iteraciones para entrenar la ANN
Perceptrones
Primera ANN con la habilidad de aprehender
Solo neuronas de entrada y salida
Neuronas de entrada ON y OFF
Neuronas de salida usan umbral de activacin simple
En su forma bsica solo resuelven problemas lineales.
Aplicaciones limitadas

.5

.2

.8

Neuronas de Pesos Neuronas de


entrada entrada
Cmo Aprehenden los Perceptrones ?

Usan aprendizaje Supervisado


Se ajustan los pesos para lograr la salida
= + *entrada
= tasa de aprendizaje
1 .5
0 .2 1

1 .8

1 0.5 + 0 0.2 + 1 0.8 = 1.3


Asumiendo un umbral de salida=1.2 Si la salida debera ser 0
Calcular los pesos
1.3 >1.2 Asumiendo =1
1 = 0.5 + 1 0 1 1 = 0.5
2 = 0.2 + 1 0 1 0 = 0.2
3 = 0.8 + 1 0 1 1 = 0.2
Redes Multicapas Compensadas
(Feedforward)

La ANN mas comn


Un extensin del perceptron
Mltiples capas
Se suman una o mas capas ocultas entre las capas de
salidas y las entradas
Funcin de activacin no es un simple umbral
Usualmente una sigmoide
Funcin Aproximador General
No limitada a problemas lineales
Informacin fluye en una sola direccin
La salidas de una capa actan como las entradas de la
prxima.
Ejemplo
I1 I2 XOR
-2.82
0 0 0
0 1 1
0 4.8 -2.86 1 0 1
I1 H1
3 1 1 0

Entrada O Salida
s
1
I2 H2
4.6

Entradas:0, -2.74
1
: = . + . . = . : = . + . . = .86
= + . = . = + . = .

: = . . + . . . = .
= + . = . ""
Backpropagation (Propagacin realimentada)

Metodologa mas comn para calcular los


pesos de las red.
Una forma de entrenamiento supervisada
El algoritmo bsico de Backpropagation esta
basado en minimizar el error de la red usando
la derivada de la funcin error
Simple
Lento
Propenso a caer en mnimos locales
Backpropagation (Propagacin realimentada)

Medicin mas comn del error es el error medio


cuadrtico:
= ( )2
Derivadas parciales del error
Neurona de Salida
=
=
j= neural de salida
Neurona de Oculta i= neurona ltima
= capa oculta

= j= neural de salida
i= neurona en la capa previa
k= neurona en la prxima
capa
Backpropagation (Propagacin realimentada)

Clculo de las derivadas fluye hacia atrs a travs


de la red, de all el nombre Backpropagation
Las derivadas apuntan en la direccin del mximo
incremento del error
Un pequeo paso(tasa de aprendizaje) en la
direccin opuesta resultar en el mximo
incremento de la funcin error
=

= Tasa de Aprendizaje
Backpropagation (Propagacin realimentada)

La tasa de aprendizaje es importante


Demasiado pequea
Convergencia lenta
Demasiado Grande
Puede no haber convergencia
Momento
Tiende a ayudar en la convergencia
Aplica un promedio de suavizacin a los cambios en los pesos
=
es el coeficiente del momento
= +
Acta como un filtro pasa-bajos para reducir fluctuaciones
rpidas
Mnimos Locales

Entrenamiento es esencialmente minimizar el


error medio cuadrtico
Problema clave: evitar mnimos locales
Tcnicas tradicionales para evitar mnimos locales
Cristalizacin Simulada (Simulated Annealing)
Bsqueda mnimos en espacios grandes
Pequeas perturbaciones de los pesos en forma progresiva
Algoritmos genticos
Usa los pesos como cromosomas
Aplica seleccin natural, apareamiento y mutaciones a esos
cromosomas.
Capas Ocultas y Neuronas

Para la mayor parte de los problemas una capa es


suficiente
Se requieren dos capas cuando la funcin es
discontinua
El nmero de neuronas es muy importante
Pocas
Sub-ajuste de datos ANN no pueden aprehender los detalles
Muchas
Sobre-ajuste ANN aprehenden detalles insignificantes
Comenzar con pocas neuronas e incrementar el nmero
hasta obtener resultados satisfactorios
Sobre Ajuste
Sobre-ajuste puede ocurrir si
12

10
no si selecciona un buen 8
conjunto de entrenamiento. 6

Qu constituye un buen 4

conjunto de entrenamiento ? 2

Las muestras deben 0


0 2 4 6 8 10 12
representar la poblacin Training Test Over Fit Well Fit
general
Las muestras deben contener
los miembros de cada clase
Las muestras de cada clase
deben contener un rango muy
amplio de las variaciones
Tamao del Conjunto de
Entrenamiento

El tamao del conjunto de entrenamiento esta


relacionado con el nmero de neuronas en la
capa oculta
Ej. 10 Muestras de entradas, 5 neuronas ocultas, 2
salidas:
11(5)+6(2)=67 pesos (variables)
Si solo se usan 10 muestras de entrenamiento para
determinar los pesos, la red terminar sobre-ajustada
Cualquier solucin encontrada ser especfica para las 10
muestras de entrenamiento
Anlogo a tener 10 ecuaciones con 67 incgnitas Se
encontrar una solucin especfica, pero no una solucin
general con la informacin provista.
Entrenamiento y Verificacin
El conjunto total de la muestras se divide en dos
conjuntos ortogonales (independientes)
Conjunto de entrenamiento
Grupo de muestras que se utilizar para entrenar la ANN
Conjunto de Ensayo/Verificacin (Testing)
Grupo de muestras utilizado para verificar el rendimiento
de la ANN
Utilizado para estimar el error
Muestras
Conocidas

Conjunto Conjunto
Entrenamiento Verificacin
Verificacin

Provee un verificacin no sesgada de la red


Error muy comn es Verificar la red
neuronal usando los mismos conjuntos de
entrenamiento
La ANN se optimiz con estas muestras, y por
supuesto funcionar bien con estos datos
No da ninguna indicacin de la habilidad de
clasificacin que tendr la ANN para con otras
entradas diferentes al conjunto de entrenamiento
Verificacin
Varias mtricas pueden ser utilizadas para medir
el rendimiento de la ANN basados en los
resultados del conjunto de verificacin
Error Medio Cuadrtico, RSN, etc.
Re-muestreo es un mtodo alternativo de estimar
el error de la ANN
La idea bsica es repetir(iterar) los procedimientos de
entrenamiento y ensayo muchas veces
Dos tcnicas principales
Validacin Cruzada (Cross Validation)
Re-muestreo (Bootstrapping)
Validacin Cruzada
(Cross Validation)

Llamada Rotacin Estimada, es una tcnica


para validad la calidad de un anlisis
estadstico y evaluar si puede generalizarse a
un conjunto independiente de datos.
k-fold (Carpetas-k)
La muestra original es aleatoriamente
particionada en k subconjuntos de iguales.
De los k subconjuntos, un nico subconjunto se
retiene como dato de validacin, y el resto de los
k-1 se usan como entrenamiento.
Validacin Cruzada
(Cross Validation)

By Fabian Flck - Own work, CC BY-SA 3.0,


https://commons.wikimedia.org/w/index.php?curid=51562781

Diagrama de k-fold cross-validation with k=4


Por ejemplo si k=4, ser 4-fold cross-validation. Aleatoriamente se barajan
los conjuntos de datos en 4 subconjuntos do,d1,d2,d3, de forma que los cuatro
subconjuntos de igual tamao. Luego se entrena con do,d1,d2 y se verifica
con d3. Luego se entrena con d1,d2,d3y se verifica con do.
Validacin Cruzada
(Cross Validation)

Consideremos que los componentes de cada k-


fold(carpeta k) sean C1,C2,..Ck. Existen nk
observaciones en la carpeta k.: Si N es un
mltiplo de K nk=n/K
Calculamos la varianza


=

=1
donde = ( )2 , siendo es el
valor calculado para la muestra .
Re-muestreo
(Bootstrapping)

Mundo
Mundo Bootstrap
Real
Muestreo Muestreo
Aleatorio Datos Aleatorio Datos
Poblacin Z= Poblacin Z*= (z*1,z*2..z*n)
P (z1,z2..zn)

Estima f(Z) Estima


f(Z*)
Re-muestreo
(Bootstrapping)
Para un conjunto de datos con N muestras
Seleccionar aleatoriamente(con reemplazo) N muestras y usarlas para el
entrenamiento
Ejemplo: Supongamos que estamos interesados en calcular la altura
media(promedio) de la poblacin mundial. Como no podemos medir a todos
tomamos una pequea muestra, tamao N. Para tener una idea real
necesitamos un sentido de variabilidad, el booststrap mas simple involucra
tomar el conjunto original N, y muestrearlo nuevamente (llamado re-
muestreo) tambin de tamao N. Por ejemplo del conjunto [1,2,3,4,5] re-
muestreamos y obtenemos [2,5,4,4,1]. Si N es lo suficientemente grande la
probabilidad de obtener la muestra real original es cero.
Si el proceso se repite un gran nmero de veces (1,000 o 10,000) y para cada
una de esas booststrap calculamos la media (llamadas estimaciones
booststrap), se puede hacer un histograma de medias del booststrap.
Esto da una estimacin de la forma de la distribucin de las medias de la cual
podemos responder cuanto varia la media.
Embolsado
(Bootstrap Bagging)
Es un meta-algoritmo de maquinas de
aprendizaje de conjuntos diseado para mejorar
la estabilidad y la precisin de los algoritmos de
mquinas de aprendizaje utilizados en
clasificacin estadstica y regresin.
Reduce la varianza y evita el sobre ajuste.
Usualmente se aplica e mtodos de arboles de
decisin.
Bagging = Bootstrap aggregating
Embolsado
(Bagging)
Dado un conjunto D, de tamao n, el embolsado genera un nuevos
conjuntos de entrenamiento Di, cada uno de tamao n,
muestreando el conjunto D uniformemente y con reemplazo.
Ejemplo: relacin entre e ozono y la temperatura. Es
aparentemente no lineal. En lugar de hacer una nica funcin de
suavizado para el conjunto completo. Se tomas 100 re-
muestras(bootstrap). Cada muestra difiere de conjunto original, an
as se refleja su distribucin y variabilidad. Para muestra se realiza
una funcin de suavizado, las primera 10 muestras aparecen en
gris. Las lneas claramente ondulan y sobre ajustan los datos con un
rango muy limitado. Sin embargo tomando el promedio de las 100
muestras, cada una de las ellas ajustada a un sub-conjunto,
tenemos un predictor-embolsado (lnea roja). Claramente este es
mas estable y menos sobre-ajustado.
Bosque Aleatorio
Random Forest
Tambin conocidos Bosques de Decisin Aleatorios, son
mtodos de aprendizaje de conjuntos para la
clasificacin y regresin.
Construye mltiples rboles de Decisin en el momento
de entrenar la maquina y su salida son las clases, en el
modo clasificacin o la media de la prediccin de cada
rbol individual en el modo regresin.
Los Bosques de Decisin Aleatorios corrigen el hbito
de los Arboles de Decisin de sobre- ajustarse al
conjunto de entrenamiento.
Bosque Aleatorio -
Random Forest

Una extensin del algoritmo llamada Bosques


Aleatorios (Random Forests) desarrollada por LB, AC
combina la idea de Embolsado con la seleccin
aleatoria, construyendo una coleccin de rboles con
una varianza controlada.

Fuente:
https://gallery.cortanaintelligence.com/Experiment/Tutorial-Creating-a-
https://www.researchgate.net/publication/292676858_Churn_Prediction_System_for_Telecom_using_
random-forest-regression-model-in-R-and-using-it-for-scoring-2
Filter-Wrapper_and_Ensemble_Classification/figures?lo=1
Random Forest
Qu es exactamente ?

Es una coleccin de rboles de Clasificacin y Regresin (CART-


Classification and Regression Trees) que siguen reglas especiales:
Crecimiento de rboles
Combinacin de los rboles
Auto-verificacin
Post procesamiento
Crecen un bosque completos a partir de rboles
Cada rbol crece sobre un muestra re-sampleada independiente de un
conjunto de datos independientes
Independientemente, para cada nodo de cada rbol, encontrar la mejor
divisin de una conjunto m de variables seleccionadas
independientemente
Crecer los rboles profusamente
Obtener las predicciones para un nuevo caso promediando (regresin)
o votacin(clasificacin) sobre todos los rboles
Random Forest
Una Explicacin Visual

Aleatorizar Paso 1
Datos originales
de entrenamiento D [muestras-re-muestreadas(Bootstrapped)]
Crear Vectores
Aleatorios

Paso 2
Usar un vector D1 D2 Dt-1 Dt
aleatorio para
construir
mltiples arboles T1 T2 Tt-1 Tt
de decisin

Paso 3
Combinar los
rboles de T*
decisin
Random Forest -
Crecimiento de los rboles

Los rboles crecen usando particiones binarias


(cada padre se divide en no mas de dos hijos)
Cada rbol crece aleatoriamente:
La aleatoriedad se inyecta haciendo crecer cada
rbol sobre una sub-muestra aleatoria del
conjunto de datos de entrenamiento.
La aleatoriedad se inyecta en el momento divisin
del proceso de seleccin, de manera que la
divisin en cualquier no se determina
aleatoriamente.
Random Forest
Seleccin de la Divisin

Primero seleccionar un pequeo conjunto de


las variables disponibles
Usando una sub-muestra de un re-muestreo
Tpicamente se selecciona , siendo K el nmero
total de predictores disponibles.
Si tenemos 500 columnas de predictores,
seleccionamos 23
Dividimos nuestro nodo con las mejores variables
entre los 23, no entre los mejores de 500
Mejora as radicalmente el crecimiento del rbol
Random Forest
Seleccin de la Divisin

El mejor divisor del conjunto aleatorio elegible


se usa para dividir el nodo en cuestin
El divisor puede ser el mejor de todos, pero
probablemente NO.
El divisor an puede ser bueno
El divisor puede no ser til.
Si el divisor no es muy bueno podemos
terminar con dos hijos que no son
esencialmente iguales.
Random Forest
Evolucin del rbol
Una vez que un nodo es separado en el mejor divisor elegible el
proceso se repite enteramente en cada uno de los hijos del nodo.
Una nueva lista de predictores elegibles se selecciona
aleatoriamente en cada nodo
Con un nmero grande de predictores, el conjunto de
predictores elegibles ser bastante diferente de nodo en nodo
Eventualmente las variables mas importantes aparecern en el
rbol
Explica en parte por que los rboles deben crecer a su mximo
tamao
El objetivo es que los nodos terminales tengan solo un dato.
Random Forest Algoritmo
rboles de decisin
Los rboles de decisin son populares para varias tareas de las
mquinas de aprendizaje.
Los rboles de aprendizaje son casi un procedimiento de la estantera
para los procedimientos de minera de datos, dado que:
Son invariantes en casi cualquier transformacin, ej. escalamiento de datos
Robustos ante la inclusin de caractersticas irrelevantes
Raramente son precisos.
En particular los rboles de decisin tienden a crecer muy
profundamente y aprender patrones altamente irregulares: es decir
tienden a sobre-ajustar a los conjuntos. Es decir tienen muy poco sesgo,
pero alta varianza.
Los Bosques Aleatorios son una forma de promediar mltiples arboles
decisin amplios, entrenndose en diferentes partes del mismo
conjunto de entrenamiento, con el objetivo de reducir la varianza. Esto
se logra a expensas de un pequeo incremento en el sesgo y alguna
prdida en la interpretacin, pero generalmente mejora la performance
en el modelo final.
Random Forest - Algoritmo
Embolsado de rboles (Tree Bagging)
El algoritmo de entrenamiento para Bosques Aleatorios aplica la
tcnica general de Embolsado (Booststrap Bagging) para
aprehender los rboles. Dado un conjunto de entrenamiento
= 1 , . con respuestas Y = 1 , . , el embolsado
repetidamente (B veces) selecciona una muestra aleatoriamente
con reemplazo como conjunto de entrenamiento y ajusta los
rboles a estas muestras.
Para = 1, .
1. Tomar una muestra, con reemplazo, B ejemplos de entrenamiento de X, Y; llamemos estos Xb, Yb
2. Entrenar un rbol de decisin o regresin fb con los conjuntos Xb, Yb
Luego de entrenamiento, con muestras x se pueden hacer predicciones no
utilizadas para el entrenamiento, promediando las predicciones de todos los
arboles de regresin individuales en x

1
= ()

=1

o tomando el voto de la mayora en el caso de clasificacin


Random Forest - Algoritmo
El procedimiento de re-muestreo produce un mejor rendimiento por que
disminuye la varianza del modelo, sin incrementar la polarizacin.
Esto significa que mientras las predicciones de un nico rbol son altamente
sensibles al ruido en el conjunto de entrenamiento, el promedio de muchos
rboles no los son, siempre que los rboles no sean correlativos
Simplemente entrenando muchos rboles de un nico conjunto de
entrenamiento dar rboles que tendrn una gran correlacin; el re-muestro
es uno modo de des-correlacionar los arboles mostrndolos en diferentes
conjuntos de entrenamiento.
El nmero de muestras/arboles, B, es un parmetro libre. Tpicamente de unos
cientos a una miles dependiendo del tamao y la naturaleza del conjunto de
entrenamiento.
El nmero ptimo de rboles se puede obtener usando validacin cruzada, o
por observaciones del error-fuera-de-la-bolsa: el error predicho medio de
cada muestra , usando solamente los rboles que no tiene entre las
muestras del re-muestreo. Los errores de entrenamiento y ensayo tienen a
estabilizarse luego que un nmero de rboles han sido ajustados.
Random Forest - Algoritmo
Del embolsado a los Bosques Aleatorios (Random Forests)
Lo descripto en las dos slides anteriores describe el algoritmo original de
embolsado de rboles.
Bosques Aleatorios difiere en un solo modo de este esquema general: se usa
un algoritmo de aprendizaje de rboles modificado que selecciona, en cada
candidato a dividirse en el proceso de aprendizaje, un subconjunto aleatorio
de estas caractersticas.
La razn para hacer esto es que es la correlacin de
rboles en una muestra de un re-muestreo comn: si una
o unas pocas caractersticas son fuertes predictores de
las respuesta de salida (salida objetivo), estas
caractersticas sern seleccionadas en un muchos de los
rboles B, provocando que estas correlacionen.
Tpicamente, para un problema de clasificacin con p
caractersticas se usan en cada divisin.
Random Forest - Propiedades
Importancia de la Variable
RF puede ser utilizado para jerarquizar las variables en un problema de
clasificacin o regresin de un modo natural.
El primer paso al medir la importancia de la variable en un conjunto de datos
= , = 1 es ajustar un RF a los datos. Durante el proceso de ajuste se usa
el error-fuera-de-la-bolsa para cada dato es guardado y promediado para el
bosque.
Para medir la importancia de la j-esima caracterstica despus del
entrenamiento, los valores de la j-esima caracterstica se permutan entre los
datos de entrenamiento y el error-fuera-de-la-bolsa se calcula nuevamente para
este conjunto de datos perturbado. La puntuacin de la j-esima caracterstica se
calcula promediando las diferencias de los errores-fuera-de-la-bolsa antes y
despus sobre todos los rboles. La puntuacin es normalizada por la desviacin
estndar de todas las diferencias.
Las caractersticas que producen los mayores valores de esta puntuacin son
clasificadas como las ms importantes que las que tienen menores valores.
Esta metodologa tiene algunos inconvenientes, aquellos datos que incluyen
variables categricas con diferentes niveles, los bosques aleatorios se polarizan
para aquellos atributos que tienen mas niveles (ramas).
Random Forest - Resumen
Probado ser el mas preciso entre los algoritmos actuales
Funciona eficientemente en grandes conjuntos de base de datos
Puede manejar miles de variables de entrada son eliminacin de variables
Ofrece una estimacin cuales son las variables de importancia en la clasificacin
Genera un estimacin interna no-sesgada del error generalizado a medida que
se construye el bosque
Tiene un mtodo efectivo de estimar datos faltantes y mantener una precisin
cuando faltan una importante proporcin de datos.
Tiene mtodos de balancear los errores de un conjunto de datos
desbalanceados de una clase de poblaciones.
Los bosques generados pueden ser guardados para el uso futuro en otros datos.
Los prototipos calculados dan informacin de la relacin entre las variables y las
clasificaciones.
Calcula la proximidad entre pares de casos que pueden ser utilizados en
agrupamientos (clustering), ubicacin de valores atpicos, o escalando una dada
visualizacin de los datos de inters.
Ofrece un mtodo experimental para detectar la interaccin de las variables.
Bagging
Mas Detalles

Para cada muestra b, calculamos (), luego:


1
= =1 ()

La metodologa a implementar es el re-
muestreo(Bootstrap)
Construir B (cientos) de rboles (no podar los
rboles)
Aprehender un clasificador para cada muestra re-
muestreada y promediarla
rboles de Decisin con Bagging
Mas Detalles
rbol
Original b =1 b =2
x.1 < 0.395 x.1 < 0.555 x.2 < 0.205

1
1
0 0 0
0 1
0 0 1 0 1 0
0 1 0 1

0 1 0

b =4 b =5
b =3
x.3 < 0.985 x.4 < -1.36
x.2 < 0.285

0 1 0 0 1 1
1
1 1 1 0

0 1 1 1 0

Hastie et al.,The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Springer (2009) 1 0
Estimacin del Error-fuera-de-la-bolsa (Out-of-Bag)
Mas Detalles

En re-muestreo muestreamos con reemplazo, por


lo tanto no todas las observaciones son usadas
como muestras en el re-muestreadas.
Aproximadamente 1/3 de ellas no se usan!
Estas se llaman muestras OOB (out-of-bag)
Se puede predecir la respuesta de la i-esima
observacin usando cada uno de los rboles en
las cuales la observacin fue OOB, y hacemos
esto para las n-observaciones
Calculamos el error medio cuadrtico total o
error de clasificacin (OOB MSE)
Fuera-de-la-bolsa (out-of-bag)
Una Explicacin Visual

1. Enviar las observaciones de los


Datos originales
de entrenamiento D datos OOB a los rboles y contar el
nmero de predicciones correctas
(=ROOB)
2. Para el i-esimo predictor, permutar
aleatoriamente sus valores en los
casos OOB. Enviar estos datos a
los rboles y contar las
predicciones correctas (=Rperm)
_
Muestras OOB 1
= ( )

re-muestreadas (Out-of-Bag) 1

(Bootstrapped)
Embolsado (Bagging)
Mas Detalles

Reduce el sobre-ajuste (varianza)


Normalmente usa un tipo de clasificador
Los rboles de decisin son populares
Fcilmente computables en paralelo
Bagging produce mejores resultados sobre las
predicciones que usando un solo rbol.
Desafortunadamente, los resultados pueden ser
difciles de interpretar. Las mejoras de las
predicciones son a expensas de la interpretacin.
Random Forest
Mas Detalles

Guarda la precisin de prediccin en las muestras


de OOB para cada rbol.
Aleatoriamente permuta los datos de la j-esima
columna en las muestras OOB para calcular la
precisin nuevamente
El decrecimiento de la precisin como resultados
de estas permutaciones se promedia sobre todos
los rboles, y es usado como una medicin de la
importancia de la j-esima variable en el RF

https://www.youtube.com/watch?v=3kYujfDgmNk
Random Forest
Mas Detalles

Al igual que en Bagging, se construyen un


nmero de rboles de decisin con las muestras
de entrenamiento del re-muestreo cada vez que
se considera una divisin en el rbol, una
muestra aleatoria de m predictores se elige como
candidatos a dividirse de un conjunto completo p
de predictores
Si m=p es bagging
Sitio con mas informacin:
https://www.stat.berkeley.edu/~breiman/Rando
mForests/
Random Forest - Algoritmo
Mas Detalles

De b=1 a B
a) Extraer una muestra re-muestreada Z* de tamao N de un
conjunto de datos de entrenamiento.
b) Hacer crecer un bosque aleatorio de rboles de los datos re-
muestreados, repitiendo recursivamente los siguientes pasos
para cada nodo terminal del rbol, hasta que se alcance el
nodo de tamao mnimo nmin
I. Seleccionar m variables aleatoriamente de p variables.
II. Tomar la mejor variable y dividirla entre los m.
III. Dividir el nodo en dos nodos hijos.
Calcular el conjunto de los rboles
Para hacer una prediccin de un nuevo punto x
Para regresin: Promediar los resultados
Para clasificacin: Voto de la mayora
Random Forest Implementacin en R
Mas Detalles
combine Combine Ensembles of Trees
getTree Extract a single tree from a forest.
grow Add trees to an ensemble
importance Extract variable importance measure
outlier Compute outlying measures partial
Plot Partial dependence plot
plot.randomForest Plot method for random Forest objects
predict.randomForest predict method for random forest objects
randomForest Classification and Regression with
Random Forest
rfImpute Missing Value Imputations by
randomForest
treesize Size of trees in an ensemble
tuneRF Tune random Forest for the optimal mtry
parameter
varImpPlot Variable Importance Plot
varUsed Variables used in a random forest
Random Forest Implementacin en R
Mas Detalles
## S3 method for class 'formula':
randomForest(formula, data=NULL, ..., subset, na.action=na.fail)
## Default S3 method:
randomForest(x, y=NULL, xtest=NULL, ytest=NULL, ntree=500,
mtry=if (!is.null(y) && !is.factor(y))
max(floor(ncol(x)/3), 1) else floor(sqrt(ncol(x))),
replace=TRUE, classwt=NULL, cutoff, strata,
sampsize = if (replace) nrow(x) else ceiling(.632*nrow(x)),
nodesize = if (!is.null(y) && !is.factor(y)) 5 else 1,
importance=FALSE, localImp=FALSE, nPerm=1,
proximity=FALSE, oob.prox=proximity,
norm.votes=TRUE, do.trace=FALSE,
keep.forest=!is.null(y) && is.null(xtest), corr.bias=FALSE,
keep.inbag=FALSE, ...)
Fuente: Unsupervised Learning with
Random Forest Predictors
Tao Shi, Steve Horvath
Supported Vector Machines
Qu es aprendizaje supervisado ?
Encontrar una funcin desde el espacio entrada X al espacio
de salida Y
:
Tal que el error de prediccin sea mnimo.
Que es SVM ?
SVM Modelos de aprendizaje supervisado que analiza
datos usados en para el anlisis de Regresin y Clasificacin
SVM Clasificador linear binario no probabilstico. Sobre un
conjunto de datos de entrenamiento cada uno marcado como
perteneciente a una categora u otra en un conjunto de dos
categoras. El SVM construye un modelo que asigna las nuevas
muestras como perteneciente a una u otro de esas categoras.
Supported Vector Machines
Real-world Process
P(X,Y)
Drawn i.i.d Drawn i.i.d

Strain h
Training Sample Strain Test Sample Stest
Learner
(x1,y1),(xn, yn) (xn+1,yn+1),

Objetivo: Encontrar h con el menor error de prediccin Errp sobre P(X,Y)


Estrategia: Encontrar (cualquier ?) h con el menor error ErrSTrain(h)

Error de Entrenamiento: Error ErrSTrain(h) en las muestras de entrenamiento


Error de Verificacin: Error ErrSTest(h) sobre las muestras en una estima del
Errp(h)

i.i.d: independent and


identically distributed
Supported Vector Machines
Que es SVM ?
Representacin de muestras en el espacio,
mapeados de forma de separar los ejemplos
en categoras que estn aparte separadas
por un margen claro y tan amplio que sea
posible.
Nuevos ejemplos son mapeados en el mismo
espacio y predichos como pertenecientes a
una categora basados en que parte del
margen caen.
Supported Vector Machines
Caso mas simple: Datos
linealmente separables,
Datos de una Clase
clasificacin binaria
Vectores de Soporte

wTx+ b=1
wTx+ b=0 Limite de decisin

wTx+ b=-1
Datos de otra Clase

Objetivo: Encontrar el hiperplano (lmites de decisin) que separe linealmente las clases. El
lmite tendr la ecuacin wTx+ b=0.
Todo lo que este por encima del lmite de decisin ser etiquetado como 1
Si xi wTx+ b >0 le corresponder yi=1
Todo lo que este por encima del lmite de decisin ser etiquetado como -1
Si xi wTx+ b <0 le corresponder yi = -1
La funcin es = ( + )
Se puede ver que ahora tenemos un espaci entre los lmites de decisin y los puntos mas
cercanos de cualquier clase.
Re-escalemos los datos de forma que cualquier muestra sobre o arriba el lmite wTx+ b =1, son
clase 1 y cualquier muestra sobre o arriba el lmite wTx+ b =-1, son clase -1
Supported Vector Machines
Cul es la distancia entre estos nuevos lmites ?
Notar que las lneas son paralelas, los parmetros
w y b son comunes. La distancia (gap) se puede
2
calcular como =
.

El objetivo es maximizar la distancia entre los
lmites que demarcan las clases. Esta distancia se
llama margen mximo.
La funcin a minimizar (equivalente a maximizar ) es
W
, con la restriccin
2

w x + 1 ( datos xi )
Supported Vector Machines
Consideremos que los datos no son
perfectamente linealmente separables, de
manera que algunos datos pueden aparecer en
uno u otro lado de los lmites.
Podemos introducir un factor de estiramiento (slack
variable) 0 para cada xi, de forma que ahora el
problema de minimizar se transforma en:
W
,, +
2
Con la restriccin w x + 1 0 ( datos xi )
Supported Vector Machines
Lmites de decisin No-Lineales
Mapeando los vectores de datos xi en espacios dimensionales
mayores, hper-espacios, (an infinitas) puede hacer que
sean linealmente separables en ese espaci, mientras que
pueden no serlo(linealmente separables) en el espacio
original.
La ecuacin a resolver es similar a expresada anteriormente,
pero con todos los xi reemplazados por x , donde es la
funcin que mapea al espacio dimensional mayor. La ecuacin
SVM ahora ser:
W
,, +
2
Con la restriccin w (x ) + 1 0 ( datos xi )
Supported Vector Machines
Truco del Ncleo (Kernel Trick)
Trabajar en espacios hper-dimensionales puede ser un problema
intratable al calcular (x ) (x ). Sin embargo, hay funciones
especiales Kernel que operan en los vectores de las dimensiones
menores x y x para producir un valor equivalente al producto
de los vectores en las dimensiones mayores.
Por ejemplo, considerar la funcin : 3 10 , donde:
1 2 3 1 2 2 2 3 2 1 2 1 3 2 3
= (1, 2 , 2 , 2 , [x ] , [x ] , [x ] , 2 x , 2 x , 2 x )

En lugar usamos el Kernel Trick, que nos dice que x , x =


(1 + x xj )2 = (x ) (x ) para un dado . Los clculos
simplificados quedan:
1
max (x , x )
2 ,
Supported Vector Machines
Interpretacin Visual del Kernel Trick

No Linealmente Transformar para


Separables Separar

(x)
x x (x)
x (O)
(x)
(O)
(x)
x
x (x)
(O) (x)
x x (O) (x)
(O)
(O) (O)
Encontrar un lnea que penalice los
puntos en el lado equivocado
F
X
Supported Vector Machines
Interpretacin Visual del Kernel Trick
La idea es ganar separacin lineal mapeando los datos en un
espacio dimensional mayor
o El conjunto de datos de abajo no se puede separar por una funcin lineal,
pero si se puede separar por una funcin cuadrtica.

= 2 + +

a b

o Si, mapeamos 2 ,
Supported Vector Machines
Interpretacin Visual del Kernel Trick
Rd
=Rd H
H

=-1
=+1

=-1
=+1

Recordar que la funcin que queremos optimizar es


= 1 2 .
Que pasa si la funcin de
Xi y Xj producto vectorial. Tendremos en el espacio transformado no lineal
decisin no es lineal ? . . Si existiese tal funcin kernel K tal que , =
Que transformada separara . ( ) , pero no necesitamos conocerla explcitamente.
este conjunto ? Un ejemplo:
2
, = 2 2
Supported Vector Machines
Ejemplos de SVM No Lineales

K , = (. + 1)

K , =

K , = .
1er es polinomio
2da es una funcin radial Base (gaussiana)
2ra es una sigmoide
Supported Vector Machines

Kernel de Producto
Tipo de SVM Comentarios
Interior
El exponente p es
Maquina de Aprendizaje
, = 1,2, . . especificado a priori por el
Polinmica
usuario
Red de funciones Radiales El 2 es especificado a
( + 1)
Base priori
El teorema de Mercer so
Perceptron de dos capas tanh( + 1 ) satisface en algunos
valores de o y o

1
Supported Vector Machines
SVM No lineales
Recordar que la funcin que queremos optimizar es:
= 1 2 ( . )

Sujeto a:
=
=
Otro ejemplo de Kernel: El kernel polinmico
, = ( . + 1) , donde p es un parmetro de ajuste.
Evaluar K es muy simple solo requiere una suma, una
exponencial y un producto matricial
Supported Vector Machines
Interpretacin Visual Kernel No Lineales Gaussiano

Lineal
V

Gaussiana
Supported
SupportedVector
VectorMachines
Machines
Supported Vector Machines
SVM with R
Supported Vector Machines
SVM with R

70
60
50
40
Y

30
20
10
5 10 15 20

70
60
50
40
Y

30
20
10
5 10 15 20

RMSE de la
aproximacin lineal
Supported Vector Machines
SVM with R

70
60
50
40
Y

30
20
Error RMSE del SVM

10
Para este caso tomamos que el = 0.1
de la ecuacin
W
5 10 15 20

W,, + X
2

Tambin se us el parmetro de la Datos


funcin cost por defecto. El parmetro Regresin Lineal
cost es que el que evita el sobre-ajuste SVM
Supported Vector Machines
SVM with R
Para mejorar el modelo elegiremos los parmetros este proceso se llama seleccin
del modelo o optimizacin hper-paramtrica
La forma de realizar esto es por una bsqueda de grillas, la forma de hacer esto es
probar con diferentes y diferentes valores del parmetro cost
Performance of `svm'

500 350

300
400

250

300
200

cost
Este error es peor 150
200
que el caso anterior
100

100
50

= 0, 0.1, 0.2,.,1; 0.0 0.2 0.4 0.6 0.8 1.0

cost = 22 , 23 , 24 , . , 29 epsilon

Esto significa que entrenaremos 88 modelos


Cuanto mas azul oscuro mejor es el modelo, dado que
el RMSE es mas cercano a cero.
Supported Vector Machines
SVM with R
Como la grilla anterior no es buena trataremos de entrenar otra grilla con un rango mas pequeo de
0, 0.2. Estimamos que el cost no tendr demasiada influencia por lo que no lo cambiaremos

Performance of `svm'

500 20

400 18

16
300

cost
14
200

12

100
Esto significa que entrenaremos 168 modelos 10
Si observamos con detalle, vemos que dentro de las reas
mas obscuras se pueden observan franjas mucho mas
obscuras todava. Los valores de cost estn entre 200-300 0.00 0.05 0.10 0.15 0.20
y = 0.08 a 0.09
epsilon
Este trabajo iterativo se puede realizar automticamente
Supported Vector Machines
SVM with R
Este trabajo iterativo se puede realizar automticamente

70
60
50
40
Y

30
20
10

5 10 15 20

X
IA Aplicada a Spectralog
Objetivo:
Identificacin de minerales de arcillas para
la prediccin y mitigacin de dao de
formacin causado por calidad e
incompatibilidad de agua.
Metodologa:
Algoritmos de inteligencia artificial.
Proceso

Datos Modelado Verificacin Aplicacin


Bsqueda de Calibracin Validacin externa Caso ejemplo
relaciones Validacin
consistentes cruzada. Boostrap.
Exploracin Validacin interna
Exploracin de Datos
ESMECTITA CLORITA
Machine Learning

Actual (observed)
Modelled
Imput X Y output
(real)
data system
Learning is
aimed at
Machine minimizing this
Learning difference
(data-driven)
Predicted output Y
model

Fuente: Hastie, Tibshirani, & Friedman, 2009


Redes Neuronales

Tipo de
Algoritmo Min. Mediana Max. Rango
Arcillas
Illita NN 0.120 0.180 0.320 0.200
Esmectita NN 0.090 0.180 0.380 0.290
IS NN 0.110 0.250 0.350 0.240
Clorita NN 0.050 0.120 0.370 0.320
Caolinita NN 0.180 0.310 0.380 0.200
Random Forest
SVM-Maquinas Vectoriales de Soporte.

Maquinas vectoriales de
Kernel radial.
Los puntos sobre la
banda difusa
representan maquinas
vectoriales
Regiones rojos y azul
son las clasificaciones.
Banda blanca :
superficie marginal.

Fuente: de Thorsten Joachims de Cornell University


Computer Science Department, tj@cs.cornell.edu
Prediccin de Minerales de
arcilla - Modo Regresin de SML

Tipo de
Algoritmo Min. Mediana Max. Rango
Arcillas
Illita GLM 0.142 0.166 0.173 0.031
Esmectita GLM 0.408 0.512 0.514 0.106
IS GLM 0.270 0.352 0.380 0.110
Clorita GLM 0.079 0.092 0.096 0.016
Caolinita GLM 0.220 0.233 0.270 0.050
Illita SVM 0.395 0.552 0.630 0.236
Esmectita SVM 0.596 0.703 0.797 0.201
IS SVM 0.575 0.621 0.711 0.137
Clorita SVM 0.329 0.515 0.619 0.290
Caolinita SVM 0.414 0.574 0.647 0.233
Illita RF 0.425 0.612 0.658 0.233
Esmectita RF 0.698 0.739 0.757 0.059
IS RF 0.520 0.677 0.695 0.175
Clorita RF 0.518 0.576 0.627 0.109
Caolinita RF 0.561 0.596 0.645 0.083
Prediccin de Minerales de arcilla -
Modo clasificacin de SML

Tipo de
Algoritmo Min. Mediana Max. Rango
Arcillas
Illita SVM 0.925 0.937 0.952 0.028
Esmectita SVM 0.881 0.897 0.917 0.036
IS SVM 0.877 0.889 0.917 0.040
Clorita SVM 0.873 0.891 0.909 0.036
Caolinita SVM 0.833 0.863 0.885 0.052
Illita RF 0.956 0.968 0.976 0.020
Esmectita RF 0.901 0.917 0.933 0.032
IS RF 0.901 0.927 0.944 0.044
Clorita RF 0.897 0.919 0.933 0.036
Caolinita RF 0.873 0.891 0.913 0.040
Validacin Externa
Regresin
CLASE MUY BAJO (0-10%)

CLASE BAJO (10-30%)

CLASE MEDIA (30-60%)


Validacin Externa Clasificacin

CLASE ALTA (60-80%)

MUY ALTO (80-100%)


Caso de Aplicacin

Pozo B
Arcillas totales
39%
Esmctita 30%
Caolinita 60%.
Illita 10%
Conclusiones
El DDM-SML es muy verstil para modelar una relacin
compleja de arcillas.
El RF y SVM:
DRX:
Alto y similar rendimiento.
Evita el sobreajuste.
Modo de Regresin: 60-75 % Precisin
Modo de Clasificacin 90 % Precisin
Permite prediccin para identificacin de arcillas
con Registro Gamma Espectral.
Calibracin del Modelo

Validacin
cruzada de k
iteraciones

Determinacin de
Intervalos de
confianza

También podría gustarte