Download Memòria del projecte en format PDF

Document related concepts

Espectrofotómetro de transformada de Fourier wikipedia , lookup

Espectroscopia infrarroja wikipedia , lookup

Espectrofotómetro wikipedia , lookup

Espectroscopia del infrarrojo cercano wikipedia , lookup

Espectroscopia wikipedia , lookup

Transcript
Análisis de mezclas líquidas multicomponente
mediante un espectrofotómetro IR y redes neuronales
Ingeniería Técnica Industrial en Electrónica Industrial.
AUTOR: Diego Vargas Pando.
DIRECTOR: Eduard Llobet Valero.
Junio del 2007.
ÍNDICE GENERAL
CAPÍTULOS
PÁGINA
ÍNDICE GENERAL........................................................................................................2
1. OBJETIVOS Y CONTENIDO DEL PROYECTO..................................................4
2. ESPECTROSCOPIA EN EL INFRARROJO PRÓXIMO (NIR) ..........................6
2.1. INTRODUCCIÓN. EL ESPECTRO DE LA RADIACIÓN ........................... 6
2.2. ESPECTROSCOPIA EN EL INFRARROJO .................................................. 7
2.3. ORIGEN DE LA ABSORCIÓN DE LA RADIACIÓN ................................... 9
2.4. TIPOS DE MEDIDAS EN INFRARROJO .................................................... 10
2.5. INSTRUMENTACIÓN..................................................................................... 13
2.5.1. LOS ESPECTROFOTÓMETROS DISPERSIVOS ............................... 13
2.5.2. LOS ESPECTROFOTÓMETROS NO DISPERSIVOS ........................ 15
2.5.2.1. Funcionamiento del espectrofotómetro FT-NIR .............................. 15
2.5.2.2. Interferómetro de Michelson.............................................................. 16
2.5.3. DIFERENCIAS ENTRE DISPERSIVOS Y NO DISPERSIVOS.......... 18
2.6. ANÁLISIS EXPERIMENTAL......................................................................... 19
2.6.1. MUESTRAS LÍQUIDAS ANALIZADAS................................................ 19
2.6.1.1. Metanol ................................................................................................. 19
2.6.1.2. P-xileno ................................................................................................. 21
2.6.1.3. Ethane, 1,1,2-trichloro-1,2,2-trifluoro-. Triclorotrifluoretano........ 22
2.6.2. INSTRUMENTOS UTILIZADOS EN EL LABORATORIO ............... 22
2.6.2.1. Cubetas porta muestras ...................................................................... 22
2.6.2.2. Espectrofotómetro FT-NIR VERTEX 70.......................................... 23
2.6.3. TRABAJO REALIZADO EN EL LABORATORIO ............................. 24
3. REDES NEURONALES ...........................................................................................33
3.1. MODELO BIOLÓGICO .................................................................................. 33
3.2. MODELO ARTIFICIAL .................................................................................. 35
3.3. FUNCIONES DE TRANSFERENCIA............................................................ 38
3.4. APRENDIZAJE DE UNA RED NEURONAL ARTIFICIAL ...................... 40
3.5. TOPOLOGÍA DE UNA RED NEURONAL ARTIFICIAL .......................... 42
3.6. PRINCIPALES TIPOS DE REDES NEURONALES ARTIFICIALES ..... 46
3.6.1. LA RED PERCEPTRON SIMPLE .......................................................... 46
3.6.2. LA RED PERCEPTRON MULTICAPA ................................................. 47
3.6.3. LA RED BACKPROPAGATION............................................................. 48
3.6.4. ALGORITMO DE BACKPROPAGATION ........................................... 49
3.7. VENTAJAS DE UNA RED NEURONAL ...................................................... 52
3.8. ELABORACIÓN DE LA RED NEURONAL ................................................ 53
3.8.1. ARQUITECTURA DE LA RED.............................................................. 54
3.8.2. ELECCIÓN DE LOS ENTRENAMIENTOS DE LA RNA ................... 55
3.8.2.1. Entrenamiento A ................................................................................. 55
3.8.2.2. Entrenamiento B.................................................................................. 56
3.8.3. PREPARACIÓN DE LOS DATOS OBTENIDOS ................................. 58
3.8.4. MÉTODO DE REDUCCIÓN DE VARIABLES (PCA) ......................... 61
2
3.8.4.1. Introducción sobre el método PCA.................................................... 62
3.8.4.2. Implementación del PCA .................................................................... 63
3.8.4.2.1. Realización del PCA para el Entrenamiento A.......................... 64
3.8.4.2.2. Realización del PCA para el Entrenamiento B.......................... 65
3.8.5. CREACIÓN, ENTRENAMIENTO Y VALIDACIÓN DE LA RNA .... 66
3.8.5.1. Entrenamiento y validación de la RNA con el Entrenamiento A ... 67
3.8.5.2. Entrenamiento y validación de la RNA con el Entrenamiento B... 69
3.8.6. RESULTADOS OBTENIDOS ................................................................. 70
3.8.6.1. Resultados del Entrenamiento A........................................................ 71
3.8.6.2. Análisis de los resultados del Entrenamiento A................................ 81
3.8.6.3. Resultados del Entrenamiento B ........................................................ 81
3.8.6.4. Análisis de los resultados del Entrenamiento B................................ 90
3.8.7. ELECCIÓN DE UN TERCER ENTRENAMIENTO............................. 90
3.8.7.1. PCA para el Entrenamiento C ........................................................... 92
3.8.7.2. Entrenamiento y validación de la RNA con el Entrenamiento C ... 93
3.8.7.3. Resultados obtenidos del Entrenamiento C ...................................... 95
3.8.7.4. Análisis de los resultados del Entrenamiento C.............................. 105
3.8.8. INTRODUCCIÓN SOBRE EL MÉTODO PLS .................................. 105
3.8.8.1. Implementación del PLS ................................................................... 107
3.8.8.2. Entrenamiento y validación de la RNA después de haber aplicado el
PLS................................................................................................................... 109
3.8.8.3. Resultados obtenidos con PLS.......................................................... 110
3.8.8.4. Análisis de los resultados obtenidos con PLS.................................. 122
3.8.8.5. Otra alternativa con el PLS .............................................................. 123
3.8.8.6. Resultados obtenidos ......................................................................... 125
3.8.8.7. Análisis de los resultados obtenidos ................................................. 137
4. CONCLUSIONES ...................................................................................................138
5. BIBLIOGRAFÍA .....................................................................................................142
3
Objetivos y contenido del proyecto
1. OBJETIVOS Y CONTENIDO DEL PROYECTO
El principal objetivo del proyecto es el de analizar mezclas líquidas utilizando la
espectroscopia en el infrarrojo cercano (NIR) y la realización de una red neuronal.
La espectroscopia es una técnica analítica experimental, muy usada en química y en
física. Esta basada en el estudio de los espectros de emisión o absorción de los
materiales.
Las redes neuronales artificiales (RNA) son modelos computacionales que tratan de
replicar, de manera simplificada, el complejo funcionamiento del cerebro humano.
La capacidad de aprendizaje de las RNA, a través de ensayos repetidos, las ha hecho
muy populares en los últimos años en una amplia variedad de aplicaciones en todas las
ciencias.
En la actualidad las redes neuronales están resultando ser una herramienta fundamental
ya que proponen una estrategia de resolución de problemas basada en la adaptación al
entorno de información.
A continuación enumeramos las actividades que se han ido siguiendo desde el inicio de
la realización del proyecto:
1- Puesta a punto del sistema de medidas con el espectrofotómetro IR del DEEEA.
Se utilizó un espectrofotómetro NIR de transformada de Fourier, el cual dispone de un
interferómetro de Michelson para modular la información espectral.
2- Realización de las medidas experimentales.
Se realizaron un total de 439 medidas de mezclas líquidas. Los compuestos utilizados,
en distintas concentraciones, han sido: metanol, p-xileno y un disolvente llamado
Ethane, 1,1,2-trichloro-1,2,2-trifluoro (Triclorotrifluoretano).
3- Extracción de las características de los espectros IR.
Los avances instrumentales, la automatización, y la incorporación de los ordenadores en
el control y adquisición de señales de instrumentos, como el espectrofotómetro, nos
permitieron obtener una gran cantidad de información analítica y extraer las
características más relevantes de los espectros de las mezclas líquidas analizadas.
4- Análisis cuantitativo basado en redes neuronales.
Se crea una RNA con el programa Matlab versión 6.5. La entrenamos de tres formas
distintas y posteriormente, comprobamos, validamos y analizamos los resultados
obtenidos.
Objetivos y contenido del proyecto
El gran volumen de información que nos proporciona la espectroscopia NIR hace muy
difícil el tratamiento de los datos obtenidos. Esta problemática ha propiciado que nos
hayamos visto obligados a desarrollar métodos quimiométricos (PCA, PLS), basados en
cálculos matemáticos, estadísticos y de lógica formal, que permiten diseñar o
seleccionar procedimientos de medida óptimos y obtener la máxima información
relevante de los datos analíticos. Con esto conseguiremos reducir al máximo la cantidad
de información con la que partiremos a la hora de realizar el estudio y la predicción del
resultado de la muestra a analizar.
Por último, destacar que el espectro infrarrojo es una de las propiedades más
características de un compuesto ya que no existen dos espectros iguales para dos
compuestos diferentes, es como una huella dactilar. Esto facilitará el análisis y la
predicción de los resultados obtenidos mediante nuestra red neuronal.
5
Espectroscopia en el infrarrojo próximo (NIR)
2. ESPECTROSCOPIA EN EL INFRARROJO PRÓXIMO (NIR)
2.1. INTRODUCCIÓN. EL ESPECTRO DE LA RADIACIÓN
En determinadas condiciones, los cuerpos emiten energía en forma de radiación.
Hay distintos tipos de radiaciones. Todas ellas viajan a la velocidad de la luz (c = 3x108
m/s) pero se diferencian unas de otras en su frecuencia y longitud de onda.
La frecuencia de una onda es el número de ciclos ondulatorios que pasan por un punto
fijo en un segundo. Se representa por la letra griega υ y se mide generalmente en
herzios.
La longitud de onda es la distancia entre dos picos (o dos valles) cualquiera de la onda.
Ésta, se representa por la letra griega λ (lambda) y, dependiendo del tipo de radiación,
puede ser desde muy pequeña, como en el caso de la llamada radiación gamma, hasta
muy grande en las ondas de radio. Se mide usando nanómetros (10-9 m) y Ángstroms
(10-10 m). El rango completo de las longitudes de onda es lo que se denomina el espectro
electromagnético.
La longitud de onda y la frecuencia son inversamente proporcionales y se relacionan
mediante la siguiente ecuación:
(1)
La principal emisión de radiación de los cuerpos es la electromagnética en forma de luz
visible.
La luz blanca se descompone en un espectro de diferentes bandas coloreadas, cada una
definida por una longitud de onda distinta. Así, la luz de menor longitud de onda es la
luz violeta, que es de alrededor de unos 4000 Ángstroms, y la luz de mayor longitud de
onda es la luz roja, que es de alrededor de unos 7000 Ángstroms.
Sin embargo, hay radiaciones de menor y también de mayor longitud de onda que las
anteriormente citadas, es decir, inferior a 4000 Ángstroms y superior a los 7000
Ángstroms.
Las radiaciones que van desde el violeta al rojo se dice que forman el espectro visible,
pues procede de la descomposición de la luz blanca.
Las radiaciones de longitud de onda inferior al violeta son las llamadas ultravioleta,
rayos X, rayos gamma, por orden decreciente en la longitud de onda.
Las radiaciones de longitud de onda superiores al rojo son denominadas infrarrojos,
microondas y ondas de radio, por orden creciente en la longitud de onda.
Espectroscopia en el infrarrojo próximo (NIR)
En la figura 1 se refleja el espectro de radiación y en la tabla 1 se muestra los intervalos
de las longitudes de onda de los distintos tipos de radiación.
Figura 1.Espectro de radiación
Tabla 1. Intervalos de longitudes de onda y tipos de radiación.
TIPO DE RADIACIÓN
Rayos Gamma
Rayos X
Ultravioleta
Espectro Visible
Infrarrojo
Región de Microondas
Ondas de Radio
Intervalos de las longitudes de onda
Inferiores a 10-2 nanómetros
Entre 10-2 nanómetros y 15 nanómetros
Entre 15 nanómetros y 4.102 nanómetros
Entre 4.102 nanómetros y 7,8.102 nanómetros
Entre 7,8.102 nanómetros y 106 nanómetros
Entre 106 nanómetros y 3.108 nanómetros
Mayores de 3.108 nanómetros
Como se aprecia, la zona de radiación infrarroja del espectro electromagnético, que en
definitiva es la que nos interesa, está limitada por las regiones del espectro visible y del
microondas.
2.2. ESPECTROSCOPIA EN EL INFRARROJO
La palabra “espectroscopia” deriva de la raíz latina spectrum (apariencia, imagen) y de
la palabra griega skopia (ver).
La espectroscopia infrarroja, o IR, es una técnica analítica sumamente simple. Es un
tipo de espectroscopia vibracional donde se analizan las vibraciones moleculares.
7
Espectroscopia en el infrarrojo próximo (NIR)
Como se muestra en la tabla 2, la región infrarroja del espectro está comprendida
aproximadamente entre las longitudes de onda de 700 nm a 106 nm.
Observamos tres zonas distintas en esta región: infrarrojo próximo (NIR, Near
Infrared), infrarrojo medio (MIR, Middle Infrared) e infrarrojo lejano (FIR, Far
Infrared). Nuestro interés se centrará en la zona del infrarrojo próximo.
Tabla 2. Zonas espectrales infrarrojas.
DENOMINACIÓN
INTERVALO λ (nm)
INFRARROJO PRÓXIMO (NIR)
700-2500
INFRARROJO MEDIO (MIR)
2500-50000
INFRARROJO LEJANO (FIR)
50000-106
La radiación en la zona del infrarrojo cercano fue descrita en los inicios del siglo XIX
por William Hersche, aunque la aplicación de la espectroscopia NIR, en el ámbito de la
química analítica, es reciente. De hecho, el primer registro fotográfico documentado de
un espectro de líquidos orgánicos en la zona de 700 a 1200 nm tiene fecha de 1881 y fue
realizado por Abney i Festing.
Las características especiales de la amplia zona del infrarrojo, hizo que durante la
primera mitad del siglo XX, los espectroscopistas se interesaran más por la zona media
del espectro (MIR) a la hora de buscar aplicaciones analíticas, olvidándose de la zona
del infrarrojo cercano.
No fue hasta la década de los 50, cuando se empezaron a desarrollar las primeras
aplicaciones analíticas en el infrarrojo cercano, como consecuencia de la aparición de
los primeros espectrofotómetros comerciales.
En la década de los 60 se produjo un fuerte impulso y aumentó considerablemente el
interés por la espectroscopia NIR.
En los años 70 se empezaron a introducir nuevos equipos con diseños mejorados y
mayores prestaciones. De esta forma se construyen los primeros espectrofotómetros que
permiten registrar espectros de forma rápida y altamente reproducibles.
Los avances en la informática también ayudaron mucho a la expansión de la técnica,
poniendo al alcance del usuario una capacidad de cálculo inexistente hasta el momento.
Con el paso de los años, el número de aplicaciones NIR en los diferentes campos ha
crecido considerablemente. Actualmente se pueden encontrar aplicaciones de está
técnica en el análisis de alimentos, productos farmacéuticos, fibras textiles, derivados
del petróleo, etc.
8
Espectroscopia en el infrarrojo próximo (NIR)
2.3. ORIGEN DE LA ABSORCIÓN DE LA RADIACIÓN
La espectroscopia de absorción en el infrarrojo tiene su origen en las vibraciones
moleculares.
Generalmente, se piensa que las moléculas son estructuras formadas por una red estática
de núcleos atómicos unidos entre sí por enlaces electrónicos. Sin embargo, la realidad es
muy diferente, y puede decirse que, cada átomo que la constituye está desplazándose
permanentemente, uno con respecto al otro, sobre una distancia promedio llamada
longitud de enlace.
Para entenderlo mejor, imaginemos dos esferas, o masas, conectadas por medio de un
resorte. Una vez puestas en movimiento, las esferas comenzarán a oscilar, o vibrar de
aquí para allá a lo largo del resorte, a una cierta frecuencia que dependerá de las masas
de las esferas y de la rigidez del resorte. Una esfera de masa pequeña se moverá con
mayor facilidad que otra de masa mayor. Por lo tanto, las masas más pequeñas oscilan a
mayor frecuencia que las masas más grandes.
Un resorte sumamente rígido, es difícilmente deformable y rápidamente retorna a su
forma original cuando se deja de aplicar la fuerza deformante. Por otro lado, un resorte
débil se deforma fácilmente y tarda mucho tiempo en volver a su forma original. De ahí
que un resorte más rígido oscilará a mayor frecuencia que uno débil.
El enlace químico entre dos átomos puede ser considerado como un oscilador armónico
simple. El enlace sería el resorte y los dos átomos o grupos de átomos conectados por el
enlace, serían las masas. Cada átomo tiene una masa diferente y los enlaces simples,
dobles o triples poseen distinta rigidez, por lo que cada combinación de átomos y
enlaces posee su propia frecuencia armónica característica.
La radiación electromagnética infrarroja tiene una energía que no es suficiente para
producir transiciones electrónicas; sin embargo, su energía es similar a las pequeñas
diferencias energéticas entre los distintos estados vibracionales y rotacionales existentes
en la mayoría de las moléculas.
Da la casualidad de que la luz infrarroja está en el mismo rango de frecuencia que la
molécula en vibración. Y si irradiamos una molécula en vibración con luz infrarroja,
absorberá aquellas frecuencias de la luz que sean exactamente iguales a las frecuencias
de los distintos osciladores armónicos que constituyen dicha molécula.
Cuando la luz es absorbida, los pequeños osciladores de la molécula seguirán vibrando
a la misma frecuencia, pero dado que han absorbido la energía de la luz, tendrán una
amplitud de vibración más grande. Esto significa que los "resortes" se estirarán más que
antes de absorber la luz. La luz que no fue absorbida por ninguno de los osciladores de
la molécula, es transmitida desde la muestra a un detector y una computadora la
analizará y determinará las frecuencias que fueron absorbidas.
Es decir, el espectro de infrarrojo de una molécula se obtiene como resultado de medir
la intensidad de una radiación exterior absorbida, para cada longitud de onda, que hace
posible la transición entre dos niveles de energía vibracional diferentes. Cada una de
estas absorciones características de energía se corresponde con un movimiento
9
Espectroscopia en el infrarrojo próximo (NIR)
vibracional de los átomos en la molécula. Por lo tanto, analizando cuales son las
longitudes de onda que absorbe una determinada sustancia en la zona del infrarrojo,
podemos obtener información acerca de las moléculas que componen dicha sustancia.
En moléculas sencillas es posible definir el tipo de vibraciones que tienen lugar entre
los distintos átomos enlazados e identificar la radiación electromagnética que es
absorbida para modificar su estado vibracional. En moléculas complejas esta posibilidad
es más difícil tanto por el elevado número de vibraciones como por las interacciones
entre los distintos centros vibracionales que se producen.
Antes, sólo era posible obtener buena información irradiando la molécula con una sola
frecuencia de luz IR por vez. Esto llevaba mucho tiempo porque existe una gran
cantidad de frecuencias y debían realizarse muchos barridos para obtener un buen
espectro. Pero ahora, como comentaremos posteriormente, gracias al sorprendente
Algoritmo de la Transformada de Fourier, puede irradiarse una molécula con cada
frecuencia de luz IR a la vez y obtener un espectro perfecto en poco tiempo.
No todas las vibraciones fundamentales de una molécula dan bandas de absorción de
radiación electromagnética en el espectro, para que esto ocurra han de cumplirse las
siguientes condiciones:
- Se debe presentar un cambio en el momento dipolar de la molécula durante la
vibración, sólo en estas circunstancias el campo eléctrico de la radiación puede
interaccionar con la molécula.
- No deben coincidir en la misma frecuencia varias vibraciones fundamentales.
- La banda debe ser suficientemente intensa.
- La energía vibracional debe corresponder a una longitud de onda que esté dentro del
intervalo de trabajo del instrumento.
2.4. TIPOS DE MEDIDAS EN INFRARROJO
Cuando la radiación incide en la muestra (Figura 2), pueden producirse diferentes
fenómenos:
-
Absorción.
Transmisión.
Reflexión.
Tranflectancia.
10
Espectroscopia en el infrarrojo próximo (NIR)
Figura 2. Absorción, reflectancia, y transmitancia de la radiación.
En la figura 3, observamos que la intensidad de luz transmitida a través de la muestra
(PT) es menor que la intensidad incidente (P0). Una parte de esta intensidad incidente se
ha reflejado (PR), mientras que otra parte ha sido absorbida por la sustancia (PA).
Figura 3. Fenómenos de absorción, transmisión y reflexión de la
radiación electromagnética al interaccionar con la materia.
La medida más común en el infrarrojo es la que se basa en la absorción/transmisión
aunque también se han desarrollado espectroscopias basadas en el fenómeno de la
reflexión, como son la reflectancia total atenuada y la reflectancia difusa.
Absorción / Transmisión
El espectro por transmisión nos determina PA (figura 3), ya que la pérdida en la
intensidad luminosa incidente está relacionada con la concentración de la muestra.
11
Espectroscopia en el infrarrojo próximo (NIR)
La transmitancia (T) se calcula como la fracción de radiación (PT/P0) transmitida a
través de la muestra. La intensidad de absorción de la luz, absorbancia (A), se mide
como:
(2)
La representación de la transmitancia o absorbancia como una función de la longitud de
onda es lo que conforma el espectro de la muestra.
La medida por transmisión utiliza una porción mayor de la muestra y esto provoca una
mayor sensibilidad y homogeneidad espectral. Pero tiene como principal inconveniente
que componentes muy sensibles a la radiación, puedan ser afectados por la gran
cantidad de energía que la atraviesa.
La Transmisión NIR, donde el detector está ubicado detrás de la muestra (figura 4), es
ideal para líquidos transparentes y algunos productos que no son demasiado densos
ópticamente.
Reflexión
Existe a menudo una mala interpretación del término Reflectancia NIR. Los rayos no
son simplemente reflejados de la superficie externa, sino que realmente penetran la
muestra.
Cada vez que se halla que una unión química no absorbe una particular longitud de
onda, los rayos son diseminados y reflejados en todas direcciones. Estos haces dispersos
pueden entonces ser absorbidos o reflejados por otras uniones químicas, hasta que una
porción de los rayos eventualmente salga de la muestra en todas direcciones (figura 4).
La profundidad de penetración del haz dentro de la muestra no está determinada por la
posición del detector, sino más bien por la potencia de la fuente de luz.
Figura 4. Penetración de los rayos en el modo de transmisión y reflectancia.
12
Espectroscopia en el infrarrojo próximo (NIR)
Tranflectancia
Combinación de reflectancia y transmitancia. En este caso se mide la transmitancia
después que la radiación haya atrevasado dos veces la muestra, la segunda después que
un reflector colocado al lado de la muestra provoque que el haz de luz pase una segunda
vez por la misma antes de llegar al detector.
2.5. INSTRUMENTACIÓN
Desde hace muchos años se ha usado el color como ayuda para reconocer las sustancias
químicas. Al reemplazar el ojo humano por otros detectores de radiación se puede
estudiar la absorción de sustancias, no solamente en la zona del espectro visible, sino
también en la ultravioleta e infrarrojo.
Se denomina espectrofotometría a la medición de la cantidad de energía radiante que
absorbe un sistema químico en función de la longitud de onda de la radiación.
El aparato capaz de obtener el espectro de una radiación, es decir, de separar la
radiación en sus componentes, se llama espectroscopio. Si el aparato es capaz de
fotografiarla se llama espectrógrafo, y si es capaz de medirla diremos que se trata de un
espectrómetro. Cuando consigue medir también la intensidad de la radiación, se llama
espectrofotómetro.
Por lo tanto, se puede definir el espectrofotómetro como aquel instrumento capaz de
medir la radiación infrarroja absorbida por las moléculas, ocasionando una modificación
en los niveles de energía vibracional, que le permite identificar grupos funcionales
(átomos enlazados) en la molécula y la identificación de la misma.
Los primeros espectrofotómetros comerciales NIR aparecieron en la década de los 50.
El primero que se comercializó fue el Cary Model en el 1954 (fabricado por Applied
Physics Corporation, Monrovia, California).
Después de esta etapa inicial, se desarrollaron espectrofotómetros basados en diversas
técnicas ópticas, introduciendo nuevos sistemas de selección de longitudes de onda y
detección. Se consiguió registrar espectros de forma más rápida y fiable.
Actualmente se utilizan dos tipos de instrumentos para obtener espectros de absorción
en el infrarrojo: Los espectrofotómetros dispersivos y los no dispersivos.
2.5.1. LOS ESPECTROFOTÓMETROS DISPERSIVOS
Los dispersivos generalmente utilizan como elemento dispersor de la luz, para el
análisis de ésta, redes de difracción o prismas de refracción para generar la radiación
monocromática.
En espectrofotometría acostumbran a ser instrumentos de doble haz, los cuales son
menos exigentes con las características de las fuentes y los detectores.
13
Espectroscopia en el infrarrojo próximo (NIR)
Los tres componentes básicos que caracterizan a estos espectrofotómetros son: a) una
fuente de radiación infrarroja, que suministra la iluminación incidente sobre la muestra
que se estudia; b) un monocromador, que dispersa la energía radiante en sus muchas
frecuencias y c) una serie de rendijas o aberturas, que seleccionan la banda estrecha
de frecuencias que incide sobre el detector. Este último componente transforma la
energía de la banda de frecuencias en una señal eléctrica que se amplifica lo suficiente
para ser registrada.
El detector es otro componente importante en la configuración de un espectrofotómetro
IR. Mide la energía radiante residual que emerge de la muestra y la compara con aquella
que proviene de la celda llamada blanco. Esta diferencia de energía se mide con una
termocupla, que tiene la propiedad de traducir las diferencias de intensidad de la
radiación que sale de la muestra en impulsos eléctricos.
La señal amplificada se utiliza para mover un atenuador de peine en el haz de
referencia. El peine reduce la cantidad de energía del haz de referencia hasta que se
restablece el equilibrio energético entre la muestra y la referencia. Esto se conoce como
método de anulación óptica. En este momento, el detector deja de emitir señales. La
extensión de la compensación del haz de referencia necesario para equilibrar las
energías de la muestra y de la referencia es una medida de la absorción de la muestra.
Mediante un sistema de registro en movimiento sincronizado con el atenuador, puede
medirse la absorción de la muestra.
De forma esquemática, los componentes de este tipo de espectrofotómetros están
representados en la figura 5:
Figura 5. Componentes de un espectrofotómetro de infrarrojo de doble haz.
La resolución del espectro dependerá de la calidad del monocromador entre otras
variables, de la velocidad con la que se mueve la red y del detector.
14
Espectroscopia en el infrarrojo próximo (NIR)
2.5.2. LOS ESPECTROFOTÓMETROS NO DISPERSIVOS
Con los espectrofotómetros de doble haz convencionales con monocromador es difícil
acceder a la región del IR lejano, por eso los primeros espectrofotómetros de
transformada de Fourier se diseñaron para esta región. Hoy en día, este método se ha
extendido a aparatos que permiten barrer toda la región IR.
Actualmente los espectrofotómetros FT IR han desplazado a los espectrofotómetros con
monocromador. Éstos no poseen red de difracción o prismas, sino que utilizan un
interferómetro que produce el fenómeno de la interferencia de la luz.
En estos instrumentos la luz que proviene de la fuente llega a un interferómetro que será
el encargado de generar el interferograma.
El interferograma es el espectro de la muestra en el dominio del tiempo. La
interpretación o resolución de éste se realiza matemáticamente, utilizando la
transformación de Fourier, auxiliado con un computador.
En este tipo de espectroscopia la señal obtenida es el resultado de la combinación de
diferentes frecuencias. Esta combinación genera un resultado complejo ya que proviene
de la superposición de ondas, las cuales están ligeramente desfasadas unas con otras.
A continuación explicaremos el funcionamiento del espectrofotómetro por transformada
de Fourier en el infrarrojo cercano, así como cada una de las partes que lo forman.
2.5.2.1. Funcionamiento del espectrofotómetro FT-NIR
El haz producido por la fuente NIR (lámpara halógena con filamento de Tungsteno)
pasa a través de una apertura y de un filtro óptico penetrando en el interferómetro.
Cuando el haz de luz policromática entra en contacto con el interferómetro es modulado
por un escáner (espejo móvil). Es a partir de aquí cuando se conduce el haz de luz hacia
la muestra, donde será transmitido o reflejado, y donde finalmente llegará al detector.
Cada detector contiene un preamplificador o un amplificador programable de ganancia.
Por lo tanto, la señal de salida de este preamplificador (interferograma) será enviada al
amplificador principal, donde la señal será amplificada, filtrada y digitalizada.
Esta señal digital se enviará posteriormente a un sistema de registro y procesado de
datos, en el que se realizarán los procesos matemáticos necesarios para convertir el
interferograma en un espectro. En la figura 6 se muestra un esquema con los
componentes principales de un espectrofotómetro de transformada de Fourier.
15
Espectroscopia en el infrarrojo próximo (NIR)
Figura 6. Esquema de un espectrofotómetro de transformada de Fourier.
Existen dos tipos de interferómetros muy populares: el de Michelson y el de prismas. En
el apartado siguiente describiremos detalladamente el de Michelson ya que es éste el
que se ha utilizado en la parte experimental de nuestro proyecto.
2.5.2.2. Interferómetro de Michelson
El interferómetro sustituye al tradicional monocromador. Es la parte esencial del
espectrofotómetro, pues es el encargado de modular cada frecuencia del infrarrojo con
el fin de realizar la transformada de Fourier.
Como observamos en la figura 7, el interferómetro consta de un espejo fijo, un espejo
móvil y un espejo divisor de haces:
Figura 7. Esquema de un interferómetro de Michelson
El divisor de haces, llamado beam splitter, delgado y con una película semireflectora
(generalmente de germanio) divide la luz colimada de la fuente en dos haces
aproximadamente iguales.
16
Espectroscopia en el infrarrojo próximo (NIR)
Estos haces se reflejan en dos espejos internos, uno fijo y otro móvil de velocidad
perfectamente conocida. La diferencia de distancias recorridas por los haces a los
espejos fijos y móvil recibe el nombre de retardos.
El primero de los dos haces se transmite al espejo móvil, mientras que el segundo es
reflejado hacia el espejo fijo.
La parte del haz transmitida, se refleja en el espejo móvil, retornando hacía el separador
de haz (beamsplitter), donde de nuevo, parte del haz será transmitido de vuelta hacia la
fuente emisora NIR, mientras que la otra parte es reflejada hacia la muestra (a esta parte
del haz la llamaremos TR).
La parte del haz que ha sido reflejada, se refleja en el espejo fijo y retorna hacia el
beamsplitter, donde se dividirá en dos partes: una retorna hacia la fuente emisora NIR,
mientras la otra parte se transmite hacia la muestra (a esta otra parte del haz la
llamaremos RT).
Por lo tanto, tendremos en la salida del interferómetro, dos haces que se dirigen hacia la
muestra de una forma combinada (TR+RT).
La recombinación de los dos haces con un desfase entre ellos provoca interferencias
constructivas y destructivas que se reflejan en la potencia radiante que recibe el
detector. Cuando se representa la potencia radiante en función del retardo, se dispone
del interferograma.
Cuando el espejo móvil y fijo, esta equidistante con el beamsplitter (esto significa
retardo óptico cero), los dos haces se encuentran perfectamente en fase después de la
recombinación que se produce al incidir ambos nuevamente en el beamsplitter. En este
punto, los haces interfieren de una manera constructiva, siendo la intensidad del haz
incidente en el detector, la suma de las intensidades de los dos haces que pasan a través
de los dos espejos.
La transformación de Fourier se usa como método matemático para el desarrollo en
serie de la curva obtenida (interferograma). La transformada de Fourier del
interferograma es el espectro ordinario obtenido por aparatos convencionales IR.
Las ventajas de los espectrofotómetros FT IR son básicamente dos:
- Mejorar la resolución de los espectros.
- Obtener mayor sensibilidad.
La mejora de sensibilidad es consecuencia de una mayor energía de flujo del haz de luz
hasta llegar al detector y de la mejora de la relación señal/ruido por promediación de
interferogramas. Es tan notable el avance de sensibilidad, que en el momento en que
tecnológicamente los interferómetros de Michelson fueron precisos y asequibles
económicamente, prácticamente todos los espectrofotómetros comerciales pasaron a ser
FT IR.
En el siguiente apartado comentaremos más ampliamente las ventajas de estos
espectrofotómetros.
17
Espectroscopia en el infrarrojo próximo (NIR)
2.5.3. DIFERENCIAS ENTRE DISPERSIVOS Y NO DISPERSIVOS
Existen claras diferencias entre los dos equipos.
Los espectrofotómetros con transformada de Fourier es un equipo más moderno que el
espectrofotómetro dispersivo y presenta una serie de ventajas como las que se citan
seguidamente:
1.- Simplicidad mecánica: sólo existe un componente en movimiento (el espejo móvil).
2.- Elevada sensibilidad y velocidad. Todas las frecuencias se miden simultáneamente.
Un espectro completo se puede obtener en un espacio de tiempo muy corto, pudiéndose
tomar muchos barridos para realizar promedios y reducir el ruido.
3.- Mayor flujo de energía.
4.- Utiliza un láser como referencia interna. La calibración en frecuencias del
interferómetro es muy precisa y estable al utilizar un láser de He-Ne. Los sistemas
basados en este láser presentan una elevada exactitud y precisión en la selección de
onda (inferior a 0.01cm-1 en el intervalo entre 4800 y 400cm-1). Esto hace posible el
promediado de espectros con el consecuente incremento de la relación señal-ruido. Los
efectos debidos a las radiaciones parásitas son minimizados al tratarse de una señal
modulada.
5.- Elimina la luz difusa. Debido a cómo el interferómetro modula cada frecuencia, no
hay equivalente en un FT IR a la luz difusa en los sistemas dispersivos.
6.- Resolución constante a todas las frecuencias.
7.- Ausencia de discontinuidades en el espectro, al no haber cambios de red de
difracción.
18
Espectroscopia en el infrarrojo próximo (NIR)
2.6. ANÁLISIS EXPERIMENTAL
2.6.1. MUESTRAS LÍQUIDAS ANALIZADAS
Después de esta breve introducción sobre la espectroscopia, y antes de ponernos a
explicar el trabajo realizado en el laboratorio, comentaremos cuales han sido los
compuestos, los materiales y los instrumentos utilizados para la realización de nuestro
proyecto, que consistía en el análisis de mezclas líquidas mediante la espectroscopia
NIR y la elaboración de una red neuronal.
En primer lugar, destacaremos y expondremos las principales propiedades de los
compuestos utilizados y analizados en el laboratorio. Se eligieron para las distintas
pruebas experimentales tres componentes distintos: metanol, p-xileno, y un disolvente
llamado Ethane, 1,1,2-trichloro-1,2,2-trifluoro-.
Estos tres componentes han sido elegidos por varios motivos, entre los que destacamos
los siguientes:
-
Por sus características y propiedades. Metanol y p-xileno no reaccionan entre sí.
Por su disponibilidad en el laboratorio.
Por que tanto el metanol como el p-xileno disponen de bandas de absorción en la
zona del infrarrojo cercano.
Por que el disolvente no dañaba a ninguno de los materiales de la celda
portadora de muestras y era “transparente” a la radiación, es decir, no se darán
picos de absorción para ninguna longitud de onda del infrarrojo.
Por que no suponen un riesgo excesivo para la persona que trabaja con ellos.
A continuación presentamos brevemente las propiedades más destacables de estos tres
compuestos.
2.6.1.1. Metanol
Propiedades y características
El metanol, también llamado alcohol metílico, alcohol de madera, carbinol y alcohol de
quemar, es el primero de los alcoholes.
Su fórmula química es CH3OH.
La estructura química del metanol es muy similar a la del agua, con la diferencia de que
el ángulo del enlace C-O-H en el metanol (108.9°) es un poco mayor que en el agua
(104.5°), porque el grupo metilo es mucho mayor que un átomo de hidrógeno. Figuras 8
y 9.
19
Espectroscopia en el infrarrojo próximo (NIR)
Figura 8.Metanol
Figura 9. Agua
En condiciones normales es un líquido incoloro, de escasa viscosidad y de olor y sabor
frutal penetrante, miscible en agua y con la mayoría de los solventes orgánicos. Es
tóxico e inflamable.
Es considerado como un producto petroquímico básico, a partir del cual se obtienen
varios productos secundarios.
Las propiedades físicas más relevantes del metanol, en condiciones normales de presión
y temperatura, se listan en la tabla 3.
Tabla 3. Propiedades físicas del metanol.
Peso Molecular
Densidad
Punto de fusión
Punto de ebullición
32 g/mol
0.79 Kg./l
-97 °C
65 °C
De los puntos de ebullición y de fusión se deduce que el metanol es un líquido volátil a
temperatura y presión atmosféricas.
Tienen propiedades semejantes al agua debido a que ambos tienen grupos hidroxilo que
pueden formar puente de hidrógeno. El metanol forma puente de hidrógeno con el agua
y por lo tanto es miscible (soluble en todas las proporciones) en este solvente.
El metanol es considerado como un producto o material inflamable de primera
categoría; ya que puede emitir vapores que mezclados en proporciones adecuadas con el
aire, originan mezclas combustibles.
Es un combustible con un gran poder calorífico, que arde con llama incolora o
transparente y cuyo punto de inflamación es de 12,2 ºC.
20
Espectroscopia en el infrarrojo próximo (NIR)
2.6.1.2. P-xileno
Propiedades y características
Es el nombre de los dimetilbencenos.
La fórmula química del p-xileno es C6H4(CH3)2/C8H10
Según la posición relativa de los grupos metilo en el anillo de benceno se diferencia
entre orto, meta, y para xileno tal y como se muestra en la figura 10.
p-xileno
m-xileno
o-xileno
Figura 10. Diferencia entre los tres grupos de xileno.
Los xilenos se encuentran en el los gases de coque, en los gases obtenidos en la
destilación seca de la madera (de allí su nombre - xilon = griego para madera) y en
algunos petróleos.
Los xilenos son buenos disolventes y se usan como tales. Además forman parte de
muchas formulaciones de combustibles de gasolina.
Son nocivos. Sus vapores pueden provocar dolor de cabeza, náuseas y malestar general.
Se trata de líquidos incoloros e inflamables.
Las propiedades físicas más relevantes del p-xileno, en condiciones normales de presión
y temperatura, se listan en la tabla 4.
Tabla 4. Propiedades físicas del p-xileno.
Densidad relativa
Punto de fusión
Punto de ebullición
Solubilidad en agua
Punto de inflamación
0.86 Kg/l
13°C.
138°C.
Ninguna
27°C
21
Espectroscopia en el infrarrojo próximo (NIR)
2.6.1.3. Ethane, 1,1,2-trichloro-1,2,2-trifluoro-. Triclorotrifluoretano
La fórmula química del triclorotrifluoretano es C2Cl3F3 y su peso molecular es de
187.37 g/mol. Su estructura química la podemos observar en la figura 11:
Figura 11. Estructura del C2Cl3F3.
2.6.2. INSTRUMENTOS UTILIZADOS EN EL LABORATORIO
2.6.2.1. Cubetas porta muestras
Se pueden analizar compuestos en estado sólido, líquido y gaseoso. El recipiente de la
muestra será distinto según se presente la misma y ha de estar construido de un material
transparente a la radiación.
Presentamos solamente los recipientes para muestras líquidas, ya que son los que
utilizamos en la realización del proyecto.
Como se observa en la figura 12, las células que empleamos en el laboratorio y en las
que depositábamos las mezclas líquidas, son rectangulares y montadas sobre marcos
metálicos. Se han utilizado las células Omni-Cell de la casa Specac.
Figura 12. Porta muestras utilizado en el laboratorio.
22
Espectroscopia en el infrarrojo próximo (NIR)
Este porta muestras es desmontable y con espaciadores de teflón que permiten variar la
longitud del camino óptico (figura 13).
Figura 13.Celda desmontable de infrarrojo para muestras líquidas.
Debido a la tendencia del disolvente a absorber radiación las celdas son estrechas (0,11 mm) y la concentración de la muestra fluctúa entre 0,1 y 10 %. La ventana por la que
pasa la radiación es generalmente de NaCl.
2.6.2.2. Espectrofotómetro FT-NIR VERTEX 70
El modelo del espectrofotómetro FT-NIR utilizado en el laboratorio y con el que se han
hecho las distintas pruebas experimentales es el VERTEX 70.
Principales características:
El VERTEX 70 es un espectrómetro versátil para aplicaciones exigentes en laboratorios
analíticos y de investigación. Las dimensiones del espectrofotómetro son de 84cm x
65cm x 30cm y su peso aproximado es de 70kg (figura 14).
Figura 14. Vertex 70
23
Espectroscopia en el infrarrojo próximo (NIR)
Este espectrofotómetro contiene distintos compartimientos:
-
Compartimiento electrónico.
Compartimiento del detector.
Compartimiento del interferómetro.
Compartimiento de la fuente de luz.
Compartimiento de control de las direcciones del haz de luz.
Compartimiento de la muestra.
El vertex 70 presenta las siguientes características:
-
Un láser de HeNe.
Un detector con un preamplificador integrado que convertirá la señal analógica
en señal digital.
Rango estándar de 7.800 a 370cm-1 con posibilidad de expansión a IR lejano y
cercano (25.000 - 30 cm-1).
Resolución estándar de 0,5 cm-1 con opción para 0,2 cm-1.
8 velocidades de barrido del espejo móvil (hasta 12 opcionalmente).
"Rapid-scan" estándar hasta 40 espectros/s a 8 cm-1 de resolución.
El diseño único de los puertos permite hasta cuatro puertos de entrada o salida
de haz para una máxima versatilidad experimental.
El equipo incluye una electrónica muy mejorada y conexión ethernet con el PC
de control.
Toda la óptica está recubierta por oro para un aprovechamiento máximo de la
señal.
2.6.3. TRABAJO REALIZADO EN EL LABORATORIO
Una vez se ha explicado cuáles han sido los compuestos y la instrumentación empleada
en el análisis de las muestras líquidas, pasaremos a comentar el trabajo que se ha ido
efectuando en el laboratorio, desde la preparación del espectrofotómetro hasta la
obtención de la información espectral necesaria.
En primer lugar, realizamos la puesta a punto del instrumento, controlando dos
variables importantes del aparato a través del software de control OPUS for QA/QC del
espectrofotómetro Vertex 70:
- La apertura del hueco por donde pasa el haz de luz procedente de la fuente emisora IR.
- La frecuencia o la velocidad del escáner (espejo móvil).
Para ello, se ha realizado una gran cantidad de medidas de transmitancia de los
diferentes compuestos, con distintas concentraciones de metanol, p-xileno y disolvente,
probando y controlando distintos valores de la apertura del haz y de la frecuencia
(velocidad del espejo móvil).
Seguidamente, se han analizado los resultados obtenidos, con el fin de poder extraer
conclusiones y elegir los valores del espectrofotómetro (apertura y frecuencia) que nos
han proporcionado unos mejores resultados, es decir una buena relación señal-ruido.
24
Espectroscopia en el infrarrojo próximo (NIR)
Es muy importante elegir correctamente los valores de estas variables, ya que en caso
contrario, cuando posteriormente se hagan las distintas pruebas experimentales, la
calidad de la información espectral obtenida puede ser alterada y proporcionarnos
resultados saturados:
-
-
Cuando la apertura es demasiado grande, se producen efectos negativos a causa
de la saturación percibida en el detector. A éste le llega mayor intensidad
lumínica de la que puede recibir. Ocasionando un grave problema que se debe
rectificar ajustando correctamente la apertura del hueco por donde pasa el haz de
luz IR.
Para obtener espectros con rapidez y abarcar un amplio abanico de frecuencias,
se debe ajustar la frecuencia del movimiento del espejo móvil del
espectrofotómetro. Aumentando el valor de la frecuencia del escáner
disminuimos el tiempo de ejecución de los espectros. La resolución de los
espectros es inversamente proporcional a la frecuencia del escáner asignado.
Una vez se ha comentado la importancia del control de estas dos variables, pasamos a
explicar el procedimiento que hemos seguido para la elección de los valores de apertura
y de frecuencia:
1- Se empezó analizando los resultados obtenidos al introducir solamente disolvente en
la cela portadora de líquidos y realizar distintas medidas probando con diferentes
valores de frecuencia y de apertura.
A continuación, en la tabla 5, resumimos las primeras medidas experimentales
efectuadas con el disolvente.
Tabla 5. Medidas efectuadas con el disolvente.
VELOCIDAD
ESCANER (Khz)
1
1.6
2.5
No
1.5
APERTURA (mm)
2
2.5
3
6
No
- Las casillas de la tabla que han sido marcadas con una X y no están coloreadas
representan las medidas efectuadas experimentalmente en las que hemos obtenido
resultados satisfactorios.
- Las casillas marcadas con una X y coloreadas de azul representan aquellas medidas en
las que se obtuvieron resultados con zonas del espectro saturados.
- Las casillas en las que aparece la palabra No representan aquellas medidas que no se
hicieron por que no se creyó ni oportuno ni interesante realizarlas.
Seguidamente, mostramos dos ejemplos de los espectros obtenidos en el análisis del
disolvente. El primero de ellos no presenta los efectos de la saturación y utiliza como
valores de velocidad del escáner y de apertura, 2,5 Khz y 2,5 mm respectivamente
(figura 15). En el segundo espectro si que se observa la saturación y para este caso, se
25
Espectroscopia en el infrarrojo próximo (NIR)
han empleado como valores de velocidad del escáner y de apertura, 1,6 Khz y 3 mm
respectivamente (figura 16).
Figura 15. Espectro de transmitancia del disolvente sin los efectos de la saturación.
Figura 16. Espectro de transmitancia del disolvente con los efectos de la saturación.
26
Espectroscopia en el infrarrojo próximo (NIR)
2- Después se siguió experimentando al introducir una mezcla, en la cela portadora de
líquidos, de disolvente con un 10% de metanol. Se probó con distintos valores de
frecuencia y de apertura y se analizó el aspecto de los espectros obtenidos.
Las medidas experimentales que se realizaron se presentan en la tabla 6.
Tabla 6. Mezcla de disolvente con un 10% de Metanol.
VELOCIDAD
ESCANER (Khz)
1
1.5
1.6
2.5
No
No
APERTURA (mm)
2
2.5
3
No
6
No
No
- Las casillas de la tabla que han sido marcadas con una X y no están coloreadas
representan las medidas efectuadas experimentalmente en las que hemos obtenido
resultados satisfactorios.
- Las casillas marcadas con una X y coloreadas de azul representan aquellas medidas en
las que se obtuvieron resultados con zonas del espectro saturados.
- Las casillas en las que aparece la palabra No representan aquellas medidas que no se
hicieron por que no se creyó ni oportuno ni interesante realizarlas.
A continuación, mostramos dos de los espectros obtenidos con la mezcla anterior. En la
figura 17 se ha utilizado como valor de velocidad del escáner 2,5 Khz y como apertura
2,5mm y en la figura 18 la velocidad del escáner fue 2,5Khz y la apertura 3mm. En esta
figura 18 observamos los efectos de la saturación.
Figura 17. Espectro de transmitancia (10% de metanol) sin efectos de saturación.
27
Espectroscopia en el infrarrojo próximo (NIR)
Figura 18. Espectro de transmitancia (10% de metanol) con efectos de saturación.
3- Seguimos probando y esta vez tomamos muestras de una mezcla que contiene
disolvente y un 10% de p-xileno. Como en anteriores ocasiones, experimentamos con
diferentes valores de frecuencia y de apertura y observamos los resultados o espectros
conseguidos. Las medidas que se realizaron se pueden observar en la tabla 7.
Tabla 7. Mezcla de disolvente con un 10% de p-xileno.
VELOCIDAD
ESCANER (Khz)
1
1.6
2.5
No
1.5
APERTURA (mm)
2
2.5
3
No
6
No
No
- Las casillas de la tabla que han sido marcadas con una X y no están coloreadas de azul
representan las medidas efectuadas experimentalmente en las que hemos obtenido
resultados satisfactorios.
- Las casillas marcadas con una X y coloreadas de azul representan aquellas medidas en
las que se obtuvieron resultados con zonas del espectro saturados.
- Las casillas en las que aparece la palabra No representan aquellas medidas que no se
hicieron por que no se creyó ni oportuno ni interesante realizarlas.
También mostramos a continuación un par de ejemplos de los resultados conseguidos.
En la figura 19 observamos el espectro de transmitancia obtenido al utilizar unos
valores de velocidad del escáner de 2,5 Khz y de apertura 2,5 mm y en la figura 20 se
emplean unos valores de velocidad del escáner y de apertura de 1,6 Khz y 2,5 mm
respectivamente. En el segundo espectro observamos los efectos de la saturación.
28
Espectroscopia en el infrarrojo próximo (NIR)
Figura 19. Espectro de transmitancia (10% de p-xileno) sin los efectos de saturación.
Figura 20. Espectro de transmitancia (10% de p-xileno) con efectos de saturación.
29
Espectroscopia en el infrarrojo próximo (NIR)
Una vez realizadas todas estas medidas, nos vimos capacitados para poder decidir
cuales debían ser los valores a utilizar para la apertura y la frecuencia del
espectrofotómetro:
-
Apertura: 2.5 mm.
Velocidad del escáner: 2.5 Khz.
Utilizando estos valores, en las distintas pruebas efectuadas, nunca obtuvimos
resultados saturados, y por eso hemos decidido trabajar y realizar todas las medidas
posteriores con ellos.
Si el espectrofotómetro FT IR del laboratorio fuera óptimamente ideal y no existieran
efectos de saturación se escogería como valores de apertura y velocidad, 6mm y 1.6Khz
respectivamente. Pero como no es ideal, se deben elegir valores lo más cercano posible
a éstos. Intentando que la apertura por donde pasa el haz sea lo mayor posible, y la
velocidad del escáner sea la más baja posible.
A partir de aquí, se analizaron en el laboratorio un total de 439 muestras, con distintas
concentraciones de p-xileno y metanol, con el fin de poder disponer de una gran
cantidad de información que nos permitiera entrenar posteriormente con garantías a la
red neuronal. El total de mezclas realizadas, utilizando los diversos compuestos,
combinados en distintas concentraciones, se observan en la tabla 8.
Tabla 8. Mezclas efectuadas.
P-XILENO (%)
0
0.1
0.5
1
10
0
METANOL (%)
0.5
0.1
1
10
No
No
- Las casillas marcadas con una X y coloreadas de amarillo representan las mezclas
efectuadas en el laboratorio.
- La casilla marcada de rojo representa el 0% de p-xileno y 0% de metanol. Se trata de
disolvente 100% y esta concentración ya fue utilizada anteriormente para la elección de
la apertura del haz de luz y la frecuencia del escáner. Estas medidas no se incluyen en el
total de las 439 muestras citadas anteriormente.
- Las casillas coloreadas de verde, que una representa el 0% de p-xileno, 10% de
metanol y 90% de disolvente y la otra el 10% de p-xileno, 0% de metanol y 90% de
disolvente, también se utilizaron anteriormente para la determinación de la apertura y de
la frecuencia y por este motivo no están incluidas en el cómputo de las 439 muestras.
- Las casillas en las que aparece la palabra ‘No’ y coloreadas de azul, representan
aquellas mezclas que no se llegaron a efectuar, ya que se creyó que las medidas
realizadas eran suficientes.
30
Espectroscopia en el infrarrojo próximo (NIR)
El número de muestras que se tomaron para cada una de las mezclas efectuadas se
detallan a continuación en la tabla 9.
Tabla 9. Muestras realizadas para las distintas mezclas.
P-XILENO (%)
0.1
0.5
1
0
0.1
0.5
1
10
0
0.1
0.5
1
10
0
0.1
0.5
10
0.1
0.5
1
METANOL (%)
0
0
0
0.1
0.1
0.1
0.1
0.1
0.5
0.5
0.5
0.5
0.5
1
1
1
1
10
10
10
Número de muestras
19
20
22
20
38
20
19
20
19
38
20
19
20
25
19
19
22
19
19
22
Una vez conseguidos los espectros de las 439 muestras, nuestro trabajo en el laboratorio
finalizó. En la figura 21 se recoge el aspecto de los 439 espectros obtenidos.
Figura 21. Espectros de las 439 muestras.
31
Espectroscopia en el infrarrojo próximo (NIR)
El siguiente objetivo del proyecto era planificar y desarrollar la red neuronal que
trabajara con la información adquirida en el laboratorio. Pero antes de pasar
directamente a la realización de esta red, he creído oportuno hacer una pequeña
introducción sobre el mundo de las redes neuronales.
32
Redes neuronales
3. REDES NEURONALES
3.1. MODELO BIOLÓGICO
El cerebro consta de un gran número de elementos (aproximadamente 1011), altamente
interconectados (aproximadamente 104 conexiones por elemento), llamados neuronas.
Estas neuronas tienen tres componentes principales: dendritas, cuerpo de la célula o
soma y axón.
Las dendritas son el árbol receptor de la red, son como fibras nerviosas que cargan de
señales eléctricas el cuerpo de la célula.
El cuerpo de la célula realiza la suma de esas señales de entrada.
El axón es una fibra larga, que lleva la señal desde el cuerpo de la célula hacia otras
neuronas.
El punto de contacto entre un axón de una célula y una dendrita de otra célula es
llamado sinapsis. La longitud de la sinápsis es determinada por la complejidad del
proceso químico que estabiliza la función de la red neuronal.
Un esquema simplificado de la interconexión de dos neuronas biológicas se observa en
la figura 22.
Figura 22. Neuronas Biológicas
Algunas de las estructuras neuronales son determinadas en el nacimiento, otra parte es
desarrollada a través del aprendizaje, proceso en que nuevas conexiones neuronales son
Redes neuronales
realizadas y otras se pierden por completo. El desarrollo neurológico se hace crítico
durante los primeros años de vida.
Las estructuras neuronales continúan cambiando durante toda la vida, estos cambios
consisten en el refuerzo o debilitamiento de las uniones sinápticas.
Todas las neuronas conducen la información de forma similar, ésta viaja a lo largo de
axones en breves impulsos eléctricos, denominados potenciales de acción.
Podemos afirmar que el cerebro humano constituye una computadora muy notable,
capaz de interpretar información imprecisa suministrada por los sentidos a un ritmo
increíblemente veloz.
El cerebro aprende, sin instrucciones explícitas de ninguna clase, a crear las
representaciones internas que hacen posibles todas sus habilidades.
Excepto en las tareas basadas en el cálculo aritmético simple, actualmente podemos
afirmar que el cerebro humano es superior a cualquier computadora:
- En el reconocimiento de imágenes.
- En la interpretación de sonidos.
- En general en tareas de percepción.
Las principales características del cerebro son las siguientes:
- Robusto: su funcionamiento no se ve alterado ante fallos de pequeña importancia.
- Flexible: se adapta con facilidad a un entorno cambiante.
- Puede tratar con información ambigua o incompleta.
- Pequeño, compacto y consume poca potencia.
Aunque la velocidad de propagación de las señales en el sistema nervioso es un millón
de veces menor que en un computador, el grado de conectividad del cerebro es
muchísimo mayor que el del más grande de los supercomputadores actuales.
Por todos estos motivos y características, han sido muchos los investigadores, que han
centrado su atención en el desarrollo de nuevos sistemas de tratamiento de la
información, que permiten solucionar problemas cotidianos, tal como lo hace el cerebro
humano, ya que los sistemas de computación secuencial, exitosos en la resolución de
problemas matemáticos o científicos y en la creación, manipulación y mantenimiento de
bases de datos, tienen una gran incapacidad para interpretar el mundo.
Se está desarrollando desde hace ya más de 30 años la teoría de las Redes Neuronales
Artificiales (RNA), las cuales emulan las redes neuronales biológicas, y que se han
utilizado para aprender estrategias de solución basadas en ejemplos de comportamiento
típico de patrones. Estos sistemas no requieren que la tarea a ejecutar se programe, ellos
generalizan y aprenden de la experiencia.
Por lo tanto, el objetivo que se está persiguiendo es el de conseguir que las máquinas
den respuestas similares a las que es capaz de dar el cerebro que se caracterizan por su
generalización y su robustez.
34
Redes neuronales
3.2. MODELO ARTIFICIAL
El modelo de una neurona artificial es una imitación del proceso de una neurona
biológica.
A continuación, en la figura 23, se observa una neurona artificial en forma general y su
similitud con una neurona biológica.
Figura 23. De la neurona biológica a la neurona artificial
Donde observamos que:
* Las entradas Xi representan las señales que provienen de otras neuronas y que son
capturadas por las dendritas.
* Los pesos Wi son la intensidad de la sinápsis que conecta dos neuronas; tanto Xi como
Wi son valores reales.
*
es la función umbral que la neurona debe sobrepasar para activarse. Este proceso
ocurre biológicamente en el cuerpo de la célula. Las neuronas se excitan sólo sí la señal
total recibida en el cuerpo de las células, por conducto de las dendritas, es superior a
cierto nivel (umbral de excitación).
Analizamos más claramente las analogías de una RNA con el sistema biológico. Éstas
son las siguientes:
35
Redes neuronales
Las neuronas se modelan mediante unidades de proceso. Cada unidad de proceso, como
se muestra en la figura 24, se compone de:
Figura 24. Unidad de proceso típica
- Una red de conexiones de entrada: Las señales de entrada a una neurona artificial X1,
X2,.., Xn son variables continuas en lugar de pulsos discretos como se presentan en una
neurona biológica. Cada señal de entrada pasa a través de una ganancia o peso, que
como se ha dicho anteriormente, recibe el nombre de peso sináptico o fortaleza de la
conexión y cuya función es análoga a la de la función sináptica de la neurona biológica.
Los pesos pueden ser positivos (excitatorios), o negativos (inhibitorios).
- Una función de red (de propagación), encargada de computar la entrada total
combinada de todas las conexiones. Se calcula el valor de base o entrada total a la
unidad, generalmente como una simple suma ponderada de todas las entradas recibidas,
es decir, de las entradas multiplicadas por el peso o valor de las conexiones. La entrada
neta a cada unidad puede escribirse de la siguiente manera:
(3)
- Un núcleo central de proceso, encargado de aplicar la función de activación. Es quizás
la característica principal o definitoria de las neuronas, la que mejor define el
comportamiento de la misma. Se encarga de calcular el nivel o estado de activación de
la neurona en función de la entrada total.
- La salida, por dónde se transmite el valor de activación a otras unidades.
36
Redes neuronales
Una idea clara de este proceso se muestra en la figura 25 en donde se puede observar un
ejemplo del recorrido de un conjunto de señales que entran a la red.
Figura 25. Proceso de una red neuronal.
Donde el valor de salida equivale a:
(4)
Siendo fi la función escogida para transformar la entrada netai en el valor de salida xi y
que depende de las características específicas de cada red.
En la tabla 10, resumimos y comparamos los dos modelos neuronales.
Tabla 10. Comparación entre las neuronas biológicas reales y las unidades de proceso
artificiales.
Redes Neuronales Biológicas
Redes Neuronales Artificiales
Neuronas
Unidades de proceso
Conexiones sinápticas
Conexiones ponderadas
Efectividad de las sinápsis
Peso de las conexiones
Efecto excitatorio o inhibitorio de una
conexión
Signo del peso de una conexión
Efecto combinado de las sinápsis
Función de propagación o de red
37
Redes neuronales
3.3. FUNCIONES DE TRANSFERENCIA
La salida total de una red neuronal artificial está determinada por la función de
transferencia.
Se suele distinguir entre funciones lineales, en las que la salida es proporcional a la
entrada; funciones de umbral, en las cuales la salida es un valor discreto (típicamente
binario 0/1) que depende de si la estimulación total supera o no un determinado valor de
umbral; y funciones no lineales, no proporcionales a la entrada.
La función de transferencia es escogida dependiendo de las especificaciones del
problema que la neurona tenga que resolver.
Casi todos los avances recientes en conexionismo se atribuyen a arquitecturas multicapa
que suelen utilizar funciones de activación no lineales.
Las funciones de transferencia más utilizadas en redes neuronales multicapa son las
siguientes:
-
Función de transferencia lineal (purelin).
Función de transferencia sigmoidal (logsig).
Función de transferencia tangente sigmoidal (tansig).
Función purelin
Es una función de transferencia bastante utilizada. Abarca un rango de valores de salida
mucho más amplio que el resto .La salida de una función de transferencia lineal purelin
es igual a su entrada, es decir, es una función con pendiente 1.
a=n
Figura 26. Función de transferencia lineal.
38
(5)
Redes neuronales
Función sigmoidal
Es probablemente la función de activación más empleada en la actualidad.
Se trata de una función continua no lineal. La función sigmoidal posee un rango
comprendido entre 0 y 1. Esto, aplicado a las unidades de proceso de una red neuronal
artificial significa que, sea cual sea la entrada, la salida estará comprendida entre 0 y1.
Esta función responde a la siguiente ecuación:
(6)
Y presenta las siguientes características deseables:
1. Acomodación de señales muy intensas sin producir saturación.
2. Admite señales débiles sin excesiva atenuación.
3. Fácilmente derivable, ya que f’(x)=f(x)•(1-f(x))dx. Es diferenciable en
cualquier punto, tal y como se puede apreciar en la figura 27:
Figura 27. Función de transferencia sigmoidal logística.
La principal limitación de esta función es que no sirve para expresar polaridades, da
siempre valores positivos.
39
Redes neuronales
Función tansig
Si las entradas son positivas y negativas, la función de transferencia más adecuada será
la tangente sigmoidal hiperbólica que cumple con la siguiente ecuación:
(7)
Como muestra la gráfica 28, la salida muestra valores entre -1 y +1.
Figura 28. Función de transferencia sigmoidal tangencial hiperbólica.
3.4. APRENDIZAJE DE UNA RED NEURONAL ARTIFICIAL
La diferencia sustancial entre los modos de desarrollo de una red neuronal artificial y de
cualquier otra aplicación de software es la siguiente:
- La red neuronal no se programa de forma directa, sino que se entrena.
En las redes neuronales el conocimiento se incorpora mediante el aprendizaje a partir de
ejemplos.
Esta forma de adquirir el conocimiento es una de sus características más destacables:
como hemos comentado, no se programa de forma directa, como en los sistemas
expertos, sino que se adquiere a partir de ejemplos, por ajuste de parámetros de las
neuronas mediante un algoritmo de aprendizaje.
Originalmente, cuando se crea la red neuronal, ésta no dispone de ningún tipo de
conocimiento útil almacenado. Para que la red neuronal ejecute una tarea es preciso
antes entrenarla.
Se denomina aprendizaje o entrenamiento de la red al ajuste de los pesos sinápticos, que
determina el grado de conexión entre las neuronas de la red.
40
Redes neuronales
Se distinguen 3 tipos de aprendizaje:
Aprendizaje supervisado
En este tipo de aprendizaje se le proporciona a la RNA una serie de ejemplos
consistentes en unos patrones de entrada, junto con la salida que debería dar la red para
dicha entrada.
El proceso de entrenamiento consiste en el ajuste de los pesos para que la salida de la
red sea lo más parecida posible a la salida deseada. Es por ello que en cada iteración se
use alguna función que nos de cuenta del error o el grado de acierto que esta cometiendo
la red. El objetivo de este aprendizaje es el de minimizar el error entre la salida deseada
y la actual.
Aprendizaje no supervisado o autoorganizado
En este tipo de aprendizaje se presenta a la red una serie de ejemplos pero no se
presenta la respuesta deseada. Lo que hace la RNA es reconocer regularidades en el
conjunto de entradas.
Las redes con dicho aprendizaje no requieren de influencia externa para ajustar los
pesos de las conexiones entre sus neuronas. La red no recibe ninguna información por
parte del entorno que le indique si la salida generada en respuesta de una entrada es o no
correcta. Por ello, suele decirse que estas redes son capaces de auto organizarse.
Estas redes deben encontrar las características, regularidades, correlaciones o categorías
que se pueden establecer entre los datos que se presentan en su entrada.
En algunos casos, la salida representa el grado de familiaridad o similitud entre la
información que se le está presentando en la entrada y las que se le han mostrado en el
pasado.
Aprendizaje Híbrido:
Es una mezcla de los anteriores. Unas capas de la red tienen un aprendizaje supervisado
y otras capas de la red tienen un aprendizaje de tipo no supervisado.
En posteriores capítulos explicaremos cuáles han sido los algoritmos de aprendizaje
utilizados en el entrenamiento de nuestra red neuronal.
41
Redes neuronales
3.5. TOPOLOGÍA DE UNA RED NEURONAL ARTIFICIAL
La distribución de las neuronas dentro de la red se realiza formando capas. Cada nivel o
capa esta constituido por un número determinado de neuronas.
Se pueden distinguir tres tipos de capas:
* Capa de entrada: es la capa que recibe directamente la información proveniente de
las fuentes externas de la red. Actúa como buffer de entrada, almacenando la
información bruta suministrada a la red o realizando un sencillo preproceso de la
misma.
* Capas Ocultas: son internas a la red, no tiene contacto directo con el exterior. El
número de niveles ocultos puede ser de cero a un número elevado. Se encargan de
extraer, procesar y memorizar la información.
* Capa de Salida: transfieren información de la red hacia el exterior. Actúa como
interfaz o buffer de salida, almacenando la respuesta de la red para que pueda ser leída.
En la figura 29 podemos observar lo expuesto anteriormente:
Figura 29. Esquema de una red neuronal
No se pueden dar reglas concretas para determinar el número de neuronas o el número
de capas que debe poseer una red para la posible resolución de un problema concreto.
Respecto al número de capas de la red, en general tres capas son suficientes (entrada oculta-salida). Sin embargo, hay veces que un problema es más fácil de resolver con
más de una capa oculta. El tamaño de las capas, tanto de entrada como de salida, suelen
venir determinado por la naturaleza de la aplicación. En cambio, decidir cuántas
neuronas debe tener una capa oculta no suele ser tan evidente.
El número de neuronas ocultas interviene en la eficiencia de aprendizaje y de
generalización de la red. No hay ninguna regla que indique el número óptimo, en cada
problema se debe ensayar. La utilización de un número de neuronas inferior al adecuado
provoca que la red no funcione correctamente, mientras que el uso de un número
demasiado grande puede crear problemas de sobreajuste. Por lo tanto es conveniente
42
Redes neuronales
ensayar con diferente número de neuronas en la capa oculta y escoger aquella red que
proporcione un mínimo error sin llegar a sobreajustar el sistema.
Típicamente una neurona tiene más de una entrada; como ejemplo, mostramos a
continuación la figura 30, en la que se observa una neurona con R entradas; las entradas
individuales p1, p2,..., pR son multiplicadas por los pesos correspondientes w1,1,
w1,2,...w1,R pertenecientes a la matriz de pesos W.
Figura 30. Neurona con múltiples entradas.
La neurona tiene una ganancia b, la cual llega al mismo sumador al que llegan las
entradas multiplicadas por los pesos, para formar la salida n:
(8)
Esta expresión puede ser escrita en forma matricial de la siguiente manera:
n=Wp + b
(9)
Los subíndices de la matriz de pesos representan los términos involucrados en la
conexión; el primer subíndice representa la neurona destino y el segundo, representa la
fuente de la señal que alimenta a la neurona. Por ejemplo, los índices de w1,2 indican
que este peso es la conexión desde la segunda entrada a la primera neurona.
Se puede emplear la notación abreviada representada en la figura 31:
Figura 31. Neurona con múltiples entradas, notación abreviada
43
Redes neuronales
Donde el vector de entrada p es representado por la barra sólida vertical a la izquierda.
Las dimensiones de p son mostradas en la parte inferior de la variable como Rx1,
indicando que el vector de entrada es un vector fila de R elementos. Las entradas van a
la matriz de pesos W, la cual tiene R columnas y solo una fila para el caso de una sola
neurona. Una constante 1 entra a la neurona multiplicada por la ganancia escalar b.
Los parámetros fundamentales de la red son: el número de capas, el número de neuronas
por capa, el grado de conectividad y el tipo de conexiones ente neuronas.
Podemos clasificar las redes neuronales artificiales según:
1- El patrón de conexiones que presenta. Así se definen tres tipos básicos de redes:
- Redes de propagación hacia delante o cíclicas, denominadas también como
redes no recurrentes o redes en cascada (feedforward), en las que todas las
señales van desde la capa de entrada hacia la salida sin existir ciclos, ni
conexiones entre neuronas de la misma capa. Dentro de este grupo tenemos las
redes monocapa (perceptron simple, Adaline) y redes multicapa (perceptron
multicapa).
- Las redes que disponen de conexiones tanto hacia delante como hacia atrás
(redes feedforward/feedback). Existe la posibilidad de conectar las salidas de las
neuronas de capas posteriores a las entradas de capas anteriores, a estas
conexiones se les denomina conexiones hacia atrás o feedback.
- Las redes recurrentes que presentan al menos un ciclo cerrado de activación
neuronal: Elman, Hopfield, máquina de Bolzman. En este tipo de redes, la
información puede volver a lugares por los que ya había pasado, formando
bucles, y se admiten las conexiones intracapa (laterales), incluso de una unidad
consigo misma.
2- El tipo de aprendizaje de que es capaz (si necesita o no un conjunto de entrenamiento
supervisado). Para cada tipo de aprendizaje, que ya ha sido comentado anteriormente,
encontramos varios modelos de red propuestos:
- Aprendizaje supervisado: el perceptrón simple, la red Adaline, el perceptrón
multicapa.
- Aprendizaje no supervisado o autoorganizado: las memorias asociativas, las
redes de Hopfield, la máquina de Bolzman y la máquina de Cauchy.
- Redes híbridas: redes de base radial.
3- Según sean capaces de procesar información de distinto tipo. Se clasifican en:
-Redes analógicas: procesan datos de entrada con valores continuos y,
habitualmente acotados. Ejemplos de este tipo de redes son: Hopfield, Kohonen
y las redes de aprendizaje competitivo.
44
Redes neuronales
-Redes discretas: procesan datos de entrada de naturaleza discreta;
habitualmente valores lógicos booleanos. Ejemplos de este segundo tipo de redes
son: las máquinas de Bolzman y Cauchy, y la red discreta de Hopfield.
A continuación podemos observar los esquemas de una red monocapa (figura 32) y de
una red multicapa feedforward (figura 33) que en definitiva será la que utilizaremos en
la realización de nuestro proyecto. El algoritmo de aprendizaje empleado será del tipo
supervisado.
Figura 32. Capa de S neuronas. Red monocapa.
Figura 33. Red de tres capas. Red Multicapa.
45
Redes neuronales
3.6. PRINCIPALES TIPOS DE REDES NEURONALES ARTIFICIALES
Comentaré alguna de las principales redes neuronales: red Perceptron simple, red
Perceptron Multicapa y la red Backpropagation.
3.6.1. LA RED PERCEPTRON SIMPLE
La red tipo Perceptrón fue inventada por el psicólogo Frank Rosenblatt en el año 1957.
El Perceptrón es un tipo de red de aprendizaje supervisado, es decir necesita conocer los
valores esperados para cada una de las entradas presentadas. Se trata de una red sin capa
oculta de neuronas.
Su estructura se muestra en la figura 34:
Figura 34. Estructura de una red perceptron.
La única neurona de salida del Perceptrón realiza la suma ponderada de las entradas,
resta el umbral y pasa el resultado a una función de transferencia de tipo escalón. La
salida dependerá de si se activa o no la neurona.
La red tipo Perceptrón simple emplea principalmente dos funciones de transferencia,
hardlim con salidas 1, 0 o hardlims con salidas 1, -1; su uso depende del valor de salida
que se espera para la red. La representación de la función de transferencia hardlim y de
su salida se observan en la figura 35:
Figura 35. Función de transferencia hardlim y su salida.
46
Redes neuronales
Si se utiliza la función hardlims (figura 36):
Figura 36. Función de transferencia hardlims y su salida.
El Perceptrón es aún hoy una red de gran importancia, pues con base a su estructura se
han desarrollado otros modelos de red neuronal como las multicapa que veremos a
continuación.
3.6.2. LA RED PERCEPTRON MULTICAPA
Un Perceptrón multicapa (figura 37) es una red con alimentación hacia delante,
compuesta de varias capas de neuronas entre la entrada y la salida de la misma. Es uno
de los tipos de redes más comunes. Se rige del mismo modo que la Peceptrón simple.
Incluye una entrada adicional representada por la ganancia b.
Figura 37. Red Perceptron multicapa
47
Redes neuronales
Puede notarse que esta red de tres capas equivale a tener tres redes tipo Perceptrón en
cascada; la salida de la primera red, es la entrada a la segunda y la salida de la segunda
red es la entrada a la tercera. Cada capa puede tener diferente número de neuronas, e
incluso distinta función de transferencia.
3.6.3. LA RED BACKPROPAGATION
La estructura de una red Backpropagation es la misma que la estructura de una
Perceptrón multicapa. Es un tipo de red de aprendizaje supervisado, cuyo
funcionamiento se rige por el algoritmo de Backpropagation (propagación del error
hacia atrás).
Este algoritmo consiste en el aprendizaje de un conjunto predefinido de pares de
entradas-salidas dados como ejemplo: primero se aplica un patrón de entrada como
estímulo para la primera capa de las neuronas de la red, éste se va propagando a través
de todas las capas superiores, hasta generar una salida.
Posteriormente se compara el resultado en las neuronas de la capa de salida con la salida
que se desea obtener y se calcula un valor de error para cada neurona de salida.
El funcionamiento de este algoritmo, lo estudiaremos a continuación, pero antes
podemos afirmar que la aplicación del Backpropagation tiene dos fases, una hacia
delante y otra hacia atrás:
- Durante la primera fase el patrón de entrada es presentado a la red y propagado a
través de las capas hasta llegar a la capa de salida.
- Obtenidos los valores de salida de la red, se inicia la segunda fase, comparándose éstos
valores con la salida esperada para obtener el error. Se ajustan los pesos de la última
capa proporcionalmente al error. Se pasa a la capa anterior con una retropopagación del
error, ajustando los pesos y continuando con este proceso hasta llegar a la primera capa.
De esta manera se han modificado los pesos de las conexiones de la red para cada
patrón de aprendizaje del problema, del que conocíamos su valor de entrada y la salida
deseada que debería generar la red ante dicho patrón.
La importancia de la red Backpropagation consiste en su capacidad de auto adaptar los
pesos de las neuronas de las capas intermedias para aprender la relación que existe ente
un conjunto de patrones de entrada y sus salidas correspondientes.
Es muy importante la capacidad de generalización, facilidad de dar salidas satisfactorias
a entradas que el sistema no ha visto nunca en su fase de entrenamiento. La red debe
encontrar una representación interna que le permita generar las salidas deseadas cuando
se le dan entradas de entrenamiento, y que pueda aplicar además, a entradas no
presentadas durante la etapa de aprendizaje para clasificarlas.
Uno de los grandes avances logrados con la Backpropagation es que esta red aprovecha
la naturaleza paralela de las redes neuronales para reducir el tiempo requerido por un
48
Redes neuronales
procesador secuencial para determinar la correspondencia entre unos patrones dados.
Además el tiempo de desarrollo de cualquier sistema que se este tratando de analizar se
puede reducir como consecuencia de que la red puede aprender el algoritmo correcto sin
que alguien tenga que deducir por anticipado el algoritmo en cuestión.
3.6.4. ALGORITMO DE BACKPROPAGATION
Como se ha comentado anteriormente, el algoritmo que hemos utilizado en el desarrollo
de nuestra red neuronal, es el del Backpropagation. Para iniciar este aprendizaje se le
presenta a la red un patrón de entrenamiento, como el que se muestra a continuación, el
cual tiene q componentes y se describe de la siguiente manera:
Este patrón se propaga a través de las conexiones existentes, produciendo una entrada
neta n en cada una las neuronas de la siguiente capa.
La entrada neta es el valor justo antes de pasar por la función de transferencia y se rige
por la siguiente ecuación:
(10)
Donde:
* Woji: peso que une la componente i de la entrada con la neurona j de la capa oculta.
* pi: componente i del vector p que contiene el patrón de entrenamiento de q
componentes.
* boj: ganancia de la neurona j de la capa oculta.
* El superíndice (o) representa la capa a la que pertenece cada parámetro. En este caso,
la capa oculta.
49
Redes neuronales
Cada una de las neuronas de la capa oculta tiene como salida aoj que esta dada por la
ecuación:
(11)
Siendo:
fo: función de transferencia de las neuronas de la capa oculta.
Las salidas aoj de las neuronas de la capa oculta (de m componentes) son las entradas a
los pesos de conexión de la capa de salida, este comportamiento esta descrito por la
ecuación:
(12)
Donde:
* Wskj: peso que une la neurona j de la capa oculta con la neurona k de la capa de salida,
la cuál cuenta con s neuronas
* aoj: salida de la neurona j de la capa oculta. Ésta cuenta con m neuronas.
* bsk: ganancia de la neurona k de la capa de salida.
* nsk: entrada neta a la neurona k de la capa de salida
La red produce una salida final descrita por la ecuación:
(13)
Siendo f s la función de transferencia de las neuronas de la capa de salida.
La salida de la red de cada neurona ask se compara con la salida deseada tk para calcular
el error en cada unidad de salida:
(14)
El error debido a cada patrón p propagado esta dado por:
(15)
50
Redes neuronales
Siendo:
ep2:error
medio
cuadrático
para
cada
patrón
δK: error en la neurona k de la capa de salida con s neuronas.
de
entrada
p.
Este proceso se repite para el número total de patrones de entrenamiento (r). En un
proceso de aprendizaje exitoso, el objetivo del algoritmo es actualizar todos los pesos y
ganancias de la red minimizando el error medio cuadrático total descrito en:
(16)
Donde e2 representa el error total en el proceso de aprendizaje en una iteración después
de haber presentado a la red los r patrones de entrenamiento.
Las salidas de error se propagan hacia atrás, partiendo de la capa de salida, hacia todas
las neuronas de la capa oculta que contribuyen directamente a la salida. Sin embargo las
neuronas de la capa oculta solo reciben una fracción de la señal total del error,
basándose aproximadamente en la contribución relativa que haya aportado cada neurona
a la salida original. Este proceso se repite, capa por capa, hasta que todas las neuronas
de la red hayan recibido una señal de error que describa su contribución relativa al error
total. Basándose en la señal de error percibida, se actualizan los pesos de conexión de
cada neurona, para hacer que la red converja hacia un estado que permita clasificar
correctamente todos los patrones de entrenamiento.
El objetivo del proceso de aprendizaje es minimizar este error y, para ello, debe tomarse
la dirección negativa del gradiente y así obtener el mayor decremento del error y de esta
forma su minimización, condición requerida para realizar la actualización de la matriz
de pesos en el algoritmo Backpropagation. Una iteración de este algoritmo se escribe
así:
(17)
El gradiente negativo de ep2 se denotara como
del error respecto a todos los pesos de la red.
y se calcula como la derivada
Siendo α la llamada rata de aprendizaje que varía entre 0 y 1 dependiendo de las
características del problema a solucionar.
En las técnicas de gradiente descendiente es conveniente avanzar por la superficie de
error con incrementos pequeños de los pesos; esto se debe a que tenemos una
información local de la superficie y no se sabe lo lejos o lo cerca que se está del punto
mínimo.
Con incrementos grandes se corre el riesgo de pasar por encima del punto mínimo. Con
incrementos pequeños, aunque se tarde más en llegar, se evita que esto ocurra.
51
Redes neuronales
El elegir un incremento adecuado influye en la velocidad de convergencia del
algoritmo. Esta velocidad se controla a través de la rata de aprendizaje α, que por lo
general, se le da un valor pequeño para asegurar que la red encuentre una solución. Si α
toma un valor muy grande, los cambios en los pesos serán muy grandes, avanzando
muy rápidamente por la superficie de error, con el riesgo de saltarse el valor mínimo del
error y estar oscilando alrededor de él, pero sin poder alcanzarlo.
Algo importante que debe tenerse en cuenta, es la posibilidad de convergencia hacia
alguno de los mínimos locales que pueden existir en la superficie del error del espacio
de pesos como se ve en la figura 38:
Figura 38. Superficie típica de error
En el desarrollo matemático que se ha realizado para llegar al algoritmo
Backpropagation, no se asegura en ningún momento que el mínimo que se encuentre
sea global. Una vez la red se asiente en un mínimo, sea local o global, cesa el
aprendizaje, aunque el error siga siendo alto. En todo caso, si la solución es admisible
desde el punto de vista del error, no importa si el mínimo es local o global o si se ha
detenido en algún momento previo a alcanzar un verdadero mínimo.
Conviene mencionar alguno de los algoritmos de entrenamiento Backpropagation: el
gradiente descendente, y el gradiente descendente con momentum. Estos dos métodos
a menudo son demasiado lentos para los problemas prácticos. Existen otros algoritmos
de alta ejecución, los cuales pueden converger más rápido que los algoritmos
mencionados anteriormente.
3.7. VENTAJAS DE UNA RED NEURONAL
Debido a su constitución y a sus fundamentos, las redes neuronales artificiales presentan
un gran número de ventajas. Aquí presentamos las más importantes:
- Aprendizaje Adaptativo: es una de las características más atractivas de las redes
neuronales, ya que son capaces de aprender a realizar tareas, basándose en un
entrenamiento o en una experiencia inicial. Una red neuronal no necesita un algoritmo
específico para resolver cada problema. Pueden generar su propia distribución de los
pesos (enlaces) mediante el aprendizaje.
52
Redes neuronales
- Auto-organización: una red neuronal puede crear su propia organización o
representación de la información que recibe mediante una etapa de aprendizaje. Esta
autoorganización provoca la generalización: facultad de las redes neuronales de
responder apropiadamente cuando se les presentan datos o situaciones en las que no
había sido expuesta anteriormente. El sistema puede generalizar la entrada para obtener
una respuesta.
- Tolerancia a fallos: las redes neuronales fueron los primeros métodos computacionales
con la capacidad inherente de tolerancia a fallos. Comparados con los sistemas
computacionales tradicionales, los cuales pierden su funcionalidad cuando sufren un
pequeño error de memoria, en las redes neuronales si se produce un fallo en un número
no muy grande de neuronas y aunque el comportamiento del sistema se ve influenciado,
no sufre una caída repentina.
Hay dos aspectos diferentes con respecto a la tolerancia de errores: primero, la red
puede aprender a reconocer patrones con información distorsionada o incompleta
(tolerancia a los errores respecto a los datos) o bien puede seguir realizando su función
(con cierta degradación) aunque se destruya una parte de la red (tolerancia a fallos en el
funcionamiento interno de la red).
La razón principal por la que las redes neuronales son tolerantes a los errores es el
hecho de tener la información distribuida en las conexiones entre neuronas, lo que
conlleva un cierto grado de redundancia en este tipo de almacenamiento. La mayoría de
los ordenadores algorítmicos y sistemas de recuperación de datos almacenan cada pieza
de información en un espacio único, localizado y direccionado. Las redes neuronales
almacenan información no localizada. Por tanto, la mayoría de las interconexiones,
entre los nodos de la red tendrán unos valores en función de los estímulos recibidos, lo
que genera un patrón de salida que representa la información almacenada.
- Operaciones en tiempo real: una de las mayores prioridades, casi en la totalidad de las
áreas de aplicación, es la necesidad de realizar procesos con datos de forma muy rápida.
Las redes neuronales se adaptan bien a esto debido a su implementación paralela.
- Fácil inserción a las nuevas tecnologías: una red neuronal puede ser rápidamente
entrenada, comprobada, verificada y trasladada a una implementación hardware de bajo
coste, lo cual prueba la facilidad de insertar redes neuronales para aplicaciones
específicas dadas de sistemas existentes.
3.8. ELABORACIÓN DE LA RED NEURONAL
Después de esta breve introducción, enumeraremos los pasos que se han seguido en la
creación, en el entrenamiento y en la validación de nuestra red neuronal. Posteriormente
se describirán más ampliamente todos estos aspectos que ahora solamente comentamos.
1- Seleccionamos el modelo idóneo y decidimos cual será la arquitectura de la red más
adecuada para la consecución de los objetivos de nuestro proyecto. El programa
informático utilizado para la creación de esta red neuronal es Matlab en su versión 6.5.
53
Redes neuronales
2- Inicialmente, pensamos y elegimos dos modos distintos de entrenamiento para la
RNA, confiando que son los más adecuados y que nos pueden dar buenos resultados.
3- Preparamos los datos, anteriormente obtenidos en el laboratorio, para poder trabajar
adecuadamente con el programa Matlab y organizamos en matrices la gran cantidad de
información recogida.
4- Mediante métodos de reducción de variables (primero se utilizará el PCA, y
posteriormente el PLS) conseguimos reducir la información de entrada con la que
pretendemos entrenar a la red neuronal.
5- Creamos la RNA, efectuamos los dos entrenamientos anteriormente pensados y
validamos la red neuronal.
6- Extraemos conclusiones sobre los resultados obtenidos.
7- Para mejorar estos resultados, decidimos probar un tercer entrenamiento y
analizamos las predicciones que nos ha proporcionado la RNA.
8- No satisfecho con los resultados obtenidos, decidimos utilizar otro método de
reducción de variables, el método del PLS.
9- Finalmente, extraemos conclusiones generales sobre los resultados obtenidos.
3.8.1. ARQUITECTURA DE LA RED
El tipo de red que se eligió para la realización de nuestro proyecto fue el de una red del
tipo Backpropagation con las siguientes propiedades:
Se trata de una red multicapa:
-
-
Una matriz de entrenamiento (información de entrada) con parte de la
información espectral obtenida en el laboratorio.
Una capa oculta, inicialmente con 10 neuronas. Ya se dijo en uno de los
capítulos de la introducción que el número de neuronas ocultas interviene en la
eficiencia de aprendizaje y de generalización de la red, pero que no hay ninguna
regla que indique el número óptimo de ésta. En cada problema se debe ensayar,
y nosotros hemos creído oportuno empezar todos los entrenamientos con una red
que en su capa oculta tuviera 10 neuronas.
Una capa de salida.
La función de transferencia utilizada en la capa oculta ha sido la tansig. Mientras que
para la capa de salida hemos empleado la función de transferencia purelin.
En Matlab, este tipo de redes, presentan una gran variedad de opciones de
configuración, dependiendo de la necesidad de aprendizaje y de la aplicación que se este
desarrollando.
54
Redes neuronales
En posteriores apartados mostraremos cuales han sido los procedimientos y los pasos
que se han seguido para la creación de nuestra red con el programa Matlab.
3.8.2. ELECCIÓN DE LOS ENTRENAMIENTOS DE LA RNA
En un principio se pensaron utilizar dos modos de entrenamiento para el aprendizaje de
la red neuronal. A partir de ahora, y para evitar confusiones, los denominaremos:
Entrenamiento A y Entrenamiento B.
3.8.2.1. Entrenamiento A
Este primer método de aprendizaje consiste en realizar el entrenamiento de la red
neuronal, solamente con el 70% (aproximadamente) de las muestras de cada una de las
20 mezclas con las que se ha experimentado en el laboratorio. El 30% (aproximado)
restante de las muestras nos servirán para realizar la validación.
A continuación se presenta una tabla (tabla 11) con el total de muestras extraídas para
cada una de las mezclas analizadas. Y mostramos aquellas que han sido empleadas para
el Entrenamiento A y aquellas que han sido utilizadas para la Validación A.
Tabla 11. Total de muestras utilizadas para el Entrenamiento A y para la Validación A.
Validación A
METANOL (%)
Número total
de muestras
efectuadas
Entrenamiento A
P-XILENO (%)
0.1
0.5
1
0
0.1
0.5
1
10
0
0.1
0.5
1
10
0
0.1
0.5
10
0.1
0.5
1
0
0
0
0.1
0.1
0.1
0.1
0.1
0.5
0.5
0.5
0.5
0.5
1
1
1
1
10
10
10
19
20
22
20
38
20
19
20
19
38
20
19
20
25
19
19
22
19
19
22
14
15
15
15
27
14
14
15
14
27
15
14
15
18
14
14
15
14
14
15
5
5
7
5
11
6
5
5
5
11
5
5
5
7
5
5
7
5
5
7
55
Redes neuronales
Del total de las 439 muestras extraídas, con este modo de entrenamiento, se utilizarán
318 para entrenar a la red neuronal y 121 muestras para efectuar la validación.
3.8.2.2. Entrenamiento B
Observamos la tabla 12, que como se vió en apartados anteriores, representa el conjunto
total de las combinaciones analizadas en el laboratorio. Las casillas marcadas con una X
y coloreadas de amarillo indican las mezclas efectuadas.
Tabla 12. Total de mezclas efectuadas.
P-XILENO (%)
0
0.1
0.5
1
10
0
METANOL (%)
0.5
0.1
1
10
El segundo método de aprendizaje (Entrenamiento B) consistió en la realización del
entrenamiento de la red con las combinaciones más “extremas “de la tabla anterior.
A continuación presentamos otra tabla (tabla 13) en la que se aprecian (casillas
marcadas con una X y coloreadas de amarillo) las mezclas que se han utilizado, en el
Entrenamiento B, para entrenar a la red neuronal.
Tabla 13. Mezclas utilizadas para el Entrenamiento B.
P-XILENO (%)
0
0.1
0.5
1
10
0
METANOL (%)
0.5
0.1
1
10
Seguidamente, se indican aquellas mezclas que se han utilizado para validar la red
neuronal (tabla 14). Como se puede ver, la Validación B, se hace con las combinaciones
más “centradas”.
56
Redes neuronales
Tabla 14. Mezclas utilizadas para la Validación B.
P-XILENO (%)
0
0.1
0.5
1
10
0
METANOL (%)
0.5
0.1
1
10
Para clarificar lo expuesto anteriormente, a continuación presentamos una tabla resumen
del Entrenamiento B y de la Validación B (tabla 15).
Tabla 15. Total de muestras utilizadas para el Entrenamiento B y para la Validación B.
Validación B
METANOL (%)
Número total
de muestras
efectuadas
Entrenamiento B
P-XILENO (%)
0.1
0.5
1
0
0.1
0.5
1
10
0
0.1
0.5
1
10
0
0.1
0.5
10
0.1
05
1
0
0
0
0.1
0.1
0.1
0.1
0.1
0.5
0.5
0.5
0.5
0.5
1
1
1
1
10
10
10
19
20
22
20
38
20
19
20
19
38
20
19
20
25
19
19
22
19
19
22
19
20
22
20
38
0
19
20
19
0
0
0
20
25
19
0
22
19
19
22
0
0
0
0
0
20
0
0
0
38
20
19
0
0
0
19
0
0
0
0
En total se utilizarán 323 muestras para entrenar la red neuronal y 116 muestras para
efectuar la validación.
57
Redes neuronales
3.8.3. PREPARACIÓN DE LOS DATOS OBTENIDOS
Antes de ponernos a elaborar nuestra RNA, necesitamos preparar, recoger y organizar
los datos obtenidos en el laboratorio para poder trabajar adecuadamente con el programa
Matlab. Organizamos en matrices la gran cantidad de información
recogida
experimentalmente.
La organización de todos estos datos resultó ser una faena muy entretenida y costosa (en
tiempo), pero fundamental e imprescindible para el correcto funcionamiento del
proyecto.
El procedimiento que se siguió fue el siguiente:
1-Organizar por carpetas, en la unidad C del ordenador, las distintas mezclas realizadas.
Como ya se comentó en apartados anteriores, tenemos un total de 20 mezclas
efectuadas, donde para cada una de ellas se analizaron un determinado número de
muestras.
2-Se cargan en el Matlab las 439 muestras, una por una, de la forma que mostramos a
continuación:
load C:\Espectres\05_0_met_pxil\05_0_met_pxil_m01
En este ejemplo estamos cargando la muestra número 1 de la mezcla que contiene una
concentración del 0’5% de metanol y 0% de p-xileno.
Cada vez que cargamos en el Matlab una de estas muestras, se forma una matriz de 908
filas y 2 columnas. Representando la transmitancia para cada uno de los 908 puntos de
longitud de onda obtenidos.
3-El siguiente paso consistirá en crear 20 matrices en el Matlab, una matriz para cada
una de las 20 mezclas efectuadas. Seguidamente, presentamos un ejemplo, en donde
estamos organizando las 19 muestras que se tomaron de la mezcla que contiene una
concentración del 0’5% de metanol y de 0% de p-xileno en una matriz llamada
spec05_0:
spec05_0= [X05_0_met_pxil_m01(:,2)]
spec05_0=[spec05_0,X05_0_met_pxil_m02(:,2),X05_0_met_pxil_m03(:,2),X05
_0_met_pxil_m04(:,2),X05_0_met_pxil_m05(:,2),X05_0_met_pxil_m06(:,2),X
05_0_met_pxil_m07(:,2),X05_0_met_pxil_m08(:,2),X05_0_met_pxil_m09(:,2)
,X05_0_met_pxil_m10(:,2),X05_0_met_pxil_m11(:,2),X05_0_met_pxil_m12(:,
2),X05_0_met_pxil_m13(:,2),X05_0_met_pxil_m14(:,2),X05_0_met_pxil_m15(
:,2),X05_0_met_pxil_m16(:,2),X05_0_met_pxil_m17(:,2),X05_0_met_pxil_m1
8(:,2),X05_0_met_pxil_m19(:,2)];
De esta forma conseguimos una matriz de 908 filas (medidas de longitud de onda) y 19
columnas (las transmitancias correspondientes a las 19 muestras de una determinada
mezcla). Posteriormente, esto se repetirá para las 20 mezclas con las que se ha
experimentado.
58
Redes neuronales
4-Pretendemos reducir el número de puntos (de longitud de onda) de los espectros
obtenidos de cada una de las 439 muestras tomadas, y lo hacemos mediante el siguiente
algoritmo:
cuenta =1;
var=1;
m=3889;
indice=1;
spec05_0(var,1) = X05_0_met_pxil_m01(5,2);
for i =6:m
if(cuenta == 4)
cuenta = 0;
var=var+1;
if(var<=777)
spec05_0(var,1) = X05_0_met_pxil_m01(i,2);
end
end
cuenta = cuenta +1;
end
Este bucle se repetirá para cada una de las 19 muestras que contiene esta mezcla. Una
vez hayamos reducido el número de puntos (de 908 a 777), pasaremos a realizar el
mismo bucle para todas las muestras tomadas de la siguiente mezcla. Y así hasta acabar
con el total de las 20 mezclas.
5- Cargamos en una matriz general, llamada spec, las 20 matrices (anteriormente
realizadas), correspondientes a las 20 mezclas efectuadas en el laboratorio, de la
siguiente manera:
spec = [spec0_01];
spec = [spec, spec0_05];
spec=[spec, spec0_1];
spec=[spec, spec01_0];
spec=[spec, spec01_01];
spec=[spec, spec01_05];
spec=[spec, spec01_1];
spec=[spec, spec01_10];
spec=[spec, spec05_0];
spec=[spec, spec05_01];
spec=[spec, spec05_05];
spec=[spec, spec05_1];
spec=[spec, spec05_10];
spec=[spec, spec1_0];
spec=[spec, spec1_01];
spec=[spec, spec1_05];
spec=[spec, spec1_10];
spec=[spec, spec10_01];
spec=[spec, spec10_05];
spec=[spec, spec10_1];
Así conseguimos cargar en el Matlab, una matriz llamada spec con un tamaño de 777
filas y 439 columnas.
59
Redes neuronales
6- Realizamos otra matriz general, llamada conc, de 439 filas y 2 columnas. Ésta
contiene las distintas concentraciones de metanol y de p-xileno de las 439 muestras
tomadas en el laboratorio, y están colocadas de forma ordenada para que se
correspondan con los espectros de la matriz spec.
7- Una vez realizadas las matrices generales spec y conc, creamos las matrices de
entrenamiento (Entrenamiento A y Entrenamiento B) y de validación (Validación A y
Validación B) para nuestra red neuronal.
Para el aprendizaje A, las matrices de entrenamiento y de validación son las siguientes:
entrenamentA
=
[spec(:,1:14),
spec(:,62:76),
spec(:,82:108),
spec(:,159:173), spec(:,179:192),
spec(:,256:269), spec(:,275:289),
spec(:,339:352), spec(:,358:372),
spec(:,418:432)];
spec(:,20:34),
spec(:,120:133),
spec(:,198:224),
spec(:,295:312),
spec(:,380:393),
spec(:,40:54),
spec(:,140:153),
spec(:,236:250),
spec(:,320:333),
spec(:,399:412),
Observamos, como ya se dijo, que en este aprendizaje estamos seleccionando, para el
entrenamiento, (aproximadamente) el 70% de las muestras extraídas de cada una de las
mezclas efectuadas.
validacioA
=[
spec(:,15:19),
spec(:,35:39),
spec(:,77:81),
spec(:,109:119),
spec(:,134:139),
spec(:,174:178), spec(:,193:197), spec(:,225:235),
spec(:,270:274), spec(:,290:294), spec(:,313:319),
spec(:,353:357), spec(:,373:379), spec(:,394:398),
spec(:,433:439)];
spec(:,55:61),
spec(:,154:158),
spec(:,251:255),
spec(:,334:338),
spec(:,413:417),
Para realizar la Validación escogemos el 30% restante.
La matriz de Entrenamiento A tendrá un tamaño de 777 filas y 318 columnas.
La matriz de Validación A tendrá un tamaño de 777 filas y 121 columnas.
Para el aprendizaje B, las matrices de entrenamiento y de validación son las siguientes:
entrenamentB=[spec(:,1:119),spec(:,140:197),spec(:,275:338),spec(:,358
:439)];
validacioB =[spec(:,120:139), spec(:,198:274), spec(:,339:357)];
La matriz de Entrenamiento B tendrá un tamaño de 777 filas y 323 columnas.
La matriz de Validación B tendrá un tamaño de 777 filas y 116 columnas.
60
Redes neuronales
8- Creamos otras cuatro matrices, con las correspondientes concentraciones de las
muestras utilizadas para el entrenamiento y las utilizadas para la validación de cada uno
de los dos aprendizajes.
Para el aprendizaje A:
concentrenA=
[conc(1:14,:);
conc(20:34,:);
conc(62:76,:);
conc(82:108,:);
conc(120:133,:);
conc(159:173,:); conc(179:192,:); conc(198:224,:);
conc(256:269,:); conc(275:289,:); conc(295:312,:);
conc(339:352,:); conc(358:372,:); conc(380:393,:);
conc(418:432,:)];
conc(40:54,:);
conc(140:153,:);
conc(236:250,:);
conc(320:333,:);
conc(399:412,:);
concvalidaA
=
[
conc(15:19,:);
conc(35:39,:);
conc(77:81,:);
conc(109:119,:);
conc(134:139,:);
conc(174:178,:); conc(193:197,:); conc(225:235,:);
conc(270:274,:); conc(290:294,:); conc(313:319,:);
conc(353:357,:); conc(373:379,:); conc(394:398,:);
conc(433:439,:)];
conc(55:61,:);
conc(154:158,:);
conc(251:255,:);
conc(334:338,:);
conc(413:417,:);
Para el aprendizaje B:
concentrenB=[conc(1:119,:);conc(140:197,:);conc(275:338,:);conc(358:43
9,:)];
concvalidaB = [conc(120:139,:); conc(198:274,:); conc(339:357,:)];
Una vez ya se han efectuado los 8 pasos anteriores, y se han comentado los
entrenamientos que se van a seguir, estamos ya casi preparados para la elaboración, el
entrenamiento y la validación de la red neuronal. Pero antes debemos preocuparnos por
reducir la gran cantidad de información espectral que hemos recogido.
3.8.4. MÉTODO DE REDUCCIÓN DE VARIABLES (PCA)
Para poder emplear los dos primeros entrenamientos (Entrenamiento A y Entrenamiento
B), reduciremos antes la información de entrada a la red neuronal, ya que esta es
excesiva, mediante el método del PCA.
La presencia de gran cantidad de variables independientes en la construcción y
generalización de modelos RNA tiene dos grandes desventajas: por un lado, el tiempo
empleado en el entrenamiento de las redes puede ser bastante largo y por el otro, los
grandes conjuntos de datos y variables pueden tender a retener información redundante
y así conducir a modelos no confiables.
Por estos motivos, hemos empleado uno de los métodos más utilizados para la
reducción de variables, consistente en la descomposición de los datos en componentes
61
Redes neuronales
principales (PCA, Principal Component Analysis). Reduce eficientemente la cantidad
original de datos y variables, manteniendo a su vez, la mayor cantidad de información
presente en los datos originales.
3.8.4.1. Introducción sobre el método PCA
Es un método para reducir observaciones y variables contenidas en grandes archivos de
datos a nuevos conjuntos de datos cuyo tamaño es mucho más reducido. Selecciona
observaciones representativas y elimina las variables que aporten poca o ninguna
información.
Se le conoce también como método de preprocesamiento de datos.
El modelo del PCA persigue los siguientes objetivos:
- La información redundante entre variables altamente correlacionadas pueden ser
eliminadas sin arriesgar a perder valiosa información.
- La contribución de la varianza debe ser alta en el conjunto de las nuevas variables.
- Menos variables independientes hacen más fácil el análisis de los resultados y
simplifica la construcción de los modelos RNA
La quimiometría ha sido quien ha estudiado el desarrollo de métodos de cálculo capaces
de reducir este gran volumen de información para que ésta quede contenida en un
número reducido de variables.
Tratamiento previo de los datos
Los procedimientos de reducción de variables no suelen ser aplicados a los datos
originales, sino que éstos son previamente tratados para eliminar posibles efectos que
puedan afectar a la descomposición. Los dos tratamientos habituales son el auto
escalado y el centrado.
Considerando una matriz X de datos, donde cada fila corresponde al espectro de una
muestra y cada columna corresponde a una longitud de onda (variable), el centrado y el
auto escalado transforman esta matriz de la siguiente forma:
Centrado: calcula el valor medio de cada variable ( ) del conjunto de calibración (de
cada columna de la matriz) y se resta este valor a cada punto (xik) de la columna:
(18)
62
Redes neuronales
El valor medio corresponde al centrado del modelo, y los valores de todas las variables
están ahora referidos a dicho centro. Este tratamiento permite seguir manteniendo las
unidades originales.
Auto escalado: después de haber centrado cada columna, se divide el resultado por la
desviación estándar de la misma (Sk), de esta forma la varianza de cada variable vale la
unidad.
(19)
Análisis en componentes principales
El espectro de una muestra registrado a k longitudes de onda puede describirse como un
vector con k coeficientes. Se puede construir un espacio de k dimensiones de forma que
cada una de ellas sea la señal a cada una de las longitudes de onda, y se puede
representar la muestra como un punto en este espacio. Si se tienen m muestras, cada una
de ellas se puede representar como un punto en el espacio de k dimensiones. Si estas
muestras no tienen nada en común aparecerán dispersadas en el espacio. Si por el
contrario tienen algo en común o están relacionadas los m puntos aparecerán agrupados.
El objetivo del PCA s hallar las direcciones que explican la máxima variabilidad de las
muestras y utilizarlas como nuevos ejes de coordenadas, denominados componentes
principales (PC’s). De esta forma, se reduce la dimensionalidad de un espacio de k
dimensiones a un espacio de dimensiones (a<k), manteniendo intacta la información
relevante del sistema. Geométricamente, un PCA es un cambio de ejes, representando
las muestras en un nuevo sistema de coordenadas con un número inferior de ejes al
utilizado inicialmente.
El primer componente principal es combinación lineal de las k variables que explica la
máxima variabilidad de las muestras. El segundo PC se escoge de forma que sea
ortogonal al primero y que explique la máxima variabilidad de las muestras una vez
restada la explicada por el primer PC. Para definir matemáticamente estos nuevos ejes
se utilizan los loadings, que son los cosenos de los ángulos que forman los nuevos ejes
con los originales. Los scores son las coordenadas de las muestras en estos nuevos ejes.
Cada componente principal contiene información de diferente relevancia. Los primeros
PC’s describen la fuente de variación más importante de los datos.
3.8.4.2. Implementación del PCA
En nuestro caso, y como se comentó anteriormente, las 439 muestras extraídas en el
laboratorio, las habíamos agrupado en una matriz de 777 filas (puntos de longitudes de
onda) y 439 columnas (transmitancias de las muestras). Como la información era
excesiva, decidimos realizar un PCA para reducirla.
63
Redes neuronales
Con este método hemos conseguido reducir considerablemente el tamaño de esta matriz
general. Si por ejemplo, inicialmente decidimos utilizar 6 componentes principales,
después de efectuar el PCA tendremos una matriz solamente con 6 filas. El número de
columnas dependerá en cada caso del entrenamiento que se vaya a realizar.
Los pasos efectuados en el Matlab para hacer el PCA y poder así reducir la
información son los mostrados en el siguiente apartado. En el cuál, podemos observar
que se han realizado distintos PCA según el entrenamiento a emplear (EntrenamientoA
o Entrenamiento B) y según el compuesto que se desee analizar (metanol o p-xileno).
3.8.4.2.1. Realización del PCA para el Entrenamiento A
PCA para el Entrenamiento A (con concentraciones de metanol)
datentA=entrenamentA';
[datentAn,datentAm]=mncn(datentA); %centrado de la matriz de entrenamiento
[scA,ldA]=pca(datentAn,0); %ejecución del PCA
scA=scA';
[concentrenAn, concentrenAm]=mncn(concentrenA);
concentrenAn=concentrenAn';
concentrenAn1=concentrenAn(1,:); %sólo se analiza el metanol
validacioA=validacioA';
validacioAn=scale(validacioA, datentAm); %escalado de la validación
concvalidaAn=scale(concvalidaA,concentrenAm);
concvalidaA1n=concvalidaAn(:,1)'; %sólo se analiza el metanol
scvalA=validacioAn*ldA;%proyección de las medidas de validación sobre el PCA
scvalA=scvalA';
En el Entrenamiento A, la matriz de entrada a la red neuronal (después de haber
aplicado el método del PCA y haber elegido inicialmente 6 componentes principales),
estará compuesta por una matriz de 6 filas y 318 columnas y la nombraremos scA. En
estas instrucciones, aparece el término ldA que hace referencia a los loadings citados
anteriormente.
La matriz de validación para el Entrenamiento A después de haber aplicado el método
del PCA tendrá un tamaño de 6 filas y 121 columnas y se llamará scvalA. Las demás
matrices ya fueron comentadas en el apartado 3.8.3.
Concretamente este PCA, se está utilizando para el análisis de las concentraciones de
metanol mediante el Entrenamiento A.
Si lo que queremos es analizar las concentraciones de p-xileno, el PCA que
escribiremos será el siguiente:
Realización del PCA para el Entrenamiento A (con concentraciones de p-xileno).
datentA=entrenamentA';
[datentAn,datentAm]=mncn(datentA);
[scAp,ldAp]=pca(datentAn,0)
scAp=scAp';
[concentrenAn, concentrenAm]=mncn(concentrenA);
concentrenAn=concentrenAn';
64
Redes neuronales
concentrenAn2=concentrenAn(2,:); %sólo se analiza el p-xileno
validacioA=validacioA';
validacioAn=scale(validacioA, datentAm);
concvalidaAn=scale(concvalidaA,concentrenAm);
concvalidaA2n=concvalidaAn(:,2)'; %sólo se analiza el p-xileno
scvalAp=validacioAn*ldAp;
scvalAp=scvalAp';
La sintaxis es la misma que en el caso anterior, pero con la diferencia que en este
segundo algoritmo utilizamos la segunda columna de la matriz concentrenAn, en donde
se encuentran ubicadas las concentraciones de p-xileno.
En este caso, y después de haber aplicado el método del PCA (inicialmente con 6
componentes principales), la matriz de entrada a la red, estará compuesta por una matriz
de 6 filas y 318 columnas y la nombraremos scAp. Mientras que la matriz de validación
tendrá un tamaño de 6 filas y 121 columnas y se llamará scvalAp. En esta ocasión, los
loadings están representados por la matriz ldAp.
3.8.4.2.2. Realización del PCA para el Entrenamiento B
PCA para el Entrenamiento B (con concentraciones de metanol).
datentB=entrenamentB';
[datentBn,datentBm]=mncn(datentB);
[scB,ldB]=pca(datentBn,0)
scB=scB';
[concentrenBn, concentrenBm]=mncn(concentrenB);
concentrenBn=concentrenBn';
concentrenBn1=concentrenBn(1,:);
validacioB=validacioB';
validacioBn=scale(validacioB, datentBm);
concvalidaBn=scale(concvalidaB,concentrenBm);
concvalidaB1n=concvalidaBn(:,1)';
scvalB=validacioBn*ldB;
scvalB=scvalB';
La estructura de este algoritmo es la misma que la del Entrenamiento A (con
concentraciones de metanol). Solamente variamos el nombre de las matrices de
entrenamiento y validación.
En el Entrenamiento B, la matriz de entrada a la red neuronal (después de haber
aplicado el método del PCA y haber elegido 6 componentes principales), estará
compuesta por una matriz de 6 filas y 323 columnas y la nombraremos scB.
La matriz de validación para el Entrenamiento B después de haber aplicado el método
del PCA tendrá un tamaño de 6 filas y 116 columnas y se llamará scvalB.
65
Redes neuronales
Este PCA nos servirá para analizar posteriormente las concentraciones de metanol. Si lo
que deseamos es estudiar las concentraciones de p-xileno, realizaremos el siguiente
programa:
Realización del PCA para el Entrenamiento B (con concentraciones de p-xileno).
datentB=entrenamentB';
[datentBn,datentBm]=mncn(datentB);
[scBp,ldBp]=pca(datentBn,0)
scBp=scBp';
[concentrenBn, concentrenBm]=mncn(concentrenB);
concentrenBn=concentrenBn';
concentrenBn2=concentrenBn(2,:);
validacioB=validacioB';
validacioBn=scale(validacioB, datentBm);
concvalidaBn=scale(concvalidaB,concentrenBm);
concvalidaB2n=concvalidaBn(:,2)';
scvalBp=validacioBn*ldBp;
scvalBp=scvalBp';
En este caso, y después de haber aplicado el método del PCA, la matriz de entrada a la
red, estará compuesta por una matriz de 6 filas y 323 columnas y la nombraremos scBp.
Mientras que la matriz de validación tendrá un tamaño de 6 filas y 116 columnas y se
llamará scvalBp. No comentamos el funcionamiento de estas instrucciones ya que la
estructura es la misma que la de los anteriores algoritmos de este subapartado.
3.8.5. CREACIÓN, ENTRENAMIENTO Y VALIDACIÓN DE LA RNA
Ya se comentó anteriormente que el modelo de red que se eligió para la realización de
nuestro proyecto fue el de una red del tipo Backpropagation.
A continuación presentamos las herramientas que hemos utilizado para poder crear
nuestra red neuronal con el programa Matlab.
El primer paso que se debe realizar es el de crear una red entrenable. Lo conseguimos
mediante la siguiente función:
•
newff: Crea una red entrenable del tipo Backpropagation, y requiere que le sean
especificados los siguientes parámetros:
newff: (PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)
66
Redes neuronales
Donde:
-PR: matriz (Rx2) de valores máximos y mínimos de cada uno de las R neuronas de
entrada.
-Si: número de neuronas para cada una de las capas de la red.
-TFi: función de transferencia a utilizar en cada una de las capas, por defecto utiliza
tansig.
-BTF: algoritmo de entrenamiento a utilizar, por defecto utiliza trainlm, ya que se trata
de un entrenamiento muy rápido.
-BLF: función de actualización de los pesos, por defecto utiliza learngdm.
-PF: función para evaluar el desempeño de la red, por defecto utiliza mse.
En nuestro caso, hemos especificado los parámetros anteriores, escribiendo inicialmente
en Matlab la siguiente instrucción:
net=newff(PR,[10 1],{'tansig' 'purelin'});
Creando de esta manera, una red del tipo Backpropagation multicapa:
-
-
Una matriz de entrenamiento con 6 filas procedentes de la matriz general
después de haber efectuado el método del PCA y haber elegido 6 componentes
principales (inicialmente). La matriz de entramiento a la red será la scA, scB,
scAp o scBp (fueron comentadas en los dos anteriores subapartados)
dependiendo del entrenamiento que estemos realizando y del compuesto que
queramos analizar.
Una capa oculta con 10 neuronas. Inicialmente, y para ambos entrenamientos,
hemos creído oportuno empezar con una red que en su capa oculta tuviera 10
neuronas.
Una capa de salida con una única neurona.
La función de entrenamiento utilizada en la capa oculta ha sido la tansig. Mientras que
para la capa de salida hemos empleado la función de transferencia purelin (lineal).
Los parámetros BTF, BLF, PF no los hemos variado y tampoco los comentaremos, ya
que hemos utilizado las especificaciones que nos da Matlab por defecto.
Una vez creada la arquitectura de la red, ésta ya está preparada para ser entrenada.
3.8.5.1. Entrenamiento y validación de la RNA con el Entrenamiento A
El proceso de entrenamiento requiere que a la red se le introduzca un set de ejemplos
con un adecuado funcionamiento. Es decir, a la red se le muestra un conjunto de
entradas y sus salidas deseadas.
Las instrucciones realizadas en Matlab para efectuar el Entrenamiento A de nuestra
red neuronal son los siguientes:
67
Redes neuronales
net.trainParam.epochs = 400;
net = train(net,scA,concentrenAn1);
Siendo:
- scA: la matriz de entrenamiento y la matriz de entrada a la red neuronal.
- net: la red neuronal entrenable que había sido creada anteriormente (anterior apartado).
- concentrenAn1: la matriz de salida de la red neuronal. Representan los valores de
salida deseados.
- net.trainParam.epochs: máximo número de iteraciones del entrenamiento. En la
instrucción anterior le hemos dado un valor de 400, pero en posteriores pruebas lo
iremos variando.
-train: función de entrenamiento de la red neuronal.
Después de haber entrenado a la red neuronal, pasamos a realizar la validación.
Ésta consistirá en simular o probar el funcionamiento de la red anteriormente creada y
entrenada, cuando se le introducen aquellas muestras que no se habían utilizado en el
entrenamiento y que las habíamos reservado para realizar la validación.
La red comprobará si estas salidas (las obtenidas con la validación) difieren mucho de
las concentraciones reales o deseadas.
Para realizar la validación en Matlab, utilizamos las siguientes dos instrucciones:
Y=sim(net,scvalA);
plot(concvalidaA1n,Y,'*');
Siendo:
- sim: función empleada por Matlab que nos simulará la red neuronal (net) y nos dará
una salida Y (concentraciones obtenidas) cuando le introducimos como entrada una
matriz de validación (scvalA).
- scvalA: matriz de entrada y de validación en el caso que hayamos utilizado para
entrenar a la red el Entrenamiento A.
- plot(concvalidaA1n,Y,'*'): esta instrucción nos servirá para representar gráficamente y
así poder comparar, la variable Y (concentraciones obtenidas cuando se le introduce la
matriz de validación) y la variable concvalidaA1n (salida deseada o real).
A continuación, reagrupamos las instrucciones que se han ido comentando, y
presentamos la totalidad de la sintaxis utilizada para el Entrenamiento A y para la
correspondiente Validación A. Primero mostramos el entrenamiento y la validación para
el caso del análisis de las concentraciones de metanol, y posteriormente para el estudio
68
Redes neuronales
de las concentraciones de p-xileno (las instrucciones del entrenamiento para el p-xileno,
no se han comentado, por que son similares a las del entrenamiento del metanol).
Entrenamiento A (con concentraciones de metanol).
PR=minmax(scA) %obtención de los máximos y mínimos de la matriz de entrada
net=newff(PR,[10 1],{'tansig' 'purelin'}); % creación de la RNA
Y = sim(net,scA); %simulación de la RNA sin haberla entrenado
net.trainParam.epochs = 400;
net = train(net,scA,concentrenAn1); %entrenamiento de la RNA
Y = sim(net,scA); %simulación de la RNA después de haberla entrenado
plot(concentrenAn1,Y,’*’); %comparación gráfica de los resultados de la
%simulación con las concentraciones reales
Validación A (con concentraciones de metanol).
Y=sim(net,scvalA); %simulación con la matriz de validación
plot(concvalidaA1n,Y,'*'); %comparación gráfica de los resultados de la
%simulación con las concentraciones reales
Entrenamiento A (con concentraciones de p-xileno).
PR=minmax(scAp)
net=newff(PR,[10 1],{'tansig' 'purelin'});
Y = sim(net,scAp);
net.trainParam.epochs = 400;
net = train(net,scAp,concentrenAn2);
Y = sim(net,scAp);
plot(concentrenAn2,Y,’*’);
Validación A (con concentraciones de p-xileno).
Y=sim(net,scvalAp);
plot(concvalidaA2n,Y,'*');
3.8.5.2. Entrenamiento y validación de la RNA con el Entrenamiento B
De la misma forma, las instrucciones utilizadas en Matlab para el Entrenamiento B y
para su validación son las siguientes (no se comentan porque son idénticas a las del
Entrenamiento A, sólo varían las matrices utilizadas por la RNA procedentes del PCA):
Entrenamiento B (con concentraciones de metanol).
PR=minmax(scB)
net=newff(PR,[10 1],{'tansig' 'purelin'});
Y = sim(net,scB);
net.trainParam.epochs = 400;
net = train(net,scB,concentrenBn1);
69
Redes neuronales
Y = sim(net,scB);
plot(concentrenBn1,Y,’*’);
Validación B (con concentraciones de metanol).
Y=sim(net,scvalB);
plot(concvalidaB1n,Y,'*');
Entrenamiento B (con concentraciones de p-xileno).
PR=minmax(scBp)
net=newff(PR,[10 1],{'tansig' 'purelin'});
Y = sim(net,scBp);
net.trainParam.epochs = 400;
net = train(net,scBp,concentrenBn2);
Y = sim(net,scBp);
plot(concentrenBn2,Y,’*’);
Validación B (con concentraciones de p-xileno).
Y=sim(net,scvalBp);
plot(concvalidaB2n,Y,'*');
3.8.6. RESULTADOS OBTENIDOS
Realizamos distintas pruebas, tanto para el análisis de las concentraciones de metanol,
como para el análisis de las de p-xileno. A continuación presentamos las gráficas con
los resultados obtenidos después de haber empleado los distintos algoritmos de
entrenamiento (EntrenamientoA, Entrenamiento B) y su correspondiente validación
(Validación A, Validación B). Probando para cada caso, con un número distinto de
neuronas en la capa oculta y variando la cantidad de iteraciones en el entrenamiento
(epochs). Presentaremos también algunos resultados modificando el número de
componentes principales (PC’s).
En las siguientes gráficas, el eje de las X representa los valores de las concentraciones
reales. En el eje de las Y se representan las concentraciones estimadas por la RNA.
Es interesante observar, en las gráficas, la recta de regresión y su expresión, y debemos
analizar si la pendiente de ésta es 1 o cercana a 1. Si esto ocurriera, significaría que los
valores de las magnitudes representadas en los ejes (x, y) son prácticamente iguales y
por lo tanto, que la red neuronal predice con exactitud las concentraciones de las
muestras.
70
Redes neuronales
3.8.6.1. Resultados del Entrenamiento A
* Entrenamiento A (figura 39) y Validación A (figura 40) con concentraciones de
metanol. Utilización de 10 neuronas en la capa oculta. Iteraciones del entrenamiento =
400 epochs. Componentes principales (PC’s) = 6.
Figura 39. Entrenamiento A (metanol). 10 neuronas en la capa oculta. 400 epochs. 6 PC’s.
Figura 40. Validación A (metanol). 10 neuronas en la capa oculta. 400 epochs. 6 PC’s.
71
Redes neuronales
*Entrenamiento A (figura 41) y Validación A (figura 42) con concentraciones de
metanol. Utilización de 20 neuronas en la capa oculta. Iteraciones del entrenamiento =
200 epochs. Componentes principales (PC’s)= 6.
Figura 41. Entrenamiento A (metanol). 20 neuronas en la capa oculta. 200 epochs. 6 PC’s.
Figura 42.Validación A (metanol). 20 neuronas en la capa oculta. 200 epochs. 6 PC’s.
72
Redes neuronales
* Entrenamiento A (figura 43) y Validación A (figura 44) con concentraciones de
metanol. Utilización de 30 neuronas en la capa oculta. Iteraciones del entrenamiento =
400 epochs. Componentes principales (PC’s) = 6.
Figura 43. Entrenamiento A (metanol). 30 neuronas en la capa oculta. 400 epochs. 6 CP.
Figura 44.Validación A (metanol). 30 neuronas en la capa oculta. 400 epochs. 6 PC’s.
73
Redes neuronales
* Entrenamiento A (figura 45) y Validación A (figura 46) con concentraciones de
metanol. Utilización de 10 neuronas en la capa oculta. Iteraciones del entrenamiento =
400 epochs. Componentes principales (PC’s) = 4.
Figura 45.Entrenamiento A (metanol). 10 neuronas en la capa oculta. 400 epochs. 4 PC’s.
Figura 46.Validación A (metanol). 10 neuronas en la capa oculta. 400 epochs. 4 PC’s.
74
Redes neuronales
* Entrenamiento A (figura 47) y Validación A (figura 48) con concentraciones de
metanol. Utilización de 20 neuronas en la capa oculta. Iteraciones del entrenamiento =
400 epochs. Componentes principales (PC’s) = 3.
Figura 47.Entrenamiento A (metanol). 20 neuronas en la capa oculta. 400 epochs. 3 PC’s.
Figura 48.Validación A (metanol). 20 neuronas en la capa oculta. 400 epochs. 3 PC’s.
75
Redes neuronales
* Entrenamiento A (figura 49) y Validación A (figura 50) con concentraciones de pxileno. Utilización de 10 neuronas en la capa oculta. Iteraciones del entrenamiento =
400 epochs. Componentes principales (PC’s) = 6.
Figura 49. Entrenamiento A (p-xileno). 10 neuronas en la capa oculta. 400 epochs.6 PC’s.
Figura 50. Validación A (p-xileno). 10 neuronas en la capa oculta. 400 epochs. 6 PC’s.
76
Redes neuronales
* Entrenamiento A (figura 51) y Validación A (figura 52) con concentraciones de pxileno. Utilización de 20 neuronas en la capa oculta. Iteraciones del entrenamiento =
200 epochs. Componentes principales (PC’s) = 6.
Figura 51. Entrenamiento A (p-xileno). 20 neuronas en la capa oculta.200 epochs. 6 PC’s.
Figura 52. Validación A (p-xileno). 20 neuronas en la capa oculta. 200 epochs.6 PC’s.
77
Redes neuronales
* Entrenamiento A (figura 53) y Validación A (figura 54) con concentraciones de pxileno. Utilización de 30 neuronas en la capa oculta. Iteraciones del entrenamiento =
400 epochs. Componentes principales (PC’s) = 6.
Figura 53. Entrenamiento A (p-xileno).30 neuronas en la capa oculta. 400 epochs. 6 PC’s.
Figura 54. Validación A (p-xileno). 30 neuronas en la capa oculta. 400 epochs. 6 PC’s.
78
Redes neuronales
* Entrenamiento A (figura 55) y Validación A (figura 56) con concentraciones de pxileno. Utilización de 10 neuronas en la capa oculta. Iteraciones del entrenamiento =
400 epochs. Componentes principales (PC’s) = 4.
Figura 55. Entrenament A (p-xileno). 10 neuronas en la capa oculta. 400 epochs. 4 PC’s.
Figura 56. Validación A (p-xileno). 10 neuronas en la capa oculta. 400 epochs. 4 PC’s.
79
Redes neuronales
* Entrenamiento A (figura 57) y Validación A (figura 58) con concentraciones de pxileno. Utilización de 20 neuronas en la capa oculta. Iteraciones del entrenamiento =
400 epochs. Componentes principales (PC’s) = 3.
Figura 57. Entrenament A (p-xileno). 20 neuronas en la capa oculta. 400 epochs. 3 PC’s
Figura 58. Validació A (p-xileno). 20 neuronas en la capa oculta. 400 epochs. 3 PC’s
80
Redes neuronales
3.8.6.2. Análisis de los resultados del Entrenamiento A
Ya se comentó en el apartado 3.8.2.1 que para entrenar a la RNA mediante el
Entrenamiento A, se utilizaba aproximadamente el 70% de las muestras extraídas de
cada una de las 20 mezclas efectuadas en el laboratorio. El 30% restante servía para
realizar la validación.
Observamos que en los resultados expuestos anteriormente, en los que se han realizado
distintas pruebas, cambiando el número de neuronas en la capa oculta y variando la
cantidad de epochs y de componentes principales, nuestra red neuronal una vez ha
concluido su entrenamiento, es capaz de proporcionarnos unas salidas (concentraciones)
muy similares o cercanas, tanto para el caso de metanol como para el de p-xileno, a las
salidas deseadas (concentraciones correctas) cuando se le introduce un set de entradas
de validación distintas a las empleadas para el entrenamiento. Caldría destacar pero, que
en el caso del análisis de las concentraciones de p-xileno, aunque los resultados sean
considerados como correctos, para cada una de las gráficas, aparece un punto que no
está ubicado en la pendiente de la recta.
Era lógico obtener buenos resultados. El set de entradas de la validación era distinto al
del entrenamiento pero las muestras utilizadas, tanto para el entrenamiento como para la
validación, provienen de una misma mezcla.
También hemos podido comprobar que cambiando el número de neuronas de la capa
oculta, probando con diferentes cantidades de epochs y modificando el número de
componentes principales, no se aprecian variaciones importantes y los resultados son
muy similares.
Por lo tanto, podemos afirmar que con el Entrenamiento A, la red neuronal se comporta
de forma adecuada y nos proporciona unos resultados bastante correctos con todas las
alternativas probadas.
3.8.6.3. Resultados del Entrenamiento B
Obtener buenos resultados con este entrenamiento va a ser un poco más complicado que
con en el anterior aprendizaje. Ya que en este caso, para la validación le vamos a
introducir a la RNA información procedente de muestras con concentraciones distintas a
las muestras empleadas durante la fase de aprendizaje.
Para poder observar mejor visualmente los resultados obtenidos, vamos a presentar en
cada situación dos gráficas: la primera de ellas, nos mostrará el comportamiento de la
RNA (salida) cuando se le introduce el mismo set de entradas que se ha utilizado
durante la fase de entrenamiento. La segunda de estas gráficas, por una banda conserva
los resultados obtenidos en la primera gráfica y además le añade el análisis de la RNA
cuando le introducimos un set de entrada distinto al utilizado en la fase de aprendizaje
(fase de validación). Los ejes de las siguientes gráficas representan exactamente lo
mismo que lo representado en el entrenamiento A. Mostramos a continuación los
resultados obtenidos.
81
Redes neuronales
* Entrenamiento B (figura 59) y Validación B (gráfico conjunto del Entrenamiento B y
la Validación B, figura 60) con concentraciones de metanol. Utilización de 10 neuronas
en la capa oculta. Iteraciones del entrenamiento = 400 epochs. Componentes principales
(PC’s) = 6.
Figura 59. Entrenamiento B (metanol). 10 neuronas en la capa oculta. 400 epochs. 6 PC’s.
Figura 60. Entrenamiento B+Validación B (metanol). 10 neuronas en la capa oculta. 400
epochs. 6 PC’s.
82
Redes neuronales
* Entrenamiento B (figura 61) y Validación B (gráfico conjunto del Entrenamiento B y
la Validación B, figura 62) con concentraciones de metanol. Utilización de 20 neuronas
en la capa oculta. Iteraciones del entrenamiento = 200 epochs. Componentes principales
(PC’s) = 6.
Figura 61. Entrenamiento B (metanol). 20 neuronas en la capa oculta. 200 epochs. 6 PC’s.
Figura 62. Entrenamiento B+Validación B (metanol). 20 neuronas en la capa oculta. 200
epochs. 6 PC’s.
83
Redes neuronales
* Entrenamiento B (figura 63) y Validación B (gráfico conjunto del Entrenamiento B y
la Validación B, figura 64) con concentraciones de metanol. Utilización de 12 neuronas
en la capa oculta. Iteraciones del entrenamiento = 400 epochs. Componentes principales
(PC’s) = 3.
Figura 63. Entrenamiento B (metanol). 12 neuronas en la capa oculta. 400 epochs. 3 PC’s.
Figura 64. Entrenamiento B+Validación B (metanol). 12 neuronas en la capa oculta. 400
epochs. 3 PC’s.
84
Redes neuronales
* Entrenamiento B (figura 65) y Validación B (gráfico conjunto del Entrenamiento B y
la Validación B, figura 66) con concentraciones de metanol. Utilización de 15 neuronas
en la capa oculta. Iteraciones del entrenamiento = 400 epochs. Componentes principales
(PC’s) = 4.
Figura 65. Entrenamiento B (metanol). 15 neuronas en la capa oculta. 400 epochs. 4 PC’s.
Figura 66. Entrenamiento B+Validación B (metanol). 15 neuronas en la capa oculta. 400
epochs. 4 PC’s.
85
Redes neuronales
* Entrenamiento B (figura 67) y Validación B (gráfico conjunto del Entrenamiento B y
la Validación B, figura 68) con concentraciones de p-xileno. Utilización de 10 neuronas
en la capa oculta. Iteraciones del entrenamiento = 400 epochs. Componentes principales
(PC’s) = 6.
Figura 67. Entrenamiento B (p-xileno). 10 neuronas en la capa oculta. 400 epochs.6 PC’s.
Figura 68. Entrenamiento B+Validación B (p-xileno). 10 neuronas en la capa oculta. 400
epochs. 6 PC’s.
86
Redes neuronales
* Entrenamiento B (figura 69) y Validación B (gráfico conjunto del Entrenamiento B y
la Validación B, figura 70) con concentraciones de p-xileno. Utilización de 20 neuronas
en la capa oculta. Iteraciones del entrenamiento = 200 epochs. Componentes principales
(PC’s) = 6.
Figura 69. Entrenamiento B (p-xileno). 20 neuronas en la capa oculta. 200 epochs.6 PC’s.
Figura 70. Entrenamiento B+Validación B (p-xileno). 20 neuronas en la capa oculta. 200
epochs. 6 PC’s.
87
Redes neuronales
* Entrenamiento B (figura 71) y Validación B (gráfico conjunto del Entrenamiento B y
la Validación B, figura 72) con concentraciones de p-xileno. Utilización de 12 neuronas
en la capa oculta. Iteraciones del entrenamiento = 400 epochs. Componentes principales
(PC’s) = 4.
Figura 71. Entrenamiento B (p-xileno).12 neuronas en la capa oculta. 400 epochs. 4 PC’s.
Figura 72. Entrenamiento B+Validación B (p-xileno). 12 neuronas en la capa oculta. 400
epochs. 4 PC’s.
88
Redes neuronales
* Entrenamiento B (figura 73) y Validación B (gráfico conjunto del Entrenamiento B y
la Validación B, figura 74) con concentraciones de p-xileno. Utilización de 15 neuronas
en la capa oculta. Iteraciones del entrenamiento = 400 epochs. Componentes principales
(PC’s) = 3.
Figura 73. Entrenamiento B (p-xileno).15 neuronas en la capa oculta. 400 epochs. 3 PC’s.
Figura 74. Entrenamiento B+Validación B (p-xileno). 15 neuronas en la capa oculta. 400
epochs. 3 PC’s.
89
Redes neuronales
3.8.6.4. Análisis de los resultados del Entrenamiento B
Era de esperar que los resultados fueran peores que los obtenidos con el Entrenamiento
A, ya que en este caso, estamos entrenando a la RNA con valores “extremos” y para la
validación se emplean datos con concentraciones distintas y que antes (durante la fase
de entrenamiento), nunca habían sido vistos por la red.
El análisis de las concentraciones de p-xileno mediante el Entrenamiento B ha sido
bastante preciso. Exceptuando un par de puntos por gráfica, el resto de concentraciones
predichas por la red se acerca bastante al conjunto de salidas correctas o deseadas.
En cambio, se ha podido comprobar, que en al análisis de las concentraciones de
metanol, no se han obtenido resultados buenos, y la red neuronal en algunas ocasiones,
no ha sido capaz de trabajar con precisión.
Hemos observado que en el análisis de las concentraciones de metanol con el
Entrenamiento B, el funcionamiento de la RNA empeoraba si aumentábamos el número
de neuronas de la capa oculta o reducíamos el número de componentes principales.
Como ya había comentado en el anterior entrenamiento, para poder apreciar mejor los
resultados, hemos incluido en un mismo gráfico, el entrenamiento y la validación.
Hemos creído oportuno buscar otra alternativa y realizar un tercer entrenamiento.
3.8.7. ELECCIÓN DE UN TERCER ENTRENAMIENTO
Éste será muy similar al Entrenamiento B pero con una única diferencia: las muestras
tomadas en el laboratorio que contienen una concentración del 0’5% de metanol y del
0’5% de p-xileno serán utilizadas para entrenar a la red y no para su validación.
En la siguiente tabla, observamos aquellas mezclas (marcadas con una X y coloreadas
de amarillo) que se emplean para la realización de la fase de entrenamiento, a la que
nombraremos Entrenamiento C.
Tabla 17. Mezclas utilizadas en el Entrenamiento C.
P-XILENO (%)
0
0.1
0.5
1
10
0
METANOL (%)
0.5
0.1
1
10
Seguidamente, se indican aquellas mezclas (marcadas con una X y coloreadas de
amarillo) que se han utilizado para la validación de la red neuronal en el Entrenamiento
C (tabla 18). Como se puede ver, la validación la hacemos con los valores más
90
Redes neuronales
“centrados” excluyendo la mezcla que contiene unas concentraciones del 0’5% de
metanol y del 0,5% de p-xileno.
Tabla 18. Mezclas utilizadas para la Validación C.
P-XILENO (%)
0
0.1
0.5
1
10
0
METANOL (%)
0.5
0.1
1
10
A continuación presentamos una tabla resumen (tabla 19) del Entrenamiento C.
Tabla 19. Muestras utilizadas para el Entrenamiento C y para la Validación C.
Validación C
METANOL (%)
Número total
de muestras
efectuadas
Entrenamiento C
P-XILENO (%)
0.1
0.5
1
0
0.1
0.5
1
10
0
0.1
0.5
1
10
0
0.1
0.5
10
0.1
0.5
1
0
0
0
0.1
0.1
0.1
0.1
0.1
0.5
0.5
0.5
0.5
0.5
1
1
1
1
10
10
10
19
20
22
20
38
20
19
20
19
38
20
19
20
25
19
19
22
19
19
22
19
20
22
20
38
0
19
20
19
0
20
0
20
25
19
0
22
19
19
22
0
0
0
0
0
20
0
0
0
38
0
19
0
0
0
19
0
0
0
0
En total se utilizarán 343 muestras para entrenar la red neuronal y 96 muestras para
efectuar la validación.
91
Redes neuronales
3.8.7.1. PCA para el Entrenamiento C
Primero se debe cargar en Matlab las nuevas matrices necesarias para efectuar este
entrenamiento. Y lo haremos del siguiente modo:
entrenamentC=[spec(:,1:119),spec(:,140:197),spec(:,236:255),spec(:,275
:338), spec(:,358:439)];
concentrenC=[conc(1:119,:);conc(140:197,:);conc(236:255,:);conc(275:33
8,:);conc(358:439,:)];
validacioC=[spec(:,120:139),spec(:,198:235),spec(:,256:274),spec(:,339
:357)];
concvalidaC=[conc(120:139,:);conc(199:235,:);conc(256:274,:);conc(339:
357,:)];
A continuación, ya podemos presentar la sintaxis y las instrucciones efectuadas en
Matlab, para la realización del PCA y de la red neuronal en el Entrenamiento C. Éstas
son las siguientes (la estructura de este código es la misma que para los anteriores
entrenamientos, por eso no ha sido comentada):
PCA para el Entrenamiento C (con concentraciones de metanol)
datentC=entrenamentC';
[datentCn,datentCm]=mncn(datentC);
[scC,ldC]=pca(datentCn,0);
scC=scC';
[concentrenCn, concentrenCm]=mncn(concentrenC);
concentrenCn=concentrenCn';
concentrenCn1=concentrenCn(1,:);
validacioC=validacioC';
validacioCn=scale(validacioC, datentCm);
concvalidaCn=scale(concvalidaC,concentrenCm);
concvaildaC1n=concvalidaCn(:,1)';
scvalC=validacioCn*ldC;
scvalC=scvalC';
concvalidaC1n=concvaildaC1n;
Una vez efectuado este PCA para el Entrenamiento C, y eligiendo como valor inicial 6
componentes principales (opcional), la matriz de entrada a la red neuronal, estará
compuesta por una matriz de 6 filas y 343 columnas y la nombraremos scC.
La matriz de validación para el Entrenamiento C después de haber aplicado este método
del PCA tendrá un tamaño de 6 filas y 96 columnas y se llamará scvalC.
Concretamente este PCA, se está utilizando para el análisis de las concentraciones de
metanol mediante el Entrenamiento C.
92
Redes neuronales
Si lo que queremos es analizar las concentraciones de p-xileno, el PCA que
escribiremos será el siguiente:
PCA para el Entrenamiento C (con concentraciones de p-xileno)
datentC=entrenamentC';
[datentCn,datentCm]=mncn(datentC);
[scCp,ldCp]=pca(datentCn,0)
scCp=scCp';
[concentrenCn, concentrenCm]=mncn(concentrenC);
concentrenCn=concentrenCn';
concentrenCn2=concentrenCn(2,:);
validacioC=validacioC';
validacioCn=scale(validacioC, datentCm);
concvalidaCn=scale(concvalidaC,concentrenCm);
concvaildaC2n=concvalidaCn(:,2)';
scvalCp=validacioCn*ldCp;
scvalCp=scvalCp';
concvalidaC2n=concvaildaC2n;
La sintaxis es la misma que en el caso anterior, pero con la diferencia que en este
segundo algoritmo utilizamos la segunda columna de la matriz concentrenCn, en donde
se encuentran ubicadas las concentraciones de p-xileno.
En este caso, y después de haber aplicado el método del PCA, inicialmente con 6
componentes principales, la matriz de entrada a la red, estará compuesta por una matriz
de 6 filas y 343 columnas y la nombraremos scCp. Mientras que la matriz de validación
tendrá un tamaño de 6 filas y 96 columnas y se llamará scvalCp.
3.8.7.2. Entrenamiento y validación de la RNA con el Entrenamiento C
Entrenamiento C de la red neuronal (con concentraciones de metanol)
PR=minmax(scC)
net=newff(PR,[10 1],{'tansig' 'purelin'});
Y = sim(net,scC);
net.trainParam.epochs = 400;
net = train(net,scC,concentrenCn1);
Y = sim(net,scC);
plot(concentrenCn1,Y,’*’);
Validación C de la red neuronal (con concentraciones de metanol)
Y=sim(net,scvalC);
plot(concvalidaC1n,Y,'*');
Estamos utilizamos prácticamente la misma sintaxis que para el Entrenamiento A y el
Entrenamiento B. En los apartados 3.8.5 y en los subapartados 3.8.5.1, 3.8.5.2 ya se
describió detalladamente el significado de cada una de las instrucciones utilizadas.
93
Redes neuronales
Entrenamiento C de la red neuronal (con concentraciones de p-xileno)
PR=minmax(scCp)
net=newff(PR,[10 1],{'tansig' 'purelin'});
Y = sim(net,scCp);
net.trainParam.epochs = 400;
net = train(net,scCp,concentrenCn2);
Y = sim(net,scCp);
plot(concentrenCn2,Y,’*’);
Validación C de la red neuronal (con concentraciones de p-xileno)
Y=sim(net,scvalCp);
plot(concvalidaC2n,Y,'*');
A continuación presentamos los resultados obtenidos. Destacar que en todos ellos, los
ejes de las gráficas (x, y) representan lo mismo que en las gráficas resultantes de los
anteriores entrenamientos.
94
Redes neuronales
3.8.7.3. Resultados obtenidos del Entrenamiento C
* Entrenamiento C (figura 75) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 76) con concentraciones de metanol. Utilización de 10
neuronas en la capa oculta. Iteraciones del entrenamiento = 400 epochs. Componentes
principales (PC’s) = 6.
Figura 75. Entrenamiento C (metanol). 10 neuronas en la capa oculta. 400 epochs.6 PC’s.
Figura 76. Entrenamiento C+Validación C (metanol). 10 neuronas en la capa oculta. 400
epochs. 6 PC’s.
95
Redes neuronales
* Entrenamiento C (figura 77) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 78) con concentraciones de metanol. Utilización de 20
neuronas en la capa oculta. Iteraciones del entrenamiento = 200 epochs. Componentes
principales (PC’s) = 6.
Figura 77. Entrenamiento C (metanol). 20 neuronas en la capa oculta. 200 epochs. 6 PC’s.
Figura 78. Entrenamiento C+Validación C (metanol). 20 neuronas en la capa oculta. 200
epochs. 6 PC’s.
96
Redes neuronales
* Entrenamiento C (figura 79) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 80) con concentraciones de metanol. Utilización de 30
neuronas en la capa oculta. Iteraciones del entrenamiento = 300 epochs. Componentes
principales (PC’s) = 6.
Figura 79. Entrenamiento C (metanol). 30 neuronas en la capa oculta. 300 epochs. 6 CP.
Figura 80. Entrenamiento C+Validación C (metanol). 30 neuronas en la capa oculta. 300
epochs. 6 PC’s.
97
Redes neuronales
* Entrenamiento C (figura 81) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 82) con concentraciones de metanol. Utilización de 12
neuronas en la capa oculta. Iteraciones del entrenamiento = 400 epochs. Componentes
principales (PC’s) = 3.
Figura 81. Entrenamiento C (metanol). 12 neuronas en la capa oculta. 400 epochs. 3 PC’s.
Figura 82. Entrenamiento C+Validación C (metanol). 12 neuronas en la capa oculta. 400
epochs. 3 PC’s.
98
Redes neuronales
* Entrenamiento C (figura 83) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 84) con concentraciones de metanol. Utilización de 15
neuronas en la capa oculta. Iteraciones del entrenamiento = 400 epochs. Componentes
principales (PC’s) = 4.
Figura 83. Entrenamiento C (metanol). 15 neuronas en la capa oculta. 400 epochs. 4 PC’s.
Figura 84. Entrenamiento C+Validación C (metanol). 15 neuronas en la capa oculta. 400
epochs. 4 PC’s.
99
Redes neuronales
* Entrenamiento C (figura 85) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 86) con concentraciones de p-xileno. Utilización de 10
neuronas en la capa oculta. Iteraciones del entrenamiento = 400 epochs. Componentes
principales (PC’s) = 6.
Figura 85. Entrenamiento C (p-xileno). 10 neuronas en la capa oculta. 400 epochs.6 PC’s.
Figura 86. Entrenamiento C+Validación C (p-xileno). 10 neuronas en la capa oculta. 400
epochs. 6 PC’s.
100
Redes neuronales
* Entrenamiento C (figura 87) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C figura 88) con concentraciones de p-xileno. Utilización de 20 neuronas
en la capa oculta. Iteraciones del entrenamiento = 200 epochs. Componentes principales
(PC’s) = 6.
Figura 87. Entrenamiento C (p-xileno). 20 neuronas en la capa oculta. 200 epochs.6 CP.
Figura 88. Entrenamiento C+Validación C (p-xileno). 20 neuronas en la capa oculta. 200
epochs. 6 PC’s.
101
Redes neuronales
* Entrenamiento C (figura 89) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C figura 90) con concentraciones de p-xileno. Utilización de 30 neuronas
en la capa oculta. Iteraciones del entrenamiento = 400 epochs. Componentes principales
(PC’s) = 6.
Figura 89. Entrenamiento C (p-xileno). 30 neuronas en la capa oculta. 400 epochs.6 PC’s.
Figura 90. Entrenamiento C+Validación C (p-xileno). 30 neuronas en la capa oculta. 400
epochs. 6 PC’s.
102
Redes neuronales
* Entrenamiento C (figura 91) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C figura 92) con concentraciones de p-xileno. Utilización de 12 neuronas
en la capa oculta. Iteraciones del entrenamiento = 400 epochs. Componentes principales
(PC’s) = 3.
Figura 91. Entrenamiento C (p-xileno). 12 neuronas en la capa oculta. 400 epochs.3 PC’s.
Figura 92. Entrenamiento C+Validación C (p-xileno). 12 neuronas en la capa oculta. 400
epochs. 3 PC’s.
103
Redes neuronales
* Entrenamiento C (figura 93) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C figura 94) con concentraciones de p-xileno. Utilización de 15 neuronas
en la capa oculta. Iteraciones del entrenamiento = 400 epochs. Componentes principales
(PC’s) = 4.
Figura 93. Entrenamiento C (p-xileno). 15 neuronas en la capa oculta. 400 epochs.4 PC’s.
Figura 94. Entrenamiento C+Validación C (p-xileno). 15 neuronas en la capa oculta. 400
epochs. 4 PC’s.
104
Redes neuronales
3.8.7.4. Análisis de los resultados del Entrenamiento C
Ejercitando este tercer método de aprendizaje, la RNA ha mejorado su funcionamiento
(con respecto al Entrenamiento B) en el análisis de las concentraciones de metanol. Para
este compuesto, los resultados obtenidos han sido mejores que con los del
Entrenamiento B.
El disponer de un número más elevado de muestras en la fase de entrenamiento, le ha
permitido a la red aumentar su capacidad de generalización.
Observamos que para las muestras de p-xileno, la red neuronal trabaja de forma menos
precisa que en el Entrenamiento B.
Por lo tanto, comparándolo con el Entrenamiento B, podemos decir que la aplicación de
este Entrenamiento C, ha mejorado los resultados con metanol, pero ha empeorado los
obtenidos con p-xileno.
Con la intención de seguir mejorando el análisis, hemos pensado como último recurso,
utilizar otro método de reducción de variables. Sustituimos, como método de reducción
de la información obtenida en el laboratorio, el PCA por un PLS y aplicamos el
Entrenamiento C.
Antes de mostrar los resultados, comentaré en que consiste este método.
3.8.8. INTRODUCCIÓN SOBRE EL MÉTODO PLS
El método PLS se utiliza para la construcción de modelos de predicción cuando los
factores son muchos y son altamente colineales.
El PLS es capaz de relacionar la concentración de elementos directamente con espectros
medidos (o porciones de ellos), particularmente con NIR.
En estos métodos, se consideran dos grupos de variables, llamadas variables
independientes (representadas por una matriz X) y variables dependientes
(representadas por la matriz Y). Tomando un conjunto de muestras, a las cuáles se les
determina los valores de X y Y (por ejemplo, X puede representar las intensidades de
absorción medidas por un espectrofotómetro, e Y las concentraciones de ciertos
componentes, se trata de establecer un modelo (generalmente lineal) Y = f(X). Este
conjunto de muestras es llamado conjunto de calibración o de entrenamiento.
Se considera el caso de un modelo lineal con una variable dependiente, representada por
la siguiente ecuación (donde las letras mayúsculas representan matrices, y las
minúsculas vectores):
y = Xb + f
105
(20)
Redes neuronales
Siendo:
y la variable dependiente, X representa las variables independientes, b es el vector
solución y f el vector error o residual. Los parámetros del modelo (contenidos en b) son
llamados coeficientes de regresión o sensibilidades.
Es frecuente, cuando los datos son obtenidos por métodos instrumentales en química
analítica, encontrar un mayor número de variables independientes que muestras; lo cual
puede resultar en infinitas soluciones. Por ejemplo, los avances de la electrónica
permiten medir y registrar la absorbancia a un número muy grande de longitudes de
onda. Esto se da en espectroscopia de NIR (infrarrojo cercano), FT-IR (infrarrojo por
transformada de Fourier) o NMR (resonancia magnética nuclear). Tales espectros
digitalizados pueden dar 1000-2000 variables por muestra.
Este problema puede ser enfrentado de varias maneras: selección de variables (escoger
las variables más relevantes); reducción de dimensionalidad de la matriz X calculando
los componentes principales o variables latentes (PCR y PLS) y/o transformación de las
variables (por ej. mediante la transformada de Fourier). Todos estos métodos resultan en
una matriz X de menor dimensión, lo cual facilita los cálculos y hace que el sistema sea
más “robusto”. Esto significa que el modelo matemático no es muy alterado cuando se
toman en cuenta nuevas muestras en la calibración.
Se acostumbra a validar el modelo obtenido utilizando un nuevo conjunto de muestras
(llamado conjunto de predicción o de prueba) para el cual se miden los valores de las
variables independientes y estas variables son utilizadas, junto con los coeficientes de
regresión, para predecir los valores de las variables dependientes.
La regresión de mínimos cuadrados parciales (PLS) es un método relacionado con el
análisis de componentes principales (PCA). Estos métodos tienen ventajas intrínsecas
cuando se le compara con métodos univariados. Todas las variables relevantes son
incluidas en el modelo PLS. La suposición básica de todos estos modelos es que el
sistema o proceso estudiado depende de un número pequeño de variables latentes (LV).
Este concepto es similar al de componentes principales. Las variables latentes son
estimadas como combinaciones lineales de las variables observadas, como se explica
más adelante.
En los modelos PLS, se establece una representación de la matriz X en término de estas
LV:
X = TPT + E
(21)
Donde T representa “scores” (término que puede ser traducido como “resultados”); y PT
“loadings” (término que puede ser traducido como “cargas”). La matriz X queda
descompuesta en un número de “variables latentes”, cada una caracterizada por un
vector t y un vector pT.
De esta forma, es posible representar una matriz X (dentro de un cierto error) por una
matriz T con un número menor de columnas. Si se incluyen todas las variables latentes,
el error es cero (E = 0). El modelo PLS se desarrolla de modo que las primeras variables
latentes (t1, t2,...) son las más importantes para explicar el vector “y” en el conjunto de
106
Redes neuronales
calibración. El número de variables latentes necesarias para explicar la matriz X (dentro
de un error máximo permitido) es una medida de la complejidad del modelo. Otros
vectores calculados durante la etapa de calibración son wT (“pesos” en el espacio de X),
y b (sensibilidades).
Ventajas y desventajas del método PLS
Entre sus ventajas se encuentran: análisis rápidos y no destructivos de muestras;
determinación simultánea de varias propiedades; automatización de las medidas; y
detección de “outliers” (muestras diferentes a las utilizadas en la calibración). Sin
embargo, existe la debilidad, común a todos los métodos quimiométricos, de ser
correlativos y no causales. Esto significa que las relaciones determinadas serán
aplicables únicamente a muestras similares (cuyas propiedades estén dentro del mismo
rango) a las usadas para la creación del modelo.
El método obtiene, a partir de la matriz X (variables independientes), una matriz T
(variables latentes) cuyos vectores son linealmente independientes, definiendo un
sistema ortogonal. En consecuencia, se pueden usar los vectores t de manera
conveniente para hacer aproximaciones. Además, en los casos en que existan un número
grande de variables independientes se produce una reducción del modelo. La
información relevante es resumida en las primeras variables latentes, mientras que el
“ruido” es modelado por las últimas. En los casos en que exista colinealidad
(redundancia) entre las variables, ésta se usa para reducir el ruido aleatorio. Por
consiguiente, es posible minimizar el riesgo de cometer un error estadístico (descartar
información importante). Otro aspecto favorable del método es que produce una
reducción en la magnitud del vector b una característica positiva para cualquier método
de regresión.
3.8.8.1. Implementación del PLS
Las instrucciones efectuadas en Matlab para implementar el PLS (partiendo del
Entrenamiento C) y poder así reducir la gran cantidad de información recogida en el
laboratorio, han sido las siguientes:
Realización del PLS para el Entrenamiento C (con concentraciones de metanol)
entrenamentC = entrenamentC';
xblock1 = entrenamentC;
yblock1 = concentrenC(:,1);%sólo se analizan las concentraciones de metanol
[mxblock1,mx] = mncn(xblock1); %centrado de la matriz de entrenamiento
[myblock1,my] = mncn(yblock1); %centrado de la matriz de concentraciones
[plspress,plscumpress] =crossval(mxblock1,myblock1,'sim','con',20,10);
[b,ssq,p,q,w,t,u,bin]=pls(mxblock1,myblock1,10); %PLS con 10 LV
t=t';
myblock1= myblock1’;
validacioC=validacioC';
validacioCn=scale(validacioC, mx); %escalado de la matriz de validación
concvalidaC1=concvalidaC(:,1);
107
Redes neuronales
concvalidaCn=scale(concvalidaC1,my);
concvalidaCn=concvalidaCn';
scvalC=validacioCn*p;
scvalC=scvalC';
Después de haber aplicado este PLS para el Entrenamiento C con concentraciones de
metanol, la matriz de entrada a la red neuronal estará compuesta por una matriz de 10
filas (número de variables latentes elegido) y 343 columnas y la nombraremos t.
La elección del número de componentes principales o factores que configuran el modelo
óptimo (variables latentes) es uno de los puntos claves en la utilización de cualquier
técnica de calibración que realice reducción de variables. El método utilizado para saber
el número de componentes óptimos es el de validación cruzada, que corresponde a la
instrucción crossval del algoritmo anterior:
[plspress,plscumpress] =crossval(mxblock1,myblock1,'sim','con',20,10);
Siendo:
-sim: método de regresión, en nuestro caso un PLS rápido.
-con: método de validación: bloque continuo de datos.
-plspress: suma de los cuadrados del error residual de cada subconjunto.
-plscumpress: sumatorio del punto anterior.
El método de validación cruzada consiste en representar RMSEP (Root Mean Square
Error of Prediction) frente al número de variables latentes, y elegir como óptimo el
mínimo de la curva. Se parte, de que el error disminuye al aumentar el número de
variables latentes que se utilizan en el modelo, hasta que llega un momento en que las
nuevas variables latentes únicamente explican ruido y el RMSEP aumenta debido al
sobreajuste del modelo. El algoritmo anterior está hecho con 10 variables latentes, pero
posteriormente se realizarán diferentes pruebas con distinto número de variables latentes
según la idea que se acaba de exponer.
La matriz de validación para el Entrenamiento C después de haber aplicado el método
del PLS tendrá un tamaño de 10 filas y 96 columnas y se llamará scvalC.
Concretamente este PLS, se utiliza para el análisis de las concentraciones de metanol
mediante el entrenamiento C.
Si lo que queremos es analizar las concentraciones de p-xileno, las instrucciones que
escribiremos serán las siguientes:
Realización del PLS para el Entrenamiento C (con concentraciones de p-xileno).
entrenamentC = entrenamentC';
xblock2 = entrenamentC;
yblock2 = concentrenC(:,2); %sólo se analiza el p-xileno
[mxblock2,mx] = mncn(xblock2);
[myblock2,my] = mncn(yblock2);
108
Redes neuronales
[plspress,plscumpress] =crossval(mxblock2,myblock2,'sim','con',20,10);
[b,ssq,p,q,w,t,u,bin]=pls(mxblock2,myblock2,10);
t=t';
myblock2= myblock2’;
validacioC=validacioC';
validacioCn=scale(validacioC, mx);
concvalidaC2=concvalidaC(:,2);
concvalidaCn=scale(concvalidaC2,my);
concvalidaCn=concvalidaCn';
scvalC=validacioCn*p;
scvalC=scvalC';
La sintaxis es la misma que en el caso anterior, pero con la diferencia que en este
segundo algoritmo utilizamos la segunda columna de la matriz concentrenCn, en donde
se encuentran ubicadas las concentraciones de p-xileno.
3.8.8.2. Entrenamiento y validación de la RNA después de haber aplicado el
PLS
Entrenamiento de la red neuronal (con concentraciones de metanol)
PR=minmax(t);
net=newff(PR,[10 1],{'tansig' 'purelin'});
Y = sim(net,t);
net.trainParam.epochs = 400;
net = train(net,t,myblock1);
Y = sim(net,t);
plot(myblock1,Y,'*');
Validación de la red neuronal (con concentraciones de metanol)
Y=sim(net,scvalC);
plot(concvalidaCn,Y,'*')
Entrenamiento de la red neuronal (con concentraciones de p-xileno)
PR=minmax(t);
net=newff(PR,[10 1],{'tansig' 'purelin'});
Y = sim(net,t);
net.trainParam.epochs = 400;
net = train(net,t,myblock2);
Y = sim(net,t);
plot(myblock2,Y,'*');
Validación de la red neuronal (con concentraciones de p-xileno)
Y=sim(net,scvalC);
plot(concvalidaCn,Y,'*')
109
Redes neuronales
3.8.8.3. Resultados obtenidos con PLS
* Entrenamiento C (figura 95) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 96), después de haberle aplicado el método del PLS, con
concentraciones de metanol. Utilización de 15 neuronas en la capa oculta y 7 variables
latentes (LV). Iteraciones del entrenamiento = 400 epochs.
Figura 95. Método PLS.Entrenamiento C (metanol). 15 neuronas, 400 epochs y 7 LV.
Figura 96. Método PLS. Entrenamiento C+Validación C (metanol). 15 neuronas en la capa
oculta. 400 epochs. 7 LV.
110
Redes neuronales
* Entrenamiento C (figura 97) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 98), después de haberle aplicado el método del PLS, con
concentraciones de metanol. Utilización de 10 neuronas en la capa oculta y 7 variables
latentes (LV). Iteraciones del entrenamiento = 400 epochs.
Figura 97. Método PLS.Entrenamiento C (metanol). 10 neuronas, 400 epochs y 7 LV.
Figura 98. Método PLS. Entrenamiento C+Validación C (metanol). 10 neuronas en la capa
oculta. 400 epochs. 7 LV.
111
Redes neuronales
* Entrenamiento C (figura 99) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 100), después de haberle aplicado el método del PLS, con
concentraciones de metanol. Utilización de 10 neuronas en la capa oculta y 8 variables
latentes (LV). Iteraciones del entrenamiento = 300 epochs.
Figura 99. Método PLS.Entrenamiento C (metanol). 10 neuronas, 300 epochs y 8 LV.
Figura 100. Método PLS. Entrenamiento C+Validación C (metanol). 10 neuronas en la capa
oculta. 300 epochs. 8 LV.
112
Redes neuronales
* Entrenamiento C (figura 101) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 102), después de haberle aplicado el método del PLS, con
concentraciones de metanol. Utilización de 10 neuronas en la capa oculta y 10 variables
latentes (LV). Iteraciones del entrenamiento = 400 epochs.
Figura 101. Método PLS.Entrenamiento C (metanol). 10 neuronas, 400 epochs y 10 LV.
Figura 102. Método PLS. Entrenamiento C+Validación C (metanol). 10 neuronas en la capa
oculta. 400 epochs. 10 LV.
113
Redes neuronales
* Entrenamiento C (figura 103) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 104), después de haberle aplicado el método del PLS, con
concentraciones de metanol. Utilización de 15 neuronas en la capa oculta y 4 variables
latentes (LV). Iteraciones del entrenamiento = 300 epochs.
Figura 103. Método PLS.Entrenamiento C (metanol). 15 neuronas, 300 epochs y 4 LV.
Figura 104. Método PLS. Entrenamiento C+Validación C (metanol). 15 neuronas en la capa
oculta. 300 epochs. 4 LV.
114
Redes neuronales
* Entrenamiento C (figura 105) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C figura 106), después de haberle aplicado el método del PLS, con
concentraciones de metanol. Utilización de 20 neuronas en la capa oculta y 20 variables
latentes (LV). Iteraciones del entrenamiento = 200 epochs.
Figura 105. Método PLS. Entrenamiento C (metanol). 20 neuronas, 200 epochs y 20 LV.
Figura 106. Método PLS. Entrenamiento C+Validación C (metanol). 20 neuronas en la capa
oculta. 200 epochs. 20 LV.
115
Redes neuronales
* Entrenamiento C (figura 107) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 108), después de haberle aplicado el método del PLS, con
concentraciones de p-xileno. Utilización de 5 neuronas en la capa oculta y 6 variables
latentes (LV). Iteraciones del entrenamiento = 400 epochs.
Figura 107. Método PLS. Entrenamiento C (p-xileno). 5 neuronas, 400 epochs y 6 LV.
Figura 108. Método PLS. Entrenamiento C+Validación C (p-xileno). 5 neuronas en la capa
oculta. 400 epochs. 6 LV.
116
Redes neuronales
* Entrenamiento C (figura 109) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 110), después de haberle aplicado el método del PLS, con
concentraciones de p-xileno. Utilización de 10 neuronas en la capa oculta y 8 variables
latentes (LV). Iteraciones del entrenamiento = 300 epochs.
Figura 109. Método PLS. Entrenamiento C (p-xileno).10 neuronas, 300 epochs y 8 LV.
Figura 110. Método PLS. Entrenamiento C+Validación C (p-xileno). 10 neuronas en la capa
oculta. 300 epochs. 8 LV.
117
Redes neuronales
* Entrenamiento C (figura 111) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 112), después de haberle aplicado el método del PLS, con
concentraciones de p-xileno. Utilización de 10 neuronas en la capa oculta y 10 variables
latentes (LV). Iteraciones del entrenamiento = 400 epochs.
Figura 111.Entrenamiento C (p-xileno). Método PLS.10 neuronas, 400 epochs y 10 LV.
Figura 112. Método PLS. Entrenamiento C+Validación C (p-xileno). 10 neuronas en la capa
oculta. 400 epochs. 10 LV.
118
Redes neuronales
* Entrenamiento C (figura 113) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 114), después de haberle aplicado el método del PLS, con
concentraciones de p-xileno. Utilización de 20 neuronas en la capa oculta y 16 variables
latentes (LV). Iteraciones del entrenamiento = 300 epochs.
Figura 113.Entrenamiento C (p-xileno). Método PLS. 20 neuronas, 300 epochs y 16 LV.
Figura 114. Método PLS. Entrenamiento C+Validación C (p-xileno). 20 neuronas en la capa
oculta. 300 epochs. 16 LV.
119
Redes neuronales
* Entrenamiento C (figura 115) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 116), después de haberle aplicado el método del PLS, con
concentraciones de p-xileno. Utilización de 15 neuronas en la capa oculta y 16 variables
latentes (LV). Iteraciones del entrenamiento = 400 epochs.
Figura 115 .Entrenamiento C (p-xileno). Método PLS. 15 neuronas, 400 epochs y 16 LV.
Figura 116. Método PLS. Entrenamiento C+Validación C (p-xileno). 15 neuronas en la capa
oculta. 400 epochs. 16 LV.
120
Redes neuronales
* Entrenamiento C (figura 117) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 118), después de haberle aplicado el método del PLS, con
concentraciones de p-xileno. Utilización de 10 neuronas en la capa oculta y 16 variables
latentes (LV). Iteraciones del entrenamiento = 400 epochs.
Figura 117.Entrenamiento C (p-xileno). Método PLS. 10 neuronas, 400 epochs y 16 LV.
Figura 118. Método PLS. Entrenamiento C+Validación C (p-xileno). 10 neuronas en la capa
oculta. 400 epochs. 16 LV.
121
Redes neuronales
3.8.8.4. Análisis de los resultados obtenidos con PLS
Ya comenté anteriormente que la elección correcta del número de variables latentes, en
el método del PLS, era uno de los puntos clave para la obtención de buenos resultados.
Para las concentraciones de metanol, y después de realizar el método de validación
cruzada, obtenemos que el número óptimo de variables latentes es de 7.
Si observamos los resultados (figura 96, 98 y 100), podemos comprobar que éstos han
sido bastante más precisos cuando se han utilizado 6, 7 y 8 variables latentes, valores
que coinciden o se acercan al obtenido en la validación cruzada (valor óptimo=7).
Se han realizado distintas pruebas con diferente número de variables latentes para
apreciar como los resultados empeoraban cuando nos alejábamos de este valor óptimo.
Con las concentraciones de p-xileno, después de realizar el método de validación
cruzada, obtenemos que el número adecuado de variables latentes es 16 (valor bastante
elevado). Si observamos los resultados, comprobaremos que el mejor análisis se realiza
cuando se utilizan 16 variables latentes (figura 114), aunque los resultados son bastante
más imprecisos que los obtenidos con el método del PCA.
Por lo tanto, nuestra intuición de utilizar el método PLS, pensando que conseguiríamos
unos mejores resultados, no ha sido del todo acertada, ya que incluso se han obtenido
unas predicciones, sobretodo para las concentraciones de p-xileno, bastante más
imprecisas que con la anterior ejecución del PCA.
El motivo de estos malos resultados (con p-xileno) puede ser debido a que el PLS es un
método que tiende a sobreentrenar, es decir, entrena hasta el ruido. El ruido es un
fenómeno aleatorio, y por lo tanto durante la fase de aprendizaje, al entrenar con datos
inciertos, aumenta considerablemente la dificultad que se le presenta a la red para
encontrar similitudes y generalidades entre sus datos, con los que poder dar buenos
resultados en la posterior fase de validación. Es un método que para entrenar a la RNA
va a conllevar un elevado riesgo.
Por contra, el método del PCA elimina información redundante y reduce la contribución
del ruido.
No obstante, creemos que efectuando una serie de cambios en alguna de las
instrucciones que hemos empleado en el algoritmo del PLS (código), los resultados y el
funcionamiento de la red mejorarán.
Presentamos ahora una segunda y última alternativa, donde la principal corrección
respecto al algoritmo anterior, ha sido la de generar un centrado general “conjunto”, a
los datos de entrenamiento y de validación.
122
Redes neuronales
3.8.8.5. Otra alternativa con el PLS
Realización del PLS (2ª alternativa) para el Entrenamiento C (con concentraciones
de metanol)
mat=[entrenamentC';validacioC'];
matmean=mncn(mat); %centrado general, juntando la matriz de entrenamiento y
%la de validación
entrenamentCmean=matmean(1:343,:)';
validacioCmean=matmean(344:439,:)';
C=[concentrenC;concvalidaC];
%centrado general, juntando la matriz de concentración
Cmean=mncn(C);
%del entrenamiento y la de concentración de la validación
concentrenCmean=Cmean(1:343,:);
concvalidaCmean=Cmean(344:439,:);
entrenamentCmean=entrenamentCmean';
validacioCmean=validacioCmean';
concentrenC1mean=concentrenCmean(:,1);
[plspress,plscumpress]=crossval(entrenamentCmean,concentrenC1mean,'sim
','con',20,10);
[b,ssq,p,q,w,t,u,bin]=pls(entrenamentCmean,concentrenC1mean,10);
t=t';
concentrenC1mean=concentrenC1mean';
concvalidaC1mean=concvalidaCmean(:,1);
concvalidaC1mean= concvalidaC1mean’;
scvalC=validacioCmean*p;
scvalC=scvalC’;
Como observamos, este centrado “conjunto” que hemos citado anteriormente, consiste
en juntar la matriz de Entrenamiento C y la de Validació C (entrenamentC y validacioC
respectivamente) en una sola matriz llamada mat, y realizarle el centrado. Lo mismo se
hará con las matrices de concentración del entrenamiento y concentración de la
validación (concentrenC y concvalidaC respectivamente).
Otro cambio efectuado en este algoritmo con respecto a los anteriores es el hecho que
no se ha escalado las matrices de validación y de concentración de la validación.
Los pasos realizados para el entrenamiento y la validación con esta segunda alternativa
del PLS son los que se presentan a continuación, cuyas instruccionesn sigue siendo las
mismas que en anteriores casos y por eso no serán comentadas.
Entrenamiento de la red neuronal (con concentraciones de metanol)
PR=minmax(t);
net=newff(PR,[10 1],{'tansig' 'purelin'});
Y = sim(net,t);
net.trainParam.epochs = 400;
net = train(net,t, concentrenC1mean);
Y = sim(net,t);
plot(concentrenC1mean,Y,'*');
123
Redes neuronales
Validación de la red neuronal (con concentraciones de metanol)
Y=sim(net,scvalC);
plot(concvalidaC1mean,Y,'*');
Realización del PLS (2ª alternativa) para el Entrenamiento C (con concentraciones
de p-xileno)
mat=[entrenamentC';validacioC'];
matmean=mncn(mat);
entrenamentCmean=matmean(1:343,:)';
validacioCmean=matmean(344:439,:)';
C=[concentrenC;concvalidaC];
Cmean=mncn(C);
concentrenCmean=Cmean(1:343,:);
concvalidaCmean=Cmean(344:439,:);
entrenamentCmean=entrenamentCmean';
validacioCmean=validacioCmean';
concentrenC2mean=concentrenCmean(:,2);
[plspress,plscumpress]=crossval(entrenamentCmean,concentrenC2mean,'sim
','con',20,10);
[b,ssq,p,q,w,t,u,bin]=pls(entrenamentCmean,concentrenC2mean,10);
t=t';
concentrenC2mean=concentrenC2mean';
concvalidaC2mean=concvalidaCmean(:,2);
concvalidaC2mean= concvalidaC2mean’;
scvalC=validacioCmean*p;
scvalC=scvalC’;
Entrenamiento de la red neuronal (con concentraciones de p-xileno)
PR=minmax(t);
net=newff(PR,[10 1],{'tansig' 'purelin'});
Y = sim(net,t);
net.trainParam.epochs = 400;
net = train(net,t, concentrenC2mean);
Y = sim(net,t);
plot(concentrenC2mean,Y,'*');
Validación de la red neuronal (con concentraciones de p-xileno)
Y=sim(net,scvalC);
plot(concvalidaC2mean,Y,'*');
124
Redes neuronales
3.8.8.6. Resultados obtenidos
* Entrenamiento C (figura 119) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 120), después de haber aplicado el método del PLS con centrado
general (2ª alternativa), con concentraciones de metanol. Utilización de 5 neuronas en
la capa oculta y 6 variables latentes (LV). Iteraciones del entrenamiento = 400 epochs.
Figura 119.Entrenamiento C (metanol).PLS (2ª alternativa). 5 neuronas, 400 epochs. 6 LV.
Figura 120. Método PLS (2ª alternativa). Entrenamiento C+Validación C (metanol). 5 neuronas
en la capa oculta. 400 epochs. 6 LV.
125
Redes neuronales
* Entrenamiento C (figura 121) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 122), después de haber aplicado el método del PLS con centrado
general (2ª alternativa), con concentraciones de metanol. Utilización de 5 neuronas en
la capa oculta y 7 variables latentes. Iteraciones del entrenamiento = 400 epochs.
Figura 121.Entrenamiento C (metanol).PLS (2ª alternativa). 5 neuronas, 400 epochs. 7 LV.
Figura 122. Método PLS (2ª alternativa). Entrenamiento C+Validación C (metanol). 5 neuronas
en la capa oculta. 400 epochs. 7 LV.
126
Redes neuronales
* Entrenamiento C (figura 123) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 124), después de haber aplicado el método del PLS con centrado
general (2ª alternativa), con concentraciones de metanol. Utilización de 8 neuronas en
la capa oculta y 7 variables latentes. Iteraciones del entrenamiento = 400 epochs.
Figura 123.Entrenamiento C (metanol).PLS (2ª alternativa). 8 neuronas, 400 epochs. 7 LV.
Figura 124. Método PLS (2ª alternativa). Entrenamiento C+Validación C (metanol). 8 neuronas
en la capa oculta. 400 epochs. 7 LV.
127
Redes neuronales
* Entrenamiento C (figura 125) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 126), después de haber aplicado el método del PLS con centrado
general (2ª alternativa), con concentraciones de metanol. Utilización de 10 neuronas
en la capa oculta y 8 variables latentes. Iteraciones del entrenamiento = 300 epochs.
Figura 125.Entrenamiento C (metanol). PLS (2ª alternativa). 10 neuronas, 300 epochs y 8 LV.
Figura 126. Método PLS (2ª alternativa). Entrenamiento C+Validación C (metanol). 10
neuronas en la capa oculta. 300 epochs. 8 LV.
128
Redes neuronales
* Entrenamiento C (figura 127) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 128), después de haber aplicado el método del PLS con centrado
general (2ª alternativa), con concentraciones de metanol. Utilización de 10 neuronas
en la capa oculta y 10 variables latentes. Iteraciones del entrenamiento = 400 epochs.
Figura 127. Entrenamiento C (metanol).PLS (2ª alternativa). 10 neuronas, 400 epochs y 10 LV.
Figura 128. Método PLS (2ª alternativa). Entrenamiento C+Validación C (metanol). 10
neuronas en la capa oculta. 400 epochs. 10 LV.
129
Redes neuronales
* Entrenamiento C (figura 129) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 130), después de haber aplicado el método del PLS con centrado
general (2ª alternativa), con concentraciones de metanol. Utilización de 7 neuronas en
la capa oculta y 7 variables latentes. Iteraciones del entrenamiento = 500 epochs.
Figura 129.Entrenamiento C (metanol).PLS (2ª alternativa). 7 neuronas, 500 epochs y 7 LV.
Figura 130. Método PLS (2ª alternativa). Entrenamiento C+Validación C (metanol). 7
neuronas en la capa oculta. 500 epochs. 7 LV.
130
Redes neuronales
* Entrenamiento C (figura 131) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 132), después de haber aplicado el método del PLS con centrado
general (2ª alternativa), con concentraciones de metanol. Utilización de 20 neuronas
en la capa oculta y 20 variables latentes. Iteraciones del entrenamiento = 200 epochs.
Figura 131.Entrenamiento C (metanol).PLS (2ª alternativa). 20 neuronas, 200 epochs y 20 LV.
Figura 132. Método PLS (2ª alternativa). Entrenamiento C+Validación C (metanol). 20
neuronas en la capa oculta. 200 epochs. 20 LV.
131
Redes neuronales
* Entrenamiento C (figura 133) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 134), después de haber aplicado el método del PLS con centrado
general (2ª alternativa), con concentraciones de p-xileno. Utilización de 5 neuronas en
la capa oculta y 6 variables latentes. Iteraciones del entrenamiento = 400 epochs.
Figura 133.Entrenamiento C (p-xileno).PLS (2ª alternativa). 5 neuronas, 400 epochs y 6 LV.
Figura 134. Método PLS (2ª alternativa). Entrenamiento C+Validación C (p-xileno). 5
neuronas en la capa oculta. 400 epochs. 6 LV.
132
Redes neuronales
* Entrenamiento C (figura 135) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 136), después de haber aplicado el método del PLS con centrado
general (2ª alternativa), con concentraciones de p-xileno. Utilización de 20 neuronas
en la capa oculta y 16 variables latentes. Iteraciones del entrenamiento = 300 epochs.
Figura 135.Entrenamiento C (p-xileno). PLS (2ª alternativa). 20 neuronas, 300 epochs y 16 LV.
Figura 136. Método PLS (2ª alternativa). Entrenamiento C+Validación C (p-xileno). 20
neuronas en la capa oculta. 300 epochs. 16 LV.
133
Redes neuronales
* Entrenamiento C (figura 137) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 138), después de haber aplicado el método del PLS con centrado
general (2ª alternativa), con concentraciones de p-xileno. Utilización de 10 neuronas
en la capa oculta y 10 variables latentes. Iteraciones del entrenamiento = 400 epochs.
Figura 137.Entrenamiento C (p-xileno).PLS (2ª alternativa). 10 neuronas, 400 epochs y 10 LV.
Figura 138. Método PLS (2ª alternativa). Entrenamiento C+Validación C (p-xileno). 10
neuronas en la capa oculta. 400 epochs. 10 LV.
134
Redes neuronales
* Entrenamiento C (figura 139) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 140), después de haber aplicado el método del PLS con centrado
general (2ª alternativa), con concentraciones de p-xileno. Utilización de 8 neuronas en
la capa oculta y 16 variables latentes. Iteraciones del entrenamiento = 300 epochs.
Figura 139.Entrenamiento C (p-xileno).PLS (2ª alternativa). 8 neuronas, 300 epochs y 16 LV.
Figura 140. Método PLS (2ª alternativa). Entrenamiento C+Validación C (p-xileno). 8
neuronas en la capa oculta. 300 epochs. 16 LV.
135
Redes neuronales
* Entrenamiento C (figura 141) y Validación C (gráfico conjunto del Entrenamiento C y
la Validación C, figura 142), después de haber aplicado el método del PLS con centrado
general (2ª alternativa), con concentraciones de p-xileno. Utilización de 12 neuronas
en la capa oculta y 16 variables latentes. Iteraciones del entrenamiento = 300 epochs.
Figura 141.Entrenamiento C (p-xileno).PLS (2ª alternativa). 12 neuronas, 300 epochs y 16 LV.
Figura 142. Método PLS (2ª alternativa). Entrenamiento C+Validación C (p-xileno). 12
neuronas en la capa oculta. 300 epochs. 16 LV.
136
Redes neuronales
3.8.8.7. Análisis de los resultados obtenidos
Con esta segunda alternativa del método PLS no se ha conseguido mejorar los
resultados. El funcionamiento de la RNA sigue siendo muy poco preciso para el análisis
de las concentraciones de p-xileno.
Para el análisis de las concentraciones de p-xileno, se puede observar que cuando
elegimos un número de variables latentes distinto al valor óptimo (en este caso es 16),
los resultados son pésimos.
El motivo ya se comentó anteriormente cuando se dijo que el PLS tendía a sobre
entrenar la red. La RNA, durante la fase de entrenamiento, aprende de la experiencia,
para poder generar luego unos resultados adecuados en la fase de validación. Con el
método PLS, la RNA se entrena teniendo en cuenta el ruido, y al ser éste un fenómeno
aleatorio, le crea dificultades para encontrar similitudes y reconocer ciertos patrones en
la información de entrada.
Podemos afirmar que para el análisis de mezclas líquidas empleando una RNA,
debemos utilizar como método de reducción de información el PCA. Éste seguramente
nos generará unos mejores resultados.
137
Conclusiones
4. CONCLUSIONES
Para poder exponer cuáles han sido las principales conclusiones que se han extraído del
proyecto, me gustaría antes presentar unas tablas en las que se resume y se recuerda, el
total de pruebas efectuadas con las que hemos entrenado y validado a la RNA.
Para cada entrenamiento, las filas coloreadas de amarillo, representan las opciones con
las que he obtenido unos mejores resultados con cada uno de los compuestos utilizados.
* Entrenamiento A
Tabla 20. Pruebas efectuadas con el Entrenamiento A.
COMPUESTO
UTILIZADO
MÉTODO
EMPLEADO
NEURONAS
CAPA OCULTA
COMPONENTES
PRINCIPALES
ITERACIONES
(EPOCHS)
Metanol
Metanol
Metanol
Metanol
Metanol
P-xileno
P-xileno
P-xileno
P-xileno
P-xileno
PCA
PCA
PCA
PCA
PCA
PCA
PCA
PCA
PCA
PCA
10
20
30
10
20
10
20
30
10
20
6
6
6
4
3
6
6
6
4
3
400
200
400
400
400
400
200
400
400
400
Para las distintas alternativas, hemos obtenidos unos resultados muy similares y
bastante precisos. Éstos se pueden observar en el apartado 3.8.6.1.
* Entrenamiento B
Tabla 21. Pruebas efectuadas con el Entrenamiento B.
COMPUESTO
UTILIZADO
MÉTODO
EMPLEADO
NEURONAS
CAPA OCULTA
COMPONENTES
PRINCIPALES
ITERACIONES
(EPOCHS)
Metanol
Metanol
Metanol
Metanol
P-xileno
P-xileno
P-xileno
P-xileno
PCA
PCA
PCA
PCA
PCA
PCA
PCA
PCA
10
20
12
15
10
20
12
15
6
6
3
4
6
6
4
3
400
200
400
400
400
200
400
400
Con este entrenamiento se han conseguido unos mejores resultados para el análisis de
las concentraciones de p-xileno que para la detección de las concentraciones de
metanol. Éstos se pueden apreciar en el apartado 3.8.6.3.
Conclusiones
*Entrenamiento C
Tabla 22. Pruebas efectuadas con el Entrenamiento C.
COMPUESTO
UTILIZADO
MÉTODO
EMPLEADO
NEURONAS
CAPA OCULTA
COMPONENTES
PRINCIPALES
ITERACIONES
(EPOCHS)
Metanol
Metanol
Metanol
Metanol
Metanol
P-xileno
P-xileno
P-xileno
P-xileno
P-xileno
PCA
PCA
PCA
PCA
PCA
PCA
PCA
PCA
PCA
PCA
10
20
30
12
15
10
20
30
12
15
6
6
6
3
4
6
6
6
3
4
400
200
300
400
400
400
200
400
400
400
Se mejoran los resultados conseguidos en el análisis de las concentraciones de metanol
(con respecto al Entrenamiento B), pero se empeoran los obtenidos con el p-xileno.
Hemos marcado de amarillo el mejor resultado para cada compuesto, pero destacar que
para el caso del metanol, todas las alternativas probadas han logrado resultados bastante
acceptables. Los resultados se pueden ver en el apartado 3.8.7.3.
* Entrenamiento C (1ª alternativa. Utilizando el método PLS)
Tabla 23. Pruebas efectuadas con el Entrenamiento C. Método PLS (1ª alternativa)
COMPUESTO
UTILIZADO
MÉTODO
EMPLEADO
NEURONAS
CAPA OCULTA
VARIABLES
LATENTES
ITERACIONES
(EPOCHS)
Metanol
Metanol
Metanol
Metanol
Metanol
Metanol
P-xileno
P-xileno
P-xileno
P-xileno
P-xileno
P-xileno
PLS
PLS
PLS
PLS
PLS
PLS
PLS
PLS
PLS
PLS
PLS
PLS
15
10
10
10
15
20
5
10
10
20
15
10
7
7
8
10
4
20
6
8
10
16
16
16
400
400
300
400
300
200
400
300
400
300
400
400
Para este entrenamiento y en el análisis de las concentraciones de metanol, se han
obtenido unos resultados similares (en las distintas alternativas) pero algo peores a los
que se obtuvieron con este mismo entrenamiento aplicándole el método del PCA.
Sin embargo, para las concentraciones de p-xileno, los resultados son bastante peores
que con el anterior entrenamiento.
Los resultados se pueden observar en el apartado 3.8.8.3.
139
Conclusiones
* Entrenamiento C (2ª alternativa del método PLS. Centrado general)
Tabla 24. Pruebas efectuadas con el Entrenamiento C. Método PLS (2ª alternativa).
COMPUESTO
UTILIZADO
MÉTODO
EMPLEADO
NEURONAS
CAPA OCULTA
VARIABLES
LATENTES
ITERACIONES
(EPOCHS)
Metanol
Metanol
Metanol
Metanol
Metanol
Metanol
Metanol
P-xileno
P-xileno
P-xileno
P-xileno
P-xileno
PLS
PLS
PLS
PLS
PLS
PLS
PLS
PLS
PLS
PLS
PLS
PLS
5
5
8
10
10
7
20
5
10
20
8
12
6
7
7
8
10
7
20
6
10
16
16
16
400
400
400
300
400
500
200
400
400
300
300
300
Los resultados, cuando se analizan concentraciones de p-xileno, vuelven a ser muy
imprecisos. Éstos se pueden comprovar en el apartado 3.8.8.6.
Para las concentraciones de metanol, se han obtenido unos resultados bastante similares
a la anterior alternativa.
Por lo tanto, observando estas tablas y anteriormente los resultados, podemos extraer las
siguientes conclusiones, alguna de las cuáles ya ha sido comentada:
- Los resultados obtenidos, cuando se han utilizado datos de validación con las mismas
concentraciones que los datos del entrenamiento, han sido francamente aceptables:
podemos afirmar que el Entrenamiento A es el que ha proporcionado unos mejores
resultados.
- No se puede decir lo mismo, cuando se han utilizado datos de validación con
concentraciones diferentes a las concentraciones de los datos de entrenamiento
(Entrenamiento B y Entrenamiento C), donde se han obtenido resultados más
imprecisos.
- Los Entrenamientos B y C, con el método PCA, obtienen unos resultados bastante
similares.
- La RNA funciona de una forma más correcta cuando se utiliza el PCA como método
de reducción de la información de entrada a la red.
- El PLS tiende a sobreentrenar, es decir, entrena hasta el ruido. Es un método de
reducción de la información, pero que para entrenar a la RNA, va a conllevar un
elevado riesgo. Dificultará la consecución de unos buenos resultados.
- En cambio el PCA, elimina la información redundante y reduce la contribución del
ruido.
140
Conclusiones
- Los resultados que se han obtenido de la aplicación del PLS, varían considerablemente
en función del número de variables latentes elegido. Cuando este valor difiere del valor
óptimo (conseguido a través del método de validación cruzada), los resultados son muy
imprecisos.
Me gustaría también resaltar algún otro factor que ha podido influir en los resultados,
aunque siempre se ha intentado trabajar con la mayor cautela:
-
Ha podido haber algún fallo en la preparación de alguna de las muestra.
-
Ha podido haber algún error en la creación de las matrices de concentraciones y
de espectros.
De todas maneras, en términos generales, no se puede considerar que los resultados
obtenidos sean malos. Pero tampoco excelentes. Pienso que los resultados están dentro
de unos márgenes ciertamente bastante aceptables.
141
Bibliografía
5. BIBLIOGRAFÍA
ARAUJO, C.; CAMPOS, I.; MARTÍNEZ, J.R.; ORTEGA, G.; RUIZ, F. 2005. Modelo
de predicción basado en análisis multivariante para la determinación de
concentración de azúcar en solución. Enseñanza Revista Mexicana de Física, 51
(2): 67-73.
HANSELMAN, D.; LITTLEFIELD, B. 1996. MATLAB edición de estudiante, versión
4, guía de usuario. Prentice Hall, Madrid, 820 pp.
SOTOLONGO, G.; GUZMÁN, MV. 2001. Aplicaciones de las redes neuronales. El
caso de la bibliometría. Ciencias de la Información, 32 (1): 27-34.
COLMENARES, G. 2000. Stratified/PCA: un método de procesamiento de datos y
variables para la construcción de modelos de redes neuronales. Revista
Economía, 16: 45-74.
FREEMAN, JA. 1993, Redes neuronales Algoritmos, aplicaciones y técnicas de
programación. Wilmington [etc.] Addison-Wesley.
CABALLERO PINTADO, Mª V.Redes neuronales perceptrón multicapa. Universidad
de Murcia. Facultad de Ciencias Económicas.
CORCHADO, JM. 2000. Redes neuronales artificiales un enfoque práctico. Vigo
Servicio de Publicaciones da Universidad de de Vigo.
GRIFFITHS, PETER R. 1986. Fourier transform infrared spectrometry.
[etc.] Wiley cop.
New York
RAMIS RAMOS, G. 2001. Quimiometria. Madrid Síntesis DL 2001.
PORCEL, M. 2001. Aplicación de técnicas quimiométricas para el desarrollo de nuevos
métodos cinético-espectrofotométricos de análisis. Universidad Autónoma de
Barcelona.
Otras referencias
Como apoyo se ha consultado información de las siguientes direcciones:
http://ohm.utp.edu.co/neuronales
http://www.gc.ssr.upm.es/inves/neural/ann2/anntutorial.html
http://www.pslc.ws/spanish/ir.htm
http://www.monografias.com/trabajos12/redneuro/redneuro2.shtml#topol
Bibliografía
http://www.palencia.uva.es/itagra/paginas/INFORME%20NIR.pdf
http://www.fi.uba.ar/materias/6305/download/Espectrofotometria.pdf
143