capÍtulo iv resultados de la investigaciÓn 1. análisis de
Post on 20-Apr-2022
7 Views
Preview:
TRANSCRIPT
138
CAPÍTULO IV
RESULTADOS DE LA INVESTIGACIÓN
1. Análisis de los datos.
El desarrollo experimental está conformado por cuatro (4) fases, las
cuales se estructuran en un orden preestablecido, para lograr un resultado
óptimo de la investigación. En este sentido, se especifica a continuación el
desarrollo de cada una de ellas:
Fase 1.
(a) Establecer un modelo matemático del proceso químico para
elaborar la simulación.
Para realizar la simulación se elaboró el modelo matemático del
proceso de Neutralización ácido-base, en el cual se calculó la variable pH de
salida del sistema.
En tal sentido, se plantearon los siguientes equilibrios:
(1) H2O H + + OH – (De ésta reacción derivó Kw, que es la
variable para el equilibrio de autodisociación del agua H2O).
(2) H2CO3 H + + HCO3 – (De ésta reacción derivó Ka1, que es
la variable para la primera disociación del ácido – Carbónico H2CO3).
139
(3) HCO3- H + + CO3
2- (De ésta reacción derivó Ka2, que es
la variable para la segunda disociación del Bicarbonato HCO3-).
En este sentido, las ecuaciones para establecer el modelo matemático
del proceso de Neutralización ácido – base, se dedujeron de las reacciones
químicas y balance de cargas, con los siguientes componentes
seleccionados por el investigador, los cuales conforman un prototipo de
reacción de Neutralización ácido - base:
oBicarbonatHCO →−3 Base( )Débil
CarbonatoCO →−23 Base( )Mediana
ácidoCOH →32 Carbónico ácido( )Débil
→+Na Sodio Bases)y Salesforman combinarse (Al
Hidrógeno) (Ión Hidrógeno H →+
Hidróxido) (Ión HidróxidoOH →−
Débil). (Base Nitrato NO →−3
Se muestra a continuación las ecuaciones obtenidas por el
investigador con los compuestos, reacciones, y elementos antes
mencionados:
Cargas)
de (Balance] [NO][OH]2[CO][HCO][Na][H (4)
o)(Equilibri] ]/[HCO[CO] [H Ka2 (3)
o)(Equilibri] CO]/[H][HCO[H Ka1 (2)
o)(Equilibri] ][OH[HKw (1)
333
23
23
−−−−++
−−+
−+
−+
+++=+
=
=
=
2
3
3
140
.332 )CO de (Balance )(Constante M]CO[H ][CO][HCO (5) 233 =++ −−
En este orden de ideas, se consideró que [Na+] y [NO3
-] no son
alterados por los equilibrios, además, [Na +] = L + M; y K=[NO3-], y la
constante en la ecuación (5) es igual a M, resultando en un sistema de cinco
(5) ecuaciones con cinco (5) incógnitas, en el cual se pudo resolver en forma
implícita para [H+]:
A continuación se indica un cambio de variable realizado a los
compuestos antes mencionados que facilitó las operaciones algebraicas para
obtener la ecuación del modelo matemático:
c d b M ],[NaML
],[NOk
],[CO d
],CO[Hc ],[HCO b
],[OH a
][Hh
3
3
2
++==+
=
=
==
=
=
+
−
−
−
−
+
2
3
3
,
Luego de haber realizado el cambio de variable, las ecuaciones de
equilibrio, balance de cargas y constante del balance del CO3 quedaron
expresadas de la siguiente forma:
o)(Equilibri b
d x h Ka2 (3)
o)(Equilibri c
b x h Ka1 (2)
o)(Equilibri a x h Kw (1)
=
=
=
141
.3 )CO de (Balance )(Constante Mc d b (5) Cargas) de (Balance k a 2db M)(L h (4)
=+++++=++
Procedimiento para obtener la ecuación implícita para [H+]:
De uno (1) se despejó a y se sustituyó en (4) obteniendo:
k
hKw2dbM)(Lh (4)
hKw
a a x h Kw (1)
+++=++
=→=
Luego, la cantidad de ecuaciones se redujo a 4,
)CO de (Balance )(Constante ,Mcdb (5)
cargas) de (Balance kh
Kw2dbM)(Lh (4)
o)(Equilibri b
d x hKa2 (3)
o)(Equilibri c
b x hKa1 (2)
3=++
+++=++
=
=
,
,
,
Se tuvo después, que de (2) se despejó c y se sustituyó en (5)
obteniendo:
M
Ka1b x h
db (5)
Ka1b x h
c c
b x hKa1 (2)
=++
=→=
De manera, que la cantidad de ecuaciones se simplificó a 3,
)
,
,
3CO de (Balance )(Constante MKa1
b x hdb (5)
Cargas) de (Balance kh
Kw2dbM)(Lh (4)
o)(Equilibri b
d x hKa2 (3)
=++
+++=++
=
142
De (3), se despejó b y se sustituyó en (4) y (5) obteniendo:
MKa2 x Ka1d xh
dKa2
d x h (5)
kh
Kw2dKa2
d x hM)(Lh (4)
Ka2d x h
b b
d x hKa2 (3)
=++
+++=++
=→=
2
Luego, la cantidad de ecuaciones se redujo a 2,
)CO de (Balance )(Constante M
Ka2 x Ka1d xh
dKa2
d x h (5)
Cargas) de (Balance kh
Kw2d
Ka2d x h
M)(Lh (4)
3=++
+++=++
2
De la ecuación (5), se despejó d y se sustituyó en (4),
2
2
h Ka1 x h Ka2 x Ka1Ka2 x Ka1 x Md (5)
MKa2 x Ka1
d xh Ka2 x Ka1 x d Ka1 x d x h (5)
MKa2 x Ka1d xh
Ka2 Ka2 x dd x h
(5)
MKa2 x Ka1d xh
dKa2
d x h (5)
++=
=++
=++
=++
2
2
0)h Ka1 x h Ka2 x (Ka1
Ka2 x Ka1 x Mx 2)h Ka1 x h Ka2 x (Ka1
Ka1 x Mx hM)(Lk
hKw
h
kh
KwhKa1 x h Ka2 x (Ka1
Ka2 x Ka1 x Mx 2)h Ka1 x h Ka2 x (Ka1
Ka1 x Mx hM)(Lh (4)
kh
Kw2d
Ka2d x h
M)(L h (4)
22
22
=++
−++
−++−−
++++
+++
=++
+++=++
)
143
0h Ka1 x h Ka2 x Ka1
Ka2 x Ka1 x Mx 2Ka1 x Mx hM)(Lkh
Kwh (4) =
+++−++−−
2
( ) 0h Ka1 x h Ka2 x Ka1
Ka2 x 2 hKa1 x MM)(Lkh
Kwh (4) =
+++−++−−
2
0h Ka1 x h Ka2 x Ka1
Ka2 x Ka1 x M2Ka2
hM)(Lkh
Kwh (4) =
++
+−++−−
2
A continuación se muestra la ecuación final obtenida como modelo
matemático del proceso químico de Neutralización ácido-base:
0M)(L kh
Kw hh Ka1 x h Ka2 x Ka1
Ka2 x Ka1 x M2Ka2
h =+−++−
++
+
2
En función de ésta ecuación se definió el proceso de Neutralización
ácido-base, con el cual se realizaron numerosos programas donde fueron
establecidos los parámetros que describieron al proceso. Por ello, para esta
fase (1) inciso (a) fueron planteados cuatro (4) programas con pruebas
distintas.
A continuación se describen El programa (1) el cual, estuvo
estructurado con tres (3) concentraciones de flujo de entrada para los
compuestos del ácido Nítrico-HNO3, Hidróxido de Sodio-NaOH y Bicarbonato
de Sodio-NaHCO3, respectivamente, bajo las variables de entrada X, Y y Z
de forma sucesiva, asignándole un valor de 0.1 debido a la condición teórica
de cero (0) Molar.
En tal sentido, éstas concentraciones son tres (3) flujos distintos que
entran independientes a un tanque reactor, con lo cual se estableció una
144
variable Qt que indicó la sumatoria de éstos, determinando a (u) ácido
Nítrico, (t) Hidróxido de Sodio , y (j) Bicarbonato de Sodio.
Para esta prueba, (u) y (j) se especificaron con un valor de 1
constante, mientras que (t) más bajo a un valor de 0.5 constante. Por ello,
estos flujos no variaron dentro del proceso. Luego, entraron en consideración
las variables, Kw (constante de disociación del agua H2O, con valor nominal
de 1x10-14 a 25ºC de temperatura ambiente), Ka1 (constante de equilibrio de
la primera disociación del ácido carbónico H2CO3, con valor de 42x10-8 a
25ºC de temperatura ambiente), Ka2 (constante de la segunda disociación
del Bicarbonato HCO3, con valor nominal de 48x10-12 a 25ºC de temperatura
ambiente).
A tal efecto, el valor del pH indicó el rango de valores de la escala de
0 a 14 en la salida del modelo dinámico, en donde característicamente el pH
para un valor de 0 muestra una concentración de H+ (Hidrógeno) igual a 1 y
cuando adquiere un valor de 1, la concentración de OH – (Hidróxido) es igua l
a 1.
De manera que el conjunto global del proceso está formado por un
sistema de tres (3) entradas y una salida. Asimismo, cada uno de éstos flujos
posee una concentración inicial al instante de producirse la combinación,
definida por K, L, M .
El programa (1), calcula todas las variables expuestas, las sustituye en
la ecuación de Neutralización ácido-base y las grafica para obtener la curva
145
de reacción de Neutralización. A continuación se muestra el algoritmo de
dicho programa:
Algoritmo del programa (1)
Dados X, Y, Z y los flujos u, j, t. Calcular las invariantes de reacción K, L, M y graficar la función (y) contra pH. El valor correcto de pH, corresponde a y=0.
En tal sentido, la gráfica y una sección final de 10 filas de valores de
(y) calculados por el programa son mostrados en los Anexos 1 y 2. Se indica
ahora la conclusión :
El programa tuvo como objetivo determinar el pH a partir de los flujos
de ácido Nítrico, Hidróxido de Sodio, Bicarbonato de Sodio colocando los
flujos de entrada cons tantes para calcular las concentraciones iniciales que
determinaron el pH de la mezcla, de acuerdo con la ecuación y=0. En este
sentido, el punto de cruce de la función (y) con el eje (x) indicó el pH de la
mezcla. De manera, que la gráfica mostró la variación con el pH y en donde
existió un sólo corte que significó que la ecuación tiene única solución.
Asimismo, (y) varió alcanzando un valor máximo de 1.06.
El programa (2), estuvo estructurado con tres (3) concentraciones de
flujo de entrada para los compuestos del ácido Nítrico-HNO3, Hidróxido de
Sodio-NaOH y Bicarbonato de Sodio-NaHCO3, de igual manera que en el
programa anterior, con las variables de entrada X, Y y Z de forma sucesiva,
donde se estableció un valor de 0.1 debido a la condición teórica de cero (0)
Molar.
146
Presentó, concentraciones para tres (3) flujos distintos que entran
independientes a un tanque reactor, con lo cual se estableció una variable Qt
que indicó la sumatoria de éstos, determinando a (u) ácido Nítrico, (t)
Hidróxido de Sodio y (j) Bicarbonato de Sodio.
Para esta prueba, (u) se mantuvo constante, (t) y (j) variable, esto fue
producto, de inquietud del investigador en aplicar un método matemático
que se aproximara paramétricamente a través de un algoritmo que cambiara
la respuesta del sistema. Asimismo, para establecer el programa distinto al
anterior, se creó el estructuramiento de un pequeño ciclo for ejecutable
siguiendo una secuencia lógica, en donde se adoptó la variable (s) para un
recorrido numérico en el orden desde 1 hasta 101. Además, la función inline
tuvo como objetivo capturar la función dentro del programa.
En este orden de ideas, la primera entrada (u) ácido Nítrico, se
consideró constante a un valor de 0.5, luego los flujos (t) y (j) se
consideraron iguales en el sentido de variación y cantidad, por ser
dependientes de la ecuación que determinó el ciclo de cambio de la variable.
Por lo tanto, estos flujos variaron dentro del proceso. Después,
entraron en consideración las variables, Kw, Ka1, Ka2 y el valor del pH que
indicó el rango de valores de la escala de 0 a 14 en la salida del modelo
dinámico. Asimismo, los flujos tuvieron la misma concentración inicial que el
programa anterior, definido por K, L, M. Además, se procedió a utilizar el
método de la secante, estableciendo los límites mínimos y máximos del pH a
147
través de las variables x1 y x2. En tal sentido, las dos (2) funciones bases
para cada uno de estos límites, fue de la siguiente forma:
yf =1 ,1(x ,1Ka ,2Ka ,Kw ,K ,L )M
yf =2 ,2( x ,1Ka ,2Ka ,Kw ,K ,L )M
De manera, que consecutivamente se aplicó la ecuación del método
de la secante que relacionó a los dos (2) límites de pH y las dos (2)
funciones anteriores, expresadas así:
21)21(*223
ffxxfxx
−−−=
esta ecuación se utilizó para determinar una función (f3) que relacionó la
variable calculada x3 dentro de la serie de parámetros antes mencionados.
Finalmente, el lazo o ciclo concluyó con el cálculo de la variable pH a través
de x3. En este sentido, el algoritmo es el siguiente:
Algoritmo del programa (2) con el método de la Secante.
100 1)/(n t
101 TO n for−=
= 1
Dados X, Y, Z y los flujos u, j, t. Calcular las invariantes de reacción K, L, M
)(2)(1
2
1
211
xyfxyf
ini xx ; ini xx 2
==
==
33
3
2123
)(3
)21/()(*2
xoldx
xyf
ffxxfxx
=
=
−−−=
148
DO ENDIF END
EXIT THEN imax iter OR 0f3 IF
y(xf3 ffxxfxx
y(xf2 y(xf1
x x ; xx DO
3
3
2
1
321
≥=
=−−−=
==
==
))21/()(*2
))
212
2
n NEXT
La gráfica y la sección final de 15 filas de valores de K, L, y M
calculados por el programa son mostrados en los Anexos 3 y 4. La
conclusión es la siguiente:
Los resultados obtenidos para ésta lógica de programación, arro jaron
datos poco satisfactorios, debido a que el método de la secante no converge
en la primera parte de la curva, reflejando una ruptura en la continuidad. En
este sentido, los datos para la concentración inicial del ácido Nítrico (K)
disminuyeron en fo rma gradual a medida que el ciclo avanzaba pudiéndose
capturar la muestra final de los últimos 15 valores hasta llegar a un (K) final
de 0.02 . Además, se notó que las concentraciones iniciales del Hidróxido de
Sodio (L) y el Bicarbonato de Sodio (M) mostraron variaciones en los valores
llegando a 0.04.
149
En este sentido, luego de haber planteado estos dos (2) programas el
investigador asumió realizar una prueba con un programa (3) el cual,
contiene un ciclo for más extenso, en donde se planteó variar el flujo del
ácido Nítrico (u) y mantener constante los flujos del Hidróxido de Sodio (t) y
el Bicarbonato de Sodio (j). Además, se utilizaron aproximaciones
consecutivas, para cada una de las concentraciones iniciales agregándose a
éste programa la variable F (exceso de ácido Nítrico), H (concentración del
ión hidrógeno), Kh2 (constante de Hidrólisis), BI (exceso de Bicarbonato), W
(exceso de Hidróxido), WOW (variable que determina el valor de pH), y OH
(concentración de Hidróxido).
El ciclo for fue establecido con un rango i desde 1 hasta 10000, el
cual osciló para la variable (u) flujo de ácido Nítrico, adquiriendo valores de
0.001 hasta 1 y de 1 hasta el límite máximo de 10. En este sentido, se
evidenció valores bajos, debido a que la muestra, fue considerada por el
investigador como prueba corta para asumir resultados directos, para
posteriores pruebas más extensas.
Luego, se iniciaron una serie de nueve (9) condiciones if (variable de
un ciclo for ) que reflejan el planteamiento de las aproximaciones químicas.
En este orden de ideas, el primer if condiciona a la concentración inicial del
ácido Nítrico K mayor que la concentración inicial del Hidróxido de Sodio L ,
suponiéndose ser cierta para originar un exceso de ácido Nítrico F.
Sucesivamente, éste exceso fue condicionado mayor que la concentración
150
inicial del Bicarbonato de Sodio M en donde, si continuaba el exceso, se
calculaba la concentración del ión Hidrógeno H.
Progresivamente, se calculó el pH a través de H. Luego, asumiendo la
condición contraria F<M se calculó BI (exceso de Bicarbonato de Sodio).
Además, se describió para este lazo el cálculo de H, el cual químicamente es
obtenido con exceso de Bicarbonato con la ecuación
H=sqrt((Ka1*Ka2+Ka1*Ka2+BI)/(Ka1+BI)). Seguidamente, el pH en función
de H por cada variación de (i).
Durante la secuencia de la lógica del programa, se continuó
condicionando a F=M para asumir el pH un valor de 7 y calcularlo para cada
iteración de (i). Asimismo, se condicionó a K=L lo cual de producirse,
entonces ocasionó que BI=M para después calcular nuevamente a H y pH.
En ciertas circunstancias, si la concentración inicial de ácido Nítrico K fue
igual a la concentración inicial del Hidróxido de Sodio L , se aproximó que a
nivel químico el exceso de Bicarbonato de Sodio BI fue aproximadamente
igual a la concentración inicial del Bicarbonato de Sodio M .
En las otras condiciones, se adoptó a K<L en donde se produjo, que
de ser ésta condición válida sería calculado teóricamente el exceso de
Hidróxido W . Ahora, si este exceso W era mayor que M era viable calcular la
concentración de Hidróxido, para después encontrar el valor de pH a través
de la diferencia del límite máximo de 14 – log10(OH) calculando cada pH por
cada iteración.
151
Se ubica después, una nueva condición if donde W<M calculándose
BI, en la cual la concentración inicial del Bicarbonato de Sodio es mayor que
el exceso de Hidróxido, donde también fue posible colocar una línea de
cálculo para obtener el valor de la concentración del ión Hidrógeno a través
del producto de la segunda disociación del ácido carbónico Ka2 y el cociente
de BI con W seguido en líneas posteriores del cálculo de pH por cada
iteración.
Por último, se igualó W=M calculándose el Hidróxido OH=-
Kh2+sqrt(Kh2^2+4*W*Kh2))/2, en donde Kh2 es la constante de Hidrólisis
que es calculado en función de W. Asimismo, pH se obtuvo en base al valor
OH por cada iteración. A continuación se muestra el algoritmo del programa
(3):
Algoritmo del programa (3) con la aplicación de Aproximaciones
consecutivas.
/1000 n u
10000 TO n for== 1
Dados X, Y, Z y los flujos u, j, t. Calcular las invariantes de reacción K, L, M.
IF ENDlog(H)pH
MFH MF IF
LKF
L K IF
−=
−=>
−=
>
152
IF END log(H)pH
BIka1BI*Ka2*Ka1Ka2*Ka1
H
FMBI MF IF
−=+
+=
−=<
IF END log(H)pH
BIka1BI*Ka2*Ka1Ka2*Ka1
H
MBI LK IF
IF ENDIF END
7pH MF IF
−=+
+=
==
==
IF END log(OH))(14pH
MWOH MW IF
K L W
L K IF
−−=
−=>
−=
<
22**4 khW(kh2)Kh2
OH
MW IFIF END
log(H)pH W
BI* Ka2H
W MBI MW IF
2 ++−=
=
−=
=
−=<
))log((14 OHpH −−=
153
IF ENDIF END
IF END
En tal sentido, la gráfica y la sección final de 15 filas de valores de H
(concentración ión Hidrógeno para W>M ) calculados por el programa, son
mostrados en los Anexos 5 y 6. A continuación la conclusión es la siguiente:
Se aplicó una series de funciones aproximadas para encontrar el pH
en donde se obtuvo una variación abrupta presentando dos (2) rupturas en
pH= 7.7 aproximadamente, para las primeras tres (3) condiciones if y en
pH=2.8 para los tres (3) if siguientes y finalmente se estabilizó en 1 cuando
alcanzó la iteración mayor de 10000. Asimismo, los 15 últimos valores de H
ascienden hasta ubicarse en un valor máximo de 4.7952e-008.
(b) Aplicación del método de Bisección para resolver las ecuaciones
del modelo.
En el transcurso de las pruebas realizadas se comprobó que ninguno
de los métodos y procedimientos arrojaban resultados óptimos que
mostraran una curva o representación gráfica más asociada al proceso de
Neutralización ácido-base. En tal sentido, se procedió a estructurar un
programa con un método matemático que se aproximara más a los valores
no-lineales del sistema. Dicho programa, se especificó como programa (4).
En este orden de ideas, en la estructura del programa se realizaron
cambios significativos, en primer lugar con el del ciclo for para la variable (s)
desde uno (1) hasta (101) , tomando en cuenta previamente que los flujos
154
de entrada Hidróxido de Sodio (t) y Bicarbonato de Sodio (j) fueron
constantes con la condición de asumirlos iguales en el ritmo de variación. En
este sentido, j = t para luego colocar el flujo total Qt =u+j+j y dentro del ciclo
for el valor de j.
Asimismo, se colocó un orden lógico de cálculo para obtener los
valores de cada una de las concentraciones iniciales en función de (u) valor
constante y (j) valor variable dependiente de (s) . Por ello, se procedió a
ejecutar el método de bisección aplicado a esta lógica de programación,
asignando en primer término los valores extremos de pH con las variables
x1=0 y x2=14 describiendo simultáneamente una función f1 dependiente del
valor menor límite de pH y f2 dependiente de x2, lo cual tiene similitud con el
programa del método de la secante en la forma de colocar cada función f1 y
f2 dependientes de las variables del proceso de Neutralización.
Con el método de Bisección, fue importante generar otro ciclo for con
la variable (n) desde 1 hasta 16 donde fue creada ésta secuencia de manera
que al proceso de cálculo del método se le asignó x3=(x1+x2)/2 para crear
una función f3 que indicara el método y el ciclo de 16 pasos fue establecido
de esa manera para disminuir el intervalo calculado de la siguiente forma:
(Lím(máx de pH) – Lím(mín de pH))/216 de forma que al realizar el ciclo 16
veces se garantizó el cálculo del pH con buena precisión. Además, culminó
el ciclo con f3=0 y se creó una validación de signos para los productos f3*f2 y
f3*f1 para finalmente depender del valor de pH con el método aplicado de la
variable x3. A continuación se muestra el Algoritmo del programa (4):
155
Algoritmo del programa (4) con el método de bisección.
1)/100(nt
101 TO n for−=
= 1
Dados X, Y, Z y los flujos u, j, t. Calcular las invariantes de reacción K, L, M.
nmax TO n forxyf
y(xf1ini xx ; ini xx
1
2
1)(2
)
2
211
==
===
IF ENDEXIT
THEN 0f3 IFxyf
xxx
==
+=
)(32
)(
3
213
IF END
IF END f3f2 ; xx
THEN (f1) signo signo(f3)IFIF END
f3f1 ; xx THEN signo(f2)(f3) signoIF
2
1
==
≠
==≠
3
3
La gráfica y la sección final de 10 filas de valores de f3 (solución del
método de bisección) calculados por el programa, son mostrados en los
Anexos 7 y 8. Seguidamente la conclusión es la siguiente:
Con el método de bisección se encontró la solución de y=0 para una
terna de valores de K, L y M donde se partió de los extremos pH =0 y 14,
reflejando la función (y) signos opuestos, dividiendo el intervalo a la mitad y
encontrando el valor de la función en el punto medio de f3. En este sentido,
fue representada la variación de pH al variar el flujo de la forma indicada por
156
(y) . Asimismo, se observó que se agregó base (cantidad creciente de base)
produciendo un aumento de pH neutralizando progresivamente el ácido
fuerte, ácido carbónico y el bicarbonato. Además, cada uno de los puntos
representa un cero (0) de la función para el bicarbonato, ácido carbónico y
ácido fuerte.
Fase 2.
(a) Análisis comparación y selección de los tipos de red neuronal
disponible.
Existen distintos tipos de red neuronal que describen funciones
determinadas para optimizar y simular datos históricos o creados por el
investigador, relacionados a modelos de sistemas o procesos en la industria
química. En tal sentido, se mencionan a continuación los tipos de red
neuronal:
(1) Red neuronal de tipo Perceptron.( Función percept ).
(2) Red neuronal para filtro Lineal. ( Función linnet ).
(3) Red neuronal tipo Retropropagación. (Función backprop ).
(4) Red neuronal para sistemas de control.(Función Narma-LA ).
(5) Red neuronal tipo función de base radial (Función radbasis).
(6) Red neuronal de tipo funciones de Cuantización del vector
aprendizaje y autoorganización. (Función lvq).
(7) Red neuronales de tipo recurrentes.
(a) Redes neurales Elman (Función elman).
157
(b) Redes neurales Hopfield (Función hopfield) .
Luego de haber mencionado los distintos tipos de red se analizó y
comparó cada una con respecto a la investigación. Asimismo, se seleccionó
la red neuronal que optimizó al modelo matemático de Neutralización ácido-
base de la siguiente forma:
(1) Red neuronal de tipo Perceptron.( Función percept ).
Es una red neural que se utiliza como clasificador. Éstas pueden
clasificar vectores de entrada linealmente separables eficazmente. En este
sentido, la convergencia es garantizada en un número finito de pasos que la
red Perceptron provee para resolver el problema. A tal efecto, en la
investigación el modelo utilizado no requiere éste tipo de red debido a que la
función requerida para optimizar los datos del modelo en estudio no se
identifica para clasificar vectores de entrada.
(2) Red neuronal para filtro Lineal. ( Función linnet ).
Las redes lineales de capa sencilla pueden ser diseñadas
directamente o entrenadas con la norma Widrow-Hoff para encontrar un error
mínimo en la solución. Además, éstas redes son entrenadas adaptivamente
permitiendo a la red localizar cambios en el sistema utilizado. Asimismo, en
la investigación esta red no es aplicada debido a que el tipo de aprendizaje
no puede representarse exactamente para relaciones no -lineales entre las
entradas y objetivos.
158
(3) Red neuronal tipo Retropropagación. (Función backprop ).
El entrenamiento para retropropagación puede realizarse con redes
feed-forward (Alimentadas hacia delante) multicapa y funciones de
transferencia diferenciable para desarrollar la función de aproximación,
asociación de patrones y clasificaciones de patrones. En este sentido, el
término retropropagación está referido al proceso en el cual las derivadas del
error de la red, con respecto a la red de pesos y biases, puedan ser
calculadas. Además, este proceso puede usarse con un número diferente de
estrategias de optimización.
En este orden de ideas, en la investigación este tipo de red neural
está acorde con el modelo utilizado, debido a que el proceso es netamente
no-lineal y se desarrolló en función del tipo de alimentación hacia delante con
el comando (newff) que contiene rango de entrada, número de capas, tipo de
funciones y velocidad de entrenamiento. Además, la red de retropropagación
luego de haberle realizado una prueba previa, el investigador comprobó la
versatilidad de ésta para el proceso investigado y la postuló para
seleccionarla.
(4) Red neuronal para sistemas de control.(Función Narma-L2 ).
El control de red neural predictivo utiliza un modelo de planta con la
misma red para predecir el comportamiento de la planta. En tal sentido, un
algoritmo de optimización determina la entrada de control que se debe
optimizar en el funcionamiento de la planta sobre un horizonte finito de
tiempo.
159
Existe también dentro de los sistemas de control, la red neural de
control NARMA-L2 y la red neural del control de modelo referencial, en el
cual el control NARMA-L2 calcula la entrada del control para forzar la salida
de la planta a seguir una señal de referencia. Además, el modelo de planta
de red neural es entrenado con retropropagación estática, el cual es
razonablemente rápido.
Asimismo, para el caso del control por modelo de referencia un
controlador de red neural es entrenada para forzar la salida de la planta a
continuar la salida del modelo referencial. La arquitectura de este tipo de
control requiere la aplicación de retropropagación dinámica para el
entrenamiento del controlador. En la investigación, el sistema planteado está
compuesto de tres (3) entradas y una salida, por lo cual se aplica una red
neural netamente para entrenamiento estático con características no -
lineales.
(5) Red Neuronal tipo función de base radial. ( Función radbasis).
Las redes de base radial pueden ser diseñadas rápidamente en dos
(2) formas diferentes. El primer método de diseño, es la función newrbe, la
cual encuentra una solución exacta. Dicha función crea redes de base radial
con cualquier cantidad de neuronas de base radial, así como vectores de
entrada en los datos de entrenamiento.
El segundo método, newrb, encuentra una red pequeña que puede
resolver el problema sin tener una meta de error dada. Típicamente, lo
160
opuesto a pocas neuronas es requerida por la función newrb que devuelve
un comportamiento parecido al de la función newrbe.
Este tipo de red neural a pesar de poder ser aplicada a sistemas
altamente complejos como el tratado en la investigación, no optó como red
aplicable debido a que tiene como condición que el número de
neuronas de base radial sea proporcional al tamaño
del espacio de entrada.
(6) Red neuronal de tipo de funciones de cuantización del vector de
aprendizaje y autoorganización. (Función lvq).
Las redes de clasificación de cuantización del vector de aprendizaje
clasifican los vectores de entrada en clases de objetivos usando una capa
competitiva para encontrar subclases de dos (2) vectores de entrada, y
entonces combinar estos en clases de objetivos.
Asimismo, el mapeo de aprendizaje de autoorganización para
categorizar vectores de entrada, es también un aprendizaje de distribución
de vectores de entrada. Además, la característica de mapeo es colocar más
neuronas, reconocer partes del espacio de entrada donde cualquier vector de
entrada aparece y asignar pocas neuronas para partes del espacio de
entrada donde fueron distribuidos pocos vectores de entrada.
Ambos tipos de redes cumplen la función de clasificar, lo cual no es el
objetivo para la investigación, por lo tanto los datos mostrados en la misma,
indican que la red neural aplicada asumirá una matriz de 1001 filas por
cuatro (4) columnas.
161
(7) Redes neuronales de tipo recurrentes clasificadas en redes Elman
y redes Hopfield. (Funcion elman y hopfield).
Las redes Elman, tienen un lazo interno de retroalimentación, donde
son capaces de aprender a detectar y generar patrones temporales. Estas
redes son utilizadas en el procesamiento de señales y predicción donde
juegan un papel dominante. Asimismo, estas redes entran en la capacidad
de cualquier función de entrada/salida con un número finito de
discontinuidades. Además, requieren de muchas neuronas en la capa
recurrente para una función compleja.
Las redes Hopfield actúan como corrección de error o un vector de red
de categorización. En este sentido, los vectores de entrada son usados como
condiciones iniciales para la red, que actualiza repetidamente hasta localizar
un vector de salida estable. Por tal razón, las características mostradas de
ambos tienen un campo finito de aplicación, en comparación del
requerimiento del proceso en estudio. Es decir, son redes que abarcan un
campo específico y no se asumen como herramienta en la investigación.
En estos análisis, se muestran brevemente las características
funcionales básicas de cada red neural. Asimismo, el investigador comparó y
seleccionó la red neural del tipo retropropagación, en la cual como se
observará más adelante se estructuró inicialmente con una red feed forward
(newff) , aprendizaje de regularización bayesiana (trainbr) y una función de
evaluación postentrenamiento (postreg) la cual mostró una validación
determinada del resultado del entrenamiento.
162
En este sentido, se tomaron a consideración distintas pruebas en las
cuales fueron distribuidas teóricamente las funciones de transferencia
sigmoidales, tansig, logsig y una lineal denominada purelin. En la cual, las
dos (2) primeras son funciones no-lineales.
Con la aplicación, de la red de alimentación hacia delante (newff), se
observó estar formada en la línea de comando Matlab versión 5.3, por el
rango de las entradas, número de capas con la cantidad de neuronas
respectivas en cada capa, funciones de transferencia por cada capa y el tipo
de entrenamiento. Además, en la retropropagación se trabajó en el tipo de
entrenamiento en el modo Batch donde los pesos y bias de la red fueron
actualizados después del entrenamiento (trainbr) aplicado a la red. También
utilizó la función sim que simula la red.
En este orden de ideas, ésta red tuvo distintos parámetros de
entrenamiento tales como:
; aram.lrnet.trainP; aram.shownet.trainP
; saram.epochnet.trainP
==
=
los cuales, quedaron ajustados automáticamente por defecto cuando se
aplicó la red (newff), pero se realizaron algunas modificaciones y se recurrió
a los parámetros antes mencionados. Luego, se observó distintos tipos de
entrenamiento en los que destacó la rapidez, cualidad importante al
momento de ejecutar un programa. En tal sentido, destacan los
163
entrenamientos traingd, traingdm, traingdx, traingx, trainlm y trainbr.
Seleccionándose trainbr por la exactitud y capacidad de respuesta.
(b) Pruebas preliminares de la red seleccionada para acoplarlas al
sistema.
Para la configuración de un entrenamiento de prueba previo, luego de
haber analizado, comparado y seleccionado las propiedades y características
de las redes neurales se realizó un análisis exhaustivo de la forma lógica de
programar la red neural basada en el tipo retropropagación.
En este sentido, se elaboraron dos (2) programas con los
entrenamientos traingd y trainlm con una red neural feed forward (newff) y
distintos parámetros de entrenamiento. A continuación se muestra el
procedimiento de estructuración de ambos programas, la conclusión de las
gráficas y entrenamientos. Asimismo, las gráficas son colocadas en los
anexos 9 y 10.
El primer programa de prueba realizado para esta fase llevó por
nombre (5), el cual estuvo constituido por una entrada asignada con la línea
de control net.numInputs=1; indicando una entrada, luego el número de
capas estuvo enmarcada por la orden net.numLayers=2; reflejando dos (2)
capas, seguidamente el lugar del conectado de las bias se designó por la
orden net.biasConnect(1)=1; en donde el número entre paréntesis señala la
capa en la cual será conectada la bia y el uno (1) después de la igualdad
indica afirmación de la conexión.
164
En este sentido, la línea que siguió fue net.biasConnect(2)=1;
indicando conexión de la bia en la segunda capa. Asimismo, se determinó la
conexión de la entrada con la capa, establecida por net.inputConnect(1,1)=1;
donde la capa uno (1) (número izquierdo del paréntesis) indica que la capa
está conectada con la entrada uno (1) (número derecho del paréntesis) y el
uno (1) después de la igualdad señala la confirmación de la conexión.
Además, se observa la forma de conexión de las capas a través de la
expresión net.layerConnect(2,1)=1; en la cual el número dos (2) (lado
izquierdo del paréntesis) indica que la capa dos (2) está conectada a la capa
número uno (1) (lado derecho del paréntesis) y el uno (1) después de la
igualdad indica que la conexión se realiza de esa forma.
Luego, fue definida la ubicación de la salida a través de la orden
net.outputConnect=[0 1]; la cual señala en los corchetes que el número cero
(0) del lado izquierdo es la capa dos (2), por lo que es cero (0) debido a que
la salida no está ubicada en esa capa. En tal sentido, el valor uno (1)
muestra que la salida está en la capa dos (2). La letra (p) son los valores de
la entrada, mientras que (t) son los objetivos al cual la entrada tiene que
ajustarse.
El comando plot que se utilizó en Matlab para este programa fue
utilizado para describir la entrada (p) y los objetivos (t) con la descripción en
guión (-). Después, se detalló a la red igual a newff (alimentación hacia
delante) la cual contiene en primer lugar entre corchetes; el rango de la
entrada y el número de neuronas por capas. La función sigmoidal tansig-
165
purelin y el entrenamiento traingd. Además, luego se simuló la red y los
valores de las entradas de esta forma: y=sim(net,p). Dibujándose con el
comando plot los valores p,t y y.
En este orden de ideas, los parámetros de entrenamiento fuero n
establecidos como net.trainParam.epochs=500; (número de repeticiones del
entrenamiento), net.trainParam.goal=0.01; (ajuste del error),
net.trainParam.show=50; (espacio entre muestras de entrenamiento),
net.trainParam.lr=0.05; (grado de aprendizaje) y finalizando el entrenamiento
con la orden [net, tr]=train(net,p,t) (indica la red con el registro de
entrenamiento y después de la igualdad el entrenamiento para la misma red,
las entradas con los objetivos).
Así mismo, se simuló una nueva (y1) con la línea de comando
y1=sim(net, p) (simulación de la red y las entradas), también para obtener la
gráfica final de las entradas en función de los objetivos y las dos (2) variables
salida (y) y (y1), en donde (y) es la variable que representa la simulación
antes del entrenamiento de la red y (y1) representó la simulación después
del entrenamiento desplegada gráficamente a través del comando plot que
contiene a cada una de estas funciones. A continuación se muestra la
conclusión :
La representación observada de la gráfica generada por el programa
(5) muestra que la red neural entrenada con la función traingd
(retropropagación de Gradiente descendiente) actualiza los valores de los
pesos y bias según el gradiente descendiente, es por ello, que la
166
aproximación que realiza la red utilizando en la línea de comando newff
cuatro (4) y uno (1) neuronas produce una respuesta óptima del arreglo
creado. En tal sentido, el espacio de entrenamiento de 50 y el número de
entrenamientos permite que la aproximación de los puntos tenga un margen
de error pequeño.
Los resultados en la pantalla de orden de Matlab, indican para la
variable (y) de salida del entrenamiento con traingd valores fluctuantes
aproximados a cada objetivo, donde alcanzó un valor menor máximo de –
0.8694 y un valor máximo de 2.9763 sin los ajustes de entrenamiento a la
red. Además, para la salida (y1) con ajustes del entrenamiento se percibe
que la red mejora la salida a valores mayores y más constantes positivos
eliminando el carácter aleatorio y colocando la red con valores de entrada (p)
cercano a los objetivos (t) ordenándolos desde –1.9094 hasta 6.9666.
En tal sentido, el primer periodo de entrenamiento 0/500, mostró la
característica del error cuadrado medio que la red tomó por defecto
reflejando un valor de 12.1667/0.01 y una gradiente de 10.5106/1e-010, por
lo cual para el último periodo 252/500, el error cuadrado medio disminuyó
hasta 0.00998439/0.01 con un gradiente de 0.029677/1e-010.
El segundo programa de prueba de esta fase llevó por nombre (6), el
cual tuvo como única diferencia una entrada (p) de un rango un poco más
amplio al igual que los objetivos y utilizó el tipo de entrenamiento trainlm
(retropropagación de Levenberg-Marquardt) con 200 periodos de
entrenamiento.
167
La representación gráfica generada por el programa (6) muestra que
la red neural entrenada con la función trainlm (retropropagación de
Levenberg-Marquartd) actualiza los valores de los pesos y bias según la
optimización Levenbert-Marquartd), por lo cual, la aproximación que reali za la
red produce una respuesta lineal.
Los resultados en la pantalla de orden de Matlab, indican para la
variable (y) de salida antes de los ajustes de entrenamiento con trainlm
valores aproximados a los objetivos ascendentes por cada período, donde
alcanzó un valor menor máximo de 0.2827 y un valor máximo de 2.2412
luego desciende hasta llegar a –0.2650, lo cual cumple con los objetivos (t)
fundamentales.
Además, para la salida (y1) del entrenamiento se percibe que la red
mejora la salida a valores mayores y más constantes positivos eliminando el
carácter aleatorio y colocando la red los valores de entrada (p) dentro de los
valores objetivos (t) ordenándolos desde –9.9025 hasta 9.9303. Asimismo, la
red mostró para el primer entrenamiento 0/200 un error cuadrado medio de
40.7695/0.01 y un gradiente descendiente de 320.957/1e-010, alcanzando
para el último entrenamiento 8/200, una disminución del error cuadrado
medio de 0.00125921/0.01 y un gradiente descendiente de 13.0706/1e-010.
Es evidente, que el entrenamiento trainlm fue más óptimo que el
entrenamiento traingd llevando el error cuadrado medio a un valor menor.
168
Fase 3. (a) Aplicación de una función generatriz aleatoria para entrenamiento
de la red neural a través de Matlab.
Para desarrollar la función generatriz aleatoria se consideró el
programa (7), el cual tuvo un ordenamiento similar al programa (4),
presentado anteriormente de acuerdo al método de bisección y las fórmulas
para calcular las concentraciones iniciales con el respectivo lazo de iteración.
En tal sentido, la reforma realizada al programa contiene una función
que crea una matriz aleatoria de 1001 filas de entrada de los componentes
de ácido Nítrico (k), Hidróxido de Sodio (L) y Bicarbonato de Sodio (M)
multiplicada por nueve (9) y sumada más uno (1), lo cual genera valores
aleatorios entre 1 y 10.
Cuando se estableció el ciclo for, la iteración se colocó desde 1 hasta
1001 colocando a cada uno de los flujos de entrada dependientes de la
matriz A al mismo ciclo de iteración (i) llegando a calcular un valor K, L, M por
cada fila. Asimismo, se aplicó el método de bisección para calcular el pH
dependiente de las iteraciones i e igualado a X3 del método. Luego, fuera del
ciclo la matriz A representa de acuerdo al pH una cuarta columna contenida
con la misma iteración aleatoria que i. Finalmente, ésta matriz aleatoria A es
salvada y guardada bajo el nombre pH000000 con formato –ASCII.
La gráfica resultante de este programa simplemente genera una serie
de puntos aleatorios que no sobrepasan 1001, cumpliendo este programa
169
con la función principal de cargar esta serie de valores aleatorios como
pH000000 y mostrar los valores de K, L y M . Ver anexos 11 y 12.
Fase 4.
(a) Ajuste del número de neuronas por capas para optimizar la red
neural.
Luego de haber creado la matriz o función generatriz aleatoria se
procedió a iniciar una serie de cinco (5) programas constituidos como (8), (9),
(10), (11) y (12). En tal sentido, se creó antes de configurar estos programas
un programa de Recuperación, con el objeto de configurar un programa para
devolver la misma data de pH000000 conformado por la variable function con
respecto a las entradas (p) y objetivos (t) con el nombre del archivo de la
siguiente forma:
Function [p,t] = Recuperación
En este sentido, se escribió una instrucción donde se ordena cargar la
matriz pH000000 como variable A en el archivo del function. Además,
seguidamente se estableció un recorrido de las columnas de la matriz A para
reflejar valores de las filas para la variable de entrada (p) y para los objetivos
(t) se designó una cuarta columna para el pH con todas las filas de A de la
siguiente manera:
A=load(‘pH000000’) p=A(:,1:3); t=A(:,A);
170
Las dos (2) líneas finales del archivo contienen la transpuesta de (p) y de (t)
para que la lectura de las 1001 filas se realizara completa.
Este programa recupera los datos, los flujos de entrada y del pH
grabados en la matriz pH000000, convirtiéndolos en las matrices con datos
de entrenamiento y objetivo para la red neuronal en donde la matriz original
tuvo los datos en fila; tres (3) flujos y un pH. Asimismo, la red neuronal recibe
los datos en columna de la matriz, tomándolos para procesarlos.
El programa establecido con el nombre de Recuperación fue utilizado
para grabar la matriz aleatoria pH000000 con lo cual se unió a un programa
de prueba (8). En tal sentido, el investigador consideró conformar en éste
archivo una prueba de entrenamiento que tuvo como líneas principales las
variables de entrada (p) y objetivos (t) para separar dentro de la red una
sección de 801 valores aleatorios originando en la red una función de
correlación de datos y los otros 200 valores restantes colocarlos como una
función de valoración .
Por lo tanto, la prueba realizada conservó algunos parámetros de
pruebas anteriores y otros tuvieron variaciones. Asimismo, las primeras tres
(3) líneas estuvieron establecidas por [p0, t0]= Recuperación; la cual fue una
orden que capturó la matriz pH000000. Seguidamente la variable (p) de
entrada fue colocada con la línea p=p0(:,1:801); para crear en función de (p0)
los primeros 801 valores de entrada para los tres (3) flujos de las
concentraciones K, L, M del sistema y los valores de los objetivos (t) se
171
ubicaron en función de la variable (t0) de la forma t=t0(:,1:801); en donde
cada una de las variables (p) y (t) toma todos los valores en fila de los flujos.
Además, otras de la variaciones importantes que tuvo el programa
fueron el rango, el número de neuronas, la función de transferencia, los
periodos de entrenamiento y la consolidación de las figuras para describir la
correlación y validación. Descriptivamente, la forma de orden del rango
quedó asignada como net.inputs{1}.range=[1 10; 1 10;1 10]; lo que precisa
que la red habilitó únicamente una entrada con tres (3) rangos para los
distintos flujos, en donde ésta entrada recibe toda la matriz pH000000 .
El número de neuronas fue indicado dentro la red newff
(retroalimentación hacia delante) como [6,1] utilizando seis (6) neuronas para
la capa uno (1) y una para la capa dos (2) en forma de ensayo. En tal
sentido, se realizó un cambio de función de transferencia de tansig a logsig
ambas sigmoidales (no-lineales) con el entrenamiento trainlm (
retropropagación de Levenberg-Marquartd). Además, el número de
entrenamientos fue de 100 para obtener un resultado breve.
Las líneas figure (‘Name’, ‘Correlación’) y figure (‘Name’, ‘Validación’)
desplegará en forma separada los 801 valores de la correlación y validación
realizada por la red. Los 200 valores de validación se estructuraron para las
entradas (p1) y los objetivos (t1) por p1=p0(:,802: 1001); y t1=t0(:,802:1001);
permitiendo observar por separado el entrenamiento de la red y las gráficas
de correlación y validación.
172
Las gráficas representativas del programa se muestran en los Anexos 13
al 15, en ellas se observó para el entrenamiento trainlm que la red ajusta los
datos del sistema mostrando un error de 0.0428229 para el rango de 0.01 .
En este sentido, la red fue entrenada con 801 puntos y el modelo resultante
se aplicó a 200 puntos diferentes de la matriz, es decir, los primeros 801
puntos fueron para validación. Además, en ambas graficas la red agrupa con
buena aproximación los datos observándose poca dispersión.
Con la prueba anterior, el investigador observó que era necesario
aumentar el número de neuronas y el tipo de entrenamiento buscando
eficiencia en la determinación de los errores calculados por la red. En tal
sentido, el entrenamiento de regularización Bayesiana (trainbr) fue opción
porque calculó los parámetros óptimos de forma automatizada en la cual los
pesos y biases fueron asumidos como variables aleatorias con una
distribución especificada, de forma que los parámetros de regularización
fueron relativos a variaciones desconocidas asociadas con las distribuciones
de pesos y biases.
Por ello, se creó el programa (9), el cual tuvo como diferencia un aumento
de las neuronas a la primera capa en 12 y el cambio de entrenamiento a
trainbr , los números de entrenamientos asignados fueron 500.
Las gráficas representativas del programa se muestran en los Anexos 16
al 18, en ellas se observó para el entrenamiento trainbr que la red ajustó el
parámetro de entrenamiento sse (suma cuadrada del error), con los
parámetros anteriores del programa (8) mostró un valor de 1.5153,
173
notándose un mayor que el mostrado con trainlm. Asimismo, ssw (suma
cuadrada de los pesos) es otra función inherente en la red, que mostró un
valor de 951.335 y el número efectivo de parámetros contabilizado por la red
es de 59.1636 lo que comparativamente significa una buena aproximación
con el cálculo empírico de 60.
La gráfica de correlación fue en base a los datos de entrenamiento donde
se observó un ajuste mayor que el programa anterior, reduciendo las
desviaciones de los puntos y colocándolos más próximos a la pendiente.
Además, el aumento del número de neuronas en doce (12) en la primera
capa uno (1) de función de transferencia logsig como función sigmoidal de
carácter no-lineal, convergió los 801 puntos de entrenamiento de forma lineal
en la capa (2) con salida de función de transferencia purelin (Lineal).
En tal sentido, la validación observada de la red fue consecuencia de la
función trainbr en cuanto a que la red se detuvo cuando la suma ponderada
de ambos errores sobrepasó el límite.
Continuando con las pruebas, en vista de haber observado y comparado
el aumento de neuronas en la capa uno (1) y el cambio de entrenamiento a
trainbr, el investigador asumió agregar una capa más con cuatro (4)
neuronas quedando el conjunto distribuido como [12, 4, 1] lo que conllevó a
conformar una función de transferencia sigmoidal bajo el orden de {‘tansig’,
‘logsig’, ‘purelin’} con periodos de entrenamiento en 200, bajo el programa
(10).
174
Las gráficas representativas del programa (10) se muestran en los
Anexos 19 al 21, para el entrenamiento trainbr que la red ajustó y disminuyó
el parámetro de entrenamiento sse (suma cuadrada del error) de
56862.1/0.01 para el primer entrenamiento de 0/200 y alcanzó un valor final
del error de suma cuadrada de 0.0326304/0.01 para un entrenamiento de
200/200, el cual con los parámetros anteriores del programa (9) se comparó
mejorando el error en una disminución de 1.48, notándose un valor menor
que el mostrado con dos (2) capas.
Asimismo, ssw (suma cuadrada de los pesos), mostró un valor de
727.156 y el número efectivo de parámetros contabilizado por la red fueron
de 94.2791. También, el factor del gradiente descendiente disminuyó
desde1.28e+0041/1.00e-010 en el primer periodo de entrenamiento 0/500
hasta un gradiente de 3.92e-003/1.00e-010 para el último periodo de 500/500
significando que la red bajo regularización Bayesiana reduce el gradiente de
forma óptima.
La gráfica de correlación fue en base a los datos de entrenamiento donde
se observó una semi-pendiente formada por los puntos del proceso que la
red con tres (3) capas produjo para una aproximación más efectiva con la
misma cantidad de datos. En este sentido, el investigador estableció un
criterio referente a la calidad competitiva de la red neural, en cuanto a que
ella realiza cambios aleatorios a lineales proporcionales a las capas y
neuronas. La validación observada de la red fue consecuencia de la
175
optimización recibida en el incremento de las capas conforme el gradiente de
regularización Bayesiana disminuyó con el pequeño lote de entrenamiento.
Consecuentemente, estos resultados condujeron a la aplicación de una
función de postprocesado a través del programa (11) para medir la extensión
de los errores en el entrenamiento. Esta función recibe el nombre de postreg
la cual realiza ésta medición en la correlación y validación arrojando una
gráfica general comparativa. La línea de orden en Matlab estuvo realizada
por [m, b, r]= postreg(y1, t1) en donde m y b corresponden al ciclo de
intercepción de y interceptada a la mejor regresión lineal relacionadas a los
objetivos de la red de salida y r es el coeficiente de correlación entre las
salidas y los objetivos.
Las gráficas son mostrados en los Anexos 22 al 24, en el cual la sse
(suma cuadrada del error) alcanzó hasta 0.0446311/0.01 para el periodo
200/200 con una ssw (suma cuadrada de los pesos) de 929.81 . Además, el
número de parámetros efectivos para la red fue de 93.4946 en donde se
evidenció que la red para el post entrenamiento la red arrojó un valor para m
de 1.0001 y un valor de b en –9.1583e-004 mostrando para la regresión
lineal con los objetivos buena exactitud.
Asimismo, el valor de r fue 1.000 indicó que las salidas con los objetivos
correlacionaron óptimamente debido a que teóricamente cuando el valo r es
cercano a uno (1) la red posee un entrenamiento preciso para el sistema. En
tal sentido, el comportamiento del gradiente para el primer ciclo de
entrenamiento de 0/200 fue de 9.66e+003/1.00e-010 alcanzando una
176
disminución de 5.84e-001/1.00e-010 para el último periodo de 200/200 en
donde se observó con el entrenamiento postreg un incremento del gradiente
en los con respecto al programa anterior.
En forma conclusiva, el investigador optó por éste programa para tomarlo
como programa final para las muestras no-lineales del proceso de
Neutralización ácido-base. En tal sentido, fue realizado otro programa (12),
el cual tuvo una variación únicamente en las funciones de transferencia
colocando para la primera y segunda capa dos (2) funciones sigmoidales
(logsig) obteniéndose una mejoría en la sse (suma cuadrada de los errores)
de 0.0361867 pero no fue compatible con el programa (11) por mostrar un
exceso en la ssw (suma cuadrada de los pesos) de 1777.06 con un número
efectivo de parámetros de 98.3067 .
El gradiente de este programa para el primer entrenamiento 0/200 fue de
9.81e+003/1.00e-010 disminuyendo hasta 1.61e+000/1.00e-010 en el
entrenamiento 200/200. La suma excesiva en los pesos indicó que la red
pudo llegar al límite de mostrar resultados imprecisos ya que los pesos no
convergieron eficazmente al igual que los errores. Aún así, el entrenamiento
postreg resultó ser aproximado, pero no tan exitoso para los valores de m y b
del anterior debido a que el valor de m fue de 0.9994, b=0.0041 y r=1. Ver
Anexos desde 25 al 27 para observar las gráficas respectivas.
(b) Creación de un programa del modelo original del proceso con la
red neural ajustada para mostrar gráficamente en tres (3) dimensiones los
177
valores predichos por la red y la superficie de error de pH con el método de
bisección y desviación estandar.
Para esta parte de la fase cuatro (4), el investigador creó un programa
final, para registrar una muestra de 200 puntos que la red neural asumió a
través del programa base Recuperación que contiene la matriz aleatoria
pH000000. En tal sentido, los parámetros de la red tuvieron modificación en
el número de neuronas de la primera capa oculta aumentándolo de 15
debido a que la red opera con mayor flexibilidad los datos incrementando las
neuronas en esa capa.
Seguidamente, el número de periodos de entrenamientos fue
disminuido a 50 para lograr de ésta forma un entrenamiento más efectivo de
los datos con respecto al factor de exactitud y evitando sobreentrenamiento.
Asimismo, fue considerada la red neural hasta la línea que indica la
activación de los parámetros asignados. Esto, fue producto de la búsqueda
de mostrar a través de la red únicamente el entrenamiento de los datos para
luego iniciar el enlace al método de bisección.
En este orden de ideas, el programa describe un intervalo dividido en
25 partes, es decir, el intervalo cubre flujos de Hidróxido de Sodio (NaOH) y
Bicarbonato de Sodio (NaHCO3) de uno (1) a diez (10) con un flujo constante
de ácido Nítrico (HNO3) de cinco (5) para originar una superficie de pH en
tres dimensiones donde los ejes X y Y son respectivamente los flujos de
Hidróxido de Sodio y Bicarbonato de Sodio. Asimismo, el ciclo for
establecido, muestra la variación de dos (2) flujos, el Hidróxido de Sodio (u) y
178
el Bicarbonato de Sodio (p) manteniendo constante el flujo del ácido Nítrico
realizando después la sumatoria de éstos representados en la variable Qt.
El método de bisección se aplicó debido a que a través de éste, el
verdadero pH es calculado en el programa que involucra al modelo original
del proceso de Neutralización ácido-base, mientras que la red neural cumplió
la función de predecir los valores de pH. Además, el investigador, tuvo como
inquietud principal para la gráfica tridimensional comparar el pH teórico con
el pH predicho por la red, en donde se planteó para el plano X-Y una
configuración de veintiséis (26) por veintiséis (26) puntos correspondientes a
las distintas combinaciones de flujo.
En este sentido, se utilizó la función meshgrid para describir
internamente la división del eje X en veinticinco (25) pero en segmentos 0.36
en donde se representa el límite máximo de X y el límite menor dividido entre
las 25 partes iguales dando origen a la función Interp, la cual interpoló la
superficie en dos (2) dimensiones.
Las gráficas son mostradas en los Anexos 28 al 31, a continuación se
indica la conclusión:
El resultado del entrenamiento arrojó para el primer periodo 0/50 una sse
(suma cuadrada de los errores) de 53745.7/0.1 con una ssw (suma cuadrada
de los pesos) de 257.95 y un gradiente de 9.14e+003/1.00e-010. Asimismo,
estos valores alcanzaron finalmente al periodo 50/50 una sse de 0.28476/0.1
con una ssw de 239.195 y un gradiente de 1.23e+001/1.00e-010 notándose
una disminución en todas las variables.
179
En tal sentido, la desv (desviación estándar) mostró la suma de los
cuadrados de errores entre el número total de puntos, es decir el promedio
cuadrático, calculado en un valor de 0.0442 lo que demuestra un
entrenamiento exitoso y un error de precisión muy pequeño para 200 valores
aleatorios de entrada. Además, en el error de entrenamiento cuadrado
mostrado en la gráfica como 0.28476, el investigador encontró que
aplicándole la desviación estándar con respecto a los valores aleatorios no
tomados en cuenta, resulta en un promedio cuadrático menor al calculado
por la red, es decir la raíz cuadrada del cociente de 0.28476/800 donde el
valor ochocientos (800) es 0.0189.
Esto se comparó de esta forma, ya que el error cuadrático de
entrenamiento es común para cualquier número de entradas por las
características de la estructura de la red, evidenciándose que a mayores
datos menor es el error. En tal sentido, la curva mostrada en la gráfica de
superficie refleja un valor para el ácido Nítrico igual a cinco (5), observándose
para el Bicarbonato e Hidróxido poca apreciación.
2. Discusión de los Resultados. Las resultados obtenidos a través de esta investigación se asocian en
cierta medida a los presentados en los antecedentes que se utilizaron como
marco teórico referencial. Por ello, las pruebas realizadas se fundamentaron
en criterios expuestos por diversos autores, que contribuyeron a desarrollar
las fases planteadas. A continuación se muestran los siguientes aspectos:
180
1.- En el programa (1), fue aplicada la ecuación de Neutralización ácido –
base obtenida en función a los modelos de equilibrios y reacciones
invariantes de Gustafsson y Waller (1992), en donde indican que el sistema
de medición del pH es modelado por un sistema de primer orden li neal en el
pH. A tal efecto, éste modelo simplificado fue usado para introducir una
dinámica no-lineal en el modelo de simulación.
En tal sentido, los resultados arrojados en la curva señalan una no -
linealidad en función de las reacciones invariantes de los equilibrios.
Además, condujo a graficar el valor de pH con respecto a los flujos, lo que
demuestra que existe compatibilidad en los equilibrios y reacciones aplicadas
por los autores antes mencionados.
2.- En el programa (2), fue aplicado el método de la Secante obtenido de
Chapra y Canale (1999), en donde se calculó una aproximación de la
pendiente de la función que se usa para proyectar hacia el eje X una nueva
aproximación de la raíz, por lo que éste método reemplaza los valores en
una secuencia estricta de las nuevas aproximaciones.
Por ello, continuando con la aplicación de la ecuación de Neutralización
ácido-base y agregando el método de la Secante, se comprobó que dicho
método arroja divergencias en la continuidad de los puntos, lo cual quiere
decir que no converge a los resultados correctos.
3.- En el programa (3), fueron expuestas las aproximaciones consecutivas
mencionadas por Montoya (2000), en las que se aplican distintas fórmulas a
los procesos de equilibrio ácido-base según las especies predominantes. En
181
este sentido, en los resultados las aproximaciones no coinciden de forma
óptima en los extremos del rango de aplicación. Por ello, se observa
discontinuidad en la curva calculada por el programa.
4.- En el programa (4) luego de haber obtenido resultados poco
satisfactorios, en los arreglos anteriores, se procedió aplicar el Método de
Bisección descrito en Chapra y Canale (1999), en el cual, el intervalo es
dividido por dos (2), por lo que si la función cambia de signo sobre un
intervalo, se evalúa el valor de la función en el punto medio. Asimismo, se
determinaron la posición de la raíz, situándola en el punto medio del
subintervalo dentro del cual ocurre un cambio de signo.
El Resultado obtenido con este método, se asocia al criterio de
Gustafsson y Waller (1992) en donde se señala que al agregar cantidad
creciente de Buffer (corriente amortiguadora - Bicarbonato HCO3-) en
presencia de algunos componentes, incrementa el valor absoluto de la
derivada de la curva de titulación, la cual decrece en la ganancia del proceso
que es inversamente proporcional al buffer (corriente amortiguadora) y se
percibe que el efecto del Buffer es local en la escala de pH, dependiendo de
la constante de disociación del ácido.
En este orden de ideas, la curva obtenida muestra un crecimiento de la
base (Hidróxido de Sodio- NaOH) y buffer (Bicarbonato-HCO3-) que
neutraliza al ácido Nítrico, por lo que se aproxima a la curva de titulación con
la diferencia de que no es planteada a través del criterio de la deri vada de la
curva.
182
5.- Luego de haber encontrado el método matemático preciso para
representar la curva de titulación, se procedió a seleccionar el tipo de
entrenamiento y a realizar a través de él, dos (2) pruebas de ajuste de
entrada con los objetivos. En consecuencia, los criterios de selección y
prueba con las redes neurales fueron a través de Demuth y Beale (1998), en
el cual se seleccionó el entrenamiento de retropropagación debido a que
permite ajustar los parámetros de la red, de modo de reproducir los valores
de salida con los objetivos a partir de los valores de entrada.
Los resultados para el entrenamiento de retropropagación fue a través de
la función train (Entrenamiento) el cual aproximó las entradas planteadas a
los objetivos, en donde se observó que la red neural para los programas (5) y
(6) procesó estos valores, flexibles en una salida que soportó la similitud a
los objetivos, siendo óptimo con el entrenamiento Levenberg-Marquart por la
capacidad de respuesta y por la moderación del tamaño de las entradas.
6.- Los parámetros del programa (7) mostraron una serie de puntos
aleatorios correspondientes al modelo mecanístico de reactor expuesto por,
Henson y Seborg (1994), en el cual señalan una variación aleatoria de 999
puntos correspondientes a tres (3) entradas de ácido, base y buffer y la
salida usada como el predictor de las variables de entrada representadas en
el pH. Todo ello, aplicando el método PLS (mínimos cuadrados parciales).
Los resultados con el programa (7) indicaron una configuración con la
ecuación de Neutralización ácido-base, método de bisección y la Matriz
183
aleatoria, generando gráficamente la aplicación de 1001 puntos aleatorios,
donde se tomó como referencia a los autores mencionados para la prueba.
7.- En la fase cuatro (4), se estructuraron cinco (5) programas en los
cuales se fue incrementando el número de capas, número de neuronas por
capas, funciones de transferencia, etc. En este sentido, fue seleccionado el
programa (11) como óptimo en la correlación, validación, error cuadrático de
entrenamiento y post-entrenamiento.
Por tal razón, en la aproximación realizada por Qin y McAvoy (1992) se
discute la aplicación de las redes neurales en la estructura del PLS (mínimos
cuadrados parciales) modelando el método resultante en una red neural PLS
aproximada. A este respecto, el estudio aportado por los mencionados
autores tiene aplicación en el análisis de datos cosméticos, en donde se
determina un modelo entre la composición de la crema y los indicadores de
calidad, de manera, que la calidad de la crema es predicha desde la
composición de la crema.
En este orden de ideas, se determinó que el algoritmo NNPLS (red neural
de mínimos cuadrados parciales) requiere dos (2) unidades ocultas para el
primer factor y tres (3) unidades ocultas para el tercer factor respectivamente,
mientras que el segundo y el cuarto factor es almenos lineal y cada uno
requiere una unidad oculta. Además, se determinó que la aproximación
NNPLS es capaz de representar una relación lineal y no-lineal.
En Consecuencia, el programa (11) aproxima de forma precisa (lineal) la
correlación de 800 datos, la validación de 198 datos y el post-entrenamiento
184
con valor de la pendiente de uno (1). A tal efecto, se demostró que al
aumentar las neuronas en la capa oculta (1) la red neural se comporta
flexiblemente, convergiendo los puntos linealmente. Además, comparando
con los resultados de la combinación del método PLS y la red neural
coinciden en que las redes neurales representan los datos no-lineales, pero
con la diferencia de que los autores utilizan una data escasa de 19 valores, lo
cual ocasiona que la red neural aproxime con menos efectividad los datos a
la curva real del proceso, mientras que en la investigación se encontró que la
red neural con una data mayor se comporta de forma óptima acoplando los
datos no-lineales al proceso.
8.- En la fase 4, inciso (b) se realizó un programa final conformado por el
modelo mecanístico y dinámico del proceso de neutralización ácido-base, el
cual se estructuró para reconocer 799 valores aleatorios del proceso,
teniendo como característica una red neural entrenada que se combina con
la estructura programática del modelo mecanístico, con el método de
bisección y que tuvo como finalidad calcular gráficamente en tres (3)
dimensiones los valores de pH, valores de pH predichos por la red y la
superficie de error a través de interpolar los puntos en X y Y para la
descripción gráfica.
En este sentido, Johansen y Foss (1997), plantearon la necesidad de
construir un modelo híbrido para modelar no -linealmente la estructura que
soporte el desarrollo del modelo, entre el modelo empírico y mecanístico. En
consecuencia, en la representación del modelo establecen la interpolación
185
del método matemático para luego simularlo a través de la herramienta de
Software ORBIT.
En este orden de ideas, dichos autores exponen como razón de la
aplicación del modelado híbrido la necesidad de controles globales no -
lineales en la representación de modelos empíricos no-lineales y las redes
neurales. Por ello, ésta afirmación condujo al investigador a realizar la
elaboración del programa de cálculo de superficie de error de pH.
La Superficie de error de pH, los valores de pH y los valores de pH
predichos por la red neural describen una gráfica representativa de los datos
no-lineales, la cual mostró un comportamiento inclinado al error del pH
cuando el flujo de Hidróxido de Sodio es igual a cinco (5).
En tal sentido, Johansen y Foss (1997) llegaron a la conclusión que el
modelado lineal es suficiente para cualquier control o problemas de
optimización, y el modelado no-lineal es de sumo interés cuando el proceso
es operado dentro de un amplio rango de condiciones de operación, tal como
los procesos de batch (lote), durante la puesta en marcha y paro, durante los
cambios de producto, y otras condiciones excepcionales de operación.
Los resultados de ambas investigaciones, arrojan cierta similitud en el
modelo híbrido utilizado en asumir la precisión de la aplicación de
herramientas de simulación a un modelo preestablecido. En estas
investigaciones, la combinación de un modelo local empírico y mecanístico
en donde se aplican para cada investigación interpolación a los datos en la
conformación gráfica resultante.
top related