Está en la página 1de 12

ENTRENAMIENTO PERCEPTRON PARA CLASIFICACION DE 2 TIPOS DE

FLORES

Presentado Por:
Juan Manuel Muñoz Gómez

Docente:
Juan Pablo Diago Rodríguez

CORPORACIÓN UNIVERSITARIA AUTÓNOMA DEL CAUCA


FACULTAD DE INGENIERÍA ELECTRÓNICA
NOVENO SEMETRE
2018
En el siguiente informe se propone clasificar dos clases de flores conocidas como
Iris-versicolor e Iris-Virginica, mediante un perceptrón o neurona, empleando el
ToolBox de Redes Neuronales del Software Matlab. Para ello, consideramos los
siguientes datos consignados en la tabla 1.
5.7- 6.6
X Y Z T
5.4 3.0 4.5 0
6.0 3.4 4.5 0
6.7 3.1 4.7 0
6.3 2.3 4.4 0
5.6 3.0 4.1 0
5.5 2.5 4.0 0
5.5 2.6 4.4 0
6.1 3.0 4.6 0
5.8 2.6 4.0 0
5.0 2.3 3.3 0
5.6 2.7 4.2 0
5.7 3.0 4.2 0
5.7 2.9 4.2 0
6.2 2.9 4.3 0
5.1 2.5 3.0 0
5.7 2.8 4.1 0
6.5 3.0 5.8 1
7.6 3.0 6.6 1
4.9 2.5 4.5 1
7.3 2.9 6.3 1
6.7 2.5 5.8 1
7.2 3.6 6.1 1
6.5 3.2 5.1 1
6.4 2.7 5.3 1
6.8 3.0 5.5 1
5.7 2.5 5.0 1
5.8 2.8 5.1 1
6.4 3.2 5.3 1
6.5 3.0 5.5 1
7.7 3.8 6.7 1
7.7 2.6 6.9 1
6.0 2.2 5.0 1

Tabla 1. Conjunto de datos de entrenamiento

En la tabla 1 se muestra el conjunto de datos de entrenamiento donde X Y Z


representan las entradas del perceptron y la variable T simboliza la salida del
perceptron. Esta salida es reprecentada por valores logicos, donde 0 sera
interpretado como flores de tipo Iris_Versicolor y 1 como flores de tipo Iris-
Virginica.
NOTA: Los datos de entrada X,Y,Z representan una medida en cm del largo y
ancho del sepalo y petalo para cada tipo de flores
Para comenzar con el proceso de entrenamiento de la neurona, primero
procedemos a introducir en Matlab nuestra matriz de entrada (X,Y,Z) y nuestro
vector de salida (T). Como se muestra en la imagen 1.

Imagen 1. Declaracion del vector de entrada P y el vector de salida T.

Dando como resultado la siguiente Grafica.

Grafica 1. Conjunto de datos de entrenamiento.


En la grafica 1 se puede observar los datos de entrenamiento donde las flores
Iris_Versicolor es representada con el simbolo (o) y las flores Iris-Virginica se
representan con el simbolo (+).
Ahora procedemos a crear una variable net de tipo red perceptrón donde se define
el intervalo entre el valor maximo y el valor minimo de cada una de las entradas.
(X,Y, Z) .
Igualmente inicializamos los pesos del perceptrón para que haga su respectiva
suma ponderada de cada una de sus entradas y asi obtener una recta en el
hiperplano que me indique si la neurona logra clasificar de manera correcta los tipos
de flores ,entendiendo aun, que el perceptron todavia no ha sido entrenado.

Imagen 2. Declaracion de variable tipo red perceptron e inisializacion de pesos.

Grafica 2. Clasificacion de perceptron no entrenado .


En la grafica 2. Se observa que el perceptron todavia no esta entrenado para realizar
una clasificacion adecuada de las flores,por lo tanto, no logra clasificarlas de manera
correcta.
A continuacion se procede a entrenar nuestra neurona para que siempre haga una
clasificacion correcta de las flores. Esto se realiza mediante la siguiente instrucción.

Imagen 3. Enetrenamiento de la neurona.

Obteniendo como resultado la siguiente grafica.

Grafica 3. Perceptron entrenado.

En la grafica 3. Se puede observar que el sistema no es linealmente separable ya


que no logra dividir mediante una linea recta los dos tipos de flores.
Tambien se visualiza la recta definida por nuestra neurona entrenada previamente
ajustando los pesos para cada una de las entradas para asi poder obtener la salida
deseada. En este caso, el perceptron no logro clasificar de manera correcta las
flores. De 16 datos que representan las flores tipo Iris-Virginica tan solo 7 logro
reconocer como flores de ese tipo.

En la imagen 4. Se visualiza el numero de interaciones que realizo el software para


que la neurona consiguiese los pesos adecuados para lograr clasificar las clases.
En este caso llego a su numero maximo de intersiones, obteniendo como resultado,
la no clasificacion adecuada de las flores.
Representando el numero de intentos de 0 a 1000 que realiza el software para que
la neurona quede entrenada.

Imagen 4. Interacciones para el entrenamiento de la red neuronal.


Ahora procedemos a incluir de dos en dos, el conjunto de datos de prueba, para ver
si el perceptrón previamente entrenado logra clasificar las clases de manera
correcta.
Estos valores se ven representados en la tabla 2.
X Y Z T
5.5 2.4 3.8 0
5.5 2.4 3.7 0
5.8 2.7 3.9 0
6.0 2.7 5.1 0
6.3 3.3 6.0 1
5.8 2.7 5.1 1
7.1 3.0 5.9 1
6.3 2.9 5.6 1

Tabla2. Conjunto de datos de Prueba.

Se procede a declarar en el software Matlab los dos primeros valores de entrada y


graficarlo con color rojo para diferenciarlo de los demás datos.
Cabe resaltar que para los siguientes datos no es necesario declarar el vector de
salidas, ya que, el objetivo de esta nueva comprobación es que hemos de probar
cómo se comporta el perceptron cuando las entradas son distintas a las usadas
para el entrenamiento.
Imagen 5. Declaración de conjunto de datos de prueba.

Imagen 6. Declaración de conjunto de datos de prueba.


Grafica 4. Entrada [5.5 5.5;2.4 4.3;3.8 3.7]

En la gráfica 4. Miramos la representación en color rojo de las dos primeras


entradas, donde en la tabla 2 se puede evidenciar que estos datos representan las
flores tipo Iris_Versicolor con un valor lógico de 0 Esto quiere decir que, para este
tipo de entrada, la neurona debería poder clasificarlo como un cero, representado
en la gráfica con el símbolo (0).
Para dicha entrada, deseo que mi perceptrón lo reconozca como una flor tipo
Iris_Versicolor.
Efectivamente el sistema está reconociendo para ese valor de entrada, una flor tipo
Iris_Versicolor, que es lo que realmente se desea. A pesar que el perceptrón no
está entrenado para estos valores de entrada.
Grafica 5. Entrada [5.8 6.0;2.7 2.7;3.9 5.1]

En la gráfica 5. Miramos la representación en color rojo de las dos segundas


entradas, donde en la tabla 2 se puede evidenciar que estos datos representan las
flores tipo Iris_Versicolor con un valor lógico de 0 Esto quiere decir que, para este
tipo de entrada, la neurona debería poder clasificarlo como un cero, representado
en la gráfica con el símbolo (0).
Para dicha entrada, deseo que mi perceptrón lo reconozca como una flor tipo
Iris_Versicolor.
Efectivamente el sistema está reconociendo para ese valor de entrada, una flor tipo
Iris_Versicolor, que es lo que realmente se desea. A pesar que el perceptrón no
está entrenado para estos valores de entrada.
Grafica 6. Entrada [6.3 5.8;3.3 2.7;6.0 5.1]

En la gráfica 6. Miramos la representación en color rojo las entradas, donde en la


tabla 2 se puede evidenciar que estos datos representan las flores tipo Iris-
Virginica con un valor lógico de 1 Esto quiere decir que, para este tipo de entrada,
la neurona debería poder clasificarlo como un uno, representado en la gráfica con
el símbolo (+).
Para dicha entrada, deseo que mi perceptrón lo reconozca como una flor tipo Iris-
Virginica.
Desafortunadamente el sistema solo reconoce un dato como flor tipo Iris-Virginica
de los dos que le están entrando.
NOTA: Hasta ahora se puede evidenciar que el perceptrón logro reconocer de los
datos de prueba, solo las flores tipo Iris-Virginica, o sea, todos los valores lógicos
0 correctamente a pesar que el perceptrón no está entrenado para estos valores de
entrada.
Grafica 7. Entrada [7.1 6.3;3.0 2.9;5.9 5.6]

En la gráfica 7. Miramos la representación en color rojo de la cuarta entrada, donde


en la tabla 2 se puede evidenciar que estos datos representan las flores tipo Iris-
Virginica con un valor lógico de 1 Esto quiere decir que, para este tipo de entrada,
la neurona debería poder clasificarlo como un uno, representado en la gráfica con
el símbolo (+).
Para dicha entrada, deseo que mi perceptrón lo reconozca como una flor tipo Iris-
Virginica.
Erróneamente el sistema está reconociendo para ese valor de entrada, solo una flor
tipo Iris-Virginica, cuando realmente las dos entradas pertenecen al mismo tipo de
flor.
NOTA: Como se pudo evidenciar en las gráficas 4,5,6 y 7, el perceptrón logro
reconocer, del conjunto de datos de prueba las entradas que representan las flores
tipo Iris_Versicolor de manera correcta, ya que, lo que realmente se deseaba era
que pudiera reconocer ese tipo de flores como Iris_Versicolor, o sea, como ceros
(o). Y de los datos que representan las flores Iris-Virginica, solo logro reconocer 2
de los 4 datos de pruebas; esto se debe a que el perceptron no se logró entrenar
para hacer una clasificación exitosa de todos los datos.

También podría gustarte