Você está na página 1de 12

IQ425 - Inteligência Artificial em Sistemas de Processos Químicos

Profa. Ana Maria Frattini Fileti


Aluno: Carlos Adriano Moreira da Silva
2° Trabalho

Objetivo

Aplicar as redes neurais artificiais como ferramenta de modelagem, em


ambientes MATLAB e Excel, para uma coluna experimental de extração líquido-líquido
com pulsação de campânulas para dispersão da fase leve. São duas fases aquosas em
equilíbrio, com extração do citocromo b5, presente na fase pesada (1) em meio a
impurezas, para a fase leve (3).

Problema

Variáveis de entrada (1,2,3): coeficiente de partição das fases (x1); vazão


total (x2); freqüência de pulsação das campânulas (x3).
Variáveis de saída (4,5): fração de retenção da fase dispersa (y1);
percentagem de extração (y2).

1) Dividir o arquivo de dados “aula3.dat” (variáveis já em linhas), de forma a


usar no treinamento 75% dos vetores entrada/saída. O restante deverá ser usado como
arquivo de teste. OBS: é recomendável que os dois arquivos contenham a mesma faixa
operacional de cada variável envolvida;
As escolhas das variáveis de entradas para a construção do modelo neural
foram: coeficiente de partição das fases (x1); vazão total (x2) e frequência de pulsação
das campânulas (x3). As variáveis de saída foram: a fração de retenção da fase dispersa
(y1); percentagem de extração (y2).
O conjunto de dados experimentais fornecidos pela professora foi normalizado.
O processo de normalização das variáveis favorece o cálculo dos pesos e bias dos
neurônios no processo de treinamento da rede neural, portanto, melhora a estimação das
variáveis de saída. O modelo neural então, prediz os valores das variáveis de saída
normalizadas. Em seguida é realizado o processo de desnormalização. No Matlab, as
funções e normalização e desnormalização são “premnmx” e “postmnmx”,
respectivamente. As formulas são mostradas nas Equações 1 e 2:

2(V Vmin )
Vnor  1 (1)
(Vmax  Vmin )
(Vmax  Vmin )(Vnor  1)
V  Vmin (2)
2

onde V, Vnor, Vmin e Vmax corresponde o valor da variável desnormalizada, normalizada,


mínimo e máximo dos dados experimentais, respectivamente.
Nas Figuras 1 e 2 são mostrados os valores normalizados para as variáveis de
entrada e saída que serão utilizados para a construção do modelo neural. Como foram
observados a reprodutibilidade das variáveis de entradas e saídas em toda a faixa de
dados, foi utilizado para o treinamento da rede neural, os primeiros 75% dos vetores (1-
128) e a outra parte, 25% dos vetores, foi utilizada para o teste do modelo construído
(129-170).
Como critério de avaliação da performance do modelo neural construído,
foram calculados a soma dos erros quadráticos médios, MSE, e o EQM (erro quadrático
médio em relação a cada variável de saída) para cada número de neurônios na camada
intermediaria, N, no qual o programa foi executado. Esses cálculos foram realizados
com as variáveis desnormalizadas. Também foi analisado o número de parâmetros
efetivos para o algoritmo de treinamento “trainbr”.
A soma dos erros quadráticos (SSE) para os dados de teste foi calculado como:
nvteste nncs
SSE    (V
j 1 i 1
exp  Vcal )i2

onde j e i são os contadores que referem-se ao número de vetores contido nos dados
experimentais de teste (nvteste) e ao número de neurônio na camada de saída (nn cs) do
modelo neural, respectivamente; V exp e Vcal referem-se aos valores experimentais e
simulados, respectivamente.
O valor do MSE pode ser calculado como:

1 Vteste nncs
MSE   (Vexp  Vcal )i2
nvteste j 1 i1

O valor do EQM foi calculado como:

MSE
EQM 
nncs

O número de parâmetros da rede, P, é calculado como:

P   n pesos    nbias    nnce N  nncs N    N  nncs 

onde nnce corresponde ao número de neurônios na camada de entrada. O valor do


número de parâmetros e do numero de parâmetros efetivos já são calculados e
fornecidos na tela de execução do treinamento da rede neural no Matlab para o
algoritmo “trainbr”. Para um valor “aceitável” do MSE, quanto mais próximo o número
de parâmetros efetivos estiver do número de parâmetros da rede, melhor a estrutura da
rede neural proposta. Nesta condição, o modelo neural está utilizando uma quantidade
maior de parâmetros (pesos e bias) para o cálculo das variáveis de saída.
Figura 1 – Variáveis de entrada normalizadas em função do número de vetores.

Figura 2 - Variáveis de saída normalizadas em função do número de vetores.

2) Determinar o melhor número de neurônios da camada intermediária com


base na análise do número de parâmetros efetivos e no desempenho do modelo quando
aplicado ao arquivo de teste (MSEteste , ou m, b, r do gráfico de dispersão);
Avaliar o desempenho da rede baseado na análise do número de parâmetros
efetivos é aplicar o critério de Hagan: para um valor “aceitável” de MSE, deve-se
aumentar o número de neurônios na camada intermediária até que o número de
parâmetros efetivos permaneça constante.
Na Tabela 1 são apresentados os valores de MSE’s, EQM’s, números de
parâmetros da rede (P) e o números parâmetros efetivos (PE) para o algoritmo de
treinamento “trainbr”.
Tabela 1 – Valores do MSE, EQM e PE.

N=6, P=38 N=12, P=74


MSE EQM PE MSE EQM PE
5.3782 2.6891 35 3.0799 1.5399 66
N=7, P=44 N=15, P=92
MSE EQM PE MSE EQM PE
4.1651 2.0825 41 4.0025 2.0012 83
N=8, P=50 N=20, P=122
MSE EQM PE MSE EQM PE
3.9549 1.9774 46 5.8596 2.9298 108
N=10, P=62 N=30, P=182
MSE EQM PE MSE EQM PE
3.7733 1.8867 57 9.2469 4.6234 133

Na Figura 3 são presentados os valores do MSE e EQM para o teste em função


do número de neurônio na camada intermediaria. Conforma podemos observar com
base nos valore do MSE e EQM, a melhor configuração do modelo neural foi para 12
neurônios na camada intermediaria, pois verificou-se menores valores para MSE e
EQM. Com base no critério do número de parâmetros efetivo, a melhor configuração foi
com 7 neurônios na camada intermediaria, pois o número parâmetros efetivos do
modelo neural construído tendeu a ficar mais próximo do número de parâmetros
iniciais, conforme observado na Figura 4.
Figura 3 – Valore de MSE e EQM em função do número de neurônios da
camada intermediaria.
10,0000
9,0000 MSE
8,0000 EQM
7,0000
MSE/EQM

6,0000
5,0000
4,0000
3,0000
2,0000
1,0000
0,0000
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32
N (Número de neurônios da camada intermediária)

Figura 4 - Relação entre os parâmetros efetivos e parâmetros iniciais da rede.


100,00

95,00

90,00
(PE/P)*100

85,00

80,00

75,00 (PE/P)*100

70,00
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32
N (Número de neurônios da camada intermediária)

3) Mostre os gráficos de dispersão das duas variáveis de saída (real x


calculado) resultantes da simulação com o arquivo de teste;
Como não houve uma concordância entre os critérios de escolha da melhor
configuração do modelo neural, foi escolhido o critério de parâmetros efetivos, por
exigir menor esforço computacional com a execução de 7 neurônios na camada
intermearia do que com 12.

Figura 5 - Valores preditos em função dos valores observados para y1 e y2 para


N=7.

4) Aponte uma configuração de rede e o método de treinamento usados numa


situação em que tenha ocorrido o indesejável sobreajuste (MSEtreino ↓ com
MSEteste↑).
Foi executado o programa com 30 neurônios na camada intermediaria com os
algoritmos de treinamento “trainbr”, “traingdx e “trainglm”, com o objetivo de verificar
uma condição de sobreajuste, isto é, para altos números de neurônios na camada
intermediaria e quando determinados algoritmos de treinamento não reconhecem esta
condição.
Na Tabela 2 são apresentados os resultados do MSE e EQM para a simulação
com os dados do treinamento e a simulação com os dados de teste para dois outros
algoritmos de treinamento. Conforme pôde-se verificar, para todos os algoritmos de
treinamento, os valore de MSE e EQM para o teste foram maiores do que o MSE e
EQM para o treinamento. Estes resultados eram esperados, pois os dados que foram
utilizados para o treinamento do modelo neural são os mesmos utilizados para a
simulação do sistema. A Tabela 2 também mostra que a condição de sobreajuste está
ocorrendo com o algoritmo de treinamento “trainglm”, pois apresenta um MSE para o
teste elevado e um valor baixo de MSE para o treinamento. Neste caso uma solução
possível para evitar sobreajuste seria a diminuição do número de neurônios na camada
intermediaria.
O algoritmo de treinamento “trainbr” foi capas de construir um bom modelo
neural em relação aos outros algoritmos de treinamento, mesmo com altos números de
neurônios na camada intermediaria, pois um bom modelo neural se configura com a
MSE para o teste e para o treinamento baixos. Com o algoritmo de treinamento
“traingdx” para as condições analisadas, não foi possível construir um bom modelo
neural pois ambos o MSE para o treinamento e para o teste foram relativamente altos.

Tabela 2 - Valores do MSE, EQM e PE para vários algoritmos de treinamento.

Algoritmos de treinamento
“trainbr” “traingdx” “trainglm”
Treinamento
MSE EQM MSE EQM MSE EQM
0.5055 0.2527 6.9064 3.4532 0.2258 0.1129
Teste
MSE EQM MSE EQM MSE EQM
8.1208 4.0604 24.1746 12.0873 178.6147 89.3073

Na Figura 6 são mostrados os resultados preditos em função dos valores


experimentais para a simulação com dados do treinamento e teste com os três
algoritmos de treinamento. A partir da Figura 6, pôde-se verificar também a condição de
sobre ajuste no algoritmo de treinamento “trainlm”.
Figura 6 - Valores preditos em função dos valores experimentais para a simulação
com dados do treinamento e teste com algoritmo “trainbr”.
Figura 7 - Valores preditos em função dos valores experimentais para a simulação
com dados do treinamento e teste com algoritmo “traingdx”.
Figura 8 - Valores preditos em função dos valores experimentais para a simulação
com dados do treinamento e teste com algoritmo “trainlm”.

Nas Tabelas 3 a 6 são mostrados os valores dos pesos entre camadas


entrada/intermediária, pesos entre camadas intermediária/saída, bias da camada
intermediária e bias da camada de saída para N=7 e algoritmo de treinamento de
“trainbr”. Esses dados serão utilizados para a implementação da rede neural em excel.

Tabela 3 - Pesos entre camadas entrada/intermediária.


-0.0040 -5.2868 2.1222
0.0839 -0.6072 3.2214
2.0784 0.1013 0.9100
0.0113 -4.8655 0.5355
0.1325 -0.2637 0.2060
0.0198 -2.9675 3.3531
3.6009 -0.0247 -0.7059
Tabela 4 - Pesos entre camadas intermediária/saída.

3.9333 2.1795 -0.2651 -3.6601 -0.7836 -3.1210 0.4301


-2.6331 -0.5893 0.0301 1.6185 -2.0793 2.3229 0.0241

Tabela 5 - Bias da camada intermediária.

-3.2233
0.9870
1.0403
-4.5092
0.3985
-0.5575
-1.1281

Tabela 6 -Bias da camada de saída.


-1.0775
1.1934

Conclusão

Neste relatório foi realizado um estudo teórico de simulação a partir da


construção de um modelo de redes neurais artificiais para a predição da fração de
retenção da fase dispersa (y1) e a porcentagem de extração (y2). Como critério de
escolha da melhor configuração da rede neural foram utilizados os critérios do MSE,
EQM e o número de parâmetros efetivos (algoritmo de treinamento “trainbr”).
Verificou que não houve uma concordância entre os critérios de escolha da melhor
configuração da rede. Neste caso, uma análise detalhada para cada critério deve ser
realizada. Pôde-se verificar que o algoritmo de treinamento “trainlm” foi o que
apresentou a condição de indesejável de sobreajuste (MSEtreino↓ e MSEteste ↑). Nas
próximas aulas, será implementado em excel o melhor modelo neural encontrado no
presente relatório.

Você também pode gostar