Inteligência Artificial
4.9 Integração da Rede ao Sistema e Manutenção
4.9 Integração da Rede ao Sistema e
Manutenção
Finalmente, com a rede treinada e validada, ela pode ser integrada ao sistema computacional da aplicação. Para melhor eficiência da solução, este sistema deverá conter facilidades de utilização, como interfaces convenientes, e facilidades de aquisição de dados, através de planilhas eletrônicas, interfaces com unidades de processamento de dados, ou arquivos padronizados. Uma boa documentação do sistema e o treinamento de usuários são necessários para o sucesso do projeto final da aplicação pretendida.
Além disso, o sistema deve periodicamente monitorar seu desempenho e
realizar manutenções ou atualizações, quando for necessário. Outras melhorias poderão ainda ser sugeridas, quando os usuários forem se tornando mais familiares com o sistema. Essas sugestões poderão ser muito úteis em novas versões ou em novos produtos relacionados com o projeto inicial do sistema correspondente.
Se as etapas anteriores apresentaram sucesso, o modelo resultante pode ser
realizado para uso contínuo, lembrando que todo sistema computacional está sempre sujeito a alterações e melhorias contínuas.
Exemplo de implantação
Para exemplificar o desenvolvimento de aplicação utilizando uma rede neural, tomemos como base um problema de previsão de séries temporais.
O desenvolvimento de técnicas da área de IA tem fornecido ferramentas
eficientes para modelagem de séries temporais, na qual se destacam as
modelagens baseadas em redes neurais artificiais.
Segundo Guirelli et al. (2004), os métodos de modelagem baseados em
técnicas de IA apresentam problemas próprios. A codificação de conhecimentos nem sempre é uma tarefa trivial, e questões de como determinar quais dados e variáveis são importantes para um processo de modelagem constituem um procedimento que pode ser tão complexo quanto a utilização de modelos clássicos ou estatísticos.
Neste exemplo relacionado com a previsão de carga elétrica, os dados
utilizados foram extraídos da competição organizada pela European Network of Intelligent Technologist (EUNITE), referência na área de previsão de séries temporais abordando o tema sobre previsão de cargas
elétricas em 2004 (Rojas, 2004). Nessa competição, dadas as temperaturas e as cargas elétricas nos anos de 1997 e 1998 de uma determinada região, os competidores estimavam as previsões das cargas elétricas para o mês de janeiro de 1999. Os dados da competição foram fornecidos pela Corporação Elétrica Oriental Eslovaca (Eastern Slovakian Eletricity Corporation). Esta instituição tem grande interesse em aplicações de tecnologias inteligentes e adaptativas em previsões de cargas elétricas.
A série de carga investigada representa a demanda máxima diária da
carga consumida por um sistema elétrico. Esses dados compreendem valores de pico de carga no período de 1997 a 1998, cujos os dados estão
ilustrados na Figura 4.2. O objetivo é fornecer uma previsão de valores máximos diários de demanda de carga para o mês de janeiro de 1999, com a
estimação de 31 valores diários referentes a este mês.
image
FIGURA 4.2 Série temporal diária de carga de janeiro de 1997 a dezembro de 1998.
A série coletada contém informações de cargas elétricas medidas durante
todo um dia, onde cada observação corresponde a um horário específico. A série contém valores de cargas elétricas diárias dos anos de 1997 e 1998. Os horários utilizados como intervalos entre as observações apresentam-se com variação de meia hora durante todo um dia, iniciando à 00h30 e terminando às 24h. Um pré-processamento de dados foi realizado por intermédio da média dos valores dos horários de pico, gerando-se os valores diários utilizados no estudo. Para estabelecer um modelo baseado em redes neurais realizou-se a normalização dos valores das observações da série temporal,
através da expressão (4.3).
(4.3)
A partir dos correlogramas extraídos da série pode-se identificar a
existência de sazonalidade nos dados, que pode ter sido causada pela influência de fatores climáticos ou devido a hábitos semanais dos consumidores. Portanto, o conjunto de dados deve ser tratado antes de ser apresentado ao treinamento da rede.
A organização desses dados é preparada para a previsão diária. Desta
forma, para prever determinado dia, inclui-se nos padrões de entrada da
rede o conjunto de valores das observações da série agora estacionária,
definindo a janela temporal de análise, ou seja, o número de amostras do
passado a ser incluído para a previsão à frente. As redes neurais MLPs utilizadas em previsão de séries temporais têm um conjunto de entrada de valores passados ordenados no tempo e um valor de saída que consiste no próximo valor na sequência de dados da série. As amostras da rede neural
terá a estrutura descrita por (4.4).
(4.4)
Onde Z(t) é o ponto da série correspondente ao tempo t, p é o tamanho da janela de tempo e Zt é a amostra a ser prevista. Para um modelo com n amostras utiliza-se como base os valores das amostras Z(1), Z(2), Z(3), Z(4), Z(5) ..., Z(n). Durante o treinamento, a ideia é fornecer como entradas valores sucessivos da série, por exemplo, os valores de Z(1), Z(2), Z(3), Z(4) Z(5) Z(6) e Z(7), e definir a saída desejada para Z(8). Na segunda iteração, os valores das entradas seriam Z(2), Z(3), Z(4), Z(5) Z(6) Z(7), Z(8), e a saída desejada Z(9), e assim sucessivamente para o restante dos
pontos da série (Tabela 4.1).
Tabela 4.1
Entradas e saídas para o treinamento de MLPs com janela de sete valores
Entradas Saída desejada
Z(1), Z(2), Z(3), Z(4), Z(5), Z(6), Z(7) Z(8)
Z(2), Z(3), Z(4), Z(5), Z(6), Z(7), Z(8) Z(9) Z(3), Z(4), Z(5), Z(6), Z(7), Z(8), Z(9) Z(10) Z(4), Z(5), Z(6), Z(7), Z(8), Z(9), Z(10) Z(11) ... ... Z(n-7), Z(n-6), ... Z(n-1) Z(n)
O número de valores passados, usados como entrada, é chamado de
ordem de linha, atraso ou janela. No exemplo citado usou-se sete valores
para prever o próximo, portanto, a janela é de ordem sete (a previsão é
realizada considerando sete dias, sendo o oitavo dia previsto). A melhor janela a ser utilizada vem de estudos prévios, como as informações oriundas
do correlograma da série original. Além disso, váriaveis exógenas, como
temperatura, no caso de séries de carga em sistemas elétricos, são consideradas, podendo ser relevantes em sistemas de previsão.
A próxima etapa no desenvolvimento da aplicação de uma rede neural é a
divisão de conjuntos de dados em subconjuntos de treinamento, validação e teste (que é efetuada obedecendo a uma porcentagem para cada
subconjunto). A Figura 4.3 apresenta a porcentagem utilizada sobre o conjunto original de dados considerado neste exemplo.
FIGURA 4.3 Exemplo da divisão de dados na metodologia utilizada.
Em processos com comportamentos não lineares o modelo de rede neural
mais indicado é o Perceptron de Múltiplas Camadas ou topologia MLP, pois
se trata de um interpolador universal de funções (Haykin, 2007). As
topologias MLPs adotadas representam os modelos de redes neurais mais conhecidos e utilizados. Uma MLP consiste de n nós de entrada, h camadas de nós intermediários ou escondidos e m nós de saída, e todas as camadas são interconectadas pelos seus pesos sinápticos. A MLP deve ser treinada com dados históricos adequados, objetivando encontrar os valores apropriados dos pesos. O número de neurônios requeridos na camada oculta pode ser estabelecido empiricamente, ou a partir de estudos prévios sobre a complexidade do problema a ser analisado.
Neste exemplo será considerada uma rede neural MLP com um algoritmo
de treinamento SCGM (Scaled Conjugate Gradient Modified). A Tabela 4.2 exibe alguns dados utilizados inicialmente na busca dos parâmetros para a topologia da rede.
Tabela 4.2
Parâmetros da rede
Número de Camada [2-3]
Número de Neurônios [1 - 10]
Taxa Aprendizagem [0,0001 - 0,001]
Coeficiente Momentum [0,1 - 0,9]
Função de Ativação [Tan Hiperbólica, Logística Sigmoidal]
Para obtenção do modelo de rede neural foram utilizadas duzentas épocas
de treinamento. A Figura 4.4 apresenta o gráfico com os dados originais (+) e os valores resultantes (*) do treinamento da rede referente à série de dados de carga da competição Eunite.
FIGURA 4.4 Resultado do treinamento da rede.
Foi utilizado como critério de comparação dos dados obtidos pelo
modelo neural em relação aos dados originais da série o erro percentual
absoluto médio (Mean Absolute Percentage Error – Mape). O valor do
Mape (4.6) foi calculado a partir das previsões de um passo à frente
definido por cada modelo gerado (Stok e Watson, 2004).
(4.5)
Onde: