El perceptrón + Ejemplo simple en MatLab con código

 Perceptron - Data Science Consulting

 Introducción

El perceptrón es la forma más simple de representar una red neuronal, es ampliamente utilizado para la clasificación de patrones linealmente separables, o sea, que se localizan en lados opuestos en un híperplano, o en otras palabras, que puedan ser seccionados por una línea de manera limpia, sin llegar a invadir un lado u otro.


    • Un hiperplano es un objeto de dimensión n-1 que actúa en un espacio de dimensión n


El perceptrón como modelo matemático consiste en una sola neurona con pesos ajustables y un umbral. Cabe mencionar que este modelo solo puede devolvernos dos resultados, uno correcto y uno incorrecto en caso de que la clasificación no sea linealmente separable, esto se traduce como activación o no activación. 

 

Código en Matlab

Cuando buscamos representar este modelo de neurona clasificadora en MatLab utilizamos el comando “net”, agregamos el valor de los pesos en una matriz y los comandos para graficar la clasificación de la forma:

 

 %Perceptron  
 %Redes Neuronales Artificiales  
 %Pesos  
 x =[-0.5 -0.5 0.3 -0.1; -0.5 0.5 -0.5 1]  
 d = [1 1 0 0]  
 plotpv(x,d);  
 %newp new perceptron  
 net = newp(minmax(x),1); %new perceptron  
 y = sim(net,x)  
 net = train(net,x,d); %entrenamiento de la neurona  
 Y = sim(net,x);  
 x1 = x + rand(2,4) %%Ruido  
 y1 = sim(net,x1);  
 plotpc(net.IW{1},net.b{1}); %Hiperplano  
 x2 = x + 0.01 * rand(2,4);  
 %Agrupaciones  
 %Grupo 1 (0.1,1.2),(0.8),(0.1,1.2) = 1 1  
 %Grupo 2 (0.8 0.6), ()  
 %Grupo 3 ()  

 


 

 Fig. 1) Las agrupaciones de las dos clasificaciones fueron correctamente separadas por un hiperplano.




Fig. 2) Durante el proceso hubo que realizar 3 iteraciones durante 1 época para lograr la clasificación.

 

 


Fig. 3) Resultados en consola de la función ingresada al perceptrón donde x1 = x + rand(2,4) %%Ruido

 Referencias

1)  González Penedo, M. F. (s. f.). Adaline y Perceptron - Sistemas Conexionistas. Varpa Research Group. Recuperado 13 de julio de 2022, de http://www.varpa.org/~mgpenedo/cursos/scx/archivospdf/Tema3-0.pdf

 2)  Barrios, C. L. (s. f.). Clasificación de fallas con redes neuronales para grupos electrógenos. SciELO Cuba. Recuperado 13 de julio de 2022, de http://scielo.sld.cu/scielo.php?pid=S1815-59012013000200006&script=sci_arttext