Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
Objetivos
Entradas Salidas
Sinapsis
Dendritas Axn
Neuronas
Entradas
Salidas
Sinapsis
Redes Neuronales Artificiales (ANN)
1 1
2
2 Neurona = (1 1 + 2 2 + 3 3 + )
3
3
bias
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
1 .8
Entrada O Salida
s
1
I2 H2
4.6
Entradas:0, -2.74
1
: = . + . . = . : = . + . . = .86
= + . = . = + . = .
: = . . + . . . = .
= + . = . ""
Backpropagation (Propagacin realimentada)
= j= neural de salida
i= neurona en la capa previa
k= neurona en la prxima
capa
Backpropagation (Propagacin realimentada)
= Tasa de Aprendizaje
Backpropagation (Propagacin realimentada)
10
no si selecciona un buen 8
conjunto de entrenamiento. 6
Qu constituye un buen 4
conjunto de entrenamiento ? 2
Conjunto Conjunto
Entrenamiento Verificacin
Verificacin
Mundo
Mundo Bootstrap
Real
Muestreo Muestreo
Aleatorio Datos Aleatorio Datos
Poblacin Z= Poblacin Z*= (z*1,z*2..z*n)
P (z1,z2..zn)
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 ?
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
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
(Bootstrapped)
Embolsado (Bagging)
Mas Detalles
https://www.youtube.com/watch?v=3kYujfDgmNk
Random Forest
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),
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 )
(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
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
500 350
300
400
250
300
200
cost
Este error es peor 150
200
que el caso anterior
100
100
50
cost = 22 , 23 , 24 , . , 29 epsilon
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
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
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.
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%)
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