Escolar Documentos
Profissional Documentos
Cultura Documentos
Curso
: Inteligencia Artificial I
Tema
: Laboratorio 06:
Redes Neuronales
Docente
Alumnos
CLASIFICACION MULTICLASES Y
REDES NEURONALES
Implementar la regresin logstica uno vs. Todos e implementar redes neuronales para
reconocer dgitos escritos a mano. se necesitar bajar el cdigo inicial (starter code) y
desempaquetar su contenido al directorio donde se desee completar el ejercicio. Si es
necesario, usar el comando cd en octave para cambiar al directorio antes de empezar los
ejercicios. Adems se puede encontrar instrucciones de instalacin de octave en la pgina
octave instalacin.
Scripts para la solucin del problema
Ex3.m script que ayuda a dar pasos a travs del ejercicio parte 1.
Ex3data1.mat Conjunto de datos de entrenamiento de dgitos escritos a mano.
Ex3weights.mat Pesos iniciales para el ejercicio de la Red neuronal.
DisplayData.m Funcin para ayudar a visualizar el conjunto de datos.
Fmincg.m Funcin de rutina de minimizacin (similar a fminunc).
Sigmoid.m Funcin sigmoide.
lrCostFunction.m funcin de costo de regresin logstica.
oneVsAll.m para entrenar al clasificador multiclases uno vs. todos.
predictOneVsAll.m para predecir usando el clasificador multiclases uno vs.
todos.
1. CLASIFICACION MULTICLASES
1.1 Conjunto de datos
Cargando el conjunto de datos del archivo Ex3data1.mat en los vectores X y y.
Cada ejemplo de entrenamiento es una imagen en escala de grises de 20x20 pixeles. Cada
pixel es representado por un nmero decimal que indica la intensidad en escala de gris en
esa ubicacin.
1.2 Visualizando los datos
Visualizando un conjunto de 100 ejemplos de entrenamiento, haciendo uso
Esta funcin mapea cada fila a una imagen en escala de grises de 20x20 y muestra las
imgenes juntas.
Vectorizando la gradiente
Sabemos que la gradiente del costo de regresin logstica (no regularizada) es un vector
donde el j-esimo elemento est definido como.
Para sectorizar esta operacin sobre un conjunto de datos, definimos el vector de derivadas
parciales derivada donde derivada (i) =d(J)/d
.
Entonces aplicando algebra lineal tenemos que el vector derivada es:
Haciendo uso del script function [J, grad] = lrCostFunction (theta, X, y, lambda)
Calculamos los parmetros de aprendizaje ptimos para cada clasificacin haciendo uso de
la funcin fmincg que nos da los parmetros ptimos para la clasificacin multiclase.
Ejecucin del script ex3.m para calcular los parmetros de aprendizaje para cada clase
Para la red neuronal tenemos dos vectores Theta(1) y Theta2 que son los parmetro de
aprendizaje, estos valores se encuentran almacenados en el archivo ex3weigths.mat y sern
cargados por ex3_nn.m en los vectores Theta1 y Theta2
Cargado los parmetros de aprendizaje de la red neuronal en las matrices Theta1 y Theta2
10