0 calificaciones0% encontró este documento útil (0 votos)
84 vistas12 páginas
Este documento describe el entrenamiento de un perceptrón para clasificar dos tipos de flores (Iris-versicolor e Iris-Virginica) usando datos de entrada de medidas de las flores. El perceptrón fue entrenado con un conjunto de datos pero no pudo clasificar correctamente las flores. Nuevos datos de prueba fueron ingresados y el perceptrón clasificó algunos correctamente a pesar de no haber sido entrenado con esos datos específicos.
Descripción original:
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.
Este documento describe el entrenamiento de un perceptrón para clasificar dos tipos de flores (Iris-versicolor e Iris-Virginica) usando datos de entrada de medidas de las flores. El perceptrón fue entrenado con un conjunto de datos pero no pudo clasificar correctamente las flores. Nuevos datos de prueba fueron ingresados y el perceptrón clasificó algunos correctamente a pesar de no haber sido entrenado con esos datos específicos.
Este documento describe el entrenamiento de un perceptrón para clasificar dos tipos de flores (Iris-versicolor e Iris-Virginica) usando datos de entrada de medidas de las flores. El perceptrón fue entrenado con un conjunto de datos pero no pudo clasificar correctamente las flores. Nuevos datos de prueba fueron ingresados y el perceptrón clasificó algunos correctamente a pesar de no haber sido entrenado con esos datos específicos.
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.