Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Reconocimiento caracteres
sesion3
Reconocimiento de caracteres usando el perceptron
El objetivo de este proyecto es el de entrenar un Perceptron en MATLAB que esté en
capacidad de identificar los números del 0 al 9 donde cada número se define con una matriz
de dimensión 5x3.
Por ejemplo el número 2 sería representado así,
Para resolver el problema, verifiquemos todos los patrones correspondientes a cada número
y asignémosle el respectivo valor de salida.
En nuestro caso, definiremos por patrón un vector de entrada de 15 elementos y un vector
de salida de 4 elementos, correspondientes al número binario equivalente.
El vector de patrones de entrada queda definido como se muestra en la tabla , donde cada
número decimal se codifica con un vector de 15 bits.
Tabla Vector de Patrones
correspondiente a los
caracteres decimales
La salida deseada de entrenamiento de
la red la representaremos con el código
binario del número que le presentamos
a la entrada.
Objetivos
En este capitulo se desarrollara la experiencia usando el lenguaje de programacion de MATLAB,
por ser un lenguaje de programación de alto nivel para la computacion tecnica y tambien porque
puede mejorar la eficiencia en la implementación de un proceso.
Un caso en estudio es el uso de la red ADALINE (ADAptive LInear NEuron) como un filtro adaptivo para
llevar a cabo la cancelación de ruido que será resuelto usando el Toolbox de Redes Neuronales de
MATLAB.
Hay una señal util, v, por ejemplo la voz de un piloto en un avión.
Esta señal es perturbada por el ruido del motor, n, cuando el habla en el microfono. Sin embargo, El
ruido que contamina la señal de los pilotos no es la misma como el ruido del motor, porque el ruido
sera amortiguado por las paredes de la cabina y con el varios ruidos suprimidos en la aeronave.
Por lo tanto en este ejemplo el ruido es coloreado por un filtro FIR desconocido especificado por un
vector a desconocido antes de que sea añadido a la voz del piloto.
El problema es eliminar el ruido para obtener un calculo aproximado exacto de la voz del piloto.
Esto puede ser realizado entrenando una red ADALINE (ver Figura 1) para predecir la señal de la
combinación piloto/motor, m, de un señal del motor, n.
La señal del motor no le dice a la red ADALINE sobre la voz de los pilotos contenida en m, pero la
red puede predecir la contribución de m
La red tratara de hacer que la salida sea adaptiva m, pero solo se conoce el origen de ruido original,
n.
Esto quiere decir que solo reproduce una parte de m que es
lineal correlacionada con n, es decir, la señal c. Por lo tanto
solamente el ruido de interferencia del motor dado por m
será predecida.
Por lo tanto, el error de la red e, será igual a la señal de voz
contaminada menos la señal de ruido contaminado del motor.
La red ADALINE aprende para quitar el ruido del motor por el
filtro adaptivo haciendo que este se filtre.
FUEN TE DE
RUIDO
La arquitectura general de la red ADALINE utilizada para filtrar esta señal, VER
FIGURA toma la k-ésima muestra de la señal contaminada y N muestras
anteriores.
En la figura, tenemos una señal senoidal
contaminada con una señal de alta
frecuencia, pretendemos con la red
ADALINE, eliminar la señal de alta
frecuencia. Para ello programamos en
MATLAB una red que tiene como entradas,
la muestra k-ésima y cinco retardos más de
la señal.
0.5
0.5
0
0
-0.5
-0.5
-1
-1
-1.5
1 1.5 2 2.5 3 3.5 4 4.5 5
-1.5
Tiempo 1 1.5 2 2.5 3 3.5 4 4.5 5