Está en la página 1de 7

Sistemas Neuro - difuso (ANFIS)

Los ANFIS son un tipo de sistemas que integra a las redes neuronales artificíales con la
lógica difusa, heredando las características de ambos. Debido a las ventajas que poseen
este tipo de sistemas se han implementado en entornos muy variados, tales como
pronóstico de desempeño de plantas hidráulicas, estimación de la resistencia a la
compresión del concreto, supresión de ruido impulsivo en señales, entre otros.

EJEMPLO: Reconocimiento de números mediante una red neuronal.

Figura12. Programación introducción de imágenes.

En este ejemplo se hace el reconocimiento de números mediante imágenes y redes


neuronales. Inicialmente se suben y leen imágenes de los número de 0 al 9 en formato mapa
de bits y se le asigna una variable.

Figura13. Muestra de imágenes a utilizar.


E=[reshape(b3bw,1806,1) reshape(b4bw,1806,1) reshape(b5bw,1806,1)
reshape(b6bw,1806,1) reshape(b7bw,1806,1) ...
reshape(b8bw,1806,1) reshape(b9bw,1806,1) reshape(b10bw,1806,1)
reshape(b11bw,1806,1) reshape(b12bw,1806,1)];

Figura14. Vector de entrada con las imágenes.

Luego de esto mediante el comando de reshape se reconoce la forma del número en el mapa
de bits y se crea un vector en el que se guarda la lectura.

Figura15. Creación de la red neuronal.

Teniendo el vector de entrada, creamos una red neuronal de tipo Hopfield con el objetivo de
recopilar los patrones en las imágenes proporcionadas.

Para indicar la imagen que se quiere reconocer se lee en otra variable y se le asigna a un
vector.

Para indicar la imagen que se quiere reconocer se lee en otra variable y se le asigna a un
vector.

Luego realiza la comparación con cada una de las imágenes mediante la red neuronal
mediante un for.

Figura16. Creación de la red neuronal.

Para el ejemplo de la figura17 al momento de la ejecución se está comparando el número uno


rayado ó con ruido y observamos que reconoce el patrón del numero 1.
Figura17. Comparación 1

Para el ejemplo de la figura18 al momento de la ejecución se está comparando el número uno


nueve ruido y observamos en el resultado como reconoce el patrón del número nueve (9)

Figura18. Comparación número nueve

EJEMPLO: Predicción de una función seno

Primero creamos una función definida en el tiempo, el tiempo de muestreo definirá la


cantidad de datos que obtendremos al genera la gráfica de la función, en este caso son
100 datos.
Figura19. Creación de la función sin, entradas y salidas

El rango de datos que predeciremos será 1 hasta 70 de tiempo de muestreo definirá la


cantidad de datos que obtendremos al genera la gráfica de la función.
Para hacer una predicción es necesario tomas los valores anteriores para idear un
comportamiento, en este caso tomaremos tres datos anteriores a 70 y tres datos
posteriores a 1 para crear nuestros vectores de entrada y salida, como muestra la figura
19.

Figura20. Creación de la red neuronal y entrenamiento.

En la figura20. Creamos un vector los datos de entrada y salida, posteriormente se hace


la red neuronal y su entrenamiento, el resultado es la función seno que graficamos.
Figura21. Definición de rango y entrenamiento

Luego hacemos otra división de datos de la red en este caso con los 35 datos restantes y
con este rango entrenamos otra red para luego concatenar las dos redes obtenidas y definir
un patrón de comportamiento.
Figura22.Entrenamiento finalizado red

La unión de los dos entrenamientos es el resultado obtenido

Figura2.Entrenamiento Red rango 70 datos.

En este rango de valores la predicción es muy buena queda superpuesta los resultados.

Figura2. Entrenamiento red rango 30 datos restantes

Figura3. Entrenamiento red rango 100 datos.


En esta figura se ve la unión de los dos rangos y se observa como en la segunda parte la
predicción de la función tiene un pequeño error pero aún sigue siendo buena.

También podría gustarte