Вы находитесь на странице: 1из 44

a la Miner Aux 7.

Introduccion a de Datos
LHuillier1,2 , Richard Weber2 Gaston glhuilli@dcc.uchile.cl
1 Departamento

de Ciencias de la Computacion Universidad de Chile

2 Departamento

de Ingenier a Industrial Universidad de Chile

2010

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Auxiliar 7

Redes Neuronales (pt.2) Back-propagation Estimando los parametros de la red Uso en Rapidminer v5.0 de Modelos Evaluacion Holdout Cross Validation de modelos de clasicacion Evaluacion de hipotesis Vericacion Use en Rapidminer v5.0

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Multicapa [1] Red Neuronal - Perceptron

Articial Neural Net MultiLayer Perceptron La arquitectura de la red neuronal se caracteriza porque tiene sus neuronas agrupadas en capas de diferentes niveles. Cada una de las capas esta formada por un conjunto de neuronas y se distinguen entre ellas en 3 niveles de capas distintas: la capa de entrada: se encargan de recibir las senales o patrones que proceden del exterior y propagar las senales a todas las otras neuronas de la siguiente capa de realizar el las capas ocultas: son las que tienen la mision procesamiento no lineal de los patrones recibidos. la capa de salida: actua como salida de la red, proporcionando al exterior la respuesta de la red, para cada uno de los patrones de entrada.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Multicapa [2] Red Neuronal - Perceptron

Figura: Ejemplo Red Neuronal.


G. LHuillier, R. Weber de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Multicapa [2] Red Neuronal - Perceptron

Figura: Diagrama Red Neuronal.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Multicapa [3] Red Neuronal - Perceptron

W1 ,W2

m n

1 E= N

N i=1

1 2

yi,k y (xi )k
k =1

y (xi )k = f2

M j=1

w 2 f1
a=1

j,k

,0 w1 xi,a + wa 1 a ,j ,k + w0 2

,K A,M Principal problema: Estimar W2 = {w2 }M j=1,k=0 y W1 = {w1 }a=1,j=0 minimizando el error de aprendizaje.

j,k

a,j

Utilizando funciones de transferencia f2 : M K y f1 : A M, donde N es la cantidad de objetos en la base de datos de entrenamiento M es la cantidad de neuronas en la capa escondida.
G. LHuillier, R. Weber de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Multicapa [4] Red Neuronal - Perceptron

W1 ,W2

m n

E=

1 N

N i=1

1 2

yi,k y (xi )k
k =1

y (xi )k = f2

M j=1

w 2 f1
a=1

j,k

,0 w1 xi,a + wa 1 a ,j ,k + w0 2

(en K es la cantidad de clases en el problema de clasicacion L = 1). regression A es la cantidad de atributos para caracterizar a los objetos. conocido para estimar el optimo El metodo mas de esta funcion objetivo es el algoritmo Back-propagation. (La convergencia al m nimo asegurada) global no esta
G. LHuillier, R. Weber de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Multicapa [5] Red Neuronal - Perceptron


Finalmente se puede ver que la red neuronal es una funcion F : RA RK continua no lineal. Es decir Y = F(X, W )

Figura: Articial Neural Network Multi-Layer Perceptron.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Algoritmo Back-propagation

al Algoritmo que permite encontrar de manera heur stica la solucion del error de la red neuronal. problema de minimizacion 1974 [Werbos, 1994], pero no fue Descrito originalmente el ano 1986 [PDP Research Group, 1986]. reconocido hasta el ano Compuesto de manera general por los siguientes pasos:
1

Se presentan las observaciones a la red y utilizando los pesos actuales se calculan los valores de salida. Se calculan los errores tomando las diferencias entre los resultados obtenidos y los resultados esperados. de la red y los pesos son ajustados El error se retro-alimenta a traves para minimizar el error.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Algoritmo Back-propagation
Una de las principales problematicas del algoritmo backpropagation es de encontrar como solucion m que se presenta la situacion nimos locales. Se puede evitar este problema modicando los valores de la tasa de aprendizaje.

Figura: Problemas con los m nimos locales y la tasa de aprendizaje.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Algoritmo Back-propagation

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Algoritmo Back-propagation

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Algoritmo Back-propagation

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Algoritmo Back-propagation

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Algoritmo Back-propagation

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Algoritmo Back-propagation

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Algoritmo Back-propagation

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Algoritmo Back-propagation

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Algoritmo Back-propagation

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Ajuste de Parametros [1]

Cantidad de Capas Ocultas


1

booleana puede ser representada por una red Cualquier funcion neuronal con solo una capa intermedia. Lamentablemente puede necesitar un numero exponencial (en numero de entradas) de nodos en la capa media. [Fausett, 1994] continua acotada puede ser aproximada con bajo Cualquier funcion porcentaje de error, por una red neuronal con una sola capa intermedia. [Cybenko, 1989, Hornik et al., 1990] puede ser aproximada, con cierto nivel de Cualquier funcion con una red neuronal con dos capas [Cybenko, 1989] precision,

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Ajuste de Parametros [2]


Cantidad de Neuronas [1]
1

denidas por el La cantidad de neuronas de entrada y salida estan problema. La cantidad de neuronas en las capas ocultas determina los grados de libertad del modelo: de neuronas pueden que no sean Numero muy pequeno sucientes para problemas muy complejos. Numero muy grande de neuronas pueden sobre-entrenar el modelo y tener una perdida de generalidad ante nuevas observaciones.

Se suele usar (por defecto, y para comenzar el analisis de K) ( M cantidad de neuronas en la capa sensibilidad) la regla M = (A+ 2 media, A cantidad de neuronas en la capa de entrada, K cantidad de neuronas en la capa de salida.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Ajuste de Parametros [3]

Cantidad de Neuronas [2]


1

La cantidad de neuronas en las capas ocultas depende de una serie de factores, entre ellos la cantidad de observaciones en el conjunto de entrenamiento, la cantidad de ruido, complejidad del problema cantidad de atributos (neuronas de entrada) y clases de clasicacion, entre las capas, (neuronas de salida), funciones de activacion algoritmo de entrenamiento. es ir evaluando varias redes neuronales para ir Una opcion determinando el numero apropiado de neuronas es comenzar con un numero Otra opcion grande de neuronas y conexiones, y a medida que se va construyendo la red neuronal, se van podando aquellas conexiones que son innecesarias.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Ajuste de Parametros [4]

Decaimiento de los pesos


1

Para prevenir que los pesos vayan creciendo sin control alguno a de sobre entrenamiento), es conveniente valores muy grandes (senal agregar un decaimiento a los pesos de la forma: wt+1 = (1 )wt

Pesos que no son necesarios y no se van actualizando en cada del algoritmo, van a decaer hasta anularse, mientras que iteracion aquellos que si son necesarios y se van actualizando de manera continua con backpropagation y ajustando con el decaimiento.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Ajuste de Parametros [5]


Numero de epocas
1

Para evitar el sobre entrenamiento y el tiempo computacional necesario para entrenar la red, se puede jar un cierto numero de epocas de entrenamiento de acuerdo al comportamiento observado del error de entrenamiento y de prueba.

Entrenamiento con ruido


1

Se puede dar el caso que sea necesario agregar ruido a las observaciones de entrenamiento de manera de entregar una mayor generalidad al modelo.

de activacion Funcion
1

Una red neuronal MLP entrenada con el algoritmo backpropagation rapido de entrena generalmente mas si se utiliza una funcion anti-simetrica activacion ( f (x) = f (x) )

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Ajuste de Parametros [6]


Sobre-entrenamiento en redes neuronales

Figura: [Mitchell, 1997] .

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Ajuste de Parametros [6]


Sobre-entrenamiento en redes neuronales

Figura: [Mitchell, 1997] .

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Ajuste de Parametros [7]


Preprocesamiento de datos de entrada
1

Los datos de entrada deben estar pre-procesados de manera que su media sea cero, o un valor muy bajo con respecto a la varianza. Los datos de entrada no deben estar correlacionados. Intentar de utilizar variables que no expliquen las mismas caracter sticas de las observaciones de una base de datos. Una alternativa es utilizar PCA u otros metodos que aseguren variables independientes. Las variables de entrada deben tener una varianza similar

Pesos iniciales
1

para evitar la Pesos in ciales deben ser valores pequenos saturacion de las neuronas: Valores de los pesos de entrada-capa-media son mayores que aquellos pesos capa-media-salida dado que actualizan sus valores con los errores de back-propagation

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Ajuste de Parametros [8]


de los pesos Actualizacion
1

Existen dos aproximaciones basicas para actualizar los pesos durante el entrenamiento de la red: Entrenamiento On-line: Pesos son actualizados con es presentada a backpropagation luego que cada observacion la red neuronal. Entrenamiento Batch: Pesos son actualizados una vez que todas las observaciones son presentadas a la red neuronal.

Se recomienda el entrenamiento Batch dado que se utiliza la adecuada para el problema de maximo direccion descenso, la mas no lineal que se desea resolver. de optimizacion Entrenamiento On-line solo entrega una menor complejidad computacional del entrenamiento en un orden. Entrenamiento On-line es sensible al orden que se presentan las observaciones a la red neuronal.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Ajuste de Parametros [9]


Tasa de aprendizaje
1

de tasas de aprendizaje ( ) Se recomienda utilizar una combinacion sobre distintas redes. Este parametro, a grandes rasgos, permite denir la velocidad por sobre la cual se va acercando al optimo del denido sobre una red neuronal articial. problema de optimizacion

Momentum
1

Se puede incluir un parametro llamado momentum (valor ) utilizado de los pesos en el algoritmo de backpropagation. para la actualizacion Permite considerar la cantidad de movimiento que cada peso tiene al irse actualizando, wt+1 = (1 )wt + (1 ) f (e) x + (wt wt1 ) e

No existe una regla general para los valores de ambos parametros, pero para el momentum se recomiendan valores cercanos a 0.2.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Auxiliar 7

Redes Neuronales (pt.2) Back-propagation Estimando los parametros de la red Uso en Rapidminer v5.0 de Modelos Evaluacion Holdout Cross Validation de modelos de clasicacion Evaluacion de hipotesis Vericacion

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

de Modelos Validacion

Conceptos basicos Datos de Entrenamiento: Datos utilizados para entrenar el modelo Datos de Prueba: Datos utilizados para probar el modelo Datos Objetivo: Datos sobre los cuales se ejecuta posteriormente el modelo Observaciones mal clasicadas sobre Error de prediccion: observaciones totales. Tasa de exito = 1 error de prediccion

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Holdout [1]
1

Generalmente se tiene una base de datos, por lo que se debe dividir en una base de datos de prueba y otra de entrenamiento. Ambos conjuntos deben ser representativos con respecto a los datos objetivos.

Problemas:
1

representada en los datos de entrenamiento, el Si una clase no esta un buen desempeno para la clase y no se modelo no tendra bien el error asociado. medira Existe un trade-off entre la cantidad de datos considerados para el conjunto de entrenamiento y de prueba.
1

Es necesario un conjunto de entrenamiento mayor para estimar un buen modelo. Es necesario un conjunto de prueba mayor para tener una buena del error. estimacion

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Holdout [2]

Se puede considerar un Holdout estraticado, considerando la misma Entrenamiento / Prueba. frecuencia de clases en cada particion con reemplazo de la base de datos Se puede considerar una seleccion original, probando una cierta cantidad de veces. El error estimado se puede considerar como el promedio de errores para la iteracion. Se considera generalmente la regla 2/3 entrenamiento y 1/3 prueba de la base de datos. para la division

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Cross Validation [1]

Cruzada de n-folds Validacion


1 2

Se subdividen los datos en n subconjuntos disjuntos. de n 1 subconjuntos para el entrenamiento Se considera la evaluacion del modelo y 1 subconjunto para la prueba. Este proceso se repite hasta que los n subconjuntos fueron evaluados como prueba. del error, es el promedio de los errores considerados Una estimacion para las n evaluaciones de la prueba. usado es una validacion cruzada de 10-fold El caso mas

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Cross Validation [2]

Figura: Ejemplo Cross-Validation 10-folds.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Cross Validation [3]

Cruzada de n-folds Validacion


1

cruzada con 10 Caso usualmente recomendado: 10 veces validacion folds. La principal desventaja es el costo computacional de evaluar K veces n modelos. Se tiene una complejidad de orden O(K n) O(modelo utilizado)

En el caso de tener pocos datos, es muy util considerar leave-one-out cross validation. Funciona igual a n-fold c.v., donde n es el numero de observaciones presentes.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Modelos de Clasicacion [1] Evaluacion

Matriz de confusion Clasicado y = +1 Clasicado y = 1 Real y = +1 TP FN Real y = 1 FP TN

TP: Verdadero Positivo TN: Verdadero Negativo FP: Falso Positivo (error de tipo 1) FN: Falso Negativo (error de tipo 2)

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Modelos de Clasicacion [2] Evaluacion


Matriz de confusion Clasicado y = +1 Clasicado y = 1 Real y = +1 TP FN Real y = 1 FP TN

N = TP + TN + FP + FN TP + TN Accuracy = N FP FP-rate = FP + TN TP TP-rate = TP + FN

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Modelos de Clasicacion [2] Evaluacion


Matriz de confusion Clasicado y = +1 Clasicado y = 1 Real y = +1 TP FN Real y = 1 FP TN

Precision: Porcentaje de las observaciones correctamente clasicadas. Precision = TP TP + FP

Recall: Porcentaje de todas las observaciones que deban ser clasicacdas, sean clasicadas correctamente Recall = . F-measure = TP TP + Fn

2 Precision Recall Precision + Recall

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

de hipotesis Vericacion [1]


de K veces dos Supongamos que repetimos r veces la evaluacion modelos con los mismos conjuntos de entrenamiento y prueba. (i.e. r veces K Holdouts con reemplazo, o r veces Cross-Validation de K-folds)

Figura: Se asume que a1 N(1 , 1 ) y a2 N(2 , 2 ).

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

de hipotesis Vericacion [2]


Sea xij = aij bij , se considera el siguiente test de hipotesis H0 : D = donde D = 1 2 Si se considera, =
r K 1 XX xij (media observada) rk i=1 j=1

r X K X 1 (xij )2 (varianza observada) rK1 i=1 j=1

t= q 1 ( rK +

n2 ) 2 n1

(Estad stico del test t-student)

n1 y n2 determinados por la cantidad de evaluaciones realizadas para modelo 1 y modelo 2 en el K-Cross Validation.
G. LHuillier, R. Weber de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

de hipotesis Vericacion [3]


de la hipotesis Vericacion H : D = si |t| > t,rK1 H : D > si t > t,rK1 H : D < si t < t,rK1 Como conclu mos? Por ejemplo si se tiene H : D > si t,rK1 entonces tenemos que 1 > 2 Lo anterior indicar a que el modelo 1 puede ser considerado mejor que el modelo 2, con cierto nivel de signicancia.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

References I
Cybenko, G. (1989). Approximation by superpositions of a sigmoidal function. Mathematics of Control, Signals, and Systems, 2(4):303314. Fausett, L., editor (1994). Fundamentals of neural networks: architectures, algorithms, and applications. Prentice-Hall, Inc., Upper Saddle River, NJ, USA. Hornik, K., Stinchcombe, M. B., and White, H. (1990). Universal approximation of an unknown mapping and its derivatives using multilayer feedforward networks. Neural Networks, 3(5):551560. Mitchell, T. M. (1997). Machine Learning. McGraw-Hill, Inc., New York, NY, USA. PDP Research Group, C. (1986). Parallel distributed processing: explorations in the microstructure of cognition, vol. 1: foundations. MIT Press, Cambridge, MA, USA.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

References II

Werbos, P. J. (1994). The roots of backpropagation: from ordered derivatives to neural networks and political forecasting. Wiley-Interscience, New York, NY, USA.

G. LHuillier, R. Weber

de Modelos IN643 - Redes Neuronales (pt2) y Evaluacion

Вам также может понравиться