SlideShare una empresa de Scribd logo
1 de 57
Descargar para leer sin conexión
DEEP LEARNING 
GABRIEL VALVERDE CASTILLA 
GTEC –WISEATHENA 
Email: gabriel.valverde@zippingcare.com 
Dr. Federico Castanedo
SUMARIO 
• Introducción Machine Learning 
• ¿Qué es Deep Learning? ¿Qué más aporta? 
• Clasificación de las técnicas de Deep Learning. 
• Ejemplos: 
•Autoencoders. 
•Stacking Autoencoders. 
• Restriced Bolzam Machine 
•Deep Belief Network. 
•Deep Neural Network 
• Paquetes de R: 
• H2O 
• DeepNet
Machine Learning 
• El objetivo es desarrollar técnicas que permitan a la máquina 
aprender. 
• Origen en datos desestructurados. 
• Se centra en la complejidad computacional. 
• Por lo que se centra en encontrar algoritmos factibles para NP‐hard. 
• Algunos ejemplos son: 
• Rama de la Inteligencia Artificial. 
GMM‐ Gaussian Mixture Model. 
CRFs‐ Conditional Random Fields. 
MaxEnt‐ Maximun entropy. 
SVM‐ Support Vector Machines. 
Logistic Regression. 
Kernel regression. 
Multilayer Perceptrons 
Los modelos de machine learning clásicos, necesitan: 
‐ Diseño resentativo ideados por humanos. 
‐ CaracterísƟcas como datos de entrada. 
Su único objetivo es optimizar los pesos 
para realizar mejores predicciones.
¿QUÉ ES DEEP LEARNING? 
•DeepLearning= NN+IA+GM+Optimización+PR+SP. 
Neuronal Inteligencia Graph Procesamiento Procesamiento 
Network Artificial Modeling Patrones Señales.
¿QuÉ ES DEEP LEARNING? 
Vamos a analizar el camino seguido a partir de varias definiciones. 
Definición: Clase de técnicas de Machine Learning buscando la extracción y transformación de features referentes al 
procesamiento de la información. Ya sea de forma supervisada o no. 
Definición: Un campo dentro de Machine Learning basados en algoritmos para aprender varios niveles de 
representación buscando relaciones complejas. Tenemos por tanto features de alto y bajo nivel, jerarquizandolas, 
Deep arquitectura. Generalmente no supervisado. 
Definición: CONTINUACION. Las de bajo nivel pueden ayudar a definir las de alto nivel. Es a tener también en cuenta 
que algunas representaciones son mejores que otras para depende de que tareas. 
Definición: Deep Learning, nueva área creada para devolver a Machine Learning a uno de sus objetivos: Inteligencia 
Artificial. Buscar niveles de abstracción que nos permitan dar sentido a imagenes, sonidos y texto.
¿Qué más aporta? 
JERARQUÍA. 
Son técnicas que reciben mayor cantidad de datos. 
Más capas que desarrollan estas jerarquías entre la 
información. 
‐ Nos permite obtener features de forma 
no supervisada. 
‐ Realizar clasificaciones. 
El aprendizaje representativo, busca aprender 
de forma automática 
buenas características o representaciones. 
Deep Learning, pretende aprender múltiples 
niveles de representación incrementando 
la complejidad la abstracción.
RAZONES PARA USAR DEEP LEARNING
APRENDER REPRESENTACIONES 
o Crear las features lleva mucho tiempo. 
o Las características suelen estar sobrespecificadas o incompletas. 
o El trabajo tiene que realizarse de nuevo para cada objetivo/dominio/... 
o Debemos ir más allá de las features artesanales y el modelo lineal. 
o Los humanos desarrollamos representaciones para aprender y razonar, 
los ordenadores deberían hacer lo mismo. Deep Learning nos acerca a eso.
2 Necesidad de representaciones distribuidas. 
l La representación atómica de los símbolos de los modelos de 
Procesado de lenguaje natural los hace frágiles.
2 Necesidad de representaciones distribuidas. 
Aprender la representación de las palabras ayuda enormemente en este proceso. 
Estas proporciona un poderoso modelo de similaridad entre palabras. 
Los agrupamientos de palabras basándonos en una distribución 
por similaridad ayudan enormemente a muchas aplicaciones. 
La representación distribuida puede hacerse mejor 
representando más niveles de similaridad.
Representaciones Distribuidas Tratan el Problema de la Dimensionalidad. 
lAprender características que no sean mutuamente exclusivas puede ser 
exponencialmente más eficiente que modelos como clustering o vecino más cercano. 
Generalizar localmente (ejemplo: vecino más próximo) requiere 
ejemplos representativos para todas las posibles variantes. 
lSOLUCION CLASICA: 
Diseño manual de features. 
Asumir una función objetivo de alisado.(e.g, linear models) 
Kernel methods. (basándose en los puntos).
3 Generador de features y pesos no supervisado. 
El más práctico, los buenos modelos de MLP necesitan datos etiquetados. 
Pero los datos suelen no estarlo. 
Más información puede ser incluida como no supervisada. 
Pues los modelos nos permitirán clasificarlas adecuadamente.
4 Aprender varios niveles de represenación. 
- Inspirado en la biología. 
En la estructura del cortex cerebral 
que parece tener un algoritmo de aprendizaje, 
Una estructura profunda. 
lNecesitamos buenas representaciones intermedias que puedan ser compartidas entre las tareas 
lVarios niveles de variables latentes nos permiten compartir y combinar con fortaleza estadística. 
lPoca profuncidad del modelo lo puede hacer exponencialmente ineficiente.
4 Aprendiendo multiples niveles de representación.
Nos permite capturar la recurrencia del lenguaje 
l Las sentencias están compuestas por palabras y frases. 
Necesitamos componerlas en nuestro modelo. 
Recursión: mismo parámetro es repetido varias 
veces en diferentes componentes.
¿Por Qué Ahora?. Problemas 
•Muchos de los modelos ‐> REDES NEURONALES. DNN por ejemplo. 
•Los algoritmos de optimización usados hasta ahora fallan. Back Propagation. 
•Funciones no convexas. No funciona bien gradiente descendente. 
•Muchas capas y muchas neuronas‐> Muchos recursos. 
•SOLUCIONES: 
•Gradiente Descendente Estocastico. 
•Hessian Free. 
•Kyrlov Suspace Methods. 
•SVM,CRF,MAXENT, funciones convexas. 
La parte de imagen con el identificador de relación rId3 no se encontró en el archivo.
Por qué ahora?.SOLUCIONES 
Metodos más eficiente de ajuste de parametros. 
Mejor comprensión de regulación de los modelos. 
ENTRENAMIENTO 
Si los modelos se preentrenan con anterioridad los pesos se 
acercan a los valores óptimos y hay menos posibilidades de 
mínimo local. 
•Considerar cada capa como un denoising autoencoders que 
se entrena a si mismo. 
•Usar autoencoders contractivos que son más robustos ante 
variaciones. 
•SESM Sparse Autoencoders Symmetric Machine (Ranzano) 
•Preentrenamientos no supervisado y supervisado. 
•MLP entrenada con un BP.
CLASIFICACIÓN 
No supervisadas: 
Captura patrones. 
Aprendizaje representativo. 
Generativos, buscan clases asociadas a distribuciones de probabilidad 
estimadas a partir de los datos observados. 
Para discriminar usando reglas de bayes. 
Generatición de features. 
Supervisadas: 
Buscan dicriminar patrones con objeto de clasificar. 
Conocerter las targets. 
Clasificar en importancia la información que discrimina nuestros objetivos. 
Llamado redes profundas discriminitivas. 
Hibrido: 
Los modelos no supervisados son utilizados como procesos de entrenamientos de los 
que si lo son. Pretraining con autoencoders sobre DNN.1 
O el análisis discriminativo se utiliza para mejorar los no supervisados.
• Los primeros son mejores para entrenar y probar, con una construcción flexible, para aprendizaje de 
sistemas complejos. 
• Los segundos, más facilidad de interpretación, más fácil integrar conocimiento del dominio, mas 
sencillo componer, mas fácil manejar la incertidumbre, peor para inferencia y aprendizaje de sistemas 
complejos.
EJEMPLOS 
Deep Belief Network (DBN): modelos probabilísticos generativos compuestos por muchas capas, y variables ocultas. 
Boltzmann machine(BM): una red conectada de forma simétrica, con neuronas como unidades que toman la decision de 
estar conectadas o no. 
Restricted Boltzmann machine (RBM): tipo especial de BM donde no se permiten interrelación entre neuronas del 
mismo tipo. 
Deep Neural Network (DNN): perceptron multicapa con varias capas ocultas, cuyos pesos estan conectados y suelen ser 
iniciados usando por otro modelo supervisado o no de técnica de entrenamiento. 
Deep autoencoders: modelo discriminativo DNN que toma como salida los propios valores de entrada, se trata por tanto 
de un modelo no supervisado. Cuando el objetivo es eliminar ruido se comporta como un modelo generativo.
NO SUPERVISADOS 
No tienen clases con los que comparar los indicadores. 
Funcionan como filtros. 
Creadores de features representativas. 
Muestreo de los datos. 
•Los conjuntos más comunes son los Energy‐based. Siendo Deep autoencoders el más representativo. 
También tenemos otros con otras propiedades: 
•Transforming Autoencoders. Estos autoencoders lo que hacen es transformar nuestros input en output cuya 
destransformación nos devuelve verdaderos valores. 
•Predictive Sparse Coders‐ Los propuestos por Ranzano. 
•De‐noising autoencoders‐ Estos autoencoders se encargan de limpiar de ruido los datos de entrada para que puedan 
ser evaluados por otros modelos de una forma más sencilla.
NO SUPERVISADOS: AUTOENCODERS. 
•Consideramos un conjunto de valores de entrada (input,target), 
• i.i.d. Ejemplos de una distribución desconocida . 
•Denotamos y q⁰(X) a las empíricas iniciales.
NO SUPERVISADOS: AUTOENCODERS.
Función de Activación
NO SUPERVISADOS: AUTOENCODERS.
NO SUPERVISADOS: STACKING AUTOENCODERS.
APLICACIÓN. RESULTADOS.
APLICACIÓN. RESULTADOS.
NO SUPERVISADOS: RBM. 
Si restringimos las conexiones de Boltzmann Machines, 
tenemos Restricted Boltzmann Machine. 
Dos tipos de Neural Network Generativas. 
- Conectando neuronas binarias estocasticas 
en un grafo aciclico dirigado tenemos Sigmoid Belief Net. 
- Si conectamos neurona binarias estocásticas usando conexiones 
simétricas tenemos Boltzmann Machine.
RBM. Formas de combinar modelos. 
• Composición. 
Usa los valores del 
variables latentes de un modelo 
como datos del siguiente. 
• Mixture. 
‐ Tomando una media de 
las distribuciones 
• Producto. 
- Multiplicar la distribuciones de 
cada punto y renormalizar. 
Así es como actúa RBM. 
No será mejor que las individuales. Exponencialmente más poderosa que mezcla. L 
Forma débil de combinar. 
- Trabaja bien con varias capas de 
representación pero solo si 
lel modelo individual es no dirigido.
RBM 
• Restringimos las relaciones para hacerlo más sencillo de enseñar. 
• Sólo una capa de ocultas. 
• No hay conexiones entre ocultas. 
• En un RBM, las ocultas son condicionalmente independientes dadas las visibles. 
• Podemos obtener de forma ágil, ejemplos de la distribución posterior dado un vector de datos. 
• Gran ventaja sobre las Directed Belief nets.
Función de Energía
Aprendizaje con Verosimilitud.
Metodos Acelerar Muestreo 
CONTRASTIVE DIVERGE (CD-K) 
• Usa dos pasos para acelerar el proceso de muestreo. 
• Queremos (la verdad, la distribución de los datos), 
iniciamos con un ejemplo de entrenamiento, 
(es decir, una muestra cercana a lo óptimo, a p) 
• CD no espera que chain converja. 
Si no que obtienen el ejemplo tras 
un numero prefijado de pasos de Gibs. 
PERSISTENT DC 
• Nos basamos en que tenemos una única 
lcadena de Makov, no reiniciamos 
lla cadena en cada paso. Para cada actualización, 
lse usa el estado obtenido del paso anterior 
lpara generar de nuevo la cadena de forma sucesiva.
Deep Belief Networks
APLICACIÓN. RESULTADOS.
PAQUETES R 
Deep Net 
Autor: Xiao Rong 
Link: https://github.com/cran/deepnet 
Paquete en el que hay implementado varios modelos y algoritmos 
de Deep Learning. Aunque de utilidad para entender bien los modelos, ya que aplica 
una muestra bastante representativa de todos ellos, su BP, RBM, DBM, Autoencoder. 
Su lentitud, debido a la no paralelización, ha hecho que no sea el utilizado 
para obtener los resultados. Sí para realizar pruebas y adentrarnos en el mundo de 
DeepLearning por la fácil accesibilidad de código.
FUNCIONES Utilidad 
Dbn.dnn.train Implementa una Deep Neural Network, con pre-entrenamiento dado por una 
DBN formada por RBM acopladas. 
Load.mnist Función para cargar la base de datos de referencia de pruebas de machine 
learning en el reconocimiento de dígitos manuscritos. 
nn.predict Función que nos permite clasificar nuevos datos a partir del modelo entrenado. 
Ya sea DBN o NN. 
nn.test 
nn.train Función para entrenar una red neuronal ya sea de una o varías capas. Por 
medio de BP. 
Rbm.down Generación de vector de valores a partir de los estados de las neuronas de 
capas ocultas. Necesario para aplicar CD. 
Rbm.train Entrenamiento de una Restricted Boltzmann Machine. 
Rbm.up Deducir el estado de las capas ocultas a partir de las visibles. También se 
puede utilizar para deducir estado de capa superior a partir de la inferior, siendo 
ambas ocultas. 
Sae.dnn.train Entrenar una DNN con pesos iniciados a partir de un Stacked AutoEncoder.
ARGUMENTOS 
Argumentos Utilidad Parámetros 
x Matriz de casos, de ejemplos. Matriz de entrenamiento 
y Matriz de clases, o valores objetivos. Clasificación 
hidden Vector con el número de neuronas de 
cada capa oculta. 
C(100,200,400, 1200, 2400, 1200,400, 
100) 
activationfun Función de activación elegida, 
aunque sólo está completamente 
implementada sigm. 
sigm 
learningrate Ratio de aprendizaje para la 
aplicación del gradiente descendente 
estocástico. 
0.09 
momentun Momentum para gradiente 
descendente. 
0.5 
Learning_rate_ 
scale 
Factor de reducción para el ratio de 
aprendizaje. 
numepochs Número de iteraciones. 30
Argumentos Utilidad Parámetros 
batchsize Tamaños de minibatch. 100 
output Función de salida, puede ser sigm, linear, 
or softmax. Por defecto “sigm”. 
Sae_output Función de salida del Autoencoders. 
Hidden_dropout Cancelación de las capas ocultas. 
Visible_dropout Porcentaje de fracciones a eliminar. Visible_dropout 
cd (Sólo en dbn) Número de iteraciones de 
Gibbs para el algoritmo de CD. 
cd
PAQUETES R 
H2O 
Autor: Oxdata 
Link: https://github.com/0xdata/h2o/tree/master/docs/deeplearning 
Software desarrollado por OXDATA, con un paquete en R a modo de framework. 
Engloba distintas estrategias de análisis de datos. Entre ellas varios modelos de Deep 
Learning, DNN, Autoencoders. 
Permite observar resultados intermedios de convergencia y tiene la posibilidad 
desde la plataforma online de conexión al servidor lanzado, de parar y guardar 
modelos intermedios, continuando el entrenamiento a posteriori y observar el comportamiento de 
los distintos nodos del clúster, así como exportar datos desde distintas plataformas y formatos.
Opciones de Uso 
Sparkling Water 
R +Hadoop 
Cluster EC2 
Interface Gráfica 
Modelos Machine Learning 
- GLM 
- Decision Tree 
- Random Forest 
- GBM 
- K-MEANS 
- Anomaly Detection 
- Deep Learning 
- Naïve Bayes 
- Gride Search 
http://www.slideshare.net/0xdata/h2-o-deeplearningarnocandel052114? 
related=1
FUNCIONES Utilidad 
h2o.init Función para iniciar h2o, en nuestro caso sólo lo hemos aplicado de manera 
local. 
h2o.uploadFile Función para cargar la base de datos, en función de PATH, será desde S3, 
HDFS, o URLs. 
h2o.deeplearning Función que nos permite realizar un modelo de DNN, o Autoencoders, 
seleccionando todos los parámetros. 
@model$option Eligiendo sobre el modelo nos indican distintas opciones: params los parámetros 
usados, varimp importancia de las variables. 
h2o.predict Dado el modelo nos proporcionas las puntuaciones sobre los datos de test. 
h2o.saveModel Nos permite almacenar el modelo realizado, en la dirección elegida. 
h2o.loadModel Nos permite cargar modelos almacenados. 
h2o.anomaly Nos permite, calculado un modelo Autoencoders, localizar anomalías. 
as.h2o Función que nos permite cargar en el h2o, los datos de R. 
h2o.performance Función que nos permite medir la validez de las puntuaciones sobre datos de 
referencia.
ARGUMENTOS 
Argumentos Utilidad Parámetros Funciones 
ip Seleccionar la IP del servidor. Localhost. h2o.init 
port Puerto de conexión. Clasificación. h2o.init 
nthreads Número de CPU’s a usar. -1 indica todos h2o.init 
starH2O Lanza la conexión si esta no existe. T h2o.init 
data Matriz de datos de R, que se quiere llevar a 
h2o. 
Data.table con los 
datos. 
as.h2o 
key Nombre clave, con el que se denomina en 
el sistema de almacenaje de H2O. 
Train/Validation/Te 
st 
as.h2o 
epochs Número de iteraciones. h2o.deeplearning 
Balance_class 
es 
Balancea las clases en las distintas 
particiones de los datos durante la 
resolución del algoritmo de optimización 
T h2o.deeplearning
Argumentos Utilidad Parámetros Función 
x Vector que contiene las variables 
de uso. 
Todas, salvo índice y 
clase 
h2o.deeplearning 
y Nombre de la variable respuesta. h2o.deeplearning 
data Dato en formato h2o, distribuido por 
el sistema. 
h2o.deeplearning 
autoencoder Nos permite elegir entre Steacking 
Autoencoder o DNN. 
T en el Autoencoder h2o.deeplearning 
classificacion Cancelación de las capas ocultas. h2o.deeplearning 
activation Función de activación. “Tanh”/”TanhDropout” h2o.deeplearning 
hidden (Sólo en dbn) Número de 
iteraciones de Gibbs para el 
algoritmo de CD. 
cd h2o.deeplearning
Argumentos Utilidad Parámetros Función 
Override_with_ 
best_model 
Nos quedamos con el último 
modelo de la iteración, o con el 
mejor. 
T h2o.deeplearning 
Checkpoint Nos permite almacenar el modelo 
que estamos entrenando. 
Key con el nombre del 
modelo. 
h2o.deeplearning 
Reference Clase actual con la que comparar. Clase, del conjunto de 
entrenamiento o 
validación. 
h2o.performance 
Measure Medida elegida para evaluar el 
modelo. 
Accuary. h2o.performance 
Thresholds Frontera. 0.5 h2o.performance
APLICACIÓN: WISEATHENA 
o OBJETIVO: 
Predicción de churn (fuga) para un conjunto de datos referentes a 
clientes de una empresa de telecomunicaciones. 
PASOS A SEGUIR: 
- Tratar los datos, seleccionar variables de tipo numérico, transformar las 
de tipo clase en booleanas, estandarizar los datos para evitar mayor carga en 
variables con mayor peso. 
- Muestreo de los datos, creando training, validation, test, con los dos 
primeros ya clasificados, y en el caso de training, con datos balanceados. 
- Usar el paquete deepnet/h2o para realizar la predicción.
APLICACIÓN 
PROCEDIMIENTO 
1 Comenzar seleccionando parámetros. 
2 Aplicar el modelo con la función dbn.dnn.train/h2o.deeplearning. 
3 Variarlos en función de los resultados obtenidos sobre training. 
4 Usar nn.test para valorar los resultados con los pesos entrenados sobre 
Validation. 
5 Valorar la posibilidad de aplicar técnicas de reducción de sobreajuste si 
este se da. Usar mediciones como curva ROC, usando la librería ROCR. 
6 Una vez elegido aplicar sobre el conjunto de test.
Datos
Datos
SOLUCIÓN DEEPNET
SOLUCIÓN H2O
BIBLIOGRAFÍA 
http://cran.r‐project.org/web/packages/deepnet/deepnet.pdf 
http://0xdata.com/ 
deepLearning.net 
https://www.youtube.com/watch?v=n6hpQwq7Inw 
https://www.youtube.com/watch?v=dMVLd5URpvs#t=602 
http://www.cs.ubc.ca/~nando/540‐2013/lectures/l13.pdf 
http://www.cs.ubc.ca/~nando/540‐2013/lectures.html 
http://digital.csic.es/bitstream/10261/84753/1/RED%20NEURONAL.pdf 
http://books.google.es/books?id=4OgOJLGGrzcC&pg=PA145&lpg=PA145&dq=gato+barra+horizontal&source=bl&ots= 
Z4tEuFrkYF&sig=bWjETKt_2RPxLL8O3‐B9DIORXYs&hl=es&sa=X&ei=uXTRU‐SWLeOc0QXWzYCYDw& 
ved=0CFwQ6AEwCw#v=onepage&q&f=false 
http://vimeo.com/101582001 
http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/filter_visualization.ipynb
GRACIAS 
Email: 
gabrielvalverdecastilla@gmail.com 
gabriel.valverde@zippingcare.com 
www.tecnologiaucm.es

Más contenido relacionado

La actualidad más candente

Estructuras algortimicas upd
Estructuras algortimicas updEstructuras algortimicas upd
Estructuras algortimicas upd
Tutor Castro
 
Sistemas Basados en Casos IUT
Sistemas Basados en Casos IUTSistemas Basados en Casos IUT
Sistemas Basados en Casos IUT
Luis Álamo
 

La actualidad más candente (11)

Trabajo colaborativo 3
Trabajo colaborativo 3Trabajo colaborativo 3
Trabajo colaborativo 3
 
El machine learning s
El machine learning sEl machine learning s
El machine learning s
 
Estructuras algortimicas upd
Estructuras algortimicas updEstructuras algortimicas upd
Estructuras algortimicas upd
 
Redes neuronales Luis Lozano CI 22.840.519
Redes neuronales   Luis Lozano CI 22.840.519Redes neuronales   Luis Lozano CI 22.840.519
Redes neuronales Luis Lozano CI 22.840.519
 
IntroduccionPOO
IntroduccionPOOIntroduccionPOO
IntroduccionPOO
 
Algoritmos de personajes locos
Algoritmos de personajes locosAlgoritmos de personajes locos
Algoritmos de personajes locos
 
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfCEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
 
Isummitloxa
IsummitloxaIsummitloxa
Isummitloxa
 
P2 act2y3
P2 act2y3P2 act2y3
P2 act2y3
 
redes competitivas
redes competitivasredes competitivas
redes competitivas
 
Sistemas Basados en Casos IUT
Sistemas Basados en Casos IUTSistemas Basados en Casos IUT
Sistemas Basados en Casos IUT
 

Destacado

Imagen Morfologicas
Imagen MorfologicasImagen Morfologicas
Imagen Morfologicas
Omar Sanchez
 
Morfología de las imágenes Matlab
Morfología de las imágenes MatlabMorfología de las imágenes Matlab
Morfología de las imágenes Matlab
jhonbri25
 
Taking R to the Limit (High Performance Computing in R), Part 1 -- Paralleliz...
Taking R to the Limit (High Performance Computing in R), Part 1 -- Paralleliz...Taking R to the Limit (High Performance Computing in R), Part 1 -- Paralleliz...
Taking R to the Limit (High Performance Computing in R), Part 1 -- Paralleliz...
Ryan Rosario
 

Destacado (12)

Gustavo 07 redes neuronales matlab
Gustavo 07   redes neuronales matlabGustavo 07   redes neuronales matlab
Gustavo 07 redes neuronales matlab
 
Reconocimiento de Patrones Incompletos Mediante Funciones de Activación Satli...
Reconocimiento de Patrones Incompletos Mediante Funciones de Activación Satli...Reconocimiento de Patrones Incompletos Mediante Funciones de Activación Satli...
Reconocimiento de Patrones Incompletos Mediante Funciones de Activación Satli...
 
Vision Artificial y procesamiento digital de imagenes usando Matlab
Vision Artificial y procesamiento digital de imagenes usando MatlabVision Artificial y procesamiento digital de imagenes usando Matlab
Vision Artificial y procesamiento digital de imagenes usando Matlab
 
Imagen Morfologicas
Imagen MorfologicasImagen Morfologicas
Imagen Morfologicas
 
Taller de Text Mining en Twitter con R
Taller de Text Mining en Twitter con RTaller de Text Mining en Twitter con R
Taller de Text Mining en Twitter con R
 
Morfología de las imágenes Matlab
Morfología de las imágenes MatlabMorfología de las imágenes Matlab
Morfología de las imágenes Matlab
 
Operaciones Morfologicas
Operaciones MorfologicasOperaciones Morfologicas
Operaciones Morfologicas
 
Analisis espectral en MATLAB
Analisis espectral en MATLABAnalisis espectral en MATLAB
Analisis espectral en MATLAB
 
Fundamentos de matlab
Fundamentos de matlabFundamentos de matlab
Fundamentos de matlab
 
Procesamiento digital de imágenes con matlab
Procesamiento digital de imágenes con matlabProcesamiento digital de imágenes con matlab
Procesamiento digital de imágenes con matlab
 
Procesamiento digital de señales con matlab
Procesamiento digital de señales con matlabProcesamiento digital de señales con matlab
Procesamiento digital de señales con matlab
 
Taking R to the Limit (High Performance Computing in R), Part 1 -- Paralleliz...
Taking R to the Limit (High Performance Computing in R), Part 1 -- Paralleliz...Taking R to the Limit (High Performance Computing in R), Part 1 -- Paralleliz...
Taking R to the Limit (High Performance Computing in R), Part 1 -- Paralleliz...
 

Similar a Deep Learning + R by Gabriel Valverde

Similar a Deep Learning + R by Gabriel Valverde (20)

Unidad 4 clas int datos.pptx
Unidad 4 clas int datos.pptxUnidad 4 clas int datos.pptx
Unidad 4 clas int datos.pptx
 
REDES NEURONALES.pptx
REDES NEURONALES.pptxREDES NEURONALES.pptx
REDES NEURONALES.pptx
 
3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx
 
CIITEC Fundamentos de Deep Learning.pptx
CIITEC  Fundamentos de Deep Learning.pptxCIITEC  Fundamentos de Deep Learning.pptx
CIITEC Fundamentos de Deep Learning.pptx
 
Sistemas Expertos
Sistemas ExpertosSistemas Expertos
Sistemas Expertos
 
Presentacion inteligencia artificial tecnologica futurista azul y violeta.pptx
Presentacion inteligencia artificial tecnologica futurista azul y violeta.pptxPresentacion inteligencia artificial tecnologica futurista azul y violeta.pptx
Presentacion inteligencia artificial tecnologica futurista azul y violeta.pptx
 
Intro a ANNs c/Keras
Intro a ANNs c/KerasIntro a ANNs c/Keras
Intro a ANNs c/Keras
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
Ii corte presentacion i
Ii corte presentacion iIi corte presentacion i
Ii corte presentacion i
 
Ii corte presentacion i
Ii corte presentacion iIi corte presentacion i
Ii corte presentacion i
 
IC-SBC1-2008.ppt
IC-SBC1-2008.pptIC-SBC1-2008.ppt
IC-SBC1-2008.ppt
 
Deep Learning Notes
Deep Learning NotesDeep Learning Notes
Deep Learning Notes
 
¿A qué huele tu código? Afinando nuestro olfato
¿A qué huele tu código? Afinando nuestro olfato¿A qué huele tu código? Afinando nuestro olfato
¿A qué huele tu código? Afinando nuestro olfato
 
Ii corte presentacion ii
Ii corte presentacion iiIi corte presentacion ii
Ii corte presentacion ii
 
Sistemas Expertos
Sistemas ExpertosSistemas Expertos
Sistemas Expertos
 
Sistemas Expertos
Sistemas ExpertosSistemas Expertos
Sistemas Expertos
 
metodologia-de-programación orientada a Objetos
metodologia-de-programación orientada a Objetosmetodologia-de-programación orientada a Objetos
metodologia-de-programación orientada a Objetos
 
Tópicos Avanzados
Tópicos AvanzadosTópicos Avanzados
Tópicos Avanzados
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 

Más de Victoria López

Más de Victoria López (20)

Alan turing uva-presentationdec-2019
Alan turing uva-presentationdec-2019Alan turing uva-presentationdec-2019
Alan turing uva-presentationdec-2019
 
Seminar UvA 2018- socialbigdata
Seminar UvA  2018- socialbigdataSeminar UvA  2018- socialbigdata
Seminar UvA 2018- socialbigdata
 
Jornada leiden short
Jornada leiden shortJornada leiden short
Jornada leiden short
 
BIG DATA EN CIENCIAS DE LA SALUD Y CIENCIAS SOCIALES
BIG DATA EN CIENCIAS DE LA SALUD Y CIENCIAS SOCIALESBIG DATA EN CIENCIAS DE LA SALUD Y CIENCIAS SOCIALES
BIG DATA EN CIENCIAS DE LA SALUD Y CIENCIAS SOCIALES
 
ICCES'2016 BIG DATA IN HEALTHCARE AND SOCIAL SCIENCES
ICCES'2016  BIG DATA IN HEALTHCARE AND SOCIAL SCIENCESICCES'2016  BIG DATA IN HEALTHCARE AND SOCIAL SCIENCES
ICCES'2016 BIG DATA IN HEALTHCARE AND SOCIAL SCIENCES
 
Presentación Gupo G-TeC en Social Big Data
Presentación Gupo G-TeC en Social Big DataPresentación Gupo G-TeC en Social Big Data
Presentación Gupo G-TeC en Social Big Data
 
Big data systems and analytics
Big data systems and analyticsBig data systems and analytics
Big data systems and analytics
 
Big Data. Complejidad,algoritmos y su procesamiento
Big Data. Complejidad,algoritmos y su procesamientoBig Data. Complejidad,algoritmos y su procesamiento
Big Data. Complejidad,algoritmos y su procesamiento
 
APLICACIÓN DE TÉCNICAS DE OPTIMIZACIÓN Y BIG DATA AL PROBLEMA DE BÚSQUEDA...
APLICACIÓN DE TÉCNICAS DE OPTIMIZACIÓN Y BIG DATA AL PROBLEMA DE BÚSQUEDA...APLICACIÓN DE TÉCNICAS DE OPTIMIZACIÓN Y BIG DATA AL PROBLEMA DE BÚSQUEDA...
APLICACIÓN DE TÉCNICAS DE OPTIMIZACIÓN Y BIG DATA AL PROBLEMA DE BÚSQUEDA...
 
G te c sesion1a-bioinformatica y big data
G te c sesion1a-bioinformatica y big dataG te c sesion1a-bioinformatica y big data
G te c sesion1a-bioinformatica y big data
 
G te c sesion1b-casos de uso
G te c sesion1b-casos de usoG te c sesion1b-casos de uso
G te c sesion1b-casos de uso
 
G te c sesion2a-data collection
G te c sesion2a-data collectionG te c sesion2a-data collection
G te c sesion2a-data collection
 
G tec sesion2b-host-cloud y cloudcomputing
G tec sesion2b-host-cloud y cloudcomputingG tec sesion2b-host-cloud y cloudcomputing
G tec sesion2b-host-cloud y cloudcomputing
 
G te c sesion3a-bases de datos modernas
G te c sesion3a-bases de datos modernasG te c sesion3a-bases de datos modernas
G te c sesion3a-bases de datos modernas
 
G te c sesion3b- mapreduce
G te c sesion3b- mapreduceG te c sesion3b- mapreduce
G te c sesion3b- mapreduce
 
G te c sesion4a-bigdatasystemsanalytics
G te c sesion4a-bigdatasystemsanalyticsG te c sesion4a-bigdatasystemsanalytics
G te c sesion4a-bigdatasystemsanalytics
 
G te c sesion4b-complejidad y tpa
G te c sesion4b-complejidad y tpaG te c sesion4b-complejidad y tpa
G te c sesion4b-complejidad y tpa
 
Open Data para Smartcity-Facultad de Estudios Estadísticos
Open Data para Smartcity-Facultad de Estudios EstadísticosOpen Data para Smartcity-Facultad de Estudios Estadísticos
Open Data para Smartcity-Facultad de Estudios Estadísticos
 
Fortune Time Institute: Big Data - Challenges for Smartcity
Fortune Time Institute: Big Data - Challenges for SmartcityFortune Time Institute: Big Data - Challenges for Smartcity
Fortune Time Institute: Big Data - Challenges for Smartcity
 
Curso Big Data. Control de semáforos en la Smartcity by Ana Laura Rodríguez y...
Curso Big Data. Control de semáforos en la Smartcity by Ana Laura Rodríguez y...Curso Big Data. Control de semáforos en la Smartcity by Ana Laura Rodríguez y...
Curso Big Data. Control de semáforos en la Smartcity by Ana Laura Rodríguez y...
 

Último

Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación Latinoamerica
EdwinGarca59
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
Yanitza28
 
microsoft word manuales para todos tipos de estudiamte
microsoft word manuales para todos tipos de estudiamtemicrosoft word manuales para todos tipos de estudiamte
microsoft word manuales para todos tipos de estudiamte
2024020140
 

Último (20)

Redes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdfRedes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdf
 
herramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el temaherramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el tema
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
 
Tipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de DatosTipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de Datos
 
Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación Latinoamerica
 
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptxTarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
 
Introduccion-a-la-electronica-industrial.pptx
Introduccion-a-la-electronica-industrial.pptxIntroduccion-a-la-electronica-industrial.pptx
Introduccion-a-la-electronica-industrial.pptx
 
el uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptxel uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptx
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - Estrada
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacion
 
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptxTipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
 
microsoft word manuales para todos tipos de estudiamte
microsoft word manuales para todos tipos de estudiamtemicrosoft word manuales para todos tipos de estudiamte
microsoft word manuales para todos tipos de estudiamte
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 

Deep Learning + R by Gabriel Valverde

  • 1. DEEP LEARNING GABRIEL VALVERDE CASTILLA GTEC –WISEATHENA Email: gabriel.valverde@zippingcare.com Dr. Federico Castanedo
  • 2. SUMARIO • Introducción Machine Learning • ¿Qué es Deep Learning? ¿Qué más aporta? • Clasificación de las técnicas de Deep Learning. • Ejemplos: •Autoencoders. •Stacking Autoencoders. • Restriced Bolzam Machine •Deep Belief Network. •Deep Neural Network • Paquetes de R: • H2O • DeepNet
  • 3. Machine Learning • El objetivo es desarrollar técnicas que permitan a la máquina aprender. • Origen en datos desestructurados. • Se centra en la complejidad computacional. • Por lo que se centra en encontrar algoritmos factibles para NP‐hard. • Algunos ejemplos son: • Rama de la Inteligencia Artificial. GMM‐ Gaussian Mixture Model. CRFs‐ Conditional Random Fields. MaxEnt‐ Maximun entropy. SVM‐ Support Vector Machines. Logistic Regression. Kernel regression. Multilayer Perceptrons Los modelos de machine learning clásicos, necesitan: ‐ Diseño resentativo ideados por humanos. ‐ CaracterísƟcas como datos de entrada. Su único objetivo es optimizar los pesos para realizar mejores predicciones.
  • 4. ¿QUÉ ES DEEP LEARNING? •DeepLearning= NN+IA+GM+Optimización+PR+SP. Neuronal Inteligencia Graph Procesamiento Procesamiento Network Artificial Modeling Patrones Señales.
  • 5.
  • 6.
  • 7.
  • 8. ¿QuÉ ES DEEP LEARNING? Vamos a analizar el camino seguido a partir de varias definiciones. Definición: Clase de técnicas de Machine Learning buscando la extracción y transformación de features referentes al procesamiento de la información. Ya sea de forma supervisada o no. Definición: Un campo dentro de Machine Learning basados en algoritmos para aprender varios niveles de representación buscando relaciones complejas. Tenemos por tanto features de alto y bajo nivel, jerarquizandolas, Deep arquitectura. Generalmente no supervisado. Definición: CONTINUACION. Las de bajo nivel pueden ayudar a definir las de alto nivel. Es a tener también en cuenta que algunas representaciones son mejores que otras para depende de que tareas. Definición: Deep Learning, nueva área creada para devolver a Machine Learning a uno de sus objetivos: Inteligencia Artificial. Buscar niveles de abstracción que nos permitan dar sentido a imagenes, sonidos y texto.
  • 9. ¿Qué más aporta? JERARQUÍA. Son técnicas que reciben mayor cantidad de datos. Más capas que desarrollan estas jerarquías entre la información. ‐ Nos permite obtener features de forma no supervisada. ‐ Realizar clasificaciones. El aprendizaje representativo, busca aprender de forma automática buenas características o representaciones. Deep Learning, pretende aprender múltiples niveles de representación incrementando la complejidad la abstracción.
  • 10. RAZONES PARA USAR DEEP LEARNING
  • 11. APRENDER REPRESENTACIONES o Crear las features lleva mucho tiempo. o Las características suelen estar sobrespecificadas o incompletas. o El trabajo tiene que realizarse de nuevo para cada objetivo/dominio/... o Debemos ir más allá de las features artesanales y el modelo lineal. o Los humanos desarrollamos representaciones para aprender y razonar, los ordenadores deberían hacer lo mismo. Deep Learning nos acerca a eso.
  • 12. 2 Necesidad de representaciones distribuidas. l La representación atómica de los símbolos de los modelos de Procesado de lenguaje natural los hace frágiles.
  • 13. 2 Necesidad de representaciones distribuidas. Aprender la representación de las palabras ayuda enormemente en este proceso. Estas proporciona un poderoso modelo de similaridad entre palabras. Los agrupamientos de palabras basándonos en una distribución por similaridad ayudan enormemente a muchas aplicaciones. La representación distribuida puede hacerse mejor representando más niveles de similaridad.
  • 14. Representaciones Distribuidas Tratan el Problema de la Dimensionalidad. lAprender características que no sean mutuamente exclusivas puede ser exponencialmente más eficiente que modelos como clustering o vecino más cercano. Generalizar localmente (ejemplo: vecino más próximo) requiere ejemplos representativos para todas las posibles variantes. lSOLUCION CLASICA: Diseño manual de features. Asumir una función objetivo de alisado.(e.g, linear models) Kernel methods. (basándose en los puntos).
  • 15. 3 Generador de features y pesos no supervisado. El más práctico, los buenos modelos de MLP necesitan datos etiquetados. Pero los datos suelen no estarlo. Más información puede ser incluida como no supervisada. Pues los modelos nos permitirán clasificarlas adecuadamente.
  • 16. 4 Aprender varios niveles de represenación. - Inspirado en la biología. En la estructura del cortex cerebral que parece tener un algoritmo de aprendizaje, Una estructura profunda. lNecesitamos buenas representaciones intermedias que puedan ser compartidas entre las tareas lVarios niveles de variables latentes nos permiten compartir y combinar con fortaleza estadística. lPoca profuncidad del modelo lo puede hacer exponencialmente ineficiente.
  • 17. 4 Aprendiendo multiples niveles de representación.
  • 18. Nos permite capturar la recurrencia del lenguaje l Las sentencias están compuestas por palabras y frases. Necesitamos componerlas en nuestro modelo. Recursión: mismo parámetro es repetido varias veces en diferentes componentes.
  • 19. ¿Por Qué Ahora?. Problemas •Muchos de los modelos ‐> REDES NEURONALES. DNN por ejemplo. •Los algoritmos de optimización usados hasta ahora fallan. Back Propagation. •Funciones no convexas. No funciona bien gradiente descendente. •Muchas capas y muchas neuronas‐> Muchos recursos. •SOLUCIONES: •Gradiente Descendente Estocastico. •Hessian Free. •Kyrlov Suspace Methods. •SVM,CRF,MAXENT, funciones convexas. La parte de imagen con el identificador de relación rId3 no se encontró en el archivo.
  • 20. Por qué ahora?.SOLUCIONES Metodos más eficiente de ajuste de parametros. Mejor comprensión de regulación de los modelos. ENTRENAMIENTO Si los modelos se preentrenan con anterioridad los pesos se acercan a los valores óptimos y hay menos posibilidades de mínimo local. •Considerar cada capa como un denoising autoencoders que se entrena a si mismo. •Usar autoencoders contractivos que son más robustos ante variaciones. •SESM Sparse Autoencoders Symmetric Machine (Ranzano) •Preentrenamientos no supervisado y supervisado. •MLP entrenada con un BP.
  • 21. CLASIFICACIÓN No supervisadas: Captura patrones. Aprendizaje representativo. Generativos, buscan clases asociadas a distribuciones de probabilidad estimadas a partir de los datos observados. Para discriminar usando reglas de bayes. Generatición de features. Supervisadas: Buscan dicriminar patrones con objeto de clasificar. Conocerter las targets. Clasificar en importancia la información que discrimina nuestros objetivos. Llamado redes profundas discriminitivas. Hibrido: Los modelos no supervisados son utilizados como procesos de entrenamientos de los que si lo son. Pretraining con autoencoders sobre DNN.1 O el análisis discriminativo se utiliza para mejorar los no supervisados.
  • 22. • Los primeros son mejores para entrenar y probar, con una construcción flexible, para aprendizaje de sistemas complejos. • Los segundos, más facilidad de interpretación, más fácil integrar conocimiento del dominio, mas sencillo componer, mas fácil manejar la incertidumbre, peor para inferencia y aprendizaje de sistemas complejos.
  • 23. EJEMPLOS Deep Belief Network (DBN): modelos probabilísticos generativos compuestos por muchas capas, y variables ocultas. Boltzmann machine(BM): una red conectada de forma simétrica, con neuronas como unidades que toman la decision de estar conectadas o no. Restricted Boltzmann machine (RBM): tipo especial de BM donde no se permiten interrelación entre neuronas del mismo tipo. Deep Neural Network (DNN): perceptron multicapa con varias capas ocultas, cuyos pesos estan conectados y suelen ser iniciados usando por otro modelo supervisado o no de técnica de entrenamiento. Deep autoencoders: modelo discriminativo DNN que toma como salida los propios valores de entrada, se trata por tanto de un modelo no supervisado. Cuando el objetivo es eliminar ruido se comporta como un modelo generativo.
  • 24. NO SUPERVISADOS No tienen clases con los que comparar los indicadores. Funcionan como filtros. Creadores de features representativas. Muestreo de los datos. •Los conjuntos más comunes son los Energy‐based. Siendo Deep autoencoders el más representativo. También tenemos otros con otras propiedades: •Transforming Autoencoders. Estos autoencoders lo que hacen es transformar nuestros input en output cuya destransformación nos devuelve verdaderos valores. •Predictive Sparse Coders‐ Los propuestos por Ranzano. •De‐noising autoencoders‐ Estos autoencoders se encargan de limpiar de ruido los datos de entrada para que puedan ser evaluados por otros modelos de una forma más sencilla.
  • 25. NO SUPERVISADOS: AUTOENCODERS. •Consideramos un conjunto de valores de entrada (input,target), • i.i.d. Ejemplos de una distribución desconocida . •Denotamos y q⁰(X) a las empíricas iniciales.
  • 29. NO SUPERVISADOS: STACKING AUTOENCODERS.
  • 32. NO SUPERVISADOS: RBM. Si restringimos las conexiones de Boltzmann Machines, tenemos Restricted Boltzmann Machine. Dos tipos de Neural Network Generativas. - Conectando neuronas binarias estocasticas en un grafo aciclico dirigado tenemos Sigmoid Belief Net. - Si conectamos neurona binarias estocásticas usando conexiones simétricas tenemos Boltzmann Machine.
  • 33. RBM. Formas de combinar modelos. • Composición. Usa los valores del variables latentes de un modelo como datos del siguiente. • Mixture. ‐ Tomando una media de las distribuciones • Producto. - Multiplicar la distribuciones de cada punto y renormalizar. Así es como actúa RBM. No será mejor que las individuales. Exponencialmente más poderosa que mezcla. L Forma débil de combinar. - Trabaja bien con varias capas de representación pero solo si lel modelo individual es no dirigido.
  • 34. RBM • Restringimos las relaciones para hacerlo más sencillo de enseñar. • Sólo una capa de ocultas. • No hay conexiones entre ocultas. • En un RBM, las ocultas son condicionalmente independientes dadas las visibles. • Podemos obtener de forma ágil, ejemplos de la distribución posterior dado un vector de datos. • Gran ventaja sobre las Directed Belief nets.
  • 37. Metodos Acelerar Muestreo CONTRASTIVE DIVERGE (CD-K) • Usa dos pasos para acelerar el proceso de muestreo. • Queremos (la verdad, la distribución de los datos), iniciamos con un ejemplo de entrenamiento, (es decir, una muestra cercana a lo óptimo, a p) • CD no espera que chain converja. Si no que obtienen el ejemplo tras un numero prefijado de pasos de Gibs. PERSISTENT DC • Nos basamos en que tenemos una única lcadena de Makov, no reiniciamos lla cadena en cada paso. Para cada actualización, lse usa el estado obtenido del paso anterior lpara generar de nuevo la cadena de forma sucesiva.
  • 40. PAQUETES R Deep Net Autor: Xiao Rong Link: https://github.com/cran/deepnet Paquete en el que hay implementado varios modelos y algoritmos de Deep Learning. Aunque de utilidad para entender bien los modelos, ya que aplica una muestra bastante representativa de todos ellos, su BP, RBM, DBM, Autoencoder. Su lentitud, debido a la no paralelización, ha hecho que no sea el utilizado para obtener los resultados. Sí para realizar pruebas y adentrarnos en el mundo de DeepLearning por la fácil accesibilidad de código.
  • 41. FUNCIONES Utilidad Dbn.dnn.train Implementa una Deep Neural Network, con pre-entrenamiento dado por una DBN formada por RBM acopladas. Load.mnist Función para cargar la base de datos de referencia de pruebas de machine learning en el reconocimiento de dígitos manuscritos. nn.predict Función que nos permite clasificar nuevos datos a partir del modelo entrenado. Ya sea DBN o NN. nn.test nn.train Función para entrenar una red neuronal ya sea de una o varías capas. Por medio de BP. Rbm.down Generación de vector de valores a partir de los estados de las neuronas de capas ocultas. Necesario para aplicar CD. Rbm.train Entrenamiento de una Restricted Boltzmann Machine. Rbm.up Deducir el estado de las capas ocultas a partir de las visibles. También se puede utilizar para deducir estado de capa superior a partir de la inferior, siendo ambas ocultas. Sae.dnn.train Entrenar una DNN con pesos iniciados a partir de un Stacked AutoEncoder.
  • 42. ARGUMENTOS Argumentos Utilidad Parámetros x Matriz de casos, de ejemplos. Matriz de entrenamiento y Matriz de clases, o valores objetivos. Clasificación hidden Vector con el número de neuronas de cada capa oculta. C(100,200,400, 1200, 2400, 1200,400, 100) activationfun Función de activación elegida, aunque sólo está completamente implementada sigm. sigm learningrate Ratio de aprendizaje para la aplicación del gradiente descendente estocástico. 0.09 momentun Momentum para gradiente descendente. 0.5 Learning_rate_ scale Factor de reducción para el ratio de aprendizaje. numepochs Número de iteraciones. 30
  • 43. Argumentos Utilidad Parámetros batchsize Tamaños de minibatch. 100 output Función de salida, puede ser sigm, linear, or softmax. Por defecto “sigm”. Sae_output Función de salida del Autoencoders. Hidden_dropout Cancelación de las capas ocultas. Visible_dropout Porcentaje de fracciones a eliminar. Visible_dropout cd (Sólo en dbn) Número de iteraciones de Gibbs para el algoritmo de CD. cd
  • 44. PAQUETES R H2O Autor: Oxdata Link: https://github.com/0xdata/h2o/tree/master/docs/deeplearning Software desarrollado por OXDATA, con un paquete en R a modo de framework. Engloba distintas estrategias de análisis de datos. Entre ellas varios modelos de Deep Learning, DNN, Autoencoders. Permite observar resultados intermedios de convergencia y tiene la posibilidad desde la plataforma online de conexión al servidor lanzado, de parar y guardar modelos intermedios, continuando el entrenamiento a posteriori y observar el comportamiento de los distintos nodos del clúster, así como exportar datos desde distintas plataformas y formatos.
  • 45. Opciones de Uso Sparkling Water R +Hadoop Cluster EC2 Interface Gráfica Modelos Machine Learning - GLM - Decision Tree - Random Forest - GBM - K-MEANS - Anomaly Detection - Deep Learning - Naïve Bayes - Gride Search http://www.slideshare.net/0xdata/h2-o-deeplearningarnocandel052114? related=1
  • 46. FUNCIONES Utilidad h2o.init Función para iniciar h2o, en nuestro caso sólo lo hemos aplicado de manera local. h2o.uploadFile Función para cargar la base de datos, en función de PATH, será desde S3, HDFS, o URLs. h2o.deeplearning Función que nos permite realizar un modelo de DNN, o Autoencoders, seleccionando todos los parámetros. @model$option Eligiendo sobre el modelo nos indican distintas opciones: params los parámetros usados, varimp importancia de las variables. h2o.predict Dado el modelo nos proporcionas las puntuaciones sobre los datos de test. h2o.saveModel Nos permite almacenar el modelo realizado, en la dirección elegida. h2o.loadModel Nos permite cargar modelos almacenados. h2o.anomaly Nos permite, calculado un modelo Autoencoders, localizar anomalías. as.h2o Función que nos permite cargar en el h2o, los datos de R. h2o.performance Función que nos permite medir la validez de las puntuaciones sobre datos de referencia.
  • 47. ARGUMENTOS Argumentos Utilidad Parámetros Funciones ip Seleccionar la IP del servidor. Localhost. h2o.init port Puerto de conexión. Clasificación. h2o.init nthreads Número de CPU’s a usar. -1 indica todos h2o.init starH2O Lanza la conexión si esta no existe. T h2o.init data Matriz de datos de R, que se quiere llevar a h2o. Data.table con los datos. as.h2o key Nombre clave, con el que se denomina en el sistema de almacenaje de H2O. Train/Validation/Te st as.h2o epochs Número de iteraciones. h2o.deeplearning Balance_class es Balancea las clases en las distintas particiones de los datos durante la resolución del algoritmo de optimización T h2o.deeplearning
  • 48. Argumentos Utilidad Parámetros Función x Vector que contiene las variables de uso. Todas, salvo índice y clase h2o.deeplearning y Nombre de la variable respuesta. h2o.deeplearning data Dato en formato h2o, distribuido por el sistema. h2o.deeplearning autoencoder Nos permite elegir entre Steacking Autoencoder o DNN. T en el Autoencoder h2o.deeplearning classificacion Cancelación de las capas ocultas. h2o.deeplearning activation Función de activación. “Tanh”/”TanhDropout” h2o.deeplearning hidden (Sólo en dbn) Número de iteraciones de Gibbs para el algoritmo de CD. cd h2o.deeplearning
  • 49. Argumentos Utilidad Parámetros Función Override_with_ best_model Nos quedamos con el último modelo de la iteración, o con el mejor. T h2o.deeplearning Checkpoint Nos permite almacenar el modelo que estamos entrenando. Key con el nombre del modelo. h2o.deeplearning Reference Clase actual con la que comparar. Clase, del conjunto de entrenamiento o validación. h2o.performance Measure Medida elegida para evaluar el modelo. Accuary. h2o.performance Thresholds Frontera. 0.5 h2o.performance
  • 50. APLICACIÓN: WISEATHENA o OBJETIVO: Predicción de churn (fuga) para un conjunto de datos referentes a clientes de una empresa de telecomunicaciones. PASOS A SEGUIR: - Tratar los datos, seleccionar variables de tipo numérico, transformar las de tipo clase en booleanas, estandarizar los datos para evitar mayor carga en variables con mayor peso. - Muestreo de los datos, creando training, validation, test, con los dos primeros ya clasificados, y en el caso de training, con datos balanceados. - Usar el paquete deepnet/h2o para realizar la predicción.
  • 51. APLICACIÓN PROCEDIMIENTO 1 Comenzar seleccionando parámetros. 2 Aplicar el modelo con la función dbn.dnn.train/h2o.deeplearning. 3 Variarlos en función de los resultados obtenidos sobre training. 4 Usar nn.test para valorar los resultados con los pesos entrenados sobre Validation. 5 Valorar la posibilidad de aplicar técnicas de reducción de sobreajuste si este se da. Usar mediciones como curva ROC, usando la librería ROCR. 6 Una vez elegido aplicar sobre el conjunto de test.
  • 52. Datos
  • 53. Datos
  • 56. BIBLIOGRAFÍA http://cran.r‐project.org/web/packages/deepnet/deepnet.pdf http://0xdata.com/ deepLearning.net https://www.youtube.com/watch?v=n6hpQwq7Inw https://www.youtube.com/watch?v=dMVLd5URpvs#t=602 http://www.cs.ubc.ca/~nando/540‐2013/lectures/l13.pdf http://www.cs.ubc.ca/~nando/540‐2013/lectures.html http://digital.csic.es/bitstream/10261/84753/1/RED%20NEURONAL.pdf http://books.google.es/books?id=4OgOJLGGrzcC&pg=PA145&lpg=PA145&dq=gato+barra+horizontal&source=bl&ots= Z4tEuFrkYF&sig=bWjETKt_2RPxLL8O3‐B9DIORXYs&hl=es&sa=X&ei=uXTRU‐SWLeOc0QXWzYCYDw& ved=0CFwQ6AEwCw#v=onepage&q&f=false http://vimeo.com/101582001 http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/filter_visualization.ipynb
  • 57. GRACIAS Email: gabrielvalverdecastilla@gmail.com gabriel.valverde@zippingcare.com www.tecnologiaucm.es