Clasificador base de perceptrón multicapa
Abtract
In the current project we want to demonstrate the operation of the multilayer perceptron as a classifier model of the types of images by creating a network model with the system having 2 different options that is for a corpus with 1120 data or a file with 1120 images to perform the training you can use any of the two options to make the classification using python.
Introducción
Reconocimiento de formas, toma de deciciones, que no pueden ser descritos facilmente mediante in enfoque algorítmico tradicioneal para lograr se ha establecido un nuevo campo de la computacion qie tiene su origen en la emulacion de sistemas.
La metodologia que nos ayuda en este desarrollo son las redes neuronales, que buscan la resolucion de problemas complejos atravez de sistemas de computacion insipardo en el cerebro humano. Por ello los intentos de crear un ordenador que sea capaz de emular estas capacidades ha dado como resultado la aparición de las llamadas Redes Neuronales Artificiales o Computación Neuronal.
Desarrollo
Antes de comenzar el desarrollo de nuestro proyecto procedemos a socializarnos con algunos terminos como son:
Neuronas.- Llamados también elementos de proceso. Las neuronas se agrupan en capas, las que reciben la información a procesar y forman la capa de entrada, esta información se transmite a ciertos elementos internos (neuronas) que se ocupan de su procesamiento, estas neuronas forman las capas ocultas. Una vez que ha finalizado el procesamiento, la información llega a las unidades (neuronas) de salida formando estas la capa de salida.
La mayor parte de las neuronas poseen una estructura de árbol, llamada dendritas, que reciben las señales de entrada procedentes de otras neuronas a través de las sinapsis. Una neurona consta de tres partes:
- El cuerpo de la neurona
- Las dendritas, que reciben las entradas
- El axón, que lleva la salida de la neurona a las dendritas de otras neuronas.
Redes Neuronales Artificiales
Las redes neuronales aplicadas están, inspiradas en las redes neuronales biológicas, aunque poseen otras funcionalidades y estructuras de conexión distintas a las vistas desde la perspectiva biológica. Las características principales de las NN son las siguientes:
- Auto-Organización y Adaptabilidad: utilizan algoritmos de aprendizaje adaptativo y auto-organización, por lo que ofrecen mejores posibilidades de procesado robusto y adaptativo.
- Procesado no Lineal: aumenta la capacidad de la red para aproximar funciones, clasificar patrones y aumenta su inmunidad frente al ruido.
- Procesado Paralelo: normalmente se usa un gran número de nodos de procesado, con alto nivel de interconectividad.
Hay dos fases en la modelización con redes neuronales:
Fase de entrenamiento: se usa un conjunto de datos o patrones de entrenamiento para determinar los pesos (parámetros) que definen el modelo de red neuronal. Se calculan de manera iterativa, de acuerdo con los valores de los valores de entre- namiento, con el objeto de minimizar el error cometido entre la salida obtenida por la red neuronal y la salida deseada.
Fase de Prueba: en la fase anterior, el modelo puede que se ajuste demasiado a las particularidades presentes en los patrones de entrenamiento, perdiendo su habilidad de generalizar su aprendizaje a casos nuevos (sobreajuste).
Tipos de problemas que se resuelven con las Redes Neuronales.
Las redes neuronales se pueden usar como métodos estadísticos para problemas de clasificación, regresión, análisis por conglomerados (aprendizaje no supervisado), componentes principales, predicción y otros.
Solución del Proyecto
Software qué se utilizo para realizar el proyecto es python con el uso de Jupyter Notebook.
Primero procedemos a leer nuestros datos que se encuentran en el archivo HuMoments.csv para ello hacemos uso de la librería pandas, pero como se puede observar tenemos una columna alfanumérica para ello eliminamos las etiquetas para quedarnos solo con el nombre.
Trasformar nuestros datos.
En esta parte tenemos que eliminar las etiquetas que se repiten y quedarnos solo una de cada uno y para ello hacemos uso del siguiente script y como se puede observar solo no quedamos con los 70 etiquetas que tiene el archivo.
Ahora tenemos que eliminar los las etiquetas cuyo valor es el mismo por numero ya que nuestro sistema no acepta valores alfanuméricos para realizar el entrenamiento de la red neuronal
Luego de tener nuestros datos limpios esta listo para realizar el entrenamiento con sus respectivos ajustes para ello hacemos de las diferentes librerías.
En la parte final se puede observar los datos de nuestro train y test para luego sacar nuestra matriz de confusión y la precisión de nuestra red neuronal.
Conclusión
Se logro satisfacer algunas dudas que se tenia acerca del perceptron multicapa que se había visto en clases. También se puede decir que las redes neuronales artificiales no superan la funcionalidad de del cerebro humano por su complejidad, ya que la red perceptron multicapa es el mas efectivo en esste caso ya que no son linealmente separables.








No hay comentarios:
Publicar un comentario