Está en la página 1de 2

PROYECTO DE OPTIMIZACION

El siguiente proyecto consta de 5 archivos softmax:

softmaxCost devuelve el valor de la funcin de regresin logstica evaluada en la matriz de


parmetro theta

softmaxPredict genera una matriz que conlleva el valor predicho para el problema de
minimizacion de peso theta

softmaxTrain este cdigo busca el valor ptimo de la matriz theta que minimiza la funcin de
costo. Para el proyecto he abordado la minimizacin mediante el mtodo del gradiente, en el
archivo softmaxTrain para el primer caso y con el archivo softmaxTrain_BFGS para el segundo
caso

Una vez implementados estos archivos se hace un training en el archivo softmaxExercise, este
codigo a la vez permite tomar la matriz de peso theta ptima para encontrar la precisin que se
alcanza en los archivos de test.

Para desarrollar el mtodo del gradiente y el de BFGS basta cambiar la lnea 71 en


softmaxExercise por el correspondiente Train.

Para correr el proyecto:

1. Compilamos los codigos de descarga y lectura de los archivos de train y test ubicados
en la carpeta Mnist_readers
2. Ejecutamos los codigos softmaxCost, softmaxPredict, softmaxTrain
3. Compilamos el codigo softmaxExercise

Se ha escogido el lenguaje de Matlab puesto que la codificacin en este entorno facilita el uso
de los algoritmos para los problemas de optimizacin con espacios vectoriales.

Los cdigos preservan el nombre y parte de su codificacin de archivos tomados de la pgina


http://ufldl.stanford.edu/wiki/index.php/Exercise:Softmax_Regression

Cabe sealar sin embargo q la implementacin de los cdigos de optimizacin son propios
siguiendo las ideas expuestas en esta pgina; as como las diferentes modificaciones y
comentarios que se ajustaron a las necesidades del presente trabajo en los dems cdigos.

Observaciones:

Con respecto al trabajo en s se logra observar que mediante el incremento en el nmero de


iteraciones al problema de optimizacin, se incrementa la eficiencia.

El mtodo BFGS es mucho ms eficaz que el mtodo del gradiente al momento de reducir el
error.
Para un nmero de iteraciones menor a 100 se genera una precisin entre el 87 y 89 por
ciento, mientras que para un nmero de iteraciones mayor a 100 se logra una precisin de
entre el 90 al 91 por ciento.

También podría gustarte