Aplicaciones con redes neuronales
Rìos, A.; Ing. Sistemas; Universidad de la Amazonia
alejoriosb1989@hotmail.com
Abstracto
We propose the simulation of the AND logic gate, a 7-segment display and the degree of maturation of a araza through the artificial neuron, perceptron and multilayer (back-propagation). The implemented architecture has a first set of two tickets, ten inputs andthree entries respectively for each simulation, which are amplified or attenuated by a factor of weight, a second block consisting of an adder of all weighted inputs, a third block is the nonlinear activation function type for the first simulation step, and log-sigmoid (logsig), linear function (purelin) and learner's algorithm (trainlm) for the second and third simulation, finally a fourth blockwhich constitutes the output of the neuron amplified or attenuated by the factor of bias.
For the design and implementation was used MATLAB application.
Resumen
Se propone la simulacion de la compuerta logica AND, de un display 7 segmentos y el grado de maduracion de un araza por medio de las neurona artificiales, perceptron y multicapa (back-propagation). La arquitectura implantadadispone de un primer bloque de dos entradas, diez entradas y tres entradas respectivamente para cada simulacion, de las cuales son amplificadas o atenuadas por un factor de peso, un segundo bloque constituido por un sumador de todas las entradas ponderadas, un tercer bloque que constituye la función de activación no lineal de tipo escalón para la primera simulacion, y log-sigmoide (logsig), funciónlineal (purelin) y con algoritmo de aprendisaje (trainlm) para las segunda y tercera simulacion, por ultimo un cuarto bloque que constituye el elemento de salida de la neurona amplificada o atenuada por el factor de bias.
Para el diseño e implantación se utilizó la aplicacion MATLAB.
Desarrollo
Creacion de las funcion logica AND
matriz_entrada=[0 0 1 1;0 1 0 1];
matriz_salida=[0 0 01];
ver grafica de patrones
plotpv(matriz_entrada,matriz_salida);
Fuente: Matlab
Titulo: Patrones a clasificar.
se procede a inicializar la red neuronal
[0 1] = rango minimo y maximo de cada neurona
1 = numero de neuronas que tiene la red en la capa de salida
red_neuronal=newp([0 1;0 1],1);
ahora se procedera a dar unos pesos y unas bias iniciales a la redneuronal
red_neuronal.iw{1,1}=[1,1];
red_neuronal.b{1}=0.5;
Pesos=red_neuronal.iw{1,1};
Bias=red_neuronal.b{1};
se grafica la linea de separacion que tiene el perceptron
plotpc(Pesos,Bias);
Fuente: Matlab
Titulo: patrones a clasificar y recta clasificadora inicial.
entrenamiento de la red
red_neuronal=train(red_neuronal,matriz_entrada,matriz_salida);
Fuente: MatlabTitulo: evolucion del error durante el entrenamiento de la red neuronal.
visualizar la grafica final de los patrones de clasificacion
figure;
Pesos=red_neuronal.iw{1,1};
Bias=red_neuronal.b{1};
plotpv(matriz_entrada,matriz_salida);
plotpc(Pesos,Bias);
es linealmente separable
Fuente: Matlab
Titulo: patrones a clasificar y recta clasificadora final.
validar elcomportameinto de la red
entrada=[0;0];
resultados=sim(red_neuronal,entrada)
resultados =
0
entrada=[0;1];
resultados=sim(red_neuronal,entrada)
resultados =
0
entrada=[1;0];
resultados=sim(red_neuronal,entrada)
resultados =
0
entrada=[1;1];
resultados=sim(red_neuronal,entrada)
resultados =
1
Creacion del display de 7segmentos
cero=[1;1;1;1;0;1;1;0;1;1;0;1;1;1;1];
1 1 1
1 0 1
1 0 1
1 0 1
1 1 1
uno=[0;0;1;0;0;1;0;0;1;0;0;1;0;0;1];
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
dos=[1;1;1;0;0;1;1;1;1;1;0;0;1;1;1];
1 1 1
0 0 1
1 1 1
1 0 0
1 1 1
tres=[1;1;1;0;0;1;1;1;1;0;0;1;1;1;1];
1 1 1
0 0 1
1 1 1
0 0 1
1 1 1
cuatro=[1;0;1;1;0;1;1;1;1;0;0;1;0;0;1];
1 0 1
1 0 1
1 1 1
0 0 1
0 0 1...
Regístrate para leer el documento completo.