Você está na página 1de 10

FACULTAD DE PRODUCCIN Y SERVICIOS

ESCUELA PROFESIONAL DE INGENIERA SISTEMAS

Curso

: Inteligencia Artificial I

Tema

: Laboratorio 06:
Redes Neuronales

Docente
Alumnos

: MG. Carlos Corrales Delgado


:
Condori Castro, Abel
Apaza Apaza, Junior
Arequipa Per
2014

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.

1.3 Vectorizando la Regresin logstica


Ya que existen 10 clases, entonces entrenamos 10 clasificadores de regresin logstica
separados.

1.4 Vectorizando la funcin de costo


Haciendo uso del script function [J, grad] = lrCostFunction (theta, X, y, lambda)
Sabemos que la funcin de costo en regresin logstica es

Sectorizando el producto theta*x en el vector equisTheta


Sectorizando la funcin hiptesis en el vector columna hiptesis donde hiptesis (i) es la
hiptesis para el i-esimo ejemplo de entrenamiento

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:

Donde tenemos que

Haciendo uso del script function [J, grad] = lrCostFunction (theta, X, y, lambda)

Calculo del vector gradiente de la funcin de costo


Calculo de la funcin de costo para un determinado parmetro theta

Definicin de la regresin logstica multiclase


Script OneVsAll: nos permitir calcular los parmetros de aprendizaje necesarios para la
regresin multiclase
function [all_theta] = oneVsAll(X, y, num_labels, lambda)

Definimos el vector all_theta que contendrn los parmetros de aprendizaje


multiclase para las 10 clasificaciones.
Agregamos para cada ejemplo de entrenamiento el parmetro bios unidad (0)=1.
num_labels : es el nmero de clases

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

Iteraciones para la funcin de costo de clase 9

Iteraciones para la funcin de costo de clase 10


2. REDES NEURONALES
En esta parte del ejercicio, se implementar una Red Neuronal para reconocer dgitos
escritos a mano usando el mismo conjunto de entrenamiento anterior. La red neuronal ser
capaz de representar modelos ms complejos formados por una hiptesis no lineal. Se usar
parmetros de una red neuronal que ya est ordenada
El archivo ex3_nn.m ayudar paso a paso a desarrollar esta prctica
2.1 Representacin de la red neuronal

Red neuronal para la clasificacin de dgitos

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

Cargando los ejemplos de entrenamiento en el vector X

Cargado los parmetros de aprendizaje de la red neuronal en las matrices Theta1 y Theta2

Implementacin de feedforward Propagation para computar los valores de clasificacin


para cada ejemplo de entrenamiento y retornando la prediccin asociada. Similar
a la clasificacin one-vs-all.

10

Você também pode gostar