SlideShare a Scribd company logo
1 of 76
UNIVERSIDAD TECNOLOGICA DEL PERU
FACULTAD DE INGENIERÍA ELECTRÓNICA Y MECATRÓNICA
        ESCUELA DE INGENIERÍA ELECTRÓNICA




CLASIFICACIÓN AUTOMÁTICA DE VINOS
    UTILIZANDO REDES NEURONALES




      CARBAJAL POSADAS NICKOLAS ALONSO




       Tesis para optar el Título de Ingeniero Electrónico


                          Lima - Perú


                             2011
A   mis    Padres,   hermanos    y
     profesores, que me apoyaron mucho.




ii
AGRADECIMIENTOS


En primer lugar quiero agradecer a mi familia por todo el apoyo que he recibido durante
tantos años, en especial a mis padres y hermanos por el ánimo y cariño brindado.


Al Mg. Christian Flores, mi asesor en la presente tesis, quiero agradecer su apoyo,
paciencia y disponibilidad para ayudarme en cualquier duda que me surgiera en todos los
aspectos relacionados al estudio de las redes neuronales y un agradecimiento especial por
esa amistad y relación profesional.


Finalmente, agradezco a todos aquellos que, de alguna manera u otra, me han ayudado a
que esta tesis se hiciera realidad.




                                                iii
RESUMEN
Se contempla el caso paradigmático de las redes neuronales de gran complejidad que trata
de realizar la clasificación de dos tipos de vinos utilizando sus componentes. En los
últimos años el campo de las redes neuronales y sus distintos usos para la clasificación ha
ayudado a la industria para la obtención de resultados en cortos períodos de tiempo y con
cantidades de datos cada ves mas complejos. Esta tesis muestra el estudio detallado de
cómo al usar los datos de los componentes del vino blanco y el vino rojo, se puede utilizar
la red MLP para crear neuronas capaces de aprender y clasificar obteniendo resultados
óptimos. El análisis de componente de datos o PCA es una técnica importante que logra
reducir los datos sin perder gran cantidad de información. En la presente tesis se realiza
ambos la clasificación usando la red neuronal MLP, la reducción de datos sin perder tanta
información y finalmente la demostración de la efectividad al usar ambos.




Palabras Claves: redes neuronales, PCA, MLP.
                                                iv
ABSTRACT
It provides the paradigmatic case of highly complex neural network that tries to make the
classification of wines using two types of components. In recent years the field of neural
networks and their uses for classification has helped the industry to obtain results in short
periods of time and amounts of data each time more complex. This thesis shows the
detailed study of how to use data from the components of white wine and red wine, can
be used to create neurons MLP network can learn and classify optimal results. The data
component analysis or PCA is an important technique that is able to reduce the data
without losing a great deal of information. In this thesis both the classification is done
using the MLP neural network, data reduction without losing much information and
finally the demonstration of the effectiveness of using both.




Keywords: Neuronal network, MLP, PCA.


                                                   v
INDICE GENERAL

CAPÍTULO                                                                                                            PÁGINA

DEDICATORIA.......................................................................................................... iii

AGRADECIMIENTOS .............................................................................................. iii

RESUMEN ................................................................................................................. iiv

ABSTRACT ................................................................................................................. v

INDICE GENERAL .................................................................................................... vi

INDICE DE TABLAS ................................................................................................ ix

INDICE DE FIGURAS ................................................................................................ x

INTRODUCCION ..................................................................................................... 11


CAPÍTULO 1: DETERMINACIÓN DEL PROBLEMA1¡Error! Marcador no definido.
    1.1 Formulación del proyecto de investigación ............................................. 12
        1.1.1 Fundamento básico ...................................................................... 382
        1.1.2 Motivación ................................................................................... 383
            1.1.3 formulación .................................................................................. 383
        1.2 Antecedentes históricos ............................................................................ 14
        1.3 Estado del arte .......................................................................................... 15

CAPÍTULO 2: LA NARIZ ELECTRONICA ............................................................ 17
    2.1 Sistema olfativo humano .......................................................................... 17
    2.2 Sistema olfativo artificial ........................................................................ 18
    2.3 Paralelismo entre los sistemas olfativos ................................................... 19
    2.4 Olfato electrónico ................................... ¡Error! Marcador no definido.1
        2.5 Ventajas del uso de sistemas de olfato electrónico en la industria........... 23



                                                                      vi
CAPÍTULO 3: SIMULACIÓN DE TÉCNICAS COMPUTACIONALES DE
            INTELIGENCIA ARTIFICIAL .... ¡Error! Marcador no definido.4
       3.1    Redes neuronales artificiales .................. ¡Error! Marcador no definido.4
       3.2    Resurgimiento de la red perceptrón ....... ¡Error! Marcador no definido.5
       3.3    Pérceptron multilayer (MLP) .................................................................... 28
       3.4    Algoritmo de entrenamiento de una MLP ................................................ 29
       3.5    Sobre-Entrenamiento de una red MLP ..................................................... 31
       3.6 función de salida....................................................................................... 32
           3.6.1 Función PURELIN ........................................................................ 32
           3.6.2 Función TASING ........................................................................... 33
       3.7 Analisis de componentes principales (PCA) ............................................ 33
           3.7.1 Componentes principales ............................................................... 35

CAPÍTULO 4: DISEÑO Y SIMULACIÓN .............................................................. 37
    4.1 Software utilizado .................................................................................... 37
    4.2 Diagrama de flujo ..................................................................................... 38
       4.3    Mediciones obtenidas ............................................................................... 39
       4.4    Datos de entrada ....................................................................................... 40
       4.5    Normalización .......................................................................................... 41
       4.6    Entrenamiento de la red MLP .................................................................. 42
       4.7    Testeo ....................................................................................................... 43
       4.8    NET .......................................................................................................... 44
       4.9    NET Xtrem ............................................................................................... 46
       4.10   Comprobación .......................................................................................... 47
       4.11   Time ......................................................................................................... 48
       4.12   Automatización ........................................................................................ 48
       4.13   ECM ......................................................................................................... 50
       4.14   Analisis ..................................................................................................... 50
       4.15   Normalización del Score .......................................................................... 50

CAPÍTULO 5: RESULTADOS ................................................................................. 51
    5.1 Resultados al usar la red MLP.................................................................. 51
        5.1.1 Resultados de la red con una capa oculta ...................................... 51
              5.1.2 Resultados de la red con dos capas ocultas .................................... 52
              5.1.3 Resultados de la red con tres capas ocultas ................................... 53
              5.1.4 Optimización de la red MLP .......................................................... 54
                                                   vii
5.2 Resultados con PCA ................................................................................. 55
            5.2.1 Extracción de componentes principales ........................................ 55
            5.2.2 Resultados al utilizar la PC1 & PC2 .............................................. 59
            5.2.3 Resultados al utilizar la PC1 & PC3 .............................................. 60
            5.2.4 Resultados al utilizar la PC1 & PC4 .............................................. 61
            5.2.5 Resultados al aplicar la red MLP luego del PCA (PCA-MLP) .... 62
        5.3 Discusión de los resultados ...................................................................... 63

CONCLUSIÓN .......................................................................................................... 64
   Conclusiones ..................................................................................................... 64
        Trabajos Futuros ............................................................................................... 65

REFERENCIAS ......................................................................................................... 66

A N E X O S ............................................................................................................... 68

Anexo A: ALGORITMO MLP .................................................................................. 69

Anexo B: ALGORITMO PCA.................................................................................. 73

Anexo C: ALGORITMO MLP APLICADO AL PCA ............................................. 74




                                                                      viii
INDICE DE TABLAS

CAPÍTULO                                                                                                           PÁGINA

Tabla 4-1: Matriz entrada .......................................................................................... 43

Tabla 4-2: Matriz Y .................................................................................................... 43

Tabla 4-3: Matriz testeo ............................................................................................. 44

Tabla 4-4: Matriz yd ................................................................................................... 47

Tabla 4-5: Matriz y0 ................................................................................................... 47

Tabla 5-1: Resultados con una capa oculta ................................................................ 51

Tabla 5-2: Resultados con dos capas ocultas ............................................................. 52

Tabla 5-3: Resultados con tres capas ocultas ............................................................. 53

Tabla 5-4: Optimización de la red MLP..................................................................... 54

Tabla 5-5: Matriz de autovalores ............................................................................... 56

Tabla 5-6: Componentes principales .......................................................................... 56

Tabla 5-7: Porcentaje de variabilidad......................................................................... 57

Tabla 5-8: Resultados red MLP al PCA. .................................................................... 62

Tabla 5-9: Resultados finales de la red MLP vs PCA-MLP. ..................................... 63




                                                                      ix
INDICE DE FIGURAS
CAPÍTULO                                                                                                        PÁGINA

Figura 1-1: Ubicación del proyecto de tesis en la ingeniería ..................................... 12

Figura 2-1: Fases del sistema olfativo humano. ......................................................... 18

Figura 2-2: Sistema olfativo humano vs sistema olfativo electrónico. ...................... 19

Figura 2-3: Comparativo de capacidad sensitiva ....................................................... 20

Figura 2-4: Etapas de la nariz electrónica .................................................................. 22

Figura 3-1: Red MLP y salida .................................................................................... 26

Figura 3-2: Clasificación NAND vs XOR ................................................................. 27

Figura 3-3: Funcionamiento de la red MLP ............................................................. 30

Figura 3-4: Ejemplo de clasificación ......................................................................... 31

Figura 3-5: Esquema de valores de la función purelin............................................... 32

Figura 3-6: Esquema de valores de la función tansing .............................................. 33

Figura 3-7: Clasificación al usar PCA........................................................................ 34

Figura 4-1: Software MATLAB 10.0 ......................................................................... 37

Figura 4-2: Partes de la Red MLP .............................................................................. 46

Figura 4-3: Net's salvadas .......................................................................................... 49

Figura 5-1: Componente principales & Porcentaje de aportación. ............................ 58

Figura 5-2: Resultados del PCA - PC1 vs PC2 .......................................................... 59

Figura 5-3: Resultados del PCA - PC1 vs PC3 .......................................................... 60

Figura 5-4: Resultados del PCA - PC1 vs PC4 .......................................................... 61




                                                                     x
INTRODUCCION


Diariamente, observamos nuevas formas y constantes evoluciones de los sistemas
electrónicos, esto ha permitido importantes avances en el desarrollo y reproducción de los
sentidos humanos, una nariz electrónica es uno de los dispositivos que más expectativas ha
despertado, por ser un instrumento un apropiado sistema de identificación de patrones
capaz de identificar olores simples o compuestos, haciendo posible utilizar sus datos como
medio de monitoreo y control de calidad en aplicaciones para la industria.


El Análisis de Componentes Principales (PCA) pertenece a un grupo de técnicas
estadísticas multivariantes, el cual ha sido muy difundido, especialmente en el tratamiento
de grandes masas de datos. En el presente trabajo se aplicará la técnica PCA para poder
obtener una cantidad óptima de datos necesarios para lograr la clasificación de los vinos.


La red neuronal MLP es muy usada en variedad de problemas como aproximador
universal, en el presente trabajo se pondrá a prueba su capacidad como clasificador
utilizando los datos de entradas obtenidos de sensores de la tesis de P.cortez[1].


Finalmente se utilizar la red neuronal MLP dentro de los datos obtenidos al aplicar la
técnica del análisis de componentes principales y se discutirá sobre los resultados,
haciendo enfasis en el tiempo de respuesta y la cantidad de datos.


Para esta tesis se cuenta con el software Matlab® versión 10.0; el cual será utilizado para
las simulaciones y tabulaciones necesarias.




                                                                                      11
1.         DETERMINACIÓN DEL PROBLEMA

A continuación se detalla la ubicación de la presente tesis dentro de la ingeniería,
mostrando a detalle las diferentes ramas en las que se desenvuelve:




                     Figura 1-1: Ubicación del proyecto de tesis en la ingeniería.


Selección general y específica del problema de investigación
                  Programa:              Electrónica

               Sub-programa:             Electrónica Industrial
            Línea de investigación:      Inteligencia Artificial - Redes Neuronales

          Sub línea de investigación:    Reconocimiento de patrones - Uso de la red
                                         MLP y el análisis de componente principales


     1.1 Formulación del proyecto de investigación

       1.1.1 Fundamento Básico

       Se desarrollará específicamente el área de Electrónica Industrial, el cual se enfocará
       en el tema de inteligencia artificial, para ello se dará énfasis en los fundamentos de
       redes neuronales, luego se especifica el uso de los algoritmos de reconocimientos

                                                                                       12
de patrones (redes MLP y PCA), para finalizar con la optimización del desarrollo
de las redes usadas luego de haber ingresado datos que son requeridos para el
aprendizaje y datos adicionales que se usarán para la verificación.


1.1.2 Motivación

En la presente investigación existen varias razones importantes y de gran interés
que cabe resaltar en la clasificación automática de vinos usando redes neuronales,
pero el principal motivo que se considera para el desarrollo de este proyecto es la
capacidad optimizar el desarrollo de sistemas de clasificación automática usando
las redes neuronales, ya que supone un gran reto para el avance de la inteligencia
artificial, debido a su efectividad y de realización no tan complicado.



1.1.3 Formulación

Gracias al paso agigantado de la ciencia en la actualidad los avances tecnológicos
han hecho posible realizar la recopilación y almacenamiento de datos de manera
masiva de, a menudo muy complejos, conjuntos de datos.
En este proyecto se ha analizado el desarrollo la clasificación de vino rojo y vino
blanco haciendo uso de las redes perceptrón multicapa (MLP) y el análisis de los
componentes principales (PCA) para lograr la optimización del algoritmo
planteado, para lo cual se cuenta con datos muestreados de la tesis de P. Cortez [1].


Para esta investigación se cuenta con un total de 4.898 muestras de vino blanco y
1.599 muestras de vino rojo, utilizando estos datos se plantea entrenar una red a
través los algoritmos lineales (MLP) y paralelamente desarrollar el algoritmo del
PCA a fin de obtener una red autómata clasificadora de vinos, mostrar sus
resultados detallando su eficiencia y el nivel de su rendimiento.


Todos estos datos serán usados para la simulación generada a través del software
que permitirá la creación y verificación de la red neuronal. El estudio de dicha red

                                                                               13
ayudará a optimizar la clasificación automática de vinos utilizando redes
 neuronales.



1.2 Antecedentes Históricos

 El aprendizaje automático a través del uso de redes neuronales en el campo de la
 inteligencia artificial ha desarrollado varias aplicaciones en distintos campos,
 siendo la identificación y clasificación de variables en sistemas uno de los temas
 más relevantes actualmente.


 A lo largo de las últimas décadas se ha venido observando los avances y nuevas
 tecnologías desarrolladas a través de las redes neuronales, esto por su
 comportamiento e intento de imitar a la perfección el proceso de aprendizaje del
 cerebro humano.


 En la Tesis de Sowilam [2] se define que una neurona recibe una señal de entrada
 con una fuerza determinada, dependiendo de ellas la neurona emite una señal de
 respuesta, las sinapsis pueden variar en fuerza, algunas pueden dar una señal débil y
 otras una fuerte. A una neurona pueden llegar miles de señales de entrada, cada una
 con una fuerza o peso diferente.


 Nuestro cerebro se encuentra formado por millones de neuronas, las cuales se
 conectan entre sí para transmitir la información recibida y procesar cada una para
 lograr dar una respuesta a cada uno de los diferentes estímulos. Es así que se trata
 de emular estas redes neuronales a través de la inteligencia artificial, logrando
 armar sistemas complejos compuestos por elementos procesadores simples que se
 encuentran conectados en paralelo, su función será determinada por la estructura de
 la red.




                                                                               14
Minsky y Papert[3], realizaron un estudio detallado de los tipos de representaciones
 posibles con el perceptrón, y demostraron que, en un gran número de casos, estos
 tipos de redes son incapaces de resolver los problemas de clasificación. Por otro
 lado, también demostraron que un perceptrón constituido por varias capas, puede
 realizar cualquier aplicación desde las capas de entrada a las de salida. El
 inconveniente que se tenía en estos primeros estadios del manejo del perceptrón,
 era el desconocimiento de un algoritmo de entrenamiento eficiente para redes con
 más de una capa.


 En el estudio de Bishop[4], introducen un método alternativo al perceptrón
 multicapa (MLP) para hacer ajuste a funciones no lineales. El tiempo de
 entrenamiento es substancialmente inferior al requerido por otros algoritmos. La
 diferencia la establece si se incorpora en la salida del modelo de entrenamiento, una
 supervisión a través del control del error que se produce entre los valores
 calculados y los observados, conduciendo a una retro-propagación del error.



1.3 Estado del arte

 A continuación se menciona brevemente trabajos relacionados y publicados sobre
 la selección de variables y reconocimiento de patrones en el uso de la nariz
 electrónica en la industria.


 J.P. Santos [5] obtuvieron resultados óptimos con respuestas muy diferenciadas que
 les permitió realizar la clasificación y cuantificación de vinos con gran precisión
 utilizando la red multicapa alimentada hacia delante, con 16 neuronas en la capa de
 entrada (correspondiente a los 16 sensores situados en la cámara) y una capa de
 salida formada por cuatro neuronas puesto que era igual al número de vinos que
 clasificó.




                                                                                15
T. Eklov [6] examinan diferentes métodos para seleccionar variables relevantes de
un conjunto de variables resultantes de emplear una matriz de sensores de gases. El
objetivo es encontrar el mejor subconjunto de parámetros que pueda estimar
propiedades interesantes de las medidas. Utilizan forward selection aplicando el
error cuadrático medio (RMSE) de un modelo de regresión multilineal como
criterio de selección. Con él prueban si el nuevo conjunto obtiene buenas
predicciones en una red neuronal de tipo backpropagation.


J. Brezmes [7] utilizaron en una nariz electrónica para clasificar muestras de aceite
de oliva. Emplearon algoritmos de procesamiento de datos incluyendo PCA y redes
modificadas fuzzy ARTMAP. Para reducir el número de variables a utilizar y
seleccionar un subconjunto óptimo definen dos criterios diferentes. El primer
criterio se define como el poder de resolución de cada variable (relación entre la
varianza externa y la varianza interna). El segundo criterio es el promedio de
sensibilidad para cada sensor. El conjunto de medidas fue de 90 (9 repeticiones
para 10 muestras) con un 62% de tasa de éxito en la clasificación con todas las
variables y un 88% de éxito empleando el proceso de selección.


T. Artusson [8] muestran que el resultado de la compresión de los datos puede
también usarse para facilitar la interpretación de las medidas en dos distintos
conjuntos. En el primer conjunto de datos se utiliza el análisis de componentes
principales (PCA) como criterio de selección de los coeficientes. El objetivo de las
medidas fue monitorizar el agua después de su tratamiento con diferentes filtros. En
este caso, el número de variables se redujo en un factor de 18, sin perder
información relevante. El segundo conjunto se centró en la separación de diferentes
microorganismos utilizando como criterio de selección de los coeficientes la
relación entre las varianzas de una misma clase con respecto a las varianzas de
diferentes clases (relación inter/intra varianza), reduciendo el número de variables
en un factor de al 14,4% de lo inicial. El conjunto de datos reducido capturó
suficiente información importante para la identificación de los microorganismos.

                                                                               16
2.                  LA NARIZ ELECTRÓNICA
Para lograr entender el funcionamiento del sistema olfativo electrónico, es necesario
describir brevemente el sistema del olfato biológico.



        2.1 Sistema olfativo humano

         Existe gran diversidad de aromas formados por una gran multitud de mezclas de
         moléculas, los aromas son inhalados por la nariz para luego entrar en contacto con la
         mucosa en el epitelio olfativo, donde se hallan los receptores olfativos.                                     Dichos
         receptores están conectados con miles de neuronas que se encargan de traducir en
         señal eléctrica.


         El sistema olfativo biológico se comprende de unos cientos de miles de neuronas
         receptoras las cuales tienen unos 20 receptores del mismo tipo. Estos se encuentran
         codificados genéticamente, de manera que existen unos 1000 tipos de receptores
         diferentes, pero sólo se expresan unos 400 tipos (el resto son pseudo-genes)1.


         Las neuronas receptoras del epitelio pasan señales eléctricas a una parte del cerebro
         humano, estas señales son recepcionadas por el bulbo olfativo y sus unidades
         funcionales, luego se crea una representación básica de una de las características
         principales de los olores y se transmiten hacia el córtex2.


         La información que se basa en la estructura química de las moléculas converge en
         unas representaciones cerebrales de los aromas y de la concentración de la sustancia
         correspondiente. Mediante estas representaciones se logra distinguir diferentes tipos de
         olores o aromas a la vez y determinar el predominante; de tal manera que se asocia
         siempre la misma representación para un determinado olor aún encontrándose éste en
         niveles de concentración muy distinto.

1
    Córtex: en neurociencias, el manto de tejido nervioso que cubre la superficie de los hemisferios cerebral.
2
Pseudogenes: casi el 45% del genoma humano) son copias “muertas” de genes, sin función aparente, ya que no codifican proteínas.
                                                                                                                        17
Figura 2-1: Fases del sistema olfativo humano.


En la figura 2-1 se muestra el trabajo que realiza el cerebro al analizar los datos
recibidos enviados por los receptores, y en función de la respuesta combinada de
éstos, se cambia la percepción humana. El sistema olfativo es conocido como sistema
químico-sensorial, pues convierte señales químicas en percepción, es justamente este
análisis lo que permite realizar un paralelo con la parte artificial, utilizando matrices
de sensores y ordenadores para poder emular este comportamiento natural.



2.2 Sistema olfativo artificial

A pesar de toda su complejidad, el sistema olfativo humano a menudo no nos es
suficiente. Diariamente vemos en las noticias nuevas técnicas sobre el uso de las
narices más sensibles de los perros cuando se trata de rastrear, detectar sustancias
peligrosas, explosivas o hasta ilegales. Antiguamente en las minas de carbón usaban
canarios que indicaba que la atmósfera era respirable mientras éste cantara. En ese
caso no se pretendía aprovechar un sistema olfativo más sensible, sino utilizar al

                                                                                  18
canario como alarma sonora y visual ante la imposibilidad de evaluar la calidad del
aire por parte del hombre. Actualmente la tecnología ha desarrollado un universo de
gran diversidad de sensores que indican las concentraciones de multitud de gases,
obteniendo datos muy precisos y de gran importancia para la salud. Es justamente de
la idea de emular el sistema olfativo biológico con sensores de gases y redes
neuronales que nace el concepto de una nariz electrónica, la cual se define más
adelante.



2.3 Paralelismo entre los sistemas olfativos

A diferencia de las células receptoras en el sistema olfativo humano, estas son
reemplazadas por sensores de gases, las cuales reaccionan con diversos compuestos
volátiles. La transducción de la señal alojada en los receptores olfativos se reemplaza
en la nariz electrónica por circuitos de acondicionamiento de la señal convirtiéndola de
manera normal en una señal eléctrica de voltaje, la codificación de la señal neuronal
utilizada para poder reconocer un olor y su intensidad en los humanos es sustituida
aplicando el reconocimiento de patrones como se muestra en la figura 2-2.




              Figura 2-2: Sistema olfativo humano vs sistema olfativo electrónico.
                                                                                     19
Así como pasa en los sistemas humanos, esta técnica de análisis global no necesita
identificar minuciosamente cada constituyente de un olor y sus diferencias sino
reconocerlo.
Se debe considerar que los sistemas electrónicos utilizados hoy en día no trabajan
exactamente igual que una nariz humana ya que no detectan los mismos componentes
volátiles, además su sensibilidad es menor.




                      Figura 2-3: Comparativo de capacidad sensitiva.


En la figura 2-3 se realiza la comparación sensitiva entre el olfato humano y los
sensores usados en el olfato electrónico, en definitiva los sistemas de olfato
electrónico imitan al sistema olfativo humano, acoplando una matriz de sensores
químicos a métodos avanzados de reconocimiento de patrones que permiten
caracterizar o discriminar mezclas aromáticas complejas sin una previa separación de
sus constituyentes.


Una característica muy variable en los aromas y sustancias olorosas es su peso o masa
molecular, ya que los olores se representan como mezclas complejas de diferentes
compuestos.


Según la Ley de Difusión Gaseosa establecida por Thomas Graham las velocidades de
difusión de los gases están relacionadas con las raíces cuadradas de sus masas
moleculares.




                                                                               20
En la investigación de Schoenfeld y Cleland [9], se hace mención a las cavidades
olfativas y como estas favorecen a la difusión de los compuesto químicos volátiles,
inclusive en condiciones estables de entrada de caudal de aire. Para imitar este
mecanismo se puede disponer de múltiples sensores colocados en una cámara
geométricamente compleja para adquirir y valorar todas sus señales conjuntamente.



2.4 Olfato Electrónico

Se entiende por nariz electrónica al equipo complejo formado por series de módulos,
los cuales trabajan de forma conjunta con el objetivo principal de cuantificar y
clasificar distintas muestras gaseosas, vapores y aromas en un ambiente propicio con
sensores de gas.


Desarrollado en la década del 80, el principio de funcionamiento consiste en una serie
de sensores químicos que se acoplan a un programa de reconocimiento de patrones
adecuados que emula al ser humano.


En la investigación de Bernadó & Llobet [10] se describe la nariz electrónica como un
instrumento que comprende una matriz de sensores químicos con sensibilidades
solapadas y un avanzado sistema de reconocimiento de patrones, capaz de reconocer
aromas simples o complejos.


De una manera coloquial se podría afirmar que a este tipo de instrumentos se les
denomina de olfato electrónico por dos motivos [11]:
a)     Porque su configuración y funcionamiento emulan al del sistema de olfato

       humano.

b)     Porque pretende realizar funciones tradicionalmente atribuidas al sistema de

       olfato biológico.


                                                                                21
A diferencia de los instrumentos de químicos tradicionales que también se encargan de
       obtener datos de distintas muestras gaseosas, la nariz electrónica tiene una filosofía
       distinta. Por ejemplo, el cromatógrafo de gases es un instrumento utilizado para
       proporcionar un gasto constante de gas el cual detecta por separado los componentes
       de la muestra, a diferencia de este último la nariz electrónica valora cada muestra en su
       conjunto prestando menos atención a cada componente de manera individual que
       conforma la mezcla gaseosa a caracterizar. La nariz electrónica comprende pues, un
       sistema de muestreo, un sistema de medición, el cual está provisto de sensores
       químicos, y un sistema informático que controla el proceso de medición y permite
       aplicar técnicas de pre-procesado de datos, ejecutando el reconocimiento de patrones
       para la detección y cuantificación de cualquier compuesto volátil3.


       Este dispositivo está compuesto principalmente por cuatro etapas, cada una con
       funciones diferentes e indispensables, a continuación se detalla la imagen de un
       esquema presentado en el estudio de S. R. Bosch[12].




                                             Figura 2-4: Etapas de la nariz electrónica.

3
 Compuesto volátil: sustancia que tiende a evaporarse fácilmente, como el alcohol, el éter, la acetona, la gasolina, etc.
                                                                                                                            22
En la figura 2-4 se muestra el diseño de una nariz electrónica, esta consta de cuatro
etapas. La primera se encarga de realizar el muestreo de la mezcla gaseosa que se va a
utilizar. En la segunda etapa es necesario el uso de un conjunto de sensores de gases,
los cuales se encargan de realizar la detección de los compuestos volátiles, entre ellos
el alcohol. La tercera etapa está relacionada con la electrónica de control pues en esta,
se realiza el procesamiento de la señal por el conjunto de sensores y la realineación de
la señal. Finalmente a través de la computadora se extraen los rasgos que caracterizan
cada aroma para luego aplicar los algoritmos de clasificación de patrones, es en esta
etapa que se utilizan las redes neuronales artificiales.



2.5 Ventajas del uso de sistemas de olfato electrónico en la industria

Actualmente el incremento de las industrias vitivinícolas en diversos sectores
industriales, ha generado una mayor demanda y accesibilidad a sistemas fiables para
lograr asegurar la calidad y seguridad de su materia prima, para el caso de los vinos.


Grandes industrias como las farmacéuticas, invierten miles de dólares en instrumentos
analíticos tradicionales, lo que suele de alto costo, difícil mantenimiento y operación,
no solo eso, los análisis realizados suele no dar respuestas en tiempo real.


Es en estas situaciones en la que el sistema olfativo electrónico se vuelve de gran
ayuda, dentro del estudio de Gualdrón[13] y sus aportes se puede destacar lo siguiente:
a) Análisis no destructivo del producto.

b) Obtención de resultados en tiempo real (en cuestión de minutos).

c) Portabilidad, robustez y bajo precio.

d) Adaptación a diferentes cantidades y variedades de productos.

Existen diversas formas de poder lograr la clasificación de vinos, en esta investigación
se estudiará el uso de las redes neuronales lo que permitirá la clasificación de manera
automática, a continuación el estudio de las redes que se utilizarán.
                                                                                  23
3.          SIMULACIÓN DE TÉCNICAS COMPUTACIONALES
            DE INTELIGENCIA ARTIFICIAL


     3.1 Redes neuronales artificiales

     En las últimas décadas las Redes Neuronales Artificiales han recibido un interés
     particular como una tecnología para minería de datos, puesto que ofrece los medios
     para modelar de manera efectiva y eficiente problemas grandes y complejos. Los
     modelos son dirigidos a partir de los datos con los que se cuenta ya que son capaces de
     encontrar relaciones o patrones de forma inductiva por medio de los algoritmos de
     aprendizaje basado en los datos existentes.


     En 1997 Sherperd & Kock[14] determinan que en la corteza cerebral existen cerca de
     60 billones de conexiones, concluyendo que la efectividad de la neurona consiste en
     sus mecanismos de interconexión a través de conexiones masivas.


     En 1977 surge la primera idea de las utilizar redes artificiales para el reconocimiento
     de patrones cuando Escudero[15] intentó explicar el funcionamiento del cerebro
     humano, por medio de una red de células conectadas entre sí. Lo aplicaron a la
     implementación de operaciones lógicas. Partieron del menor suceso psíquico: el
     impulso, generado por una célula nerviosa.


     En 1962 Rosenblatt[16] logra el desarrollo de la red multicapa perceptrón, donde una
     serie de entradas se aplican a este, luego dichas entradas son multiplicadas por un
     peso, que representa la fuerza de la conexión, todas las entradas multiplicadas por sus
     pesos se proceden a sumar.




                                                                                      24
Una de las herramientas más usadas en la clasificación de patrones es la red Feed-
      forward4 con aprendizaje supervisado, dentro de esta red se encuentra el perceptrón.


      El perceptrón simple, adalina y perceptrón multicapa con algoritmo de aprendizaje
      back-propagation (retropropagación) son los modelos neuronales más empleado en las
      aplicaciones prácticas.


      La historia de las redes neuronales está ligada al desarrollo y evolución de esta red, a
      finales de los años cincuenta se propone el estudio de la red perceptrón simple y la
      adalina lo que despertó un gran interés en el ámbito científico, logrando alcanzar gran
      popularidad en durante los años setenta, pero el estudio realizado por Minsy & Papert
      [3], mostró gran cantidad de objeciones históricas que acabaron con la mayor parte de
      los recursos económicos destinados para su desarrollo.



     3.2 Resurgimiento de la red perceptrón

      Rumelhart [17] desarrollan un procedimiento innovador de aprendizaje de las redes, el
      cual usa la diferencia al cuadrado entre la respuesta deseada y la producida por el
      sistema como una medida del error a minimizar. El ajuste comienza en la capa de
      salida, donde el error es medible, y se va propagando hacia atrás hasta llegar a la capa
      de entrada, backpropagation.


      La primera aparición del perceptrón simple fue realizada a principios de los años 60,
      en el estudio de Rosenblatt[16], presentado en 1962, se trata de un modelo
      unidireccional, compuesto por capas de entradas5 y otra de salida. La red perceptrón
      logra realizar tareas de clasificación, cada neurona del perceptrón representa una
      determinada clase, de tal manera que dado un vector de entrada, una cierta neurona
      responde con „0‟ si no pertenece a la clase que representa y „1‟ si pertenece. La

4
 (Feed-forward) redes unidireccionales organizadas en capas.
5
 Las neuronas de entrada no realizan operaciones, solo envían la información a la siguiente neurona, siendo su función de activación un
escalón.
                                                                                                                              25
función de activación de las neuronas presentes en la capa de salida es del tipo
escalón, como se muestra en la figura 3-1.




Red MLP                                                Salida
Las neuronas de la capa de entrada no realizan         Es del tipo escalón ya que puede ser de dos tipos 1 para
operación alguna, solo dan los datos de entrada.       el Vino blanco o 0 para el Vino rojo.


                                       Figura 3-1: Red MLP y salida.


El perceptrón se utiliza como clasificador y para representar algunas funciones
booleanas (NAND,OR) por su salida binaria, como se muestra en la figura 3-2. Una de
las características más resaltantes en la historia del perceptrón es su carácter de
dispositivo entrenable, pues permite determinar automáticamente los pesos sinápticos
entre la capa de entrada y la capa de salida.


Sin embargo, pese a su gran interés, el perceptrón presenta serias limitaciones, ya que
solamente logra representar funciones linealmente separables, una decepción ya que si
bien es cierto logra aprender y representar funciones complejas y resolver con éxito
problemas de clasificación, en otras ocasiones falla, la clase de funciones no
separables linealmente no puede ser representada por un perceptrón simple.



                                                                                                       26
Un ejemplo clásico se muestra a continuación, en la figura se logra separar linealmente
la variable AND pero no obtiene el mismo resultado al trabajar con la variable XOR,
este inconveniente fue obrservado y detallado por Minsky y Papert[2], en este estudio
exhaustivo se hace énfasis en las limitaciones del perceptrón, lo que conllevó a que
muchos de los recursos que se estaban invirtiendo en redes neuronales y estudios
similares, se desviasen            hacia otros campos más prometedores de la época como la
inteligencia artificial.




Función NAND                                            Función XOR
Todas las combinaciones de variables tienen como        Si las variables son iguales su salida será ‘0’, si son
salida a ‘1’, expceto cuando ambas variables son ‘1’.   diferentes su salida será ‘1’.


                                  Figura 3-2: Clasificación NAND vs XOR.


En el estudio de Rumelhart[17] se demuestra que si la función a representar es
linealmente separable, este algoritmo siempre converge en un tiempo finito y con
independencia de los pesos de partida. Por otra parte, si la función no es linealmente
separable, el proceso de entrenamiento oscilará, el algoritmo del perceptrón termina su
desarrollo tan pronto como termina de clasificar correctamente todos los ejemplos.


Para garantizar una respuesta exacta o bastante aproximada usando el perceptrón se
debe considerar que el número de medidas obtenidas sea alto, las ecuaciones
realizadas por las redes para el entrenamiento suele ser de órdenes elevados, de
                                                                                                       27
manera que el tiempo de respuesta depende mucho de esta variable, es por eso que se
         debe tener cuidado con la potencia del cálculo necesario para ejecutar esta fase.



       3.3 PÉRCEPTRON MULTILAYER (MLP)

         En el estudio de las redes neuronales artificiales (NNA), utilizados para la
         clasificación de patrones, una de las redes más usadas es la red perceptrón multicapa
         (MLP), conocida por su gran capacidad para realizar transformaciones matemáticas
         entre conjuntos de variables, la capacidad de generalización y aprendizaje y su baja
         sensibilidad al ruido.


         En una red MLP                 las neuronas son entrenadas tomando como base ejemplos de
         desempeño con una base limitada o comportamiento deseado. Dicho comportamiento
         se resume como un conjunto de pares ordenados de entrada y salida donde la cantidad
         de neuronas a utilizar depende netamente del problema que se analiza, una vez que se
         halla la salida aproximada se busca reducir el error el cual está relacionado por una
         ecuación entre la salida correcta y la salida real de la red.


         La red MLP permite entrenar una red neuronal utilizando un conjunto de medidas de
         calibración. Ayuda a la clasificación de nuevos datos utilizando un modelo de red el
         cual fue previamente entrenado. Evalúa la posibilidad de clasificar medidas mediante
         su sistema, a través de procesos de validación.


         El objetivo de la red MLP es clasificar un determinado número de medidas a partir de
         un entrenamiento previamente realizado, a esto se le denomina modelo, este método es
         del tipo no lineal que permite la clasificación y cuantificación de resultados.


         Lo que hace la regla de aprendizaje tipo perceptrón es calcular cambios deseados de
         acuerdo a los pesos y bias6 de la red, dado una neurona de entrada y el error asociado.

6
    Bias: determina con que dificultad el perceptrón da un impulso de salida.
                                                                                             28
El algoritmo se ejecuta repetidas veces ocasionando que el perceptrón tenga una
mayor probabilidad de producir salidas cercanas a las correctas. Propuesta una
solución y analizada su existencia, el perceptrón convergerá después de un número
finito de interacciones.


Una red de tipo perceptrón consiste en un conjunto de neuronas divididas en distintas
capas. Cuando al sistema se le suministran los datos de un nuevo caso se actualizan en
primer lugar las neuronas de la capa de entrada, y así sucesivamente hasta la capa de
salida, que indica la respuesta del sistema.


Rumelhart [17] se desarrolla un procedimiento innovador de aprendizaje de las redes,
el cual usa la diferencia al cuadrado entre la respuesta deseada y la producida por el
sistema como una medida del error a minimizar. El ajuste comienza en la capa de
salida, donde el error es medible, y se va propagando hacia atrás hasta llegar a la capa
de entrada, y por eso a este algoritmo también se le conoce como BP (back-
propagation - retropropagación).



3.4 Algoritmo de entrenamiento de una MLP

En el libro de Bonifacio[18] se indica que para el desarrollo de la red MLP y su
entrenamiento se debe usar el algoritmo feed-forward. Una red se dice feed-forward si
existe un método de numeración de sus neuronas que la numera a todas de manera que
no hay conexión entre una neurona i-ésima y la j-ésima si i ≥ j. En esta definición las
conexiones son orientadas, la conexión i-j es distinta que la j-i.


Definida la entrada como un vector denominado X y la salida denominada Y, se
considera para empezar el caso más simple; aquel en que la red asocia a cada patrón
de entrada Xj una salida Yj, sin importar las entradas y salidas que haya generado
antes. Siendo Sj la salida de la neurona i-ésima de entrada, wji el peso entre la neurona
i la j, y zj la salida de la neurona oculta j-ésima.

                                                                                  29
Figura 3-3: Funcionamiento de la red MLP.


Usando la figura 3-3 se define se define el entrenamiento mediante BP de la siguiente
manera:
a) Establecer aleatoriamente los pesos y umbrales iniciales (t:=0).

b) Para cada patrón j del conjunto de aprendizaje:

    a.    Ejecutar la red para obtener una respuesta ante el patrón j-ésimo pasado.

    b.    Calcular las señales de error asociadas a las neuronas ocultas y neuronas de

          salidas.

    c.    Calcular la variación y aumento debido a cada patrón j.

c) Calcular el incremento total de los pesos de la capa entrada hacia la oculta y de

    esta última hacia la capa de salida.

d) Énfasis en la actualización de pesos y umbrales.

e) Calcular el error actual y volver a b) si el resultado un no es satisfactorio.

                                                                                    30
La red MLP es un entrenamiento que cuenta con error de aprendizaje, el cual es
calculado con el error cuadrático medio usando los datos entregados por la salida, si la
red es de gran tamaño dicho error puede reducirse tanto como se desee realizando mas
iteraciones. Uno   de los temas importantes en este estudio es hallar el tope de
generalización, con la cual se puede saber el momento ideal para detener el algoritmo,
para esto se emplea un conjunto representativo de patrones diferentes a los utilizados
en el entrenamiento. De este modo se puede entrenar a la red neuronal haciendo uso de
datos de aprendizaje, para comprobar su eficiencia real, mediante un conjunto de test.



3.5 Sobre-Entrenamiento de una red MLP

La red MLP es la encargada de entender las muestras que se le presenten y llevar a
cabo una relación de tal manera que luego del aprendizaje logre demostrar su
efectividad en la etapa del testeo. Para esto se deberá encontrar el número óptimo de
neuronas para su configuración.




                           Figura 3-4: Ejemplo de clasificación.
                                                                                 31
Como se observa en la figura, la red se va adaptando progresivamente al conjunto de
aprendizaje, acomodándose al problema y mejorando la generalización, hasta que llega
al punto de ajustarse idóneamente a las particularidades de los patrones empleados en
el entrenamiento; logra aprender el ruido presente y es aquí donde crece el error de
generalización, la red no se ajusta correctamente y comienza a memorizar los patrones
de los datos ingresados, a este fenómeno se le denomina sobre-aprendizaje
(overtraining o overfitting), lo ideal es que se entrene hasta cierto punto óptimo en el
cual el error de generalización es mínimo.



3.6 Función de salida

Una de las ventajas que otorga esta red, es la modificación de la función de salida. La
función tiene que ser del tipo Purelin o Tansing pero dando la facilidad de usar una u
otra sin ningún problema.


 3.6.1    Función PURELIN

 Esta función se caracteriza por presentar una pendiente unitaria, se debe tener
 cuidado al momento de usarse ya que podría presentar problemas con los datos, pues
 si alguno no es congruente lograría que la respuesta tienda al infinito y al no tener
 una acotación generaría un error en los resultados finales.

                                             a




                     Figura 3-5: Esquema de valores de la función purelin


                                                                                  32
3.6.2     Función TASING

 Dicha función delimita los valores de la salida entre [-1,1], ya que se acota los
 resultados, aun si alguna variable tienda al infinito no será problema pues las
 limitaciones frenarían este comportamiento.




                   Figura 3-6: Esquema de valores de la función tansing.


3.7 Análisis de los componentes principales (PCA)

Se trata de un método de análisis multivariable, que utiliza las redes neuronales
para su desarrollo en modo no supervisado, esencialmente creada para el análisis
gran cantidad de datos entrada, al obtener los datos utiliza la estructura de los
mismos y se procede a realizar una agrupación en unas nuevas variables a las que
se les denomina factores o componentes principales. El objetivo es reducir estos
datos a un menor número perdiendo la menor cantidad de información posible. Los
datos de entrada con los que se cuenta presentan valores cercanos a cero, estos
datos no poseen gran información y contribuyen poco al estudio por lo que pueden
ser eliminados sin causar gran pérdida. Al ser una técnica de carácter lineal,
presenta buenos resultados solo en condiciones lineales.




                                                                              33
El uso de la la técnica PCA en esta tesis es simplificar el conjunto extenso de
datos, reduce el número de variables ya que presenta información redundante y el
exceso de variables dificulta el análisis de información. Analiza la información a
partir de las interacciones entre las variables, logrando obtener tantos factores
como variables analice



Estos factores no son observables, aunque se basan en las relaciones entre las
variables iniciales, son independientes y no se relacionan entre si, en la
representación se muestran como ejes ortogonales.




                            Figura 3-7: Clasificación al usar PCA


Los algoritmos PCA utilizados en esta tesis se han implementado en el entorno de
programación que ofrece en el paquete informático MATLAB. Las subrutinas
básicas CA se encuentran en un paquete multivariante denominado PLA-Toolbox
2.0 que se acopla al programa principal. En concreto, existen dos subrutinas PCA
(versión clásica) y PCAPRO (PCA en modo supervisado).




                                                                               34
Sin embargo, estas funciones son excesivamente generales para los objetivos de
este trabajo. Ha sido necesario programar una serie de funciones auxiliares para
facilitar la integración y evaluación de estos algoritmos en el objetivo planteado de
esta tesis.



En concreto, ha sido necesario realizar este algoritmo para distinguir de manera
gráfica como se realiza la clasificación de ambos vinos, para ello se han
programado tres distintas cargas de datos de vino blanco ya que se tiene el triple de
muestras que de vino rojo, esto nos permite ver con mayor claridad en distintas
gráficas el método de clasificación cuyo algoritmo se muestra en el capítulo 4,
donde se observará los resultados obtenidos.



 3.7.1         Componentes principales

 Del estudio realizado por T. Guerrea[18] se destaca las fases de componentes
 principales;

 a)           Análisis de la matriz de correlaciones
 Un análisis de componentes principales tiene sentido si existen altas
 correlaciones entre las variables, ya que esto es indicativo de que existe
 información redundante y, por tanto, pocos factores explicarán gran parte de la
 variabilidad total, en esta matriz pueden existir valores negativos.

 b)           Selección de los factores
 La elección de los factores se realiza de tal forma que el primero recoja la mayor
 proporción posible de la variabilidad original; el segundo factor debe recoger la
 máxima variabilidad posible no recogida por el primero, y así sucesivamente. Del
 total de factores se elegirán aquéllos que recojan el porcentaje de variabilidad que
 se considere suficiente. A éstos se les denominará componentes principales.



                                                                                  35
c)       Análisis de la matriz factorial
Una vez seleccionados los componentes principales, se representan en forma de
matriz. Cada elemento de ésta representa los coeficientes factoriales de las
variables (las correlaciones entre las variables y los componentes principales). La
matriz tendrá tantas columnas como componentes principales y tantas filas como
variables.

d)       Interpretación de los factores
Para que un factor sea fácilmente interpretable debe tener las siguientes
características, que son difíciles de conseguir:

• Los coeficientes factoriales deben ser próximos a 1.

• Una variable debe tener coeficientes elevados sólo con un factor.

• No deben existir factores con coeficientes similares.



En el estudio de Brezmes[20] se utiliza dicho algoritmo para el ámbito de narices
electrónicas y su representación bidimensional del conjunto de medidas, a fin de
observar si se logra determinar agrupaciones espontáneas entre las diferentes
medidas realizadas.



Otro método clásico es el Discriminant Function Analysis (DFA), el estudio de
Kekla [21], utiliza este método para discriminar un conjunto de medidas usando los
coeficientes del modelo, llamados variables canónicas. Se trata de un método
supervisado más potente que el PCA, aunque con riesgos de sobre-entrenamiento.



En el artículo de J, Vazques [22] los resultados experimentales obtenidos
demuestran que la fusión del algoritmo que utiliza el PCA logra disminuir la
cantidad de datos y obtener una respuesta mucho mejor ya que logó eliminar el
ruido proveniente de los sensores.


                                                                                36
4.          DISEÑO Y SIMULACIÓN
En este capítulo se describe los resultados y datos obtenidos a partir de dos métodos
conocidos para la clasificación de datos.

Con respecto a los resultados, se mostrarán en cuatro partes las cuales explican el
desarrollo del presente trabajo y la evolución que hubo aplicando la red MLP para luego
mostrar los resultados obtenidos al aplicar el algoritmo PCA.



     4.1 Software utilizado

     El software utilizado en la presente tesis es MATLAB versión 10.0 como se muestra
     en la figura 4-1, en la cual se desarrollan distintos algoritmos para la simulación. Esta
     versión cuenta con una función automática en su toolbox para la utilización de
     algoritmos genéticos y redes Fuzzy ARTMAP, las cuales no serán usadas puesto que
     se trabajará con un algoritmo implementado con otro tipo de red.




                                Figura 4-1: Software MATLAB 10.0

                                                                                       37
4.2 Diagrama de flujo


                                                         INICIO


                                 Vino Blanco                                          Vino Rojo
                                                                  100% de los datos


                                                   100% de los datos


                              Normalización                                               Análisis de
                                                                                          Componente
                                                                                           Principales
                                                                                            SCORE

           V.blanco (0a1)                     V.rojo (0a1)
                                                            20% de los datos
80% de los datos
                                                                       20% de los datos
                          80% de los datos

              Entrenamiento                              Testeo                                           Secuencia de flujo       del
                                                                                                          PCA aplicado al MLP.
                                                                                                          Secuencia de flujo       del
                                                                                                          MLP.
                                                                                            -----------   Datos del vino blanco.

                                       NET                                                                Datos del vino rojo.
                                                                                                          Salva       los      datos
                                                                                            V.blanco      normalizados del vino
                                                                                                          blanco.
                              y0                                                                          Salva       los      datos
                                              yd                                            V.rojo        normalizados del vino rojo.
                                                                                            ECM%          Error cuadrático medio.
                                                                                              y0          Salida obtenida.
                                                                                              yd          Salida deseada.
         Comprobación%                             ECM%                                                   Salvan      las    mejores
                                                                                           NET 7-8-9      configuraciones.
                                                                                                          Salva configuraciones con
                                                                                          NET_XTREME      sobre-entrenamiento.
                                                                                                          Nueva matriz generada
                                                                                                          para hallar el porcentaje
                                                                                             SCORE        de        varianza       y
           NET_7    96%                                                                                   componentes principales.
           NET_8    97%
           NET_9    98%                                 NET_XTREME




                                        FIN
                                                                                                                             38
4.3 Mediciones obtenidas

De la tesis presentada por P. Cortez[1] se tiene los patrones de entrada del vino rojo y
el vino blanco, estandarizando 12 muestras para ambos vinos las cuales se mencionan
a continuación:

a)         Acidez fija

Tipo de acidez que queda determinada por la diferencia entre la acidez total y la acidez
volátil.

b)         Acidez volátil

De acuerdo su definición oficial “la acidez volátil está constituida por los ácidos
grasos pertenecientes a la serie acética que se encuentran en los vinos, bien en estado
libre, bien en estado asociado” OIV[23].

c)         Acido cítrico

El ácido cítrico es uno de los aditivos más utilizados por la industria. Se obtiene por
fermentación de distintas materia primas como la uva.

d)         Azúcar residual

Definido por el azúcar que tras la fermentación permanece en el vino. Según la
cantidad que permanece en el vino este de denomina seco, semiseco, semidulce o
dulce.

e)         Cloruro

El contenido de cloruros en los vinos es variable, en general es inferior a 0.5g/l.

f)         Alcohol

El aumento del alcohol tiende a resaltar una mejor calidad en el vino.




                                                                                      39
g)       Dióxido de sulfuro libre

En la elaboración del vino, es importante añadir dióxido de sulfuro libre para evitar la
oxidación cuando hay oxígeno alrededor.

h)       Total de dióxido sulfúrico

Oxida antes que los compuestos de fenol presente absorbiendo el oxígeno.

i)       Densidad

El alcohol tiene una densidad fija que es 0793, y el extracto, al estar disuelto, sube la
densidad del vino proporcionalmente a su cantidad.

j)        Pondus Hidrogenium (pH)

El pH en el vino determina su acidez. El nivel de pH va aumentando a lo largo del
ciclo de maduración de la uva, y a medida que aumenta este nivel, la acidez
disminuye.

k)       Sulfato

El contenido de sulfatos procede de la uva y efectivamente la concentración aumenta
de forma escalonada conforme envejece el vino una vez embotellado.

l)       Calidad (entre 0 y 10)

Los vinos de mayor calidad suelen provenir de suelos más bien pobres en materias
orgánicas, calizos y poco húmedos. .

4.4 Datos de entrada

De la matriz obtenida en la Tesis presentada por P. Cortéz [1], se ha modificado el
orden ya que algunos valores tienden a ser 0, lo que no es optimo para el
entrenamiento, se reordeno las filas sin realizar modificaciones a las columnas
(patrones).



                                                                                  40
Del vino blanco se cuenta con 4899 muestras la cual se ingreso en una base de datos
denominado blanco.mat. Del vino rojo se cuenta con 1599 muestras la cual se ingreso
en una base de datos denominado rojo.mat.


Para la demostración, se utilizara 1461 datos de cada vino, de los cuales 1100 serán
para el entrenamiento y 361 para testeo, dando un total de 2200 datos de entrada y 722
para el entrenamiento, la capa de entrada consta de 12 neuronas, se utilizan dos capas
oculta la cual presenta una cantidad de neuronas que cambiante para las pruebas y una
única capa de salida que se encargará de clasificar si se trata vino blanco („1‟lógico) o
rojo („0‟logico).


Para el caso del patrón de “acido crítico”, presente en ambos vinos, se ha notado que
cuenta con valores entre 0 y 1, siendo 0 el valor mínimo presente en 132 muestras, lo
cual no ayuda en la etapa de entrenamiento, por este motivo se ha realizado un filtro,
dejando estos valores para el final a fin de que ayude a validar la eficiencia de la red.



4.5 Normalización
La primera variable a crear en el MATLAB se denomina vino_rojo que consta de 1461
valores. El segundo valor ingresado en el MATLAB se denominara vino_blanco que
consta de 1461 valores.


Con la base de 2922 muestras tomadas de ambos vinos, se procede a realizar la
normalización de los datos de entradas.


Se crean dos nuevas variables llamadas norma_vblanco & norma_vrojo para el vino
blanco y rojo respectivamente, estas variables guardaran los datos normalizados de la
siguiente manera, se divide cada dato entre el mayor valor de la columna que lo
comprende, de esta manera se tendrá dos matrices de 11461x12 almacenado en cada
variable, las cuales tienen valores comprendidos entre 0 y 1; por ejemplo:
                                                                                     41
Si                         ; el mayor valor de la primera columna es 16, el segundo 81

y el tercero 256 respectivamente.


Al realizar la normalización se obtiene:




4.6 Entrenamiento de la red MLP
Para el entrenamiento de la red se crean 2 variables denominadas entren_vblanco &
entren_vrojo, citando la teoría del MLP y su recomendación se toma el 80% de datos
normalizados para el entrenamiento y se almacenan en estas variables.


Las dimensiones de estas variables se guardan en la variable VB & VR correspondiente
a cada vino, estas se utilizarán para obtener la cantidad exacta de datos para entrenar.


La variable entrada se define como una matriz de 2200x12 generada por los datos de
entren_vblanco sobrepuesto a los datos de entren_vrojo, de la siguiente manera:




La variable clasificacion se define como una matriz de 2200x1 depende directamente
de los datos salvados en VR & VB, esta variable es de una única columna la cual se
divide en Zeros(„0‟) y Ones(„1‟). Por ejemplo:




                                                                                   42
La variable X guarda la transpuesta es la variable entrada.

                                                            Dióxido
                                                                    Total de Densidad
Acidez   Acidez       Ácido Azúcar                             de
                                             Cloruro                 dióxido          pH             Sulfato   Alcohol Calidad
 Fija    Volátil      cítrico Residual                      sulfuro
                                                                    sulfúrico
                                                             libre
 7.4       0.7          0          1.9        0.076            11       34    0.9978  3.51            0.56          9.4        5
 7.8       0.88         0          2.6        0.098           25      67         0.9968        3.2    0.68          9.8        5
 7.8       0.76        0.04        2.3        0.092           15      54         0.997      3.26      0.65          9.8        5
 11.2      0.28        0.56        1.9        0.075           17      60         0.998      3.16      0.58          9.8        6
 7.4       0.7          0          1.9        0.076           11      34         0.9978     3.51      0.56          9.4        5
 7.4       0.66         0          1.8        0.075           13      40         0.9978     3.51      0.56          9.4        5
 7.9       0.6         0.06        1.6        0.069           15      59         0.9964        3.3    0.46          9.4        5
 7.3       0.65         0          1.2        0.065           15      21         0.9946     3.39      0.47          10         7
 7.8       0.58        0.02        2          0.073           9       18         0.9968     3.36      0.57          9.5        7
 7.5       0.5         0.36        6.1        0.071           17      102        0.9978     3.35       0.8       10.5          5
  .         .           .           .           .              .       .             .          .         .          .         .
  .         .           .           .           .              .       .             .          .         .          .         .
  .         .           .           .           .              .       .             .          .         .          .         .


  .         .           .           .           .              .       .             .          .         .          .         .
  .         .           .           .           .              .       .             .          .         .          .         .
  .         .           .           .           .              .       .             .          .         .          .         .
 8.1       0.56        0.28        1.7        0.368           16      56         0.9968     3.11      1.28          9.3        5
 7.4       0.59        0.08        4.4        0.086           6       29         0.9974     3.38       0.5          9          4
 7.9       0.32        0.51        1.8        0.341           17      56         0.9969     3.04      1.08          9.2        6
 8.9       0.22        0.48        1.8        0.077           29      60         0.9968     3.39      0.53          9.4        6


                                                        Tabla 4-1: Matriz entrada

 La variable Y guarda la transpuesta es la variable clasificacion.

CANTIDAD        1096        1097    1098       1099          1100    1101   1102          1103       1104      1105       1106
 VALOR            1           1          1          1         1       0          0         0          0         0          0


                                                           Tabla 4-2: Matriz Y

4.7 Testeo
 El 20% que no se utilizó de los datos normalizados de los vinos se utilizan en esta
 parte y se utilizan como datos de testeo para comprobar a que porcentaje del nivel de
 aprendizaje logró desarrollarse la red neuronal.

 Los 722 valores que no fueron utilizados de la normalización anterior son colocadas
 en las variables test_vblanco & test_vrojo. La variable TB está compuesta por los
                                                                            43
valores de las dimensiones de la variable test_vblanco y de la misma manera la
variable TR. Para este caso es una matriz de 2x2. Al igual que para la parte del
entrenamiento se crearon las variables entrada_entr & clasifica_entr para el testeo se
crearan dos variables de la misma manera llamadas entrada_test                              compuesta por
test_vblanco y test_vrojo y la variable clasifica_test compuesta por tantos „ones‟ como
el valor de la primera columna de TB y tantos „zeros‟ como valores de la primera
columna de TR.

Finalmente se crea la variable testeo que está compuesta por la transpuesta de la
variable entrada_test anteriormente creada. Por razones de espacio solamente se da a
conocer los 11 primeros datos

  DATOS      1         2       3        4        5        6        7        8        9         10       11
    1      0.8132   0.8132   0.8132   0.8342   0.7342   0.4322   0.2343   0.2344   0.4322     0.3234   0.4323
    2      0.5565   0.2727   0.3234   0.5432   0.8983   0.3423   0.4323   0.2343   0.8874     0.4388   0.2349
    3      0.7032   0.2345   0.7830   0.4848   0.7738   0.3284   0.4359   0.9983   0.4388     0.8384   0.8484
    4      0.1003   0.8438   0.8458   0.8587   0.8438   0.8438   0.8545   0.8834   0.8438     0.7574   0.8483
    5      0.6435   0.8487   0.8384   0.8734   0.7473   0.3708   0.8434   0.8649   0.8348     0.7437   0.7474
    6      0.8023   0.5838   0.8438   0.8487   0.8483   0.7554   0.8584   0.8748   0.8934     0.7575   0.8789
    7      0.9855   0.9488   0.8547   0.7457   0.8785   0.7753   0.9877   0.2347   0.3478     0.3858   0.7657
    8      0.1255   0.7348   0.5885   0.7753   0.4573   0.3487   0.8576   0.2389   0.8543     0.8348   0.8438
    9      0.5543   0.8659   0.3874   0.7834   0.7848   0.8324   0.8434   0.7653   0.8437     0.7394   0.8347
    10     0.8347   0.8451   0.8374   0.1349   0.8348   0.8558   0.8834   0.9433   0.9348     0.9348   0.8756
    11     0.9875   0.9984   0.3445   0.7889   0.3847   0.8475   0.8347   0.7753   0.8832     0.8374   0.9835
    12     0.9873   0.9848   0.7342   0.7575   0.8383   0.8548   0.8458   0.4378   0.7853     0.9852   0.8573

                                      Tabla 4-3: Matriz Testeo


4.8 NET

La siguiente variable a guardar se denomina NET, es en esta variable en la cual se
adjunta la red, se entrena con 12 ceros lógicos („0‟)y 12 unos lógicos („1‟), teniendo
así una matriz de 12x2, luego se coloca el número de neuronas por capa, de las cuales
la capa de entrada es igual al número de datos entrenados y la capa de salida es uno
pues representa la neurona que nos indicará si la salida corresponde al vino blanco(„1‟)
o al vino rojo(„0‟).

                                                                                                       44
La variable NET es sin duda la parte principal de este algoritmo ya que en ella se
guarda los datos de la cantidad de neuronas necesarias halladas a través de la
simulación para que la red neuronal logre aprender a clasificar los datos de los vinos
rojos y blancos.


En el comando newff se guardan los siguientes datos:



La transferencia de funciones TF puede ser cualquier transferencia diferenciable,
funciones tales como la TANSIG & PURELIN.


Para controlar de forma más exhaustiva el entrenamiento de una red de tipo
Backpropagation se emplea el algoritmo de entrenamiento “Batch Gradient Descent”
(traingd).


Los siguientes datos a colocar son aquellos que limitarán la red para que esta tenga un
dato óptimo y no llegue al sobre entrenamiento, se muestra en la figura 4-2.


net.trainParam.epochs = Número máximo de iteraciones
net.trainParam.show      = Actualizar salida cada ciertos épocas
net.trainParam.lr        = Velocidad de convergencia
net.trainParam.goal      = Objetivo para converger


De esta manera la variable NET realiza el entrenamiento usando la variable net ya
guardada, X & Y.


                                  Variable NET en el Matlab


net = newff( [ zeros(12,1) ones(12,1)] , [300-j j 1] , {'tansig'
'tansig' 'purelin' } , 'traingd' )


                                                                                 45
%la variable newff usada a continuación presenta un modelo fijo o
%plantilla de datos a ingresar.
%Este es el comando que literalmente describe el esquema de la red
%neuronal y realiza el entrenamiento en la primera capa las %neuronas
%con entradas ceros y uno dos columnas, la segunda capa oculta con
%la cantidad de neuronas ocultas, es aquí donde se %realizan los
%cambios, valores aleatorios. La tercera capa es el tipo de salida
%que se desea, para este caso la salida será traingd o descenso de
%gradiente por back propagation.




            Figura 4-2: Partes de la Red MLP




4.9 Net Xtrem
Esta variable se crea específicamente para guardar dos porcentajes, 99% y 100% ya
que esto significa que la red a realizado un sobre-entrenamiento, es decir ha aprendido
demasiado, logrando esta que al momento del testeo y verificación de su aprendizaje,
rechace todos los datos que sean levemente distintos a los usados en su entrenamiento
tal y como se explica en el capítulo 3.
                                                                                 46
4.10 Comprobación

Se crean dos variables yd & y0, la primera está compuesta por la transpuesta de la
variable clasifica_test y la segunda es la salida real tomada de los datos de simulación,
para luego usar ambos datos en una comparación y validar la cantidad de aciertos
obtenidos.


                                                    yd=clasifica_test'

 CANTIDAD      357     358      359        360      361      362     363      364        365     366       367    368

     VALOR      1       1        1           1          1     0       0        0          0          0      0      0


                                                    Tabla 4-4: Matriz yd


                                                    y0=sim(net,testeo)

 CANTIDAD      357      358          359          360        361      362          363         364       365     366

     VALOR     -0.81   0.3485        -0.56       0.6856     0.7452   0.1215    -0.89          0.9654     -0.21   0.635


                                                  Tabla 4-5: Matriz y0


Los datos obtenidos en y0, datos reales, deberían estar en el rango de 0 a 1 pero como
se muestra en la tabla anterior algunos alcanzan valores de máximos mayores a 1 y
datos mínimos menores a 0, es por esto que se debe realizar un algoritmo que
considere que estos datos sean próximos a cero y a la unidad respectivamente.


La regla para hallarlos es la siguiente:
a)      Si el valor se encuentra dentro del rango [-1 a 0.2] entonces se debe considerar

        „0‟.

b)      Si el valor se encuentra dentro del rango [0.8 a 2] entonces se debe considerar

        „1‟.




                                                                                                                 47
Ahora que se tiene la salida de los datos reales de simulación y los datos de la salida
ideal, ambos en el rango de 0 a 1, se puede realizar la verificación de cuantos aciertos
se obtuvo y validar si la red entrenó correctamente.


Se crea la variable comprobacion la cual es una matriz compuesta por la diferencia
entre el valor obtenidos menos el valor deseado.


Se crea la variable llamada acierto y la variable error para luego diseñar el algoritmo
que logrará medir la eficiencia del programa, si los datos de la variable comprobacion
son menores a 0.051, un valor pequeño considerable como bueno, este se guardará en
la variable acierto, si no se guardará en la variable error.



4.11 Time

Con la variable tr.time obtenida de la NET se logra hallar el tiempo de aprendizaje en
micro-segundos, dentro del entrenamiento de la red neuronal, este tiempo obtenido se
transforma a minutos y se redondea para eliminar los segundos, este valor es salvado
en la variable time.



4.12 Automatización

Ya que se logró obtener de manera correcta el entrenamiento y el testeo, se deberá
realizar el algoritmo que realice de manera automática el cambio de neuronas para así
validar con que configuración se logra obtener una mayor cantidad de aciertos sin
llegar al sobre entrenamiento.


De esta manera con cada cantidad de neuronas se obtendrá un número de aciertos, los
mejores serán salvados e indicarán cual es porcentaje de aprendizaje que lograron, el
mejor tendrá una configuración que se encuentra dentro de la variable NET.




                                                                                  48
Salvado de NET’s




 Como      se    muestra     en    la figura

 adjunta, luego de utilizar el algoritmo

 de la red MLP, se procede con el

 salvado de datos. Es necesario el

 salvado de estos valores ya que son

 utilizados en próximas funciones.




 Las variables NET’s ayudaran a

 obtener        el   mejor        valor   de

 entrenamiento de la red sin pasar el

 límite del 98%.




                                          Figura 4-3: Net‟s salvadas


En la figura 4-3, de la variable NET1 (aciertos mayores a 75%), hasta la variable
NET8, aciertos menores a 98 se consideran buenos datos obtenidos, la variable
NETEXTREME es una variable que se tendrá pero la cual no se considera buena ya
que en esta se demuestra el sobre entrenamiento de la red.




                                                                           49
4.13 ECM

Para hallar el error cuadrático medio o ECM se utiliza la función mse la cual nos ayuda
a encontrar el error cuadrático medio.
Es necesario usar dos variables, “yd” & “y0”, este último es obtenido al usar las
variables net y la variable testeo, la función mse obtendrá la diferencia de cuadrados y
lo salvará en la variable llamada ecm para luego ser usada en la variable resultado y
mostrar la eficiencia de la red.



4.14 Análisis

La variable analisis guarda una matriz de 4 columnas por tantas filas como muestreos
se hicieron, en esta matriz se definen cuatro datos importantes:
         Neuronas en la primera capa oculta
         Neuronas en la segunda capa oculta
         Tiempo de entrenamiento
         Aciertos



4.15 Normalización del Score
Para realizar la normalización de los datos salvados en la matriz Score, luego de
realizar el análisis de componentes principales, es necesario usar la función
mapminmax la cual se encargará colocar en valores entre 0 y 1 a todos los datos de la
matriz, esta normalización es especial ya que a diferencia de la primera normalización
en 4.1 que trabajaba con datos positivos, puesto que la matriz de vinos está compuesta
por cantidad reales obtenidas por los sensores, la matriz Score contiene datos con
valores negativos como se explica en el capítulo 3 sobre el análisis de componentes
principales.




                                                                                 50
5.             RESULTADOS
En este capítulo, se mostrarán las respectivas medidas obtenidas luego de utilizar los
algoritmos computacionales planteados en el capítulo anterior.

     5.1 Resultados al usar la red MLP

     A continuación se muestra todas las pruebas realizadas con la red neuronal MLP y
     como se llegó a la configuración más acertada para este proyecto. Los primeros
     resultados fueron hallados tras usar el algoritmo MLP, con el cual se hizo cuatro
     experimentos cada uno en distintos tiempos.

       5.1.1    Resultados de la red con una capa oculta

       Al comenzar este proyecto solo se utilizaron 150 datos de vino rojo y 150 datos de
       vino blanco escogidos al azar, siguiendo los pasos explicados en el capítulo anterior
       se realizó el entrenamiento con los 100 primeros datos de cada vino y 50 de cada uno
       fueron llamados en la etapa de testeo; obtener estos resultados duró más de 8 horas.
                                 200 ENTRENAMIENTO – 100 TESTEO
                ENTRADAS              PRIMERA CAPA OCULTA                ACIERTOS %
                                                  20                         82
                                                  26                         67
                                                  43                         71
                                                  60                         67
                                                  77                         62
                                                  94                         67

                12                               111
                                                 128
                                                 145
                                                                             66
                                                                             68
                                                                             70
                                                 162                         67
                                                 179                         67
                                                 196                         48
                                                 213                         42

                                    Tabla 5-1: Resultados con una capa




                                                                                       51
5.1.2   Resultados de la red con dos capas ocultas

Luego de obtenidos estos resultados y con la premisa de aumentar la cantidad de
aciertos se optó por aumentar la cantidad de datos de entrenamiento a 800, datos de
testeo a 200 y la cantidad de capas ocultas amentarlas a dos; de esta manera se
obtienen mejores resultados, pero el tiempo continua siendo una el mismo para cada
cálculo, hallarlos tomo alrededor de 18 horas.



                        800 ENTRENAMIENTO – 200 TESTEO
                                         SEGUNDA CAPA
   ENTRADAS       PRIMERA CAPA OCULTA                              ACIERTOS %
                                              OCULTA
                           299                        1               92
                           292                        8               32
                           285                       15               95
                           278                       22               95
                           271                       29               94
                           264                       36               89
                           257                       43               93

   12                      250
                           243
                           236
                                                     50
                                                     57
                                                     64
                                                                      92
                                                                      91
                                                                      92
                           229                       71               89
                           222                       78               83
                           215                       85               95
                           208                       92               92
                           201                       99               93
                           194                       106              89

                             Tabla 5-2: Resultados con dos capas




                                                                                52
5.1.3    Resultados de la red con tres capas ocultas

Dado que con el aumento se obtuvieron buenos resultados como el acierto del 95%
en este proyecto, se optó por aumentar el número de capas a 3, la cantidad de datos
de entrada a 1100 para cada vino y los datos de testeo a 361 para cada vino, ambos
tomados al azar.


El tiempo de respuesta para cada configuración fue de aproximadamente 5 horas para
las primeras 5 respuestas y 6 horas para el resto, hasta este punto aun no se encuentra
la manera de calcular el tiempo de cada configuración.


En la tabla 5-3 se muestran resultados variantes que a comparación de los hallados en
la tabla 5-2; por este motivo se realiza la presente tesis con dos capas ocultas.


                           1100 ENTRENAMIENTO – 361 TESTEO
                   PRIMERA CAPA    SEGUNDA CAPA      TERCERA CAPA
  ENTRADAS                                                                 ACIERTOS %
                      OCULTA          OCULTA            OCULTA

                       299                 150                        1        83
                       292                 147                        8        79
                       285                 143                       15        59
                       278                 140                       22        63
                       271                 136                       29        85
                       264                 133                       36        67

  12                   257
                       250
                       243
                                           129
                                           126
                                           122
                                                                     43
                                                                     50
                                                                     57
                                                                               84
                                                                               72
                                                                               63
                       236                 119                       64        78
                       229                 115                       71        64
                       222                 112                       78        82
                       215                 108                       85        79
                       208                 83                        92        59

                              Tabla 5-3: Resultados con tres capas



                                                                                    53
5.1.4    Optimización de la red MLP

Los resultados obtenidos no son prometedores ya que como se ve en el cuadro
anterior el acierto disminuye y la única variable que se mantiene es el tiempo, para
este caso aproximadamente 5 horas cada entrenamiento; en la próxima sección se
utiliza la variable time la cual indicará el tiempo de espera al realizar el algoritmo,
este tiempo es cambiante ya que depende de lo que demore la neurona en realizar su
aprendizaje, luego se aplica la variable ecm para hallar el error cuadrático medio total
ya que se obtiene una respuesta con más exactitud, en la tabla 5-4 se muestra la
variable acm definida como el complemento del error; se decidió por retomar el
estudio usando únicamente 2 capas ocultas ya que se obtiene mejores resultados.


                        1100 ENTRENAMIENTO – 361 TESTEO
                  PRIMERA CAPA     SEGUNDA
   ENTRADAS                                         time (min)            acm (%)
                     OCULTA      CAPA OCULTA
                       299                 1                  374       93.7907
                       292                 8                  377       98.5821
                       285                 15                 335       98.8116
                       278                 22                 401       93.5042
                       271                 29                 318       99.2042
                       264                 36                 409       99.2692
                       257                 43                 337       98.1177

   12                  250
                       243
                       236
                                           50
                                           57
                                           64
                                                              405
                                                              328
                                                              447
                                                                        99.3433
                                                                         98.736
                                                                         94.285
                       229                 71                 414        93.568
                       222                 78                 323        95.515
                       215                 85                 366       99.5815
                       208                 92                 431       97.2185
                       201                 99                 388        98.128
                       194                106                 457       93.8914

                             Tabla 5-4: Optimización de la red MLP.




                                                                                    54
5.2 Resultados con PCA

Se realizó la normalización de los 2922 datos de vino blanco y vino rojo y luego se
ingresaron datos al programa para realizar el algoritmo PCA presentado en el capítulo
anterior, se utiliza los mismos datos que fueron cargados anteriormente al realizar el
análisis con la red MLP.


A diferencia de la red MLP, la cuando se aplica la técnica PCA, esta no trabaja con los
valores de los datos de entrada, utiliza la relación que existe entre los 1461 datos, el
algoritmo PCA se encargará de generar las componentes principales de cada sensor;
cada uno de ellos aporta cierta cantidad información que al combinarse con los otros
sensores logran dar como respuesta si se trata del vino rojo o del vino blanco.


Mediante análisis de componentes principales se buscarán unas pocas variables nuevas
(componentes principales) que resuman la información contenida en estos 2922 datos,
utilizando los datos muestreados se analiza la relación entre estos y se genera una
nueva matriz


 5.2.1     Componentes principales

 Habitualmente se establece un corte para elegir unas pocas componentes que sean las
 más representativas. Los criterios más frecuentes son los siguientes:

 a)      Generación de auto valores

 Se realiza el cálculo de los nuevos valores en función a la relación de covarianza que
 existe entre las variables ingresadas.


 De este modo unas pocas variables explicarán un porcentaje suficientemente alto
 como para prescindir de las variables originales y trabajar a partir de ese momento
 con las nuevas.


                                                                                  55
A continuación se muestra la nueva matriz de valores de donde se extraerá las
    componentes principales, a esta se le llama matriz de puntuaciones o scores.


                                     Matriz de puntaciones o SCORES

229726783676           -0,7479      -14175037618481                .              -0,1092         -0,5711
   0,1266        0,3753     123671849398035                        .              -0,6049         -0,6276
251306580330     0,0637     109169925562349                        .              -0,0924          0,2254
133399404436     0,1894          0,2790                            .              -0,7982         -0,2279
203637039911     0,1942          0,3481                            .              -0,6321          0,1317
254222268098 22515897150827      0,1008                            .              -0,5638          0,0698
254222268078 22515897150827      0,1008                            .              -0,5638          0,0698
      .             .               .                              .                  .               .

      .             .                .                             .                  .               .
389388084258 15896688786019 -20195634171715                        .               0,0670          0,1141
-33944173849     0,4750          -0,0958                           .           -1093847994227      0,7676
-33944117894     0,4750          -0,0958                           .           -1093847994412      0,7676
-33944117818           0,4750            -0,0958                   .           10938479944217      0,7676
-33313723493 15509566052645              -0,2132                   .              -0,6163          0,7556


                                  Tabla 5-5: Matriz de Auto valores.


    b)      Extracción de componentes principales

    Una vez aplicado la matriz SCORE (2922 x 12) al algoritmo del PCA, se utiliza la
    variable COEFF, la cual genera una nueva matriz en la cual se obtienen las
    componentes principales (CP); las 12 componentes se presentan en la tabla 5-6.


     PC1       PC2      PC3      PC4     PC5       PC6     PC7         PC8      PC9     PC10    PC11    PC12
    0,36       -0,37    0,11     -0,22   0,01      -0,13   0,01        0,24     -0,05   -0,29   -0,02   -0,08
    -0,19      0,10     0,56     -0,23   0,03      0,08    -0,41       0,32     -0,41   0,31    -0,06   0,10
    0,29       -0,29    -0,06    0,27    0,12      -0,09   0,31        -0,22    -0,56   0,48    -0,10   0,08
    0,28       0,22     -0,08    -0,23   0,24      0,42    -0,26       -0,50    -0,35   -0,34   0,05    0,05
    0,08       -0,02    0,43     0,67    -0,26     0,38    0,05        0,04     -0,03   -0,33   -0,13   -0,01
    0,16       0,37     -0,02    0,22    0,63      -0,02   0,21        0,41     0,02    -0,07   0,09    0,36
    0,34       0,39     0,08     0,05    0,12      -0,18   -0,10       0,07     0,06    0,09    -0,22   -0,76
    0,26       0,11     0,07     -0,37   -0,19     0,59    0,46        0,14     0,21    0,30    -0,03   -0,05
    -0,23      0,33     -0,19    -0,15   -0,32     -0,13   0,40        0,22     -0,54   -0,35   -0,08   -0,08
    0,35       0,22     0,58     0,12    -0,39     -0,15   -0,14       0,05     -0,07   0,12    0,76    0,06
    0,34       0,28     -0,09    -0,01   -0,34     -0,24   -0,19       -0,07    0,10    0,08    -0,55   0,49
    0.03       -0.15     -0.6    0.17    -0.06     0,36    -0.39       0.45     -0.12   0.09    -0.08    -0.1

                                   Tabla 5-6: Componentes principales.


                                                                                                        56
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales
Clasificación automática de vinos utilizando redes neuronales

More Related Content

What's hot

Estructura de datos, pilas, árboles, colas, listas
Estructura de datos, pilas, árboles, colas, listasEstructura de datos, pilas, árboles, colas, listas
Estructura de datos, pilas, árboles, colas, listasGuiro Lin
 
Tipos de Datos - Punto flotante
Tipos de Datos - Punto flotanteTipos de Datos - Punto flotante
Tipos de Datos - Punto flotanteOsberth De Castro
 
Perceptrón simple y multicapa
Perceptrón simple y multicapaPerceptrón simple y multicapa
Perceptrón simple y multicapaJefferson Guillen
 
BúSqueda Primero En Anchura
BúSqueda Primero En AnchuraBúSqueda Primero En Anchura
BúSqueda Primero En Anchuramapaz91
 
Tipos de Modelos de Datos : Ventajas y Desventajas
Tipos de Modelos de Datos : Ventajas y DesventajasTipos de Modelos de Datos : Ventajas y Desventajas
Tipos de Modelos de Datos : Ventajas y DesventajasJuanMiguelCustodioMo
 
Sistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosSistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosAidil Sanchez
 
Base de datos para la farmacia "José"
Base de datos para la farmacia "José"Base de datos para la farmacia "José"
Base de datos para la farmacia "José"BrandonDanielUgazSal1
 

What's hot (20)

Ejercicios serie de fourier
Ejercicios serie de fourierEjercicios serie de fourier
Ejercicios serie de fourier
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
características principales de windows server 2008 R2
características principales de windows server 2008 R2características principales de windows server 2008 R2
características principales de windows server 2008 R2
 
Estructura de datos, pilas, árboles, colas, listas
Estructura de datos, pilas, árboles, colas, listasEstructura de datos, pilas, árboles, colas, listas
Estructura de datos, pilas, árboles, colas, listas
 
Tipos de Datos - Punto flotante
Tipos de Datos - Punto flotanteTipos de Datos - Punto flotante
Tipos de Datos - Punto flotante
 
PNI Jared Ramirez
PNI Jared RamirezPNI Jared Ramirez
PNI Jared Ramirez
 
Lógica difusa (fuzzy logic)
Lógica difusa (fuzzy logic)Lógica difusa (fuzzy logic)
Lógica difusa (fuzzy logic)
 
Guia Gpss
Guia GpssGuia Gpss
Guia Gpss
 
Perceptrón simple y multicapa
Perceptrón simple y multicapaPerceptrón simple y multicapa
Perceptrón simple y multicapa
 
41439707 sistemas-blandos fase-i_ii
41439707 sistemas-blandos fase-i_ii41439707 sistemas-blandos fase-i_ii
41439707 sistemas-blandos fase-i_ii
 
Presentacion oracle power point
Presentacion oracle power pointPresentacion oracle power point
Presentacion oracle power point
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
BúSqueda Primero En Anchura
BúSqueda Primero En AnchuraBúSqueda Primero En Anchura
BúSqueda Primero En Anchura
 
Robertoparra
RobertoparraRobertoparra
Robertoparra
 
Tipos de Modelos de Datos : Ventajas y Desventajas
Tipos de Modelos de Datos : Ventajas y DesventajasTipos de Modelos de Datos : Ventajas y Desventajas
Tipos de Modelos de Datos : Ventajas y Desventajas
 
Sistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosSistema para el control de ventas e inventarios
Sistema para el control de ventas e inventarios
 
Ordenamiento QuickSort
Ordenamiento QuickSortOrdenamiento QuickSort
Ordenamiento QuickSort
 
Base de datos para la farmacia "José"
Base de datos para la farmacia "José"Base de datos para la farmacia "José"
Base de datos para la farmacia "José"
 
Series de fodsfjwslurier
Series de fodsfjwslurierSeries de fodsfjwslurier
Series de fodsfjwslurier
 
Ejercicios de normalizacion
Ejercicios de normalizacionEjercicios de normalizacion
Ejercicios de normalizacion
 

Similar to Clasificación automática de vinos utilizando redes neuronales

Auditoria de sistemas
Auditoria de sistemas Auditoria de sistemas
Auditoria de sistemas Kery Maeda
 
Programas para la aplicación en hidráulica
Programas para la aplicación en hidráulica Programas para la aplicación en hidráulica
Programas para la aplicación en hidráulica Yunior Huamán Paitán
 
DataMining_lastfm
DataMining_lastfmDataMining_lastfm
DataMining_lastfmRub Afonso
 
Machaca_RJA-Quispe_SMA-SD (1) (1).pdf
Machaca_RJA-Quispe_SMA-SD (1) (1).pdfMachaca_RJA-Quispe_SMA-SD (1) (1).pdf
Machaca_RJA-Quispe_SMA-SD (1) (1).pdfWilsonMoriSantana2
 
APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...
APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...
APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...Saul Mamani
 
Manual supervivencia administracion_electronica
Manual supervivencia administracion_electronicaManual supervivencia administracion_electronica
Manual supervivencia administracion_electronicadomingosuarez
 
Informática y tics
Informática y ticsInformática y tics
Informática y ticsstanyPR
 
Sistema de control, secuencia y termino
Sistema de control, secuencia y terminoSistema de control, secuencia y termino
Sistema de control, secuencia y terminoYadira Fuentes
 
Apuntes electrónica digital
Apuntes electrónica digitalApuntes electrónica digital
Apuntes electrónica digitaljose66ma
 
Apuntes digital
Apuntes digitalApuntes digital
Apuntes digitalchichiga
 
Electronicadigital
ElectronicadigitalElectronicadigital
Electronicadigitaljvlarrosa
 
Apuntes electronica digital
Apuntes electronica digitalApuntes electronica digital
Apuntes electronica digitalartorius1968
 

Similar to Clasificación automática de vinos utilizando redes neuronales (20)

Auditoria de sistemas
Auditoria de sistemas Auditoria de sistemas
Auditoria de sistemas
 
Tesis pre - grado
Tesis pre - gradoTesis pre - grado
Tesis pre - grado
 
Open ERP Doc-06-tinyerp4.2
Open ERP Doc-06-tinyerp4.2Open ERP Doc-06-tinyerp4.2
Open ERP Doc-06-tinyerp4.2
 
DocOpenERP - Tiny erp4.2
DocOpenERP - Tiny erp4.2DocOpenERP - Tiny erp4.2
DocOpenERP - Tiny erp4.2
 
Programas para la aplicación en hidráulica
Programas para la aplicación en hidráulica Programas para la aplicación en hidráulica
Programas para la aplicación en hidráulica
 
Mesh
MeshMesh
Mesh
 
DataMining_lastfm
DataMining_lastfmDataMining_lastfm
DataMining_lastfm
 
El rol de las tic en la competitividad de las PyME - María Verónica Alderete
El rol de las tic en la competitividad de las PyME - María Verónica AldereteEl rol de las tic en la competitividad de las PyME - María Verónica Alderete
El rol de las tic en la competitividad de las PyME - María Verónica Alderete
 
El rol de las TIC en la competitividad de las PyME - Verónica Alderete
El rol de las TIC en la competitividad de las PyME - Verónica AldereteEl rol de las TIC en la competitividad de las PyME - Verónica Alderete
El rol de las TIC en la competitividad de las PyME - Verónica Alderete
 
PLC: Practicas de rslogix 5000
PLC: Practicas de rslogix 5000PLC: Practicas de rslogix 5000
PLC: Practicas de rslogix 5000
 
Machaca_RJA-Quispe_SMA-SD (1) (1).pdf
Machaca_RJA-Quispe_SMA-SD (1) (1).pdfMachaca_RJA-Quispe_SMA-SD (1) (1).pdf
Machaca_RJA-Quispe_SMA-SD (1) (1).pdf
 
APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...
APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...
APLICACIÓN DE REDES NEURONALES ARTIFICIALES PARA LA DETECCION DE OBSTÁCULOS P...
 
Manual supervivencia administracion_electronica
Manual supervivencia administracion_electronicaManual supervivencia administracion_electronica
Manual supervivencia administracion_electronica
 
Informática y tics
Informática y ticsInformática y tics
Informática y tics
 
Sistema de control, secuencia y termino
Sistema de control, secuencia y terminoSistema de control, secuencia y termino
Sistema de control, secuencia y termino
 
Apuntes electrónica digital
Apuntes electrónica digitalApuntes electrónica digital
Apuntes electrónica digital
 
Apuntes digital
Apuntes digitalApuntes digital
Apuntes digital
 
Electronicadigital
ElectronicadigitalElectronicadigital
Electronicadigital
 
Apuntes electronica digital
Apuntes electronica digitalApuntes electronica digital
Apuntes electronica digital
 
Proyecto final redes
Proyecto final redesProyecto final redes
Proyecto final redes
 

More from Pedro Chavez

Planeamiento Estrategico de la empresa Choice Cargo utilizando la metodologia...
Planeamiento Estrategico de la empresa Choice Cargo utilizando la metodologia...Planeamiento Estrategico de la empresa Choice Cargo utilizando la metodologia...
Planeamiento Estrategico de la empresa Choice Cargo utilizando la metodologia...Pedro Chavez
 
Curso de Analisis Predictivo y Mineria de Textos con Rapid Miner y CRIPS-DM
Curso de Analisis Predictivo y Mineria de Textos con Rapid Miner y CRIPS-DMCurso de Analisis Predictivo y Mineria de Textos con Rapid Miner y CRIPS-DM
Curso de Analisis Predictivo y Mineria de Textos con Rapid Miner y CRIPS-DMPedro Chavez
 
Lectura 1 Forrester wave-agile-BI-platforms
Lectura 1 Forrester wave-agile-BI-platformsLectura 1 Forrester wave-agile-BI-platforms
Lectura 1 Forrester wave-agile-BI-platformsPedro Chavez
 
Indice Proyecto de Investigacion sobre el mercado de BI en LA
Indice Proyecto de Investigacion sobre el mercado de BI en LAIndice Proyecto de Investigacion sobre el mercado de BI en LA
Indice Proyecto de Investigacion sobre el mercado de BI en LAPedro Chavez
 
Curso Especialista en BI Generador de Informes con MSSQLServer 2008 R2 SSRS
Curso Especialista en BI Generador de Informes con MSSQLServer 2008 R2 SSRSCurso Especialista en BI Generador de Informes con MSSQLServer 2008 R2 SSRS
Curso Especialista en BI Generador de Informes con MSSQLServer 2008 R2 SSRSPedro Chavez
 
Curso Especialista en BI Analista de Informacion con MSSQLServer 2008 R2 SSAS
Curso Especialista en BI Analista de Informacion con MSSQLServer 2008 R2 SSASCurso Especialista en BI Analista de Informacion con MSSQLServer 2008 R2 SSAS
Curso Especialista en BI Analista de Informacion con MSSQLServer 2008 R2 SSASPedro Chavez
 
Curso Especialista en BI Integrador de Informacion con MSSQLServer 2008 R2 SSIS
Curso Especialista en BI Integrador de Informacion con MSSQLServer 2008 R2 SSISCurso Especialista en BI Integrador de Informacion con MSSQLServer 2008 R2 SSIS
Curso Especialista en BI Integrador de Informacion con MSSQLServer 2008 R2 SSISPedro Chavez
 
Curso de Analista de Negocios con SAP Crystal Reports 2013 Avanzado
Curso de Analista de Negocios con SAP Crystal Reports 2013 AvanzadoCurso de Analista de Negocios con SAP Crystal Reports 2013 Avanzado
Curso de Analista de Negocios con SAP Crystal Reports 2013 AvanzadoPedro Chavez
 
Perfil de investigacion Tablero BSC para la Gerencia Operativa de Atento
Perfil de investigacion   Tablero BSC para la Gerencia Operativa de AtentoPerfil de investigacion   Tablero BSC para la Gerencia Operativa de Atento
Perfil de investigacion Tablero BSC para la Gerencia Operativa de AtentoPedro Chavez
 
Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)
Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)
Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)Pedro Chavez
 
Curso de Implementador de Cuadros de Mando con SAP Crystal Dashboard Xcelsius
Curso de Implementador de Cuadros de Mando con SAP Crystal Dashboard XcelsiusCurso de Implementador de Cuadros de Mando con SAP Crystal Dashboard Xcelsius
Curso de Implementador de Cuadros de Mando con SAP Crystal Dashboard XcelsiusPedro Chavez
 
Diseño de un Tablero BSC para la eficiencia operativa de una empresa de Servi...
Diseño de un Tablero BSC para la eficiencia operativa de una empresa de Servi...Diseño de un Tablero BSC para la eficiencia operativa de una empresa de Servi...
Diseño de un Tablero BSC para la eficiencia operativa de una empresa de Servi...Pedro Chavez
 
Sistema web para gestion de información de adultos mayores
Sistema web para gestion de información de adultos mayoresSistema web para gestion de información de adultos mayores
Sistema web para gestion de información de adultos mayoresPedro Chavez
 
Sistema de Administracion de Condominios basados en agentes de software
Sistema de Administracion de Condominios basados en agentes de softwareSistema de Administracion de Condominios basados en agentes de software
Sistema de Administracion de Condominios basados en agentes de softwarePedro Chavez
 
Diseño de un tablero BSC para la eficiencia operativa de una empresa de Servi...
Diseño de un tablero BSC para la eficiencia operativa de una empresa de Servi...Diseño de un tablero BSC para la eficiencia operativa de una empresa de Servi...
Diseño de un tablero BSC para la eficiencia operativa de una empresa de Servi...Pedro Chavez
 
Sistema tarifario de transporte público
Sistema tarifario de transporte públicoSistema tarifario de transporte público
Sistema tarifario de transporte públicoPedro Chavez
 
Planeamiento Estratégico de TI - TACP
Planeamiento Estratégico de TI - TACPPlaneamiento Estratégico de TI - TACP
Planeamiento Estratégico de TI - TACPPedro Chavez
 
Formato de artículo para publicaciones
Formato de artículo para publicacionesFormato de artículo para publicaciones
Formato de artículo para publicacionesPedro Chavez
 
Estudio de mercado de BI en America Latina 2011
Estudio de mercado de BI en America Latina 2011Estudio de mercado de BI en America Latina 2011
Estudio de mercado de BI en America Latina 2011Pedro Chavez
 
Indice del trabajo de Gerencia de Sistemas
Indice del trabajo de Gerencia de SistemasIndice del trabajo de Gerencia de Sistemas
Indice del trabajo de Gerencia de SistemasPedro Chavez
 

More from Pedro Chavez (20)

Planeamiento Estrategico de la empresa Choice Cargo utilizando la metodologia...
Planeamiento Estrategico de la empresa Choice Cargo utilizando la metodologia...Planeamiento Estrategico de la empresa Choice Cargo utilizando la metodologia...
Planeamiento Estrategico de la empresa Choice Cargo utilizando la metodologia...
 
Curso de Analisis Predictivo y Mineria de Textos con Rapid Miner y CRIPS-DM
Curso de Analisis Predictivo y Mineria de Textos con Rapid Miner y CRIPS-DMCurso de Analisis Predictivo y Mineria de Textos con Rapid Miner y CRIPS-DM
Curso de Analisis Predictivo y Mineria de Textos con Rapid Miner y CRIPS-DM
 
Lectura 1 Forrester wave-agile-BI-platforms
Lectura 1 Forrester wave-agile-BI-platformsLectura 1 Forrester wave-agile-BI-platforms
Lectura 1 Forrester wave-agile-BI-platforms
 
Indice Proyecto de Investigacion sobre el mercado de BI en LA
Indice Proyecto de Investigacion sobre el mercado de BI en LAIndice Proyecto de Investigacion sobre el mercado de BI en LA
Indice Proyecto de Investigacion sobre el mercado de BI en LA
 
Curso Especialista en BI Generador de Informes con MSSQLServer 2008 R2 SSRS
Curso Especialista en BI Generador de Informes con MSSQLServer 2008 R2 SSRSCurso Especialista en BI Generador de Informes con MSSQLServer 2008 R2 SSRS
Curso Especialista en BI Generador de Informes con MSSQLServer 2008 R2 SSRS
 
Curso Especialista en BI Analista de Informacion con MSSQLServer 2008 R2 SSAS
Curso Especialista en BI Analista de Informacion con MSSQLServer 2008 R2 SSASCurso Especialista en BI Analista de Informacion con MSSQLServer 2008 R2 SSAS
Curso Especialista en BI Analista de Informacion con MSSQLServer 2008 R2 SSAS
 
Curso Especialista en BI Integrador de Informacion con MSSQLServer 2008 R2 SSIS
Curso Especialista en BI Integrador de Informacion con MSSQLServer 2008 R2 SSISCurso Especialista en BI Integrador de Informacion con MSSQLServer 2008 R2 SSIS
Curso Especialista en BI Integrador de Informacion con MSSQLServer 2008 R2 SSIS
 
Curso de Analista de Negocios con SAP Crystal Reports 2013 Avanzado
Curso de Analista de Negocios con SAP Crystal Reports 2013 AvanzadoCurso de Analista de Negocios con SAP Crystal Reports 2013 Avanzado
Curso de Analista de Negocios con SAP Crystal Reports 2013 Avanzado
 
Perfil de investigacion Tablero BSC para la Gerencia Operativa de Atento
Perfil de investigacion   Tablero BSC para la Gerencia Operativa de AtentoPerfil de investigacion   Tablero BSC para la Gerencia Operativa de Atento
Perfil de investigacion Tablero BSC para la Gerencia Operativa de Atento
 
Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)
Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)
Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)
 
Curso de Implementador de Cuadros de Mando con SAP Crystal Dashboard Xcelsius
Curso de Implementador de Cuadros de Mando con SAP Crystal Dashboard XcelsiusCurso de Implementador de Cuadros de Mando con SAP Crystal Dashboard Xcelsius
Curso de Implementador de Cuadros de Mando con SAP Crystal Dashboard Xcelsius
 
Diseño de un Tablero BSC para la eficiencia operativa de una empresa de Servi...
Diseño de un Tablero BSC para la eficiencia operativa de una empresa de Servi...Diseño de un Tablero BSC para la eficiencia operativa de una empresa de Servi...
Diseño de un Tablero BSC para la eficiencia operativa de una empresa de Servi...
 
Sistema web para gestion de información de adultos mayores
Sistema web para gestion de información de adultos mayoresSistema web para gestion de información de adultos mayores
Sistema web para gestion de información de adultos mayores
 
Sistema de Administracion de Condominios basados en agentes de software
Sistema de Administracion de Condominios basados en agentes de softwareSistema de Administracion de Condominios basados en agentes de software
Sistema de Administracion de Condominios basados en agentes de software
 
Diseño de un tablero BSC para la eficiencia operativa de una empresa de Servi...
Diseño de un tablero BSC para la eficiencia operativa de una empresa de Servi...Diseño de un tablero BSC para la eficiencia operativa de una empresa de Servi...
Diseño de un tablero BSC para la eficiencia operativa de una empresa de Servi...
 
Sistema tarifario de transporte público
Sistema tarifario de transporte públicoSistema tarifario de transporte público
Sistema tarifario de transporte público
 
Planeamiento Estratégico de TI - TACP
Planeamiento Estratégico de TI - TACPPlaneamiento Estratégico de TI - TACP
Planeamiento Estratégico de TI - TACP
 
Formato de artículo para publicaciones
Formato de artículo para publicacionesFormato de artículo para publicaciones
Formato de artículo para publicaciones
 
Estudio de mercado de BI en America Latina 2011
Estudio de mercado de BI en America Latina 2011Estudio de mercado de BI en America Latina 2011
Estudio de mercado de BI en America Latina 2011
 
Indice del trabajo de Gerencia de Sistemas
Indice del trabajo de Gerencia de SistemasIndice del trabajo de Gerencia de Sistemas
Indice del trabajo de Gerencia de Sistemas
 

Clasificación automática de vinos utilizando redes neuronales

  • 1. UNIVERSIDAD TECNOLOGICA DEL PERU FACULTAD DE INGENIERÍA ELECTRÓNICA Y MECATRÓNICA ESCUELA DE INGENIERÍA ELECTRÓNICA CLASIFICACIÓN AUTOMÁTICA DE VINOS UTILIZANDO REDES NEURONALES CARBAJAL POSADAS NICKOLAS ALONSO Tesis para optar el Título de Ingeniero Electrónico Lima - Perú 2011
  • 2. A mis Padres, hermanos y profesores, que me apoyaron mucho. ii
  • 3. AGRADECIMIENTOS En primer lugar quiero agradecer a mi familia por todo el apoyo que he recibido durante tantos años, en especial a mis padres y hermanos por el ánimo y cariño brindado. Al Mg. Christian Flores, mi asesor en la presente tesis, quiero agradecer su apoyo, paciencia y disponibilidad para ayudarme en cualquier duda que me surgiera en todos los aspectos relacionados al estudio de las redes neuronales y un agradecimiento especial por esa amistad y relación profesional. Finalmente, agradezco a todos aquellos que, de alguna manera u otra, me han ayudado a que esta tesis se hiciera realidad. iii
  • 4. RESUMEN Se contempla el caso paradigmático de las redes neuronales de gran complejidad que trata de realizar la clasificación de dos tipos de vinos utilizando sus componentes. En los últimos años el campo de las redes neuronales y sus distintos usos para la clasificación ha ayudado a la industria para la obtención de resultados en cortos períodos de tiempo y con cantidades de datos cada ves mas complejos. Esta tesis muestra el estudio detallado de cómo al usar los datos de los componentes del vino blanco y el vino rojo, se puede utilizar la red MLP para crear neuronas capaces de aprender y clasificar obteniendo resultados óptimos. El análisis de componente de datos o PCA es una técnica importante que logra reducir los datos sin perder gran cantidad de información. En la presente tesis se realiza ambos la clasificación usando la red neuronal MLP, la reducción de datos sin perder tanta información y finalmente la demostración de la efectividad al usar ambos. Palabras Claves: redes neuronales, PCA, MLP. iv
  • 5. ABSTRACT It provides the paradigmatic case of highly complex neural network that tries to make the classification of wines using two types of components. In recent years the field of neural networks and their uses for classification has helped the industry to obtain results in short periods of time and amounts of data each time more complex. This thesis shows the detailed study of how to use data from the components of white wine and red wine, can be used to create neurons MLP network can learn and classify optimal results. The data component analysis or PCA is an important technique that is able to reduce the data without losing a great deal of information. In this thesis both the classification is done using the MLP neural network, data reduction without losing much information and finally the demonstration of the effectiveness of using both. Keywords: Neuronal network, MLP, PCA. v
  • 6. INDICE GENERAL CAPÍTULO PÁGINA DEDICATORIA.......................................................................................................... iii AGRADECIMIENTOS .............................................................................................. iii RESUMEN ................................................................................................................. iiv ABSTRACT ................................................................................................................. v INDICE GENERAL .................................................................................................... vi INDICE DE TABLAS ................................................................................................ ix INDICE DE FIGURAS ................................................................................................ x INTRODUCCION ..................................................................................................... 11 CAPÍTULO 1: DETERMINACIÓN DEL PROBLEMA1¡Error! Marcador no definido. 1.1 Formulación del proyecto de investigación ............................................. 12 1.1.1 Fundamento básico ...................................................................... 382 1.1.2 Motivación ................................................................................... 383 1.1.3 formulación .................................................................................. 383 1.2 Antecedentes históricos ............................................................................ 14 1.3 Estado del arte .......................................................................................... 15 CAPÍTULO 2: LA NARIZ ELECTRONICA ............................................................ 17 2.1 Sistema olfativo humano .......................................................................... 17 2.2 Sistema olfativo artificial ........................................................................ 18 2.3 Paralelismo entre los sistemas olfativos ................................................... 19 2.4 Olfato electrónico ................................... ¡Error! Marcador no definido.1 2.5 Ventajas del uso de sistemas de olfato electrónico en la industria........... 23 vi
  • 7. CAPÍTULO 3: SIMULACIÓN DE TÉCNICAS COMPUTACIONALES DE INTELIGENCIA ARTIFICIAL .... ¡Error! Marcador no definido.4 3.1 Redes neuronales artificiales .................. ¡Error! Marcador no definido.4 3.2 Resurgimiento de la red perceptrón ....... ¡Error! Marcador no definido.5 3.3 Pérceptron multilayer (MLP) .................................................................... 28 3.4 Algoritmo de entrenamiento de una MLP ................................................ 29 3.5 Sobre-Entrenamiento de una red MLP ..................................................... 31 3.6 función de salida....................................................................................... 32 3.6.1 Función PURELIN ........................................................................ 32 3.6.2 Función TASING ........................................................................... 33 3.7 Analisis de componentes principales (PCA) ............................................ 33 3.7.1 Componentes principales ............................................................... 35 CAPÍTULO 4: DISEÑO Y SIMULACIÓN .............................................................. 37 4.1 Software utilizado .................................................................................... 37 4.2 Diagrama de flujo ..................................................................................... 38 4.3 Mediciones obtenidas ............................................................................... 39 4.4 Datos de entrada ....................................................................................... 40 4.5 Normalización .......................................................................................... 41 4.6 Entrenamiento de la red MLP .................................................................. 42 4.7 Testeo ....................................................................................................... 43 4.8 NET .......................................................................................................... 44 4.9 NET Xtrem ............................................................................................... 46 4.10 Comprobación .......................................................................................... 47 4.11 Time ......................................................................................................... 48 4.12 Automatización ........................................................................................ 48 4.13 ECM ......................................................................................................... 50 4.14 Analisis ..................................................................................................... 50 4.15 Normalización del Score .......................................................................... 50 CAPÍTULO 5: RESULTADOS ................................................................................. 51 5.1 Resultados al usar la red MLP.................................................................. 51 5.1.1 Resultados de la red con una capa oculta ...................................... 51 5.1.2 Resultados de la red con dos capas ocultas .................................... 52 5.1.3 Resultados de la red con tres capas ocultas ................................... 53 5.1.4 Optimización de la red MLP .......................................................... 54 vii
  • 8. 5.2 Resultados con PCA ................................................................................. 55 5.2.1 Extracción de componentes principales ........................................ 55 5.2.2 Resultados al utilizar la PC1 & PC2 .............................................. 59 5.2.3 Resultados al utilizar la PC1 & PC3 .............................................. 60 5.2.4 Resultados al utilizar la PC1 & PC4 .............................................. 61 5.2.5 Resultados al aplicar la red MLP luego del PCA (PCA-MLP) .... 62 5.3 Discusión de los resultados ...................................................................... 63 CONCLUSIÓN .......................................................................................................... 64 Conclusiones ..................................................................................................... 64 Trabajos Futuros ............................................................................................... 65 REFERENCIAS ......................................................................................................... 66 A N E X O S ............................................................................................................... 68 Anexo A: ALGORITMO MLP .................................................................................. 69 Anexo B: ALGORITMO PCA.................................................................................. 73 Anexo C: ALGORITMO MLP APLICADO AL PCA ............................................. 74 viii
  • 9. INDICE DE TABLAS CAPÍTULO PÁGINA Tabla 4-1: Matriz entrada .......................................................................................... 43 Tabla 4-2: Matriz Y .................................................................................................... 43 Tabla 4-3: Matriz testeo ............................................................................................. 44 Tabla 4-4: Matriz yd ................................................................................................... 47 Tabla 4-5: Matriz y0 ................................................................................................... 47 Tabla 5-1: Resultados con una capa oculta ................................................................ 51 Tabla 5-2: Resultados con dos capas ocultas ............................................................. 52 Tabla 5-3: Resultados con tres capas ocultas ............................................................. 53 Tabla 5-4: Optimización de la red MLP..................................................................... 54 Tabla 5-5: Matriz de autovalores ............................................................................... 56 Tabla 5-6: Componentes principales .......................................................................... 56 Tabla 5-7: Porcentaje de variabilidad......................................................................... 57 Tabla 5-8: Resultados red MLP al PCA. .................................................................... 62 Tabla 5-9: Resultados finales de la red MLP vs PCA-MLP. ..................................... 63 ix
  • 10. INDICE DE FIGURAS CAPÍTULO PÁGINA Figura 1-1: Ubicación del proyecto de tesis en la ingeniería ..................................... 12 Figura 2-1: Fases del sistema olfativo humano. ......................................................... 18 Figura 2-2: Sistema olfativo humano vs sistema olfativo electrónico. ...................... 19 Figura 2-3: Comparativo de capacidad sensitiva ....................................................... 20 Figura 2-4: Etapas de la nariz electrónica .................................................................. 22 Figura 3-1: Red MLP y salida .................................................................................... 26 Figura 3-2: Clasificación NAND vs XOR ................................................................. 27 Figura 3-3: Funcionamiento de la red MLP ............................................................. 30 Figura 3-4: Ejemplo de clasificación ......................................................................... 31 Figura 3-5: Esquema de valores de la función purelin............................................... 32 Figura 3-6: Esquema de valores de la función tansing .............................................. 33 Figura 3-7: Clasificación al usar PCA........................................................................ 34 Figura 4-1: Software MATLAB 10.0 ......................................................................... 37 Figura 4-2: Partes de la Red MLP .............................................................................. 46 Figura 4-3: Net's salvadas .......................................................................................... 49 Figura 5-1: Componente principales & Porcentaje de aportación. ............................ 58 Figura 5-2: Resultados del PCA - PC1 vs PC2 .......................................................... 59 Figura 5-3: Resultados del PCA - PC1 vs PC3 .......................................................... 60 Figura 5-4: Resultados del PCA - PC1 vs PC4 .......................................................... 61 x
  • 11. INTRODUCCION Diariamente, observamos nuevas formas y constantes evoluciones de los sistemas electrónicos, esto ha permitido importantes avances en el desarrollo y reproducción de los sentidos humanos, una nariz electrónica es uno de los dispositivos que más expectativas ha despertado, por ser un instrumento un apropiado sistema de identificación de patrones capaz de identificar olores simples o compuestos, haciendo posible utilizar sus datos como medio de monitoreo y control de calidad en aplicaciones para la industria. El Análisis de Componentes Principales (PCA) pertenece a un grupo de técnicas estadísticas multivariantes, el cual ha sido muy difundido, especialmente en el tratamiento de grandes masas de datos. En el presente trabajo se aplicará la técnica PCA para poder obtener una cantidad óptima de datos necesarios para lograr la clasificación de los vinos. La red neuronal MLP es muy usada en variedad de problemas como aproximador universal, en el presente trabajo se pondrá a prueba su capacidad como clasificador utilizando los datos de entradas obtenidos de sensores de la tesis de P.cortez[1]. Finalmente se utilizar la red neuronal MLP dentro de los datos obtenidos al aplicar la técnica del análisis de componentes principales y se discutirá sobre los resultados, haciendo enfasis en el tiempo de respuesta y la cantidad de datos. Para esta tesis se cuenta con el software Matlab® versión 10.0; el cual será utilizado para las simulaciones y tabulaciones necesarias. 11
  • 12. 1. DETERMINACIÓN DEL PROBLEMA A continuación se detalla la ubicación de la presente tesis dentro de la ingeniería, mostrando a detalle las diferentes ramas en las que se desenvuelve: Figura 1-1: Ubicación del proyecto de tesis en la ingeniería. Selección general y específica del problema de investigación Programa: Electrónica Sub-programa: Electrónica Industrial Línea de investigación: Inteligencia Artificial - Redes Neuronales Sub línea de investigación: Reconocimiento de patrones - Uso de la red MLP y el análisis de componente principales 1.1 Formulación del proyecto de investigación 1.1.1 Fundamento Básico Se desarrollará específicamente el área de Electrónica Industrial, el cual se enfocará en el tema de inteligencia artificial, para ello se dará énfasis en los fundamentos de redes neuronales, luego se especifica el uso de los algoritmos de reconocimientos 12
  • 13. de patrones (redes MLP y PCA), para finalizar con la optimización del desarrollo de las redes usadas luego de haber ingresado datos que son requeridos para el aprendizaje y datos adicionales que se usarán para la verificación. 1.1.2 Motivación En la presente investigación existen varias razones importantes y de gran interés que cabe resaltar en la clasificación automática de vinos usando redes neuronales, pero el principal motivo que se considera para el desarrollo de este proyecto es la capacidad optimizar el desarrollo de sistemas de clasificación automática usando las redes neuronales, ya que supone un gran reto para el avance de la inteligencia artificial, debido a su efectividad y de realización no tan complicado. 1.1.3 Formulación Gracias al paso agigantado de la ciencia en la actualidad los avances tecnológicos han hecho posible realizar la recopilación y almacenamiento de datos de manera masiva de, a menudo muy complejos, conjuntos de datos. En este proyecto se ha analizado el desarrollo la clasificación de vino rojo y vino blanco haciendo uso de las redes perceptrón multicapa (MLP) y el análisis de los componentes principales (PCA) para lograr la optimización del algoritmo planteado, para lo cual se cuenta con datos muestreados de la tesis de P. Cortez [1]. Para esta investigación se cuenta con un total de 4.898 muestras de vino blanco y 1.599 muestras de vino rojo, utilizando estos datos se plantea entrenar una red a través los algoritmos lineales (MLP) y paralelamente desarrollar el algoritmo del PCA a fin de obtener una red autómata clasificadora de vinos, mostrar sus resultados detallando su eficiencia y el nivel de su rendimiento. Todos estos datos serán usados para la simulación generada a través del software que permitirá la creación y verificación de la red neuronal. El estudio de dicha red 13
  • 14. ayudará a optimizar la clasificación automática de vinos utilizando redes neuronales. 1.2 Antecedentes Históricos El aprendizaje automático a través del uso de redes neuronales en el campo de la inteligencia artificial ha desarrollado varias aplicaciones en distintos campos, siendo la identificación y clasificación de variables en sistemas uno de los temas más relevantes actualmente. A lo largo de las últimas décadas se ha venido observando los avances y nuevas tecnologías desarrolladas a través de las redes neuronales, esto por su comportamiento e intento de imitar a la perfección el proceso de aprendizaje del cerebro humano. En la Tesis de Sowilam [2] se define que una neurona recibe una señal de entrada con una fuerza determinada, dependiendo de ellas la neurona emite una señal de respuesta, las sinapsis pueden variar en fuerza, algunas pueden dar una señal débil y otras una fuerte. A una neurona pueden llegar miles de señales de entrada, cada una con una fuerza o peso diferente. Nuestro cerebro se encuentra formado por millones de neuronas, las cuales se conectan entre sí para transmitir la información recibida y procesar cada una para lograr dar una respuesta a cada uno de los diferentes estímulos. Es así que se trata de emular estas redes neuronales a través de la inteligencia artificial, logrando armar sistemas complejos compuestos por elementos procesadores simples que se encuentran conectados en paralelo, su función será determinada por la estructura de la red. 14
  • 15. Minsky y Papert[3], realizaron un estudio detallado de los tipos de representaciones posibles con el perceptrón, y demostraron que, en un gran número de casos, estos tipos de redes son incapaces de resolver los problemas de clasificación. Por otro lado, también demostraron que un perceptrón constituido por varias capas, puede realizar cualquier aplicación desde las capas de entrada a las de salida. El inconveniente que se tenía en estos primeros estadios del manejo del perceptrón, era el desconocimiento de un algoritmo de entrenamiento eficiente para redes con más de una capa. En el estudio de Bishop[4], introducen un método alternativo al perceptrón multicapa (MLP) para hacer ajuste a funciones no lineales. El tiempo de entrenamiento es substancialmente inferior al requerido por otros algoritmos. La diferencia la establece si se incorpora en la salida del modelo de entrenamiento, una supervisión a través del control del error que se produce entre los valores calculados y los observados, conduciendo a una retro-propagación del error. 1.3 Estado del arte A continuación se menciona brevemente trabajos relacionados y publicados sobre la selección de variables y reconocimiento de patrones en el uso de la nariz electrónica en la industria. J.P. Santos [5] obtuvieron resultados óptimos con respuestas muy diferenciadas que les permitió realizar la clasificación y cuantificación de vinos con gran precisión utilizando la red multicapa alimentada hacia delante, con 16 neuronas en la capa de entrada (correspondiente a los 16 sensores situados en la cámara) y una capa de salida formada por cuatro neuronas puesto que era igual al número de vinos que clasificó. 15
  • 16. T. Eklov [6] examinan diferentes métodos para seleccionar variables relevantes de un conjunto de variables resultantes de emplear una matriz de sensores de gases. El objetivo es encontrar el mejor subconjunto de parámetros que pueda estimar propiedades interesantes de las medidas. Utilizan forward selection aplicando el error cuadrático medio (RMSE) de un modelo de regresión multilineal como criterio de selección. Con él prueban si el nuevo conjunto obtiene buenas predicciones en una red neuronal de tipo backpropagation. J. Brezmes [7] utilizaron en una nariz electrónica para clasificar muestras de aceite de oliva. Emplearon algoritmos de procesamiento de datos incluyendo PCA y redes modificadas fuzzy ARTMAP. Para reducir el número de variables a utilizar y seleccionar un subconjunto óptimo definen dos criterios diferentes. El primer criterio se define como el poder de resolución de cada variable (relación entre la varianza externa y la varianza interna). El segundo criterio es el promedio de sensibilidad para cada sensor. El conjunto de medidas fue de 90 (9 repeticiones para 10 muestras) con un 62% de tasa de éxito en la clasificación con todas las variables y un 88% de éxito empleando el proceso de selección. T. Artusson [8] muestran que el resultado de la compresión de los datos puede también usarse para facilitar la interpretación de las medidas en dos distintos conjuntos. En el primer conjunto de datos se utiliza el análisis de componentes principales (PCA) como criterio de selección de los coeficientes. El objetivo de las medidas fue monitorizar el agua después de su tratamiento con diferentes filtros. En este caso, el número de variables se redujo en un factor de 18, sin perder información relevante. El segundo conjunto se centró en la separación de diferentes microorganismos utilizando como criterio de selección de los coeficientes la relación entre las varianzas de una misma clase con respecto a las varianzas de diferentes clases (relación inter/intra varianza), reduciendo el número de variables en un factor de al 14,4% de lo inicial. El conjunto de datos reducido capturó suficiente información importante para la identificación de los microorganismos. 16
  • 17. 2. LA NARIZ ELECTRÓNICA Para lograr entender el funcionamiento del sistema olfativo electrónico, es necesario describir brevemente el sistema del olfato biológico. 2.1 Sistema olfativo humano Existe gran diversidad de aromas formados por una gran multitud de mezclas de moléculas, los aromas son inhalados por la nariz para luego entrar en contacto con la mucosa en el epitelio olfativo, donde se hallan los receptores olfativos. Dichos receptores están conectados con miles de neuronas que se encargan de traducir en señal eléctrica. El sistema olfativo biológico se comprende de unos cientos de miles de neuronas receptoras las cuales tienen unos 20 receptores del mismo tipo. Estos se encuentran codificados genéticamente, de manera que existen unos 1000 tipos de receptores diferentes, pero sólo se expresan unos 400 tipos (el resto son pseudo-genes)1. Las neuronas receptoras del epitelio pasan señales eléctricas a una parte del cerebro humano, estas señales son recepcionadas por el bulbo olfativo y sus unidades funcionales, luego se crea una representación básica de una de las características principales de los olores y se transmiten hacia el córtex2. La información que se basa en la estructura química de las moléculas converge en unas representaciones cerebrales de los aromas y de la concentración de la sustancia correspondiente. Mediante estas representaciones se logra distinguir diferentes tipos de olores o aromas a la vez y determinar el predominante; de tal manera que se asocia siempre la misma representación para un determinado olor aún encontrándose éste en niveles de concentración muy distinto. 1 Córtex: en neurociencias, el manto de tejido nervioso que cubre la superficie de los hemisferios cerebral. 2 Pseudogenes: casi el 45% del genoma humano) son copias “muertas” de genes, sin función aparente, ya que no codifican proteínas. 17
  • 18. Figura 2-1: Fases del sistema olfativo humano. En la figura 2-1 se muestra el trabajo que realiza el cerebro al analizar los datos recibidos enviados por los receptores, y en función de la respuesta combinada de éstos, se cambia la percepción humana. El sistema olfativo es conocido como sistema químico-sensorial, pues convierte señales químicas en percepción, es justamente este análisis lo que permite realizar un paralelo con la parte artificial, utilizando matrices de sensores y ordenadores para poder emular este comportamiento natural. 2.2 Sistema olfativo artificial A pesar de toda su complejidad, el sistema olfativo humano a menudo no nos es suficiente. Diariamente vemos en las noticias nuevas técnicas sobre el uso de las narices más sensibles de los perros cuando se trata de rastrear, detectar sustancias peligrosas, explosivas o hasta ilegales. Antiguamente en las minas de carbón usaban canarios que indicaba que la atmósfera era respirable mientras éste cantara. En ese caso no se pretendía aprovechar un sistema olfativo más sensible, sino utilizar al 18
  • 19. canario como alarma sonora y visual ante la imposibilidad de evaluar la calidad del aire por parte del hombre. Actualmente la tecnología ha desarrollado un universo de gran diversidad de sensores que indican las concentraciones de multitud de gases, obteniendo datos muy precisos y de gran importancia para la salud. Es justamente de la idea de emular el sistema olfativo biológico con sensores de gases y redes neuronales que nace el concepto de una nariz electrónica, la cual se define más adelante. 2.3 Paralelismo entre los sistemas olfativos A diferencia de las células receptoras en el sistema olfativo humano, estas son reemplazadas por sensores de gases, las cuales reaccionan con diversos compuestos volátiles. La transducción de la señal alojada en los receptores olfativos se reemplaza en la nariz electrónica por circuitos de acondicionamiento de la señal convirtiéndola de manera normal en una señal eléctrica de voltaje, la codificación de la señal neuronal utilizada para poder reconocer un olor y su intensidad en los humanos es sustituida aplicando el reconocimiento de patrones como se muestra en la figura 2-2. Figura 2-2: Sistema olfativo humano vs sistema olfativo electrónico. 19
  • 20. Así como pasa en los sistemas humanos, esta técnica de análisis global no necesita identificar minuciosamente cada constituyente de un olor y sus diferencias sino reconocerlo. Se debe considerar que los sistemas electrónicos utilizados hoy en día no trabajan exactamente igual que una nariz humana ya que no detectan los mismos componentes volátiles, además su sensibilidad es menor. Figura 2-3: Comparativo de capacidad sensitiva. En la figura 2-3 se realiza la comparación sensitiva entre el olfato humano y los sensores usados en el olfato electrónico, en definitiva los sistemas de olfato electrónico imitan al sistema olfativo humano, acoplando una matriz de sensores químicos a métodos avanzados de reconocimiento de patrones que permiten caracterizar o discriminar mezclas aromáticas complejas sin una previa separación de sus constituyentes. Una característica muy variable en los aromas y sustancias olorosas es su peso o masa molecular, ya que los olores se representan como mezclas complejas de diferentes compuestos. Según la Ley de Difusión Gaseosa establecida por Thomas Graham las velocidades de difusión de los gases están relacionadas con las raíces cuadradas de sus masas moleculares. 20
  • 21. En la investigación de Schoenfeld y Cleland [9], se hace mención a las cavidades olfativas y como estas favorecen a la difusión de los compuesto químicos volátiles, inclusive en condiciones estables de entrada de caudal de aire. Para imitar este mecanismo se puede disponer de múltiples sensores colocados en una cámara geométricamente compleja para adquirir y valorar todas sus señales conjuntamente. 2.4 Olfato Electrónico Se entiende por nariz electrónica al equipo complejo formado por series de módulos, los cuales trabajan de forma conjunta con el objetivo principal de cuantificar y clasificar distintas muestras gaseosas, vapores y aromas en un ambiente propicio con sensores de gas. Desarrollado en la década del 80, el principio de funcionamiento consiste en una serie de sensores químicos que se acoplan a un programa de reconocimiento de patrones adecuados que emula al ser humano. En la investigación de Bernadó & Llobet [10] se describe la nariz electrónica como un instrumento que comprende una matriz de sensores químicos con sensibilidades solapadas y un avanzado sistema de reconocimiento de patrones, capaz de reconocer aromas simples o complejos. De una manera coloquial se podría afirmar que a este tipo de instrumentos se les denomina de olfato electrónico por dos motivos [11]: a) Porque su configuración y funcionamiento emulan al del sistema de olfato humano. b) Porque pretende realizar funciones tradicionalmente atribuidas al sistema de olfato biológico. 21
  • 22. A diferencia de los instrumentos de químicos tradicionales que también se encargan de obtener datos de distintas muestras gaseosas, la nariz electrónica tiene una filosofía distinta. Por ejemplo, el cromatógrafo de gases es un instrumento utilizado para proporcionar un gasto constante de gas el cual detecta por separado los componentes de la muestra, a diferencia de este último la nariz electrónica valora cada muestra en su conjunto prestando menos atención a cada componente de manera individual que conforma la mezcla gaseosa a caracterizar. La nariz electrónica comprende pues, un sistema de muestreo, un sistema de medición, el cual está provisto de sensores químicos, y un sistema informático que controla el proceso de medición y permite aplicar técnicas de pre-procesado de datos, ejecutando el reconocimiento de patrones para la detección y cuantificación de cualquier compuesto volátil3. Este dispositivo está compuesto principalmente por cuatro etapas, cada una con funciones diferentes e indispensables, a continuación se detalla la imagen de un esquema presentado en el estudio de S. R. Bosch[12]. Figura 2-4: Etapas de la nariz electrónica. 3 Compuesto volátil: sustancia que tiende a evaporarse fácilmente, como el alcohol, el éter, la acetona, la gasolina, etc. 22
  • 23. En la figura 2-4 se muestra el diseño de una nariz electrónica, esta consta de cuatro etapas. La primera se encarga de realizar el muestreo de la mezcla gaseosa que se va a utilizar. En la segunda etapa es necesario el uso de un conjunto de sensores de gases, los cuales se encargan de realizar la detección de los compuestos volátiles, entre ellos el alcohol. La tercera etapa está relacionada con la electrónica de control pues en esta, se realiza el procesamiento de la señal por el conjunto de sensores y la realineación de la señal. Finalmente a través de la computadora se extraen los rasgos que caracterizan cada aroma para luego aplicar los algoritmos de clasificación de patrones, es en esta etapa que se utilizan las redes neuronales artificiales. 2.5 Ventajas del uso de sistemas de olfato electrónico en la industria Actualmente el incremento de las industrias vitivinícolas en diversos sectores industriales, ha generado una mayor demanda y accesibilidad a sistemas fiables para lograr asegurar la calidad y seguridad de su materia prima, para el caso de los vinos. Grandes industrias como las farmacéuticas, invierten miles de dólares en instrumentos analíticos tradicionales, lo que suele de alto costo, difícil mantenimiento y operación, no solo eso, los análisis realizados suele no dar respuestas en tiempo real. Es en estas situaciones en la que el sistema olfativo electrónico se vuelve de gran ayuda, dentro del estudio de Gualdrón[13] y sus aportes se puede destacar lo siguiente: a) Análisis no destructivo del producto. b) Obtención de resultados en tiempo real (en cuestión de minutos). c) Portabilidad, robustez y bajo precio. d) Adaptación a diferentes cantidades y variedades de productos. Existen diversas formas de poder lograr la clasificación de vinos, en esta investigación se estudiará el uso de las redes neuronales lo que permitirá la clasificación de manera automática, a continuación el estudio de las redes que se utilizarán. 23
  • 24. 3. SIMULACIÓN DE TÉCNICAS COMPUTACIONALES DE INTELIGENCIA ARTIFICIAL 3.1 Redes neuronales artificiales En las últimas décadas las Redes Neuronales Artificiales han recibido un interés particular como una tecnología para minería de datos, puesto que ofrece los medios para modelar de manera efectiva y eficiente problemas grandes y complejos. Los modelos son dirigidos a partir de los datos con los que se cuenta ya que son capaces de encontrar relaciones o patrones de forma inductiva por medio de los algoritmos de aprendizaje basado en los datos existentes. En 1997 Sherperd & Kock[14] determinan que en la corteza cerebral existen cerca de 60 billones de conexiones, concluyendo que la efectividad de la neurona consiste en sus mecanismos de interconexión a través de conexiones masivas. En 1977 surge la primera idea de las utilizar redes artificiales para el reconocimiento de patrones cuando Escudero[15] intentó explicar el funcionamiento del cerebro humano, por medio de una red de células conectadas entre sí. Lo aplicaron a la implementación de operaciones lógicas. Partieron del menor suceso psíquico: el impulso, generado por una célula nerviosa. En 1962 Rosenblatt[16] logra el desarrollo de la red multicapa perceptrón, donde una serie de entradas se aplican a este, luego dichas entradas son multiplicadas por un peso, que representa la fuerza de la conexión, todas las entradas multiplicadas por sus pesos se proceden a sumar. 24
  • 25. Una de las herramientas más usadas en la clasificación de patrones es la red Feed- forward4 con aprendizaje supervisado, dentro de esta red se encuentra el perceptrón. El perceptrón simple, adalina y perceptrón multicapa con algoritmo de aprendizaje back-propagation (retropropagación) son los modelos neuronales más empleado en las aplicaciones prácticas. La historia de las redes neuronales está ligada al desarrollo y evolución de esta red, a finales de los años cincuenta se propone el estudio de la red perceptrón simple y la adalina lo que despertó un gran interés en el ámbito científico, logrando alcanzar gran popularidad en durante los años setenta, pero el estudio realizado por Minsy & Papert [3], mostró gran cantidad de objeciones históricas que acabaron con la mayor parte de los recursos económicos destinados para su desarrollo. 3.2 Resurgimiento de la red perceptrón Rumelhart [17] desarrollan un procedimiento innovador de aprendizaje de las redes, el cual usa la diferencia al cuadrado entre la respuesta deseada y la producida por el sistema como una medida del error a minimizar. El ajuste comienza en la capa de salida, donde el error es medible, y se va propagando hacia atrás hasta llegar a la capa de entrada, backpropagation. La primera aparición del perceptrón simple fue realizada a principios de los años 60, en el estudio de Rosenblatt[16], presentado en 1962, se trata de un modelo unidireccional, compuesto por capas de entradas5 y otra de salida. La red perceptrón logra realizar tareas de clasificación, cada neurona del perceptrón representa una determinada clase, de tal manera que dado un vector de entrada, una cierta neurona responde con „0‟ si no pertenece a la clase que representa y „1‟ si pertenece. La 4 (Feed-forward) redes unidireccionales organizadas en capas. 5 Las neuronas de entrada no realizan operaciones, solo envían la información a la siguiente neurona, siendo su función de activación un escalón. 25
  • 26. función de activación de las neuronas presentes en la capa de salida es del tipo escalón, como se muestra en la figura 3-1. Red MLP Salida Las neuronas de la capa de entrada no realizan Es del tipo escalón ya que puede ser de dos tipos 1 para operación alguna, solo dan los datos de entrada. el Vino blanco o 0 para el Vino rojo. Figura 3-1: Red MLP y salida. El perceptrón se utiliza como clasificador y para representar algunas funciones booleanas (NAND,OR) por su salida binaria, como se muestra en la figura 3-2. Una de las características más resaltantes en la historia del perceptrón es su carácter de dispositivo entrenable, pues permite determinar automáticamente los pesos sinápticos entre la capa de entrada y la capa de salida. Sin embargo, pese a su gran interés, el perceptrón presenta serias limitaciones, ya que solamente logra representar funciones linealmente separables, una decepción ya que si bien es cierto logra aprender y representar funciones complejas y resolver con éxito problemas de clasificación, en otras ocasiones falla, la clase de funciones no separables linealmente no puede ser representada por un perceptrón simple. 26
  • 27. Un ejemplo clásico se muestra a continuación, en la figura se logra separar linealmente la variable AND pero no obtiene el mismo resultado al trabajar con la variable XOR, este inconveniente fue obrservado y detallado por Minsky y Papert[2], en este estudio exhaustivo se hace énfasis en las limitaciones del perceptrón, lo que conllevó a que muchos de los recursos que se estaban invirtiendo en redes neuronales y estudios similares, se desviasen hacia otros campos más prometedores de la época como la inteligencia artificial. Función NAND Función XOR Todas las combinaciones de variables tienen como Si las variables son iguales su salida será ‘0’, si son salida a ‘1’, expceto cuando ambas variables son ‘1’. diferentes su salida será ‘1’. Figura 3-2: Clasificación NAND vs XOR. En el estudio de Rumelhart[17] se demuestra que si la función a representar es linealmente separable, este algoritmo siempre converge en un tiempo finito y con independencia de los pesos de partida. Por otra parte, si la función no es linealmente separable, el proceso de entrenamiento oscilará, el algoritmo del perceptrón termina su desarrollo tan pronto como termina de clasificar correctamente todos los ejemplos. Para garantizar una respuesta exacta o bastante aproximada usando el perceptrón se debe considerar que el número de medidas obtenidas sea alto, las ecuaciones realizadas por las redes para el entrenamiento suele ser de órdenes elevados, de 27
  • 28. manera que el tiempo de respuesta depende mucho de esta variable, es por eso que se debe tener cuidado con la potencia del cálculo necesario para ejecutar esta fase. 3.3 PÉRCEPTRON MULTILAYER (MLP) En el estudio de las redes neuronales artificiales (NNA), utilizados para la clasificación de patrones, una de las redes más usadas es la red perceptrón multicapa (MLP), conocida por su gran capacidad para realizar transformaciones matemáticas entre conjuntos de variables, la capacidad de generalización y aprendizaje y su baja sensibilidad al ruido. En una red MLP las neuronas son entrenadas tomando como base ejemplos de desempeño con una base limitada o comportamiento deseado. Dicho comportamiento se resume como un conjunto de pares ordenados de entrada y salida donde la cantidad de neuronas a utilizar depende netamente del problema que se analiza, una vez que se halla la salida aproximada se busca reducir el error el cual está relacionado por una ecuación entre la salida correcta y la salida real de la red. La red MLP permite entrenar una red neuronal utilizando un conjunto de medidas de calibración. Ayuda a la clasificación de nuevos datos utilizando un modelo de red el cual fue previamente entrenado. Evalúa la posibilidad de clasificar medidas mediante su sistema, a través de procesos de validación. El objetivo de la red MLP es clasificar un determinado número de medidas a partir de un entrenamiento previamente realizado, a esto se le denomina modelo, este método es del tipo no lineal que permite la clasificación y cuantificación de resultados. Lo que hace la regla de aprendizaje tipo perceptrón es calcular cambios deseados de acuerdo a los pesos y bias6 de la red, dado una neurona de entrada y el error asociado. 6 Bias: determina con que dificultad el perceptrón da un impulso de salida. 28
  • 29. El algoritmo se ejecuta repetidas veces ocasionando que el perceptrón tenga una mayor probabilidad de producir salidas cercanas a las correctas. Propuesta una solución y analizada su existencia, el perceptrón convergerá después de un número finito de interacciones. Una red de tipo perceptrón consiste en un conjunto de neuronas divididas en distintas capas. Cuando al sistema se le suministran los datos de un nuevo caso se actualizan en primer lugar las neuronas de la capa de entrada, y así sucesivamente hasta la capa de salida, que indica la respuesta del sistema. Rumelhart [17] se desarrolla un procedimiento innovador de aprendizaje de las redes, el cual usa la diferencia al cuadrado entre la respuesta deseada y la producida por el sistema como una medida del error a minimizar. El ajuste comienza en la capa de salida, donde el error es medible, y se va propagando hacia atrás hasta llegar a la capa de entrada, y por eso a este algoritmo también se le conoce como BP (back- propagation - retropropagación). 3.4 Algoritmo de entrenamiento de una MLP En el libro de Bonifacio[18] se indica que para el desarrollo de la red MLP y su entrenamiento se debe usar el algoritmo feed-forward. Una red se dice feed-forward si existe un método de numeración de sus neuronas que la numera a todas de manera que no hay conexión entre una neurona i-ésima y la j-ésima si i ≥ j. En esta definición las conexiones son orientadas, la conexión i-j es distinta que la j-i. Definida la entrada como un vector denominado X y la salida denominada Y, se considera para empezar el caso más simple; aquel en que la red asocia a cada patrón de entrada Xj una salida Yj, sin importar las entradas y salidas que haya generado antes. Siendo Sj la salida de la neurona i-ésima de entrada, wji el peso entre la neurona i la j, y zj la salida de la neurona oculta j-ésima. 29
  • 30. Figura 3-3: Funcionamiento de la red MLP. Usando la figura 3-3 se define se define el entrenamiento mediante BP de la siguiente manera: a) Establecer aleatoriamente los pesos y umbrales iniciales (t:=0). b) Para cada patrón j del conjunto de aprendizaje: a. Ejecutar la red para obtener una respuesta ante el patrón j-ésimo pasado. b. Calcular las señales de error asociadas a las neuronas ocultas y neuronas de salidas. c. Calcular la variación y aumento debido a cada patrón j. c) Calcular el incremento total de los pesos de la capa entrada hacia la oculta y de esta última hacia la capa de salida. d) Énfasis en la actualización de pesos y umbrales. e) Calcular el error actual y volver a b) si el resultado un no es satisfactorio. 30
  • 31. La red MLP es un entrenamiento que cuenta con error de aprendizaje, el cual es calculado con el error cuadrático medio usando los datos entregados por la salida, si la red es de gran tamaño dicho error puede reducirse tanto como se desee realizando mas iteraciones. Uno de los temas importantes en este estudio es hallar el tope de generalización, con la cual se puede saber el momento ideal para detener el algoritmo, para esto se emplea un conjunto representativo de patrones diferentes a los utilizados en el entrenamiento. De este modo se puede entrenar a la red neuronal haciendo uso de datos de aprendizaje, para comprobar su eficiencia real, mediante un conjunto de test. 3.5 Sobre-Entrenamiento de una red MLP La red MLP es la encargada de entender las muestras que se le presenten y llevar a cabo una relación de tal manera que luego del aprendizaje logre demostrar su efectividad en la etapa del testeo. Para esto se deberá encontrar el número óptimo de neuronas para su configuración. Figura 3-4: Ejemplo de clasificación. 31
  • 32. Como se observa en la figura, la red se va adaptando progresivamente al conjunto de aprendizaje, acomodándose al problema y mejorando la generalización, hasta que llega al punto de ajustarse idóneamente a las particularidades de los patrones empleados en el entrenamiento; logra aprender el ruido presente y es aquí donde crece el error de generalización, la red no se ajusta correctamente y comienza a memorizar los patrones de los datos ingresados, a este fenómeno se le denomina sobre-aprendizaje (overtraining o overfitting), lo ideal es que se entrene hasta cierto punto óptimo en el cual el error de generalización es mínimo. 3.6 Función de salida Una de las ventajas que otorga esta red, es la modificación de la función de salida. La función tiene que ser del tipo Purelin o Tansing pero dando la facilidad de usar una u otra sin ningún problema. 3.6.1 Función PURELIN Esta función se caracteriza por presentar una pendiente unitaria, se debe tener cuidado al momento de usarse ya que podría presentar problemas con los datos, pues si alguno no es congruente lograría que la respuesta tienda al infinito y al no tener una acotación generaría un error en los resultados finales. a Figura 3-5: Esquema de valores de la función purelin 32
  • 33. 3.6.2 Función TASING Dicha función delimita los valores de la salida entre [-1,1], ya que se acota los resultados, aun si alguna variable tienda al infinito no será problema pues las limitaciones frenarían este comportamiento. Figura 3-6: Esquema de valores de la función tansing. 3.7 Análisis de los componentes principales (PCA) Se trata de un método de análisis multivariable, que utiliza las redes neuronales para su desarrollo en modo no supervisado, esencialmente creada para el análisis gran cantidad de datos entrada, al obtener los datos utiliza la estructura de los mismos y se procede a realizar una agrupación en unas nuevas variables a las que se les denomina factores o componentes principales. El objetivo es reducir estos datos a un menor número perdiendo la menor cantidad de información posible. Los datos de entrada con los que se cuenta presentan valores cercanos a cero, estos datos no poseen gran información y contribuyen poco al estudio por lo que pueden ser eliminados sin causar gran pérdida. Al ser una técnica de carácter lineal, presenta buenos resultados solo en condiciones lineales. 33
  • 34. El uso de la la técnica PCA en esta tesis es simplificar el conjunto extenso de datos, reduce el número de variables ya que presenta información redundante y el exceso de variables dificulta el análisis de información. Analiza la información a partir de las interacciones entre las variables, logrando obtener tantos factores como variables analice Estos factores no son observables, aunque se basan en las relaciones entre las variables iniciales, son independientes y no se relacionan entre si, en la representación se muestran como ejes ortogonales. Figura 3-7: Clasificación al usar PCA Los algoritmos PCA utilizados en esta tesis se han implementado en el entorno de programación que ofrece en el paquete informático MATLAB. Las subrutinas básicas CA se encuentran en un paquete multivariante denominado PLA-Toolbox 2.0 que se acopla al programa principal. En concreto, existen dos subrutinas PCA (versión clásica) y PCAPRO (PCA en modo supervisado). 34
  • 35. Sin embargo, estas funciones son excesivamente generales para los objetivos de este trabajo. Ha sido necesario programar una serie de funciones auxiliares para facilitar la integración y evaluación de estos algoritmos en el objetivo planteado de esta tesis. En concreto, ha sido necesario realizar este algoritmo para distinguir de manera gráfica como se realiza la clasificación de ambos vinos, para ello se han programado tres distintas cargas de datos de vino blanco ya que se tiene el triple de muestras que de vino rojo, esto nos permite ver con mayor claridad en distintas gráficas el método de clasificación cuyo algoritmo se muestra en el capítulo 4, donde se observará los resultados obtenidos. 3.7.1 Componentes principales Del estudio realizado por T. Guerrea[18] se destaca las fases de componentes principales; a) Análisis de la matriz de correlaciones Un análisis de componentes principales tiene sentido si existen altas correlaciones entre las variables, ya que esto es indicativo de que existe información redundante y, por tanto, pocos factores explicarán gran parte de la variabilidad total, en esta matriz pueden existir valores negativos. b) Selección de los factores La elección de los factores se realiza de tal forma que el primero recoja la mayor proporción posible de la variabilidad original; el segundo factor debe recoger la máxima variabilidad posible no recogida por el primero, y así sucesivamente. Del total de factores se elegirán aquéllos que recojan el porcentaje de variabilidad que se considere suficiente. A éstos se les denominará componentes principales. 35
  • 36. c) Análisis de la matriz factorial Una vez seleccionados los componentes principales, se representan en forma de matriz. Cada elemento de ésta representa los coeficientes factoriales de las variables (las correlaciones entre las variables y los componentes principales). La matriz tendrá tantas columnas como componentes principales y tantas filas como variables. d) Interpretación de los factores Para que un factor sea fácilmente interpretable debe tener las siguientes características, que son difíciles de conseguir: • Los coeficientes factoriales deben ser próximos a 1. • Una variable debe tener coeficientes elevados sólo con un factor. • No deben existir factores con coeficientes similares. En el estudio de Brezmes[20] se utiliza dicho algoritmo para el ámbito de narices electrónicas y su representación bidimensional del conjunto de medidas, a fin de observar si se logra determinar agrupaciones espontáneas entre las diferentes medidas realizadas. Otro método clásico es el Discriminant Function Analysis (DFA), el estudio de Kekla [21], utiliza este método para discriminar un conjunto de medidas usando los coeficientes del modelo, llamados variables canónicas. Se trata de un método supervisado más potente que el PCA, aunque con riesgos de sobre-entrenamiento. En el artículo de J, Vazques [22] los resultados experimentales obtenidos demuestran que la fusión del algoritmo que utiliza el PCA logra disminuir la cantidad de datos y obtener una respuesta mucho mejor ya que logó eliminar el ruido proveniente de los sensores. 36
  • 37. 4. DISEÑO Y SIMULACIÓN En este capítulo se describe los resultados y datos obtenidos a partir de dos métodos conocidos para la clasificación de datos. Con respecto a los resultados, se mostrarán en cuatro partes las cuales explican el desarrollo del presente trabajo y la evolución que hubo aplicando la red MLP para luego mostrar los resultados obtenidos al aplicar el algoritmo PCA. 4.1 Software utilizado El software utilizado en la presente tesis es MATLAB versión 10.0 como se muestra en la figura 4-1, en la cual se desarrollan distintos algoritmos para la simulación. Esta versión cuenta con una función automática en su toolbox para la utilización de algoritmos genéticos y redes Fuzzy ARTMAP, las cuales no serán usadas puesto que se trabajará con un algoritmo implementado con otro tipo de red. Figura 4-1: Software MATLAB 10.0 37
  • 38. 4.2 Diagrama de flujo INICIO Vino Blanco Vino Rojo 100% de los datos 100% de los datos Normalización Análisis de Componente Principales SCORE V.blanco (0a1) V.rojo (0a1) 20% de los datos 80% de los datos 20% de los datos 80% de los datos Entrenamiento Testeo Secuencia de flujo del PCA aplicado al MLP. Secuencia de flujo del MLP. ----------- Datos del vino blanco. NET Datos del vino rojo. Salva los datos V.blanco normalizados del vino blanco. y0 Salva los datos yd V.rojo normalizados del vino rojo. ECM% Error cuadrático medio. y0 Salida obtenida. yd Salida deseada. Comprobación% ECM% Salvan las mejores NET 7-8-9 configuraciones. Salva configuraciones con NET_XTREME sobre-entrenamiento. Nueva matriz generada para hallar el porcentaje SCORE de varianza y NET_7 96% componentes principales. NET_8 97% NET_9 98% NET_XTREME FIN 38
  • 39. 4.3 Mediciones obtenidas De la tesis presentada por P. Cortez[1] se tiene los patrones de entrada del vino rojo y el vino blanco, estandarizando 12 muestras para ambos vinos las cuales se mencionan a continuación: a) Acidez fija Tipo de acidez que queda determinada por la diferencia entre la acidez total y la acidez volátil. b) Acidez volátil De acuerdo su definición oficial “la acidez volátil está constituida por los ácidos grasos pertenecientes a la serie acética que se encuentran en los vinos, bien en estado libre, bien en estado asociado” OIV[23]. c) Acido cítrico El ácido cítrico es uno de los aditivos más utilizados por la industria. Se obtiene por fermentación de distintas materia primas como la uva. d) Azúcar residual Definido por el azúcar que tras la fermentación permanece en el vino. Según la cantidad que permanece en el vino este de denomina seco, semiseco, semidulce o dulce. e) Cloruro El contenido de cloruros en los vinos es variable, en general es inferior a 0.5g/l. f) Alcohol El aumento del alcohol tiende a resaltar una mejor calidad en el vino. 39
  • 40. g) Dióxido de sulfuro libre En la elaboración del vino, es importante añadir dióxido de sulfuro libre para evitar la oxidación cuando hay oxígeno alrededor. h) Total de dióxido sulfúrico Oxida antes que los compuestos de fenol presente absorbiendo el oxígeno. i) Densidad El alcohol tiene una densidad fija que es 0793, y el extracto, al estar disuelto, sube la densidad del vino proporcionalmente a su cantidad. j) Pondus Hidrogenium (pH) El pH en el vino determina su acidez. El nivel de pH va aumentando a lo largo del ciclo de maduración de la uva, y a medida que aumenta este nivel, la acidez disminuye. k) Sulfato El contenido de sulfatos procede de la uva y efectivamente la concentración aumenta de forma escalonada conforme envejece el vino una vez embotellado. l) Calidad (entre 0 y 10) Los vinos de mayor calidad suelen provenir de suelos más bien pobres en materias orgánicas, calizos y poco húmedos. . 4.4 Datos de entrada De la matriz obtenida en la Tesis presentada por P. Cortéz [1], se ha modificado el orden ya que algunos valores tienden a ser 0, lo que no es optimo para el entrenamiento, se reordeno las filas sin realizar modificaciones a las columnas (patrones). 40
  • 41. Del vino blanco se cuenta con 4899 muestras la cual se ingreso en una base de datos denominado blanco.mat. Del vino rojo se cuenta con 1599 muestras la cual se ingreso en una base de datos denominado rojo.mat. Para la demostración, se utilizara 1461 datos de cada vino, de los cuales 1100 serán para el entrenamiento y 361 para testeo, dando un total de 2200 datos de entrada y 722 para el entrenamiento, la capa de entrada consta de 12 neuronas, se utilizan dos capas oculta la cual presenta una cantidad de neuronas que cambiante para las pruebas y una única capa de salida que se encargará de clasificar si se trata vino blanco („1‟lógico) o rojo („0‟logico). Para el caso del patrón de “acido crítico”, presente en ambos vinos, se ha notado que cuenta con valores entre 0 y 1, siendo 0 el valor mínimo presente en 132 muestras, lo cual no ayuda en la etapa de entrenamiento, por este motivo se ha realizado un filtro, dejando estos valores para el final a fin de que ayude a validar la eficiencia de la red. 4.5 Normalización La primera variable a crear en el MATLAB se denomina vino_rojo que consta de 1461 valores. El segundo valor ingresado en el MATLAB se denominara vino_blanco que consta de 1461 valores. Con la base de 2922 muestras tomadas de ambos vinos, se procede a realizar la normalización de los datos de entradas. Se crean dos nuevas variables llamadas norma_vblanco & norma_vrojo para el vino blanco y rojo respectivamente, estas variables guardaran los datos normalizados de la siguiente manera, se divide cada dato entre el mayor valor de la columna que lo comprende, de esta manera se tendrá dos matrices de 11461x12 almacenado en cada variable, las cuales tienen valores comprendidos entre 0 y 1; por ejemplo: 41
  • 42. Si ; el mayor valor de la primera columna es 16, el segundo 81 y el tercero 256 respectivamente. Al realizar la normalización se obtiene: 4.6 Entrenamiento de la red MLP Para el entrenamiento de la red se crean 2 variables denominadas entren_vblanco & entren_vrojo, citando la teoría del MLP y su recomendación se toma el 80% de datos normalizados para el entrenamiento y se almacenan en estas variables. Las dimensiones de estas variables se guardan en la variable VB & VR correspondiente a cada vino, estas se utilizarán para obtener la cantidad exacta de datos para entrenar. La variable entrada se define como una matriz de 2200x12 generada por los datos de entren_vblanco sobrepuesto a los datos de entren_vrojo, de la siguiente manera: La variable clasificacion se define como una matriz de 2200x1 depende directamente de los datos salvados en VR & VB, esta variable es de una única columna la cual se divide en Zeros(„0‟) y Ones(„1‟). Por ejemplo: 42
  • 43. La variable X guarda la transpuesta es la variable entrada. Dióxido Total de Densidad Acidez Acidez Ácido Azúcar de Cloruro dióxido pH Sulfato Alcohol Calidad Fija Volátil cítrico Residual sulfuro sulfúrico libre 7.4 0.7 0 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5 7.8 0.88 0 2.6 0.098 25 67 0.9968 3.2 0.68 9.8 5 7.8 0.76 0.04 2.3 0.092 15 54 0.997 3.26 0.65 9.8 5 11.2 0.28 0.56 1.9 0.075 17 60 0.998 3.16 0.58 9.8 6 7.4 0.7 0 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5 7.4 0.66 0 1.8 0.075 13 40 0.9978 3.51 0.56 9.4 5 7.9 0.6 0.06 1.6 0.069 15 59 0.9964 3.3 0.46 9.4 5 7.3 0.65 0 1.2 0.065 15 21 0.9946 3.39 0.47 10 7 7.8 0.58 0.02 2 0.073 9 18 0.9968 3.36 0.57 9.5 7 7.5 0.5 0.36 6.1 0.071 17 102 0.9978 3.35 0.8 10.5 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 0.56 0.28 1.7 0.368 16 56 0.9968 3.11 1.28 9.3 5 7.4 0.59 0.08 4.4 0.086 6 29 0.9974 3.38 0.5 9 4 7.9 0.32 0.51 1.8 0.341 17 56 0.9969 3.04 1.08 9.2 6 8.9 0.22 0.48 1.8 0.077 29 60 0.9968 3.39 0.53 9.4 6 Tabla 4-1: Matriz entrada La variable Y guarda la transpuesta es la variable clasificacion. CANTIDAD 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 VALOR 1 1 1 1 1 0 0 0 0 0 0 Tabla 4-2: Matriz Y 4.7 Testeo El 20% que no se utilizó de los datos normalizados de los vinos se utilizan en esta parte y se utilizan como datos de testeo para comprobar a que porcentaje del nivel de aprendizaje logró desarrollarse la red neuronal. Los 722 valores que no fueron utilizados de la normalización anterior son colocadas en las variables test_vblanco & test_vrojo. La variable TB está compuesta por los 43
  • 44. valores de las dimensiones de la variable test_vblanco y de la misma manera la variable TR. Para este caso es una matriz de 2x2. Al igual que para la parte del entrenamiento se crearon las variables entrada_entr & clasifica_entr para el testeo se crearan dos variables de la misma manera llamadas entrada_test compuesta por test_vblanco y test_vrojo y la variable clasifica_test compuesta por tantos „ones‟ como el valor de la primera columna de TB y tantos „zeros‟ como valores de la primera columna de TR. Finalmente se crea la variable testeo que está compuesta por la transpuesta de la variable entrada_test anteriormente creada. Por razones de espacio solamente se da a conocer los 11 primeros datos DATOS 1 2 3 4 5 6 7 8 9 10 11 1 0.8132 0.8132 0.8132 0.8342 0.7342 0.4322 0.2343 0.2344 0.4322 0.3234 0.4323 2 0.5565 0.2727 0.3234 0.5432 0.8983 0.3423 0.4323 0.2343 0.8874 0.4388 0.2349 3 0.7032 0.2345 0.7830 0.4848 0.7738 0.3284 0.4359 0.9983 0.4388 0.8384 0.8484 4 0.1003 0.8438 0.8458 0.8587 0.8438 0.8438 0.8545 0.8834 0.8438 0.7574 0.8483 5 0.6435 0.8487 0.8384 0.8734 0.7473 0.3708 0.8434 0.8649 0.8348 0.7437 0.7474 6 0.8023 0.5838 0.8438 0.8487 0.8483 0.7554 0.8584 0.8748 0.8934 0.7575 0.8789 7 0.9855 0.9488 0.8547 0.7457 0.8785 0.7753 0.9877 0.2347 0.3478 0.3858 0.7657 8 0.1255 0.7348 0.5885 0.7753 0.4573 0.3487 0.8576 0.2389 0.8543 0.8348 0.8438 9 0.5543 0.8659 0.3874 0.7834 0.7848 0.8324 0.8434 0.7653 0.8437 0.7394 0.8347 10 0.8347 0.8451 0.8374 0.1349 0.8348 0.8558 0.8834 0.9433 0.9348 0.9348 0.8756 11 0.9875 0.9984 0.3445 0.7889 0.3847 0.8475 0.8347 0.7753 0.8832 0.8374 0.9835 12 0.9873 0.9848 0.7342 0.7575 0.8383 0.8548 0.8458 0.4378 0.7853 0.9852 0.8573 Tabla 4-3: Matriz Testeo 4.8 NET La siguiente variable a guardar se denomina NET, es en esta variable en la cual se adjunta la red, se entrena con 12 ceros lógicos („0‟)y 12 unos lógicos („1‟), teniendo así una matriz de 12x2, luego se coloca el número de neuronas por capa, de las cuales la capa de entrada es igual al número de datos entrenados y la capa de salida es uno pues representa la neurona que nos indicará si la salida corresponde al vino blanco(„1‟) o al vino rojo(„0‟). 44
  • 45. La variable NET es sin duda la parte principal de este algoritmo ya que en ella se guarda los datos de la cantidad de neuronas necesarias halladas a través de la simulación para que la red neuronal logre aprender a clasificar los datos de los vinos rojos y blancos. En el comando newff se guardan los siguientes datos: La transferencia de funciones TF puede ser cualquier transferencia diferenciable, funciones tales como la TANSIG & PURELIN. Para controlar de forma más exhaustiva el entrenamiento de una red de tipo Backpropagation se emplea el algoritmo de entrenamiento “Batch Gradient Descent” (traingd). Los siguientes datos a colocar son aquellos que limitarán la red para que esta tenga un dato óptimo y no llegue al sobre entrenamiento, se muestra en la figura 4-2. net.trainParam.epochs = Número máximo de iteraciones net.trainParam.show = Actualizar salida cada ciertos épocas net.trainParam.lr = Velocidad de convergencia net.trainParam.goal = Objetivo para converger De esta manera la variable NET realiza el entrenamiento usando la variable net ya guardada, X & Y. Variable NET en el Matlab net = newff( [ zeros(12,1) ones(12,1)] , [300-j j 1] , {'tansig' 'tansig' 'purelin' } , 'traingd' ) 45
  • 46. %la variable newff usada a continuación presenta un modelo fijo o %plantilla de datos a ingresar. %Este es el comando que literalmente describe el esquema de la red %neuronal y realiza el entrenamiento en la primera capa las %neuronas %con entradas ceros y uno dos columnas, la segunda capa oculta con %la cantidad de neuronas ocultas, es aquí donde se %realizan los %cambios, valores aleatorios. La tercera capa es el tipo de salida %que se desea, para este caso la salida será traingd o descenso de %gradiente por back propagation. Figura 4-2: Partes de la Red MLP 4.9 Net Xtrem Esta variable se crea específicamente para guardar dos porcentajes, 99% y 100% ya que esto significa que la red a realizado un sobre-entrenamiento, es decir ha aprendido demasiado, logrando esta que al momento del testeo y verificación de su aprendizaje, rechace todos los datos que sean levemente distintos a los usados en su entrenamiento tal y como se explica en el capítulo 3. 46
  • 47. 4.10 Comprobación Se crean dos variables yd & y0, la primera está compuesta por la transpuesta de la variable clasifica_test y la segunda es la salida real tomada de los datos de simulación, para luego usar ambos datos en una comparación y validar la cantidad de aciertos obtenidos. yd=clasifica_test' CANTIDAD 357 358 359 360 361 362 363 364 365 366 367 368 VALOR 1 1 1 1 1 0 0 0 0 0 0 0 Tabla 4-4: Matriz yd y0=sim(net,testeo) CANTIDAD 357 358 359 360 361 362 363 364 365 366 VALOR -0.81 0.3485 -0.56 0.6856 0.7452 0.1215 -0.89 0.9654 -0.21 0.635 Tabla 4-5: Matriz y0 Los datos obtenidos en y0, datos reales, deberían estar en el rango de 0 a 1 pero como se muestra en la tabla anterior algunos alcanzan valores de máximos mayores a 1 y datos mínimos menores a 0, es por esto que se debe realizar un algoritmo que considere que estos datos sean próximos a cero y a la unidad respectivamente. La regla para hallarlos es la siguiente: a) Si el valor se encuentra dentro del rango [-1 a 0.2] entonces se debe considerar „0‟. b) Si el valor se encuentra dentro del rango [0.8 a 2] entonces se debe considerar „1‟. 47
  • 48. Ahora que se tiene la salida de los datos reales de simulación y los datos de la salida ideal, ambos en el rango de 0 a 1, se puede realizar la verificación de cuantos aciertos se obtuvo y validar si la red entrenó correctamente. Se crea la variable comprobacion la cual es una matriz compuesta por la diferencia entre el valor obtenidos menos el valor deseado. Se crea la variable llamada acierto y la variable error para luego diseñar el algoritmo que logrará medir la eficiencia del programa, si los datos de la variable comprobacion son menores a 0.051, un valor pequeño considerable como bueno, este se guardará en la variable acierto, si no se guardará en la variable error. 4.11 Time Con la variable tr.time obtenida de la NET se logra hallar el tiempo de aprendizaje en micro-segundos, dentro del entrenamiento de la red neuronal, este tiempo obtenido se transforma a minutos y se redondea para eliminar los segundos, este valor es salvado en la variable time. 4.12 Automatización Ya que se logró obtener de manera correcta el entrenamiento y el testeo, se deberá realizar el algoritmo que realice de manera automática el cambio de neuronas para así validar con que configuración se logra obtener una mayor cantidad de aciertos sin llegar al sobre entrenamiento. De esta manera con cada cantidad de neuronas se obtendrá un número de aciertos, los mejores serán salvados e indicarán cual es porcentaje de aprendizaje que lograron, el mejor tendrá una configuración que se encuentra dentro de la variable NET. 48
  • 49. Salvado de NET’s Como se muestra en la figura adjunta, luego de utilizar el algoritmo de la red MLP, se procede con el salvado de datos. Es necesario el salvado de estos valores ya que son utilizados en próximas funciones. Las variables NET’s ayudaran a obtener el mejor valor de entrenamiento de la red sin pasar el límite del 98%. Figura 4-3: Net‟s salvadas En la figura 4-3, de la variable NET1 (aciertos mayores a 75%), hasta la variable NET8, aciertos menores a 98 se consideran buenos datos obtenidos, la variable NETEXTREME es una variable que se tendrá pero la cual no se considera buena ya que en esta se demuestra el sobre entrenamiento de la red. 49
  • 50. 4.13 ECM Para hallar el error cuadrático medio o ECM se utiliza la función mse la cual nos ayuda a encontrar el error cuadrático medio. Es necesario usar dos variables, “yd” & “y0”, este último es obtenido al usar las variables net y la variable testeo, la función mse obtendrá la diferencia de cuadrados y lo salvará en la variable llamada ecm para luego ser usada en la variable resultado y mostrar la eficiencia de la red. 4.14 Análisis La variable analisis guarda una matriz de 4 columnas por tantas filas como muestreos se hicieron, en esta matriz se definen cuatro datos importantes: Neuronas en la primera capa oculta Neuronas en la segunda capa oculta Tiempo de entrenamiento Aciertos 4.15 Normalización del Score Para realizar la normalización de los datos salvados en la matriz Score, luego de realizar el análisis de componentes principales, es necesario usar la función mapminmax la cual se encargará colocar en valores entre 0 y 1 a todos los datos de la matriz, esta normalización es especial ya que a diferencia de la primera normalización en 4.1 que trabajaba con datos positivos, puesto que la matriz de vinos está compuesta por cantidad reales obtenidas por los sensores, la matriz Score contiene datos con valores negativos como se explica en el capítulo 3 sobre el análisis de componentes principales. 50
  • 51. 5. RESULTADOS En este capítulo, se mostrarán las respectivas medidas obtenidas luego de utilizar los algoritmos computacionales planteados en el capítulo anterior. 5.1 Resultados al usar la red MLP A continuación se muestra todas las pruebas realizadas con la red neuronal MLP y como se llegó a la configuración más acertada para este proyecto. Los primeros resultados fueron hallados tras usar el algoritmo MLP, con el cual se hizo cuatro experimentos cada uno en distintos tiempos. 5.1.1 Resultados de la red con una capa oculta Al comenzar este proyecto solo se utilizaron 150 datos de vino rojo y 150 datos de vino blanco escogidos al azar, siguiendo los pasos explicados en el capítulo anterior se realizó el entrenamiento con los 100 primeros datos de cada vino y 50 de cada uno fueron llamados en la etapa de testeo; obtener estos resultados duró más de 8 horas. 200 ENTRENAMIENTO – 100 TESTEO ENTRADAS PRIMERA CAPA OCULTA ACIERTOS % 20 82 26 67 43 71 60 67 77 62 94 67 12 111 128 145 66 68 70 162 67 179 67 196 48 213 42 Tabla 5-1: Resultados con una capa 51
  • 52. 5.1.2 Resultados de la red con dos capas ocultas Luego de obtenidos estos resultados y con la premisa de aumentar la cantidad de aciertos se optó por aumentar la cantidad de datos de entrenamiento a 800, datos de testeo a 200 y la cantidad de capas ocultas amentarlas a dos; de esta manera se obtienen mejores resultados, pero el tiempo continua siendo una el mismo para cada cálculo, hallarlos tomo alrededor de 18 horas. 800 ENTRENAMIENTO – 200 TESTEO SEGUNDA CAPA ENTRADAS PRIMERA CAPA OCULTA ACIERTOS % OCULTA 299 1 92 292 8 32 285 15 95 278 22 95 271 29 94 264 36 89 257 43 93 12 250 243 236 50 57 64 92 91 92 229 71 89 222 78 83 215 85 95 208 92 92 201 99 93 194 106 89 Tabla 5-2: Resultados con dos capas 52
  • 53. 5.1.3 Resultados de la red con tres capas ocultas Dado que con el aumento se obtuvieron buenos resultados como el acierto del 95% en este proyecto, se optó por aumentar el número de capas a 3, la cantidad de datos de entrada a 1100 para cada vino y los datos de testeo a 361 para cada vino, ambos tomados al azar. El tiempo de respuesta para cada configuración fue de aproximadamente 5 horas para las primeras 5 respuestas y 6 horas para el resto, hasta este punto aun no se encuentra la manera de calcular el tiempo de cada configuración. En la tabla 5-3 se muestran resultados variantes que a comparación de los hallados en la tabla 5-2; por este motivo se realiza la presente tesis con dos capas ocultas. 1100 ENTRENAMIENTO – 361 TESTEO PRIMERA CAPA SEGUNDA CAPA TERCERA CAPA ENTRADAS ACIERTOS % OCULTA OCULTA OCULTA 299 150 1 83 292 147 8 79 285 143 15 59 278 140 22 63 271 136 29 85 264 133 36 67 12 257 250 243 129 126 122 43 50 57 84 72 63 236 119 64 78 229 115 71 64 222 112 78 82 215 108 85 79 208 83 92 59 Tabla 5-3: Resultados con tres capas 53
  • 54. 5.1.4 Optimización de la red MLP Los resultados obtenidos no son prometedores ya que como se ve en el cuadro anterior el acierto disminuye y la única variable que se mantiene es el tiempo, para este caso aproximadamente 5 horas cada entrenamiento; en la próxima sección se utiliza la variable time la cual indicará el tiempo de espera al realizar el algoritmo, este tiempo es cambiante ya que depende de lo que demore la neurona en realizar su aprendizaje, luego se aplica la variable ecm para hallar el error cuadrático medio total ya que se obtiene una respuesta con más exactitud, en la tabla 5-4 se muestra la variable acm definida como el complemento del error; se decidió por retomar el estudio usando únicamente 2 capas ocultas ya que se obtiene mejores resultados. 1100 ENTRENAMIENTO – 361 TESTEO PRIMERA CAPA SEGUNDA ENTRADAS time (min) acm (%) OCULTA CAPA OCULTA 299 1 374 93.7907 292 8 377 98.5821 285 15 335 98.8116 278 22 401 93.5042 271 29 318 99.2042 264 36 409 99.2692 257 43 337 98.1177 12 250 243 236 50 57 64 405 328 447 99.3433 98.736 94.285 229 71 414 93.568 222 78 323 95.515 215 85 366 99.5815 208 92 431 97.2185 201 99 388 98.128 194 106 457 93.8914 Tabla 5-4: Optimización de la red MLP. 54
  • 55. 5.2 Resultados con PCA Se realizó la normalización de los 2922 datos de vino blanco y vino rojo y luego se ingresaron datos al programa para realizar el algoritmo PCA presentado en el capítulo anterior, se utiliza los mismos datos que fueron cargados anteriormente al realizar el análisis con la red MLP. A diferencia de la red MLP, la cuando se aplica la técnica PCA, esta no trabaja con los valores de los datos de entrada, utiliza la relación que existe entre los 1461 datos, el algoritmo PCA se encargará de generar las componentes principales de cada sensor; cada uno de ellos aporta cierta cantidad información que al combinarse con los otros sensores logran dar como respuesta si se trata del vino rojo o del vino blanco. Mediante análisis de componentes principales se buscarán unas pocas variables nuevas (componentes principales) que resuman la información contenida en estos 2922 datos, utilizando los datos muestreados se analiza la relación entre estos y se genera una nueva matriz 5.2.1 Componentes principales Habitualmente se establece un corte para elegir unas pocas componentes que sean las más representativas. Los criterios más frecuentes son los siguientes: a) Generación de auto valores Se realiza el cálculo de los nuevos valores en función a la relación de covarianza que existe entre las variables ingresadas. De este modo unas pocas variables explicarán un porcentaje suficientemente alto como para prescindir de las variables originales y trabajar a partir de ese momento con las nuevas. 55
  • 56. A continuación se muestra la nueva matriz de valores de donde se extraerá las componentes principales, a esta se le llama matriz de puntuaciones o scores. Matriz de puntaciones o SCORES 229726783676 -0,7479 -14175037618481 . -0,1092 -0,5711 0,1266 0,3753 123671849398035 . -0,6049 -0,6276 251306580330 0,0637 109169925562349 . -0,0924 0,2254 133399404436 0,1894 0,2790 . -0,7982 -0,2279 203637039911 0,1942 0,3481 . -0,6321 0,1317 254222268098 22515897150827 0,1008 . -0,5638 0,0698 254222268078 22515897150827 0,1008 . -0,5638 0,0698 . . . . . . . . . . . . 389388084258 15896688786019 -20195634171715 . 0,0670 0,1141 -33944173849 0,4750 -0,0958 . -1093847994227 0,7676 -33944117894 0,4750 -0,0958 . -1093847994412 0,7676 -33944117818 0,4750 -0,0958 . 10938479944217 0,7676 -33313723493 15509566052645 -0,2132 . -0,6163 0,7556 Tabla 5-5: Matriz de Auto valores. b) Extracción de componentes principales Una vez aplicado la matriz SCORE (2922 x 12) al algoritmo del PCA, se utiliza la variable COEFF, la cual genera una nueva matriz en la cual se obtienen las componentes principales (CP); las 12 componentes se presentan en la tabla 5-6. PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 PC11 PC12 0,36 -0,37 0,11 -0,22 0,01 -0,13 0,01 0,24 -0,05 -0,29 -0,02 -0,08 -0,19 0,10 0,56 -0,23 0,03 0,08 -0,41 0,32 -0,41 0,31 -0,06 0,10 0,29 -0,29 -0,06 0,27 0,12 -0,09 0,31 -0,22 -0,56 0,48 -0,10 0,08 0,28 0,22 -0,08 -0,23 0,24 0,42 -0,26 -0,50 -0,35 -0,34 0,05 0,05 0,08 -0,02 0,43 0,67 -0,26 0,38 0,05 0,04 -0,03 -0,33 -0,13 -0,01 0,16 0,37 -0,02 0,22 0,63 -0,02 0,21 0,41 0,02 -0,07 0,09 0,36 0,34 0,39 0,08 0,05 0,12 -0,18 -0,10 0,07 0,06 0,09 -0,22 -0,76 0,26 0,11 0,07 -0,37 -0,19 0,59 0,46 0,14 0,21 0,30 -0,03 -0,05 -0,23 0,33 -0,19 -0,15 -0,32 -0,13 0,40 0,22 -0,54 -0,35 -0,08 -0,08 0,35 0,22 0,58 0,12 -0,39 -0,15 -0,14 0,05 -0,07 0,12 0,76 0,06 0,34 0,28 -0,09 -0,01 -0,34 -0,24 -0,19 -0,07 0,10 0,08 -0,55 0,49 0.03 -0.15 -0.6 0.17 -0.06 0,36 -0.39 0.45 -0.12 0.09 -0.08 -0.1 Tabla 5-6: Componentes principales. 56