Selección de Características usando Algoritmos Genéticos para Clasificación de Vinos Chilenos S.A. Salah+, M.A. Duarte-Mermoud+* , N.H. Beltrán+, M.A. Bustos +, A.I. Peña-Neira++, E.A. Loyola ++, and J.W. Jalocha ++ + Depto. de Ing. Eléctrica, Universidad de Chile Av. Tupper 2007, Casilla 412-3, Santiago, Chile ++ Depto. de Agroindustria y Enología, Universidad de Chile Av. Santa Rosa 11315, Santia go, Chile e-mail: mduartem@cec.uchile.cl Resumen En este trabajo se presentan los resultados de aplicar algoritmos genéticos, para seleccionar las características más relevantes presentes en cromatogramas de compuestos polifenólicos obtenidos mediante un HPLC-DAD, para el caso de muestras de vinos tintos chilenos Cabernet Sauvignon, Carmenere y Merlot. De los 6751 puntos originales del cromatograma, el algoritmo genético fue capaz de seleccionar finalmente 29 de ellos, con los cuales se obtuvo un resultado superior, desde el punto de vista de clasificación, comparado con el caso en que se emplea la información completa. El porcentaje de clasificación correcta alcanzado con estas 29 características resultó ser 99,1%. Palabras Claves: Procesamiento de señales, Algoritmos Genéticos, Clasificación de Vinos. 1.0 Introducción La industria del vino chileno ha experimentado un notable crecimiento en el último tiempo, acorde con la expansión del mercado de los vinos en el mundo entero. Chile exportó del orden de US $ 570 millones en el 2000, casi US $ 600 millones en el 2001 y se espera que en el 2002 esa cifra llegue a 650 millones de dólares, constituyéndose en un sector importante en cuanto a exportaciones, de acuerdo a cifras de Viñas de Chile. Simultáneamente, la industria vitivinícola chilena ha tenido un gran desarrollo en el último tiempo incorporando nuevas tecnologías tanto en el proceso cosecha como en el de vinificación. Es así como el vino está siendo sometido a diversos controles de calidad, para asegurar que el producto que se está ofreciendo corresponda realmente al que se está entregando. Los métodos de clasificación de las variedades de las uvas con las que se elaboran los vinos juegan un importante papel en este sentido. Durante las dos últimas décadas ha habido un interés creciente en el empleo de técnicas de clasificación de vinos que permitan clasificar tanto la variedad de los vinos como su lugar de producción (denominación de origen). Dicha clasificación se ha realizado procesando información correspondiente a características físicas (color, densidad, conductividad, etc.), químicas (fenoles, antocianos, aminoácidos, etc. [19,20]) y organolépticas (aromas, sabores, etc. [21]). Esta información ha sido procesada mediante una serie de técnicas, entre las que se pueden citar métodos estadísticos (tales como análisis discriminante, componentes principales, transformación de Fisher, etc. [17]), redes neuronales artificiales (perceptrones, RNA multicapas, RNA con funciones de base radial, etc. [18]) y algoritmos genéticos [12,13,14,15]. 1 Por otra parte, la importancia del proceso de selección de características en cualquier problema de clasificación, se pone de manifiesto puesto que permite eliminar las características que puedan inducir a error (características ruidosas), las características que no aporten mayor información (características irrelevantes) o aquellas que incluyen la misma información que otras (características redundantes) [1]. Este proceso tiene como ventaja la obtención de una disminución en los tiempos de procesamiento de los datos, menor requerimiento en los espacios donde se almacena la información, menor costo en la obtención de los datos (la definición de características específicas permite desarrollar sensores específicos para obtenerlas) y lo más importante es la selección de un subconjunto de las características originales que aportan la mayor cantidad de información para un problema en particular. En este trabajo se presenta una metodología para seleccionar las variables más importantes para fines de clasificación de cepas de vinos, provenientes de la información obtenida de cromatogramas de compuestos polifenólicos de muestras de vinos, obtenidos mediante un HPLC-DAD. En la Sección 2 de este trabajo se realiza una breve explicación de los métodos de selección de características actualmente en uso. En la Sección 3 se describe la información utilizada para este estudio, indicando de manera general la forma de generar los datos. En la Sección 4 se describe la metodología utilizada para realizar la selección de características y en la Sección 5 se muestran los resultados obtenidos. Finalmente en la Sección 6 se presentan las principales conclusiones acerca de este trabajo y las futuras líneas de desarrollo que se advierten. 2.0 Métodos de Selección de Características En general, en los procedimientos de selección de características se distinguen cuatro etapas esenciales [2]: 1. Procedimiento de Selección: en esta etapa se determina el posible subconjuto de características para realizar la representación del problema 2. Función de Evaluación: en esta etapa se evalúa el subconjunto de características escogidas en el punto anterior. 3. Criterio de Detención: se chequea si el subconjunto seleccionado satisface el criterio de detención de la búsqueda. 4. Procedimiento de Validación: esta etapa se utiliza para verificar la calidad del subconjunto de características que se determinaron. El procedimiento general de selección de características se ilustra en la Figura 1. Los métodos de selección de características se clasifican desde el punto de vista de la manera en que se determina el nuevo subconjunto a evaluar, lo que conduce a 3 clases métodos [2]. 1. Métodos Completos. Estos métodos examinan todas las posibles combinaciones de características. Son muy costosos computacionalmente (espacio de búsqueda de orden O(2N) para N características) pero se asegura encontrar el subconjunto óptimo de características. Como ejemplos de estos métodos se puede citar Branch and Bound[3] y Focus [4]. 2. Métodos Heurísticos. Utilizan una metodología de búsqueda de forma tal que no es necesario evaluar todos los subconjuntos de características. Ello significa una mayor velocidad del método, ya que el espacio de búsqueda es menor que en los métodos 2 anteriores. Estos métodos no aseguran la obtención del mejor sub-conjunto. A modo de ejemplo es interesante citar en esta categoría los métodos Relief [5] y DTM [6]. 3. Métodos Aleatorios. Son aquellos métodos que no tienen una forma especifica de definir el subconjunto de características a analizar, sino que utilizan metodologías aleatorias. Con ello se produce una búsqueda probabilística en el espacio de características. El resultado obtenido utilizando este tipo de métodos dependerá del número de intentos, no asegurándose la obtención del óptimo. Pertenece a este grupo los métodos presentados en LVW [7] y algunos que utilizan algoritmos genéticos [8]. Set Original de Características Subconjunto de Caracteríticas Selección Evaluación NO Criterio de Detención Validación SI Subconjunto de Características Seleccionado Figura 1.- Procedimiento general de selección de características. Desde el punto de vista de la función de evaluación, los procedimiento de selección de características se pueden clasificar en 2 categorías [9]. 1. Métodos de filtraje. Estos son métodos donde el procedimiento de selección es realizado en forma independiente a la función de evaluación (clasificación). Se pueden distinguir 4 diferentes medidas: distancia, información, dependencia y consistencia. Como ejemplo de estos métodos tenemos Relief [5], DTM [6], POE&ACC [10] y Focus [4] respectivamente. 2. Métodos dependientes (wrapped). En estos métodos el algoritmo de selección utiliza como medida la tasa de error del clasificador. Se obtienen generalmente mejores resultados que en el caso anterior, pero trae consigo un costo computacional mucho mayor. En esta categoría se tienen métodos como Oblivon [11]. 3.0 Datos Experimentales La información utilizada en este estudio corresponde a la contenida en los cromatogramas de compuestos fenólicos de pequeño peso molecular de muestras de vinos tintos chilenos. Estos fueron obtenidos mediante un análisis por cromatografía líquida de alta eficacia (HPLC) acoplada a un detector de fotodiodos alineados (DAD) [19]. El equipo es un cromatógrafo de líquidos MerckHitachi, modelo L-4200 UV-Vis Detector con bomba modelo L-600 y portacolumna Thermostat. La columna utilizada correspondió a una Novapack C18 , de 300 mm de longitud y 3,9 mm de diámetro 3 interno. Para la separación de los diferentes compuestos fenólicos en el equipo se utilizaron como solventes: A: 98% H2 O, 2% ácido acético; B: 78% H2 O, 20% acetonitrilo, 2% ácido acético; C: 100% acetonitrilo. El gradiente utilizado fue: 0-55 min. 100% de A (flujo de 1 mL/min); 55-57 20% de A y 80% de B (flujo de 1 mL/min); 57-90 min. 10% de A y 90% de B (flujo de 1,2 mL/min). Cada cromatograma consta de 6751 puntos y cada peak presente corresponde a un compuesto fenólico específico. Estos compuestos han sido mayoritariamente estudiados e identificados por químicos y agrónomos que trabajan en esta área [19,22,23]. Antes de procesar la información se procedió a normalizar la información contenida en los cromatogramas, a objeto de evitar distorsiones, esto debido a que el tamaño de los peaks depende de la cantidad de vino que se inyecte al cromatógrafo. En algunos casos se inyectaron 20 ml y en otros casos se inyectaron hasta 100 ml de muestra preparada. Esto trae como consecuencia que los peaks (que corresponden a las concentraciones de cada componente) tengan diferentes magnitudes. Debido a esto se restó a cada cromatografía el mínimo de cada una y luego se dividió por el valor del peak más grande, obteniéndose luego los valores de las cromatografías entre 0 y 1, lo que permite comparar los peaks de las diferentes cromatografías. A modo de ejemplo, en la Figura 2 se muestra un cromatograma fenólico tipo para vinos chilenos de la cepa Cabernet Sauvignon. Cromatografia de Polifenoles para un vino Cabernet Sauvignon 1 0.9 Concentracion normalizada 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 10 20 30 40 50 Tiempo [min] 60 70 80 90 Figura 2.- Cromatograma fenólico tipo normalizado de un vino chileno Cabernet Sauvignon. Para la realización de este estudio se dispone de datos de vinos tintos de distintos valles y de distintas cepas, los cuales se resumen en la Tabla 1. 4 Cepa Carmenere Cabernet Sauvignon Merlot Total Muestras Nº 1-49 50-74 75-111 Cantidad de Muestras 49 25 37 111 Tabla 1.- Distribución de las muestras empleadas en el estudio. 4.0 Descripción de la Metodología utilizada Debido al alto numero de características que posee cada muestra, la búsqueda de las características que contengan mayor información acerca del problema, se puede transformar en un proceso que necesita demasiados cálculos. A esto se debe agregar el problema introducido por el escaso número de muestras existentes para realizar la clasificación (lo que impide utilizar algunos clasificadores debido a que el número de características por muestra es mayor que el número total de muestras). Por esta razón en este estudio se optó por realizar esta búsqueda mediante una metodología que produzca un procesamiento en paralelo de las posibles soluciones a escoge r, utilizando para ello algoritmos genéticos. Los algoritmos genéticos [12] corresponden a una de las distintas técnicas conocidas bajo el nombre de computación evolucionaria, que están inspiradas en el concepto de la evolución biológica. La idea principal es que cada individuo de una población representa una posible solución al problema de optimización que se desea resolver y de acuerdo a la adaptación de cada individuo al problema presentado (medida dada por una función objetivo determinada), se producirá la evolución de la población. Con ello se generan nuevas posibles soluciones que corresponderán al resultado de procesos de recombinación de los distintos individuos iniciales. También se puede considerar la introducción de nuevas soluciones realizando mutaciones sobre los individuos existentes. Existen diversas formas de aplicar los algoritmos genéticos. Estas varían de acuerdo a los métodos de selección empleados (métodos con los cuales se seleccionan los individuos que darán paso a la siguiente generación), donde destacan los métodos de selección proporcional [13], selección por torneo [14] y selección mediante ranking [15]. También se puede utilizar distintas metodologías crossover (proceso mediante el cual se crean dos nuevos individuos a partir de dos padres) y de mutación (modificación aleatoria de individuos ya existentes). Para determinar el mejor subconjunto de características, se escogió algoritmos genéticos de nichos y en particular los denominados “Deterministic Crowding” [16], los cuales permiten encontrar múltiples soluciones. Esta última característica puede ser particularmente atractiva en el problema que aquí se está estudiando. En efecto, la obtención de un subconjunto de características de los vinos (que corresponde a un conjunto de compuestos fenólicos específicos), podría significar un grado de dificultad mayor en su determinación experimental que otro subconjunto de características diferente, pero que otorgue un desempeño similar desde el punto de vista de clasificación. 5 Para la utilización un algoritmo genético se debe realizar una secuencia de pasos que se describe a continuación. 1. Codificación de los individuos. Para realizar la codificación de cada individuo, que corresponde a un posible sub-conjunto de características, se ut ilizan tiras binarias de largo N, donde N corresponde al número de características existentes para la descripción del problema ( Ver Figura 3). En el presente caso cada característica corresponde a un punto del cromatograma y N=6751. La existencia de un 1 en la posición i indica que la característica i de la muestra debe ser considerada para realizar la clasificación. Car Nº1 1 0 0 1 1 0 ... 1 1 0 0 1 Car Nº6571 0 Figura 3.- Ejemplo de un individuo a considerar. Para comenzar el desarrollo del algoritmo se debe definir el número de individuos Ni que se considerará en cada generación. Esta determinación tendrá directa relación con la cantidad de cómputos que se deberá realizar y con la convergencia del algoritmo a una solución óptima. Dado un mayor número de individuos, se realizará una mayor exploración por cada generación, lo que necesita también un mayor número de cómputos. En el caso de un algoritmo genético que no fuese de nichos, este número Ni también tendrá relación con la presión selectiva que se puede medir según el número de generaciones que tarda el mejor individuo de una población en llenar de copias de sí mismo toda la población. En el caso particular de la metodología utilizada, luego de una serie de consideraciones y ensayos se definió que el número de individuos sería Ni=150. Según la función de evaluación que se considere, la cantidad de cálculos para determinar el desempeño (fitness) de cada individuo podría variar obteniéndose un algoritmo que tarde un tiempo mayor o menor en realizar los cálculos por cada generación. Otro factor a considerar es la “diversidad genética” que se introduce en la población inicial. Por ejemplo, si en un problema de selección con N=50 características se utilizan Ni=4 individuos que representen subconjuntos de a lo más 10 características cada uno, en el mejor de los casos (si es que los subconjuntos fuesen disjuntos) se estarían considerando en la búsqueda 40 características (10 por cada individuo) y habrían 10 características que no estarían siendo consideradas en el espacio de búsqueda. Es por eso que mientras más grande sea la población inicial se introducirá una mayor diversidad genética, puesto que en el mismo ejemplo si se utilizasen 10 individuos en donde sus características fuesen elegidas de forma aleatoria, existe una alta probabilidad que se estén considerando todas las características en la búsqueda al menos en una oportunidad, siendo esta otra herramienta que se puede utilizar para introducir esta diversidad es la mutación. Una vez definido el número de individuos Ni de la población, se deben definir las características de los individuos de la población inicial. Esto se realizó en forma aleatoria, procurando que cada individuo no incluyese un número de características mayor que 80 (Nc = 80), debido a que se dispone de sólo 111 muestras y al tener un número mayor de características que de muestras no se puede utilizar el clasificador LDA (Linear Discriminant Analysis) seleccionado para este estudio. 6 2. Función de adaptación de cada individuo (Fitness). Para definir el desempeño o “fitness” de cada individuo, dado que el objetivo es de seleccionar las características que aportan mayor información para la clasificación de los vinos, se utilizó el desempeño de un clasificador LDA, que corresponde al clasificador lineal de Fisher [17]. Este clasificador utiliza la Transformación de Fisher, que corresponde a la transformación lineal que maximiza la distancia entre clases y minimiza la distancia de cada clase, y se consideró además la metodología “leave-one-out”, que consiste en diseñar el clasificador utilizando todas las muestras menos una y posteriormente se evalúa la clasificación de la muestra que se excluyó del diseño del clasificador. Este procedimiento se realiza excluyendo todas las muestras y se calcula el error correspondiente al número de muestras mal clasificadas dividido por el número de muestras totales. Esto último se decidió debido a que no se dispone de un número suficientemente grande de muestras, lo que hubiese permitido utilizar diferentes conjuntos para el diseño del clasificador y un conjunto de prueba más grande. Esta metodología corresponde a una metodología del tipo wrapped, puesto que se utiliza como medida de desempeño el porcentaje de clasificación correcta del clasificador. 3. Selección de la población de la siguiente generación. Con el objeto de seleccionar la población de la siguiente generación, se utilizó el denominado “crowding determinístico”. Ello corresponde a realizar una selección aleatoria de dos padres (permitiéndose solamente una vez la elección como padre de cada individuo, lo que permite que todos los individuos de una generación sean en algún momento considerados como padres para la generación siguiente) recombinándolos en forma discreta, es decir para cada variable de cada individuo de la población intermedia se escoge aleatoriamente con igual probabilidad la variable que posee uno de los padres. La población intermedia corresponde a una población de individuos que son posibles candidatos a ser considerados como parte de la generación siguiente y recibe este nombre puesto que se genera cada vez entre la generación n y n+1. Cada par de padres dará origen a dos individuos de la población intermedia, los cuales se evalúan con respecto a aquel padre más parecido (en distancia de Hamming sobre los individuos [16]), escogiéndose para la próxima generación los dos individuos de mejor performance de cada una de las comparaciones entre padres e individuos de la población intermedia. Esto asegura que se mantengan los distintos posibles subconjuntos de características que solucionan el problema, puesto que si existen individuos que consideran una característica similar (lo que implica que su distancia de Hamming sea menor) estos se compararán entre si y no con un individuo que considere características extremadamente diferentes. 5.0 Resultados Obtenidos Aplicando la metodología explicada en la Sección 4 a la información descrita en la Sección 3, se obtuvo una serie de resultados que se presentan a continuación. Inicialmente se logró correr el algoritmo hasta un punto en el cual se obtenía una clasificación correcta de un 89%, considerando solamente 64 de las 6571 características. A partir de ese momento no se podía seguir ejecutando el algoritmo, debido a que se encontraban subconjuntos de características en los cuales la matriz de correlación de los datos no era invertible, lo que indicaba que esas características eran linealmente dependientes. Para solucionar este problema, cada vez que 7 aparecía un individuo que planteaba como potencial solución una de ese estilo, simplemente se eliminaba, puesto que no es de interés encontrar subconjuntos de característica que estén correlacionados entre sí. Posteriormente se obtuvo un resultado que consideraba tan solo 26 características, el cual entregaba un porcentaje de clasificación correcto de un 98,2%, lo que fue bastante alentador. Otra solució n posible encontrada generó un sub-conjunto de 32 características que también entregó un porcentaje de clasificaciones correctas de 98,2%. Pero, debido al tamaño de la población utilizada (150) y al gran tamaño de los datos (6751), posiblemente no se habían considerado todas las opciones para la búsqueda del óptimo o bien alguna opción había sido eliminada tempranamente. Por ello se definió una nueva población obtenida en forma aleatoria, en la cual se incluyeron los tres mejores individuos de las simulaciones anteriores (mejores individuos obtenidos después de 270 generaciones, ya que como se aprecia en la Figura 4 no se tenían mayores mejoras en los porcentajes de clasificaciones correctas al aumentar el número de generaciones por sobre 270), los cuales eran diferentes pero entregaban distintos resultados. Este mismo efecto podría haberse logrado si se hubiera incluido mutación en el algoritmo para aumentar la diversidad genética, es decir incluir nuevas posibles soluciones. Este proceso entregó como resultado dos posibles subconjuntos de individuos que entregaban un 99.1% de clasificación correcto, utilizando uno 29 características y el otro subconjunto de 34 características. En la Figura 4 se puede apreciar como la población del algoritmo genético va mejorando su performance a medida que aumentan las generaciones. En la Figura 4 se muestran tres curvas; la superior corresponde al porcentaje de clasificación correcto del mejor individuo de cada generación (subconjunto de características utilizadas), la segunda corresponde al promedio de clasificación correctos de la población completa, y la curva inferior corresponde al porcentaje de clasificación correcto del peor individuo de cada generación. Evolucion del Algoritmo Genetico 100 Porcentaje de clasificaciones correctas 90 80 70 60 50 40 30 20 Mejor individuo de la poblacion Promedio de la poblacion Peor individuo de la poblacion 10 0 0 50 100 150 Generacion 200 250 300 Figura 4.- Evolución del porcentaje de clasificación correcto en función de las generaciones. 8 Tal como se comentó con anterioridad, la gracia de utilizar algoritmos genéticos de nichos es la posibilidad de encontrar más de una solución factible al problema de optimización planteado. Luego de introducir los tres mejores individuos de las simulaciones anteriores en una nueva población, se obtuvo 2 nuevos conjuntos de características diferentes que entregaban un porcentaje de clasificaciones correctas de un 99,1%. Este porcentaje de clasificación correcta indica que sólo una de las 111 muestras fue mal clasificada cuando le fue presentada al calsificador. En la Figura 5 se muestra un posible sub-conjunto con 29 características que entrega este porcentaje de clasificación. Posteriormente en la Figura 6 se muestra otro posible sub-conjunto con 34 características que entrega el mismo porcentaje de clasificaciones correctas, en ambas figuras las líneas verticales corresponden a las características seleccionadas en cada caso. Caracteristicas seleccionadas (29 caracteristicas) 1 0.9 Concentracion normalizada 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 10 20 30 40 50 Tiempo [min] 60 70 80 90 Figura 5.- 29 mejores características seleccionadas por el AG. para la muestra 50 y que entregan un porcentaje de clasificaciones correctas de un 99,1%. 9 Caracteristicas seleccionadas (34 caracteristicas) 1 0.9 Concentracion normalizada 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 10 20 30 40 50 Tiempo [min] 60 70 80 90 Figura 6.- 34 mejores características seleccionadas por el AG. para la muestra 50 y que entregan un porcentaje de clasificaciones correctas de un 99,1%. El caso mal clasificado que se obtiene utilizando la metodología leave-one-out, ocurrió cuando se entrenó el clasificador con todas las muestras menos la muestra 53, que corresponde a un Cabernet Sauvignon, y luego se intentó clasificar esa muestra con el clasificador obteniéndose como resultado que ésta era un vino Merlot. Esta situación se representa en la Figura 7, en la cual se han graficado las clases transformadas linealmente utilizando la transformación de Fisher donde se aprecia claramente al individuo mal clasificado. 10 Distribucion de los individuos despues de la transformacion de Fisher 4 3 Segunda componente de Fisher 2 Carmenere Cabernet Sauvignon Merlot Individuo mal evaluado 1 0 -1 -2 -3 -4 -5 -6 -6 -4 -2 0 2 Primera componente de Fisher 4 6 Figura 7.- Situación en la que se produce un problema de clasificación. 6.0 Conclusiones De los resultados obtenidos se aprecia que se puede escoger un conjunto pequeño de 29 (ó 34) características de la muestra inicial (0.4%) que sirve para discriminar adecuadamente (99.2%) las clases de la muestra (1 error de clasificación de las 111). Estas 29 características corresponden a 29 compuestos químicos que contienen la mayor información que permiten diferenciar entre una cepa y otra. Otro punto interesante del estudio es que se pueden determinar distintos sub-conjuntos de características que entregan el mismo porcentaje de clasificación correcta, lo que permite dar cierta flexibilidad en relación a los componentes que aparecen como los más importantes. Ello permite entregar información a enólogos sobre los compuestos más importantes que determinan a cada clase. Del estudio surge la necesidad de contar con un mayor número de datos para poder generalizar los resultados, utilizando este nuevo sub-conjunto como conjunto de prueba, para afirmar que los componentes (características) determinadas a través de esta metodología son los que realmente determinan un las clases de vinos estudiadas en este paper. Una alternativa interesante es incorporar al procedimiento empleado una función objetivo que penalice el número de características relevantes. Con ello no sólo se consideraría el porcentaje correcto de clasificación sino también el número más pequeño posible de características que cumplen con ese objetivo. 11 Agradecimientos Los resultados obtenidos en este trabajo han sido financiados por CONICYT-Chile, a través del proyecto FONDEF D01-1016 “Identificación varietal de vinos chilenos mediante instrumentación inteligente” Bibliografía [1] Blum A. L. and Langley P., “Selection of relevant features and examples in machine learning” Artificial Intelligence, Vol. 97, Nos. 1-2, 1997, pp. 245-271. [2] Dash M. and Liu H., “Feature selection for classification” Intelligent Data Analysis, Vol. 1, 1997, pp. 131-156. [3] Narendra P. M. and Fukunaga K., “A branch and bound algorithm for feature selection”. IEEE Transactions on Computers, Vol. 26, September 1977, pp. 917-922. [4] Almuallin H. and Dietterich T. G., “Learning with many irrelevant features”. Proceedings of Ninth National Conference on Artificial Intelligence, MIT Press, Cambridge, Massachusetts, 1992, pp. 547-552. [5] Kira K. and Rendell L. A., “The feature selection problem: Traditional methods and a new algorithm”. Proceedings of Ninth National Conference on Artificial Intelligence, MIT Press, Cambridge, Massachusetts, 1992, pp. 129-134. [6] Cardie C., “Using decision trees to improve case-based learning”. Proceedings of Tenth International Conference on Machine Learning, Morgan Kaufmann Prublishers, University of Massachusetts, Amherst, June 1993, pp. 25-32. [7] Liu H. and Setiono R., “Feature selection and classification – A probabilistic wrapper approach”. Procedings of Ninth International Conference on Industrial and Engineering Applications of AI and ES, Fukuoka, Japan, June 1996, pp. 419-424. [8] Vafaie, H. and Imam, I.F., "Feature selection methods: Genetic algorithm vs. greedy-like search," Proceedings of the 3rd International Fuzzy Systems and Intelligent Control Conference, Louisville, KY, March 1994. [9] John G. H., Kohavi R. and Pfleger P., “Irrelevant features and the subset selection problem”. Proceedings of the Eleventh International Conference on Machine Learning. New Brunswick, Morgan Kaufmann, 1994, pp. 121-129. [10] Mucciardi A. N. And Gose E.E., “A comparison of seven techniques for choosing subsets of pattern recognition”, IEEE Transactions on Computers, Vol. 20, September 1971, pp.1023-1031. [11] Langley P. and Sage S., “Oblibious decision trees and abstract cases”. Working Notes of the AAAI94 Workshop on Case-Based Reasoning, Seattle, WA: AAAI Press, 1994, pp.113-117. 12 [12] Holland J.H., Adaptation in natural and artificial systems, MIT Press, Cambridge, Second Edition, 1992. [13] Goldberg D., Genetic algorithms in search, optimization, and machine learning. AddisonWesley, New York. 1989. [14] Michalewicz Z., Genetic algorithms + Data structures = Evolution programs. Springer-Verlag, New York, Third Edition. 1996. [15] Mitchell M., An introduction to genetics algorithms. MIT Press, Cambridge. 1996. [16] Mahfoud S.W., Niching methods for genetic algorithms. Ph.D. Thesis, University of Illinois at Urbana-Champaign, Illinois Genetic Algorithms Laboratory (IlliGAL) Report No. 95001, May 1995. [17] Fukunaga K., Introduction to statistical pattern recognition. Academic Press, San Diego, Second Edition, 1990. [18] Ripley B. D., Pattern recognition and neural networks. Cambridge University Press, Cambridge, First Edition, 1996. [19] Peña-Neira A.I., Hernández T., García-Vallejo C., Estrella I. and Suarez J., “A survey of phenolic compounds in spanish wines of different geographical origins”. Eur. Food. Res. Technol., Vol. 210, 2000, pp. 445-448. [20] Marx R., Holbach B. and Otteneder H., “Determination of nine characteristics anthocyanins in wine by HPLC”. Off. Int. Vigne Vin. Bulletin. Paris. August 2000. [21] Flazy, C. Enología: Fundamentos científicos y tecnológicos. Ed. Mundi Prensa. Madrid. 2000. [22] Alamo V.S. Caracterización de la composición fenólica de vinos comerciales Merlot y Sauvignon Blanc de la vendimia 2002, provenientes de cinco valles de Chile. Memoria de Ingeniero Agrónomo, Facultad de Ciencias Agronómicas, Universidad de Chile, 2002. [23] Muñoz L.P. Caracterización de la composición fenólica de vinos comerciales Cabernet Sauvignon y Chardonnay de la vendimia 2002, provenientes de cinco valles de Chile. Memoria de Ingeniero Agrónomo, Facultad de Ciencias Agronómicas, Universidad de Chile, 2002. 13