Sie sind auf Seite 1von 47

Índice Redes Neuronales Artificiales Evaluación Implementación

Minerı́a de Datos
Redes Neuronales, Evaluación, Implementación

Act. Fernando Roque

Octubre, 2016

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

1 Redes Neuronales Artificiales


Un poco de Teorı́a
RNAs en SAS EM

2 Evaluación

3 Implementación

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Redes Neuronales

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Las Redes Neuronales Artificiales (RNAs) son modelos


matemáticos inspirados en sistemas biológicos, adaptados y simulados
en computadoras convencionales. Las RNAs están inspirados en el
sistemas biológico natural.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales


La representación clásica de una RNA con una capa oculta es la
siguiente:

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales. Ejemplos.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales. Ejemplos.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Haciendo zoom a un nodo se puede apreciar la estructura de los


nodos de una RNA.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Otra representación.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Con datos de entrada.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Algunos conceptos utilizados en el estudio de las RNAs son los


siguientes:
Capa de entrada.
Capas Ocultas.
Capa de salida.
Neuronas o nodos.
Conecciones.
Ponderadores.
Función de activación.
Pesos o ponderadores.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Para ilustrar el funcionamiento de una RNA, se ejemplificará


una red con dos capas ocultas que contienen tres nodos cada
una.

Capa de entrada.
Suponga que se tienen n observaciones de un conjunto de datos
con p variables explicativas x1 , x2 , . . . , xp y una variable objetivo
categórica yk con k categorı́as. En la capa de entrada, que
consta de p nodos, se reciben los datos para cada observación.
Para variables contı́nuas, se realiza la estandarización de los
datos, mientras que las variables categóricas se transforman a
variables dummy. Una vez procesados los datos en la capa de
entrada, éstos pasan a la siguiente capa.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Conecciones ponderaciones.
La conecciones, o dentritas, realizan una ponderación entre
capas, es decir, cada valor de una capa es multiplicado por un
valor w, antes de ingresar a la siguiente capa.

Nodos o neuronas.
En los nodos de cada capa, se realiza una transformación
mediante alguna función de activación. Existe una gran
variedad de funciones activación, entre las cuales están la
Logı́stica, Gauss, Seno, Coseno, Tangente hiperbólica, etc. A
este proceso se le denomina sinápsis.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Capas Ocultas.
Por cada nodo de la capa de entrada, se hace una conección a
cada nodo de la primer capa oculta, es decir, para este ejemplo
se realizan 3 × p conecciones de la capa de entrada a la primer
capa oculta.

Una vez recibidos los datos en la primer capa oculta, cada nodo
realizará una transformación. La primer capa oculpa realizará 3
transformaciones, cuyo resultado serán los datos de entrada de
la siguiente capa oculta. En este proceso se realizarán 3 × 3
conecciones.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Capas de salida.
Cada nodo de esta segunda capa oculta, realizará tambien una
transformación y cuyos resultados seran lo datos de entrada de
las capa de salida que contiene k nodos. Se realizarán 3 × k
conecciones.
Para variables objetivo del tipo categóricas, el valor de
respuesta será la probabilidad de pertenecia a la categorı́a que
está representada por el nodo dentro de la capa de salida. Para
variables objetivo contı́nuas, el valor de respuesta será el valor
estiimado.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Suponga la siguiente red neuronal:

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Matemáticamente hablando, el funcionamiento de las RNAs es


el siguiente:
Para cada observación en el conjunto de datos, se toman los
valores de las variables explicativas x1 , x2 , ..., xp y se realiza la
conección (ponderaciones) hacia la primer capa oculta para
cada nodo, es decir, para la i-ésima observación y primer nodo
se tiene

ηi11 = w011 + w111 xi1 + w211 xi2 + · · · + wp11 xip ,


donde w111 , w211 , . . . ,wp11 son los pesos a estimar por el
argorı́tmo iterativo. Esta ecuación es conocida como función
combinación, la cual puede ser lineal o no lineal.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales


Una vez aplicada la función combinación, se escoge entre una variedad
de funciones de activación. Si se eligiese la función del tipo sigmoid
Tangente Hiperbólica, la transformacion quedarı́a de la siguiente
manera

exp(ηi11 ) − exp(−ηi11 )
Hi11 = tanh(ηi11 ) = .
exp(ηi11 ) + exp(−ηi11 )
Esta transformación mapea los valores de ηi11 del intervalo
(−∞, +∞), al intervalo (−1, +1).

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Este proceso es análogo para los nodos dentro de la primer capa. La


ponderaciones serı́an las siguientes:

ηi12 = w012 + w112 xi1 + w212 xi2 + · · · + wp12 xip

y
ηi13 = w013 + w113 xi1 + w213 xi2 + · · · + wp13 xip .
Y las salidas de los nodos:
exp(ηi12 ) − exp(−ηi12 )
Hi12 = tanh(ηi12 ) =
exp(ηi12 ) + exp(−ηi12 )
y
exp(ηi13 ) − exp(−ηi13 )
Hi13 = tanh(ηi13 ) = .
exp(ηi13 ) + exp(−ηi13 )

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Para la segunda capa oculta, las entrada serán las


correspondiente salidas de la primer capa. Matemáticamente
hablando, se tiene lo siguiente:

ηi21 = w021 + w121 Hi11 + w221 Hi12 + w321 Hi13 .


De manera similar se aplica la funciı́n de activación a dicho
función combinación.

exp(ηi21 ) − exp(−ηi21 )
Hi21 = tanh(ηi21 ) = .
exp(ηi21 ) + exp(−ηi21 )

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Este proceso es análogo para los nodos dentro de la primer capa. La


ponderaciones serı́an las siguientes:

ηi21 = w022 + w122 Hi11 + w222 Hi12 + w322 Hi13 .

ηi21 = w023 + w123 Hi11 + w223 Hi12 + w323 Hi13 .


Y las salidas de los nodos:
exp(ηi22 ) − exp(−ηi22 )
Hi22 = tanh(ηi22 ) =
exp(ηi22 ) + exp(−ηi22 )
y
exp(ηi23 ) − exp(−ηi23 )
Hi23 = tanh(ηi23 ) = .
exp(ηi23 ) + exp(−ηi23 )

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

La capa de salida producirá los resultados del modelo. Esta capa


tendrá tantos nodos como variables de respuesta tenga la variable
objetivo. Para variables intervalo, será una capa con un solo nodo.
Las entradas para cada nodo de esta capa serán las salidas de la
segunda capa oculta. De manera similar, las entradas serán
multiplicados por pesos.

ηi31 = w031 + w131 Hi21 + w231 Hi22 + w331 Hi23 .


La función de activación dependerá de la variable de respuesta. Para
una variable de respuesta binaria, se recomienda la función logı́stica,
por lo tanto la respuesta de la observación i será la probabilidad de
respuesta:

exp(ηi31 ) 1
yi = =
1 + exp(ηi31 ) 1 + exp(ηi31 )

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Arquitectura de las Redes Neuronales

Todo el proceso anterior, puede resumirse en la siguiente


función de dos parámetros

Γi (W, Xi ),

donde W es la matriz de pesos wjk y Xi es el vector de entrada


de las variables explicatiavas.

A la RNA construida funciones combinaciones lineales y función


de activaión del tipo sigmoid, se le conoce como Perceptron
Multicapa.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Estimación de los pesos W

Los pesos de la matriz W se estima de manera iterativa a partir


de los datos de entrenamiento de tal manera que el error de la
función de error seleccionada sea la mı́nima.

Por ejemplo, para una variable de respuesta del tipo binaria,


una función de error comúnmente utilizada es la función de
error Bernoulli
n
X Γi (W, Xi ) Γi (W, Xi )
E = −2 yi ln + (1 − yi ) ln ,
yi yi
i=1

donde Γ es la probabilidad estimada de respuesta de la


observación i y que depende de los pesos W y del vector de
entrada Xi . La variable yi es el valor conocido de la variable de
respuesta. n es el número de observaciones en el conjunto de
datos.
Act. Fernando Roque Minerı́a de Datos
Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Estimación de los pesos W

El cálculo de los pesos W se realiza en dos pasos.

Paso 1. Minimización del error.


En este primer paso se realiza un calculo iterativo de los pesos
con los datos de entrenamiento. En el primer paso, se escogen
de manera aleatoria1 los pesos W1 y se evalúa la función de
error seleccionada. En la segunda iteración se ajustan los pesos
para disminuir el error. Este procedimiento se realiza hasta que
ya no haya mejora en la función de error.

En las RNAs, la complejidad del modelo está representada por


el número de iteraciones. Si se realizaron 100 iteraciones, se
abrán generado 100 modelos de entre los cuáles se ecogerá uno.

1
Distribución Normal, Cauchy o Uniforme
Act. Fernando Roque Minerı́a de Datos
Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Estimación de los pesos W

Paso 2. Selección del modelo óptimo.


Para este paso se elegirá un Criterio de Selección de Modelo que
será aplicado para selecciónar al mejor modelo de entre los 100
modelos creados en el primer paso. Esta selección se realiza
utilizando los datos de validación. Si se eligiera el Error de
Clasificación2 , se calcula dicha tasa para cada uno de los 100
modelos. Si se tienen m datos de validación

m
X Γi (W(k) , Xi ) Γi (W(k) , Xi )
E(k) = −2 yi ln + (1 − yi ) ln .
yi yi
i=1

Se escogera el k-ésimo modelo tal que E = min{E(k) |Wk }

2
Otros criterios de selección son Beneficio\Pérdida y Error promedio.
Act. Fernando Roque Minerı́a de Datos
Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

RNAs en SAS EM

En SAS Enterprise Miner existen dos nodos para construir


redes neuronales. En el nodo Red Neuronal el usuario
especifica las caracterı́sticas generales de la Red. En el nodo
Autoneuronal el usuario especifica las diferentes
caracterı́sticas para que SAS EM escoja la mejor red.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

RNAs en SAS EM

Las principales propiedades del nodo Red Neuronal son las


siguientes:

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Opciones de Optimización
En esta ventana podemos elegir el número de iteraciones
(modelos) para minimizar la tasa error de acuerdo a la función
de error seleccionada.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Criterios de Selección

Pueden elegirse tres funciones de error diferentes dependiendo


del tipo de varable objetivo:

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Un
Implementación
poco de Teorı́a RNAs en SAS EM

Propiedades de la RNA
Entre las opciones de RNA a elegirse están la Arquitectura de
la Red, el número de capas, la forma de estandarización, la
selección de la distribución de los pesos iniciales, etc.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

Evaluación

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

Evaluación

Una vez creados los modelos mediante diferentes técnica o


modelos, el siguiente paso en el análisis es la valorización, es
decir, se realiza una comparación de los modelos creados para
elegir aquel que se ajuste a las necesidades del analista.

En SAS Enterprise Miner existe un nodo que realiza el


comparativo entre modelos y elige aquel que mejor se ajuste de
acuerdo a alguna de las medidas de error o mejora disponible.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

Evaluación

En este nodo están disponibles una gran variedad de criterios


para la selección de modelos:

Criterio de Selección de Akaike Mejora (+)


(−) Índice de clasificación errónea
Error cuadrado promedio (−) (+)
Error cuadrado de la media Beneficio Pérdida Promedio
(−) (+−)
ROC (+) Porcentaje de Respuesta (+)
Respuesta Capturada (+) Respuesta capturada
Ganancia (+) acumulada (+)
Coeficiente de Gini (+) Mejora acumulada (+)
Estadı́stico de Respuesta de porcentaje
Kolmogorov-Smirnov (+) acumulado (+)

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

Evaluación

Dependiendo del tipo del tipo variable objetivo, se escogerá un


método de evaluación.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

ROC

La curva ROC (Receiver Operating Characteristic) es útil para


comparar el coportamiento global de un modelo y solo es
posible su representación para variables respuesta del tipo
binaria. Este gráfico enfrenta los pares de valores conocidos
como sensibilidad (sensitivity) y 1-especificidad (1-especifity).
Sensitivity. Es una medida de capacidad de acierto de un
evento y se define como el npumero de categorı́as positivas
correctamente predichas dividido por el tota de categorı́as
positivas.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

ROC

Specifity. Es una medida de capacidad de acierto de un


evento complementario al anterior. Se define como el
npumero de categorias falsas correctamente predichas,
dividido por el número de categorias falsas. 1- Specifity es
el npumero de falsos positivos o número de observaciones
con categorias falsas que el modelo incorrectamente predice
como verdaderas para un punto de corte determinado,
dividido por el número de casos falsos.
La curva muestra el trade-off entre ambas magnitudes.
Idealmente el objetivo es tener altas ambas para predecir
correctamente ambas categorı́as. Un punto de corte más bajo,
aumenta el número de falsos positivos, mientras que un punto
de corte más alto aumenta el número de falsos negativos.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

Índice ROC

Las definiciones anteriores se representan en la siguiente matriz


de confusión.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

Índice ROC

Asociado a la curva ROC, se define el ı́ndice ROC como el área


bajo la curva y que será el valor que nos dirá que tan bueno es
el modelo. Mientras más grande dicho valor, mejor es el modelo.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

Evaluación

El flujo del proceso tendrá la siguiente estructura:

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

Evaluación
Una vez ejecutado este nodo, se muestran los siguientes resultados:

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

Evaluación
La primer ventana muestra la curva ROC para cada modelo evaluado.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

Evaluación

La siguiente ventana muestra un renglón para cada modelo, junto con


los correspondientes valores de todos los criterios de selección. La
primer columna muestra una letra Y que indica el modelo seleccionado
de acuerdo al criterio elegido.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

Implementación

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

Implementación

El último paso en el proceso de Data Mining es la


implementación del modelo. En SAS Enterprise Miner a este
proceso se le denomina Score (resultado).

Existe un nodo que realiza la tarea de implementación de


acuerdo al modelo seleccionado por el nodo Evaluación, o bien
directamente del modelo deseado.

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

Implementación

El flujo del proceso tendrá la siguiente estructura:

Act. Fernando Roque Minerı́a de Datos


Índice Redes Neuronales Artificiales Evaluación Implementación

The End

Act. Fernando Roque Maye


fernando.roquem@yahoo.com.mx

Act. Fernando Roque Minerı́a de Datos