UNIVERSIDADE FEDERAL DE LAVRAS
DEPARTAMENTO DE CIÊNCIAS EXATAS (DEX)
Orientador: Prof. Fabiano Lemes Ribeiro
Estudo de Alg...
Abstract
São descritos neste relatório estudos realizados acerca de redes neurais
artificiais aplicados na resolução de pr...
1. Introdução
As redes neurais artificiais são estruturas computacionais que possuem
capacidade de aprendizagem. Baseadas ...
recebidos e somam-se atuando como papel de corpo celular. Posteriormente
através da função de ativação os sinais são excit...
Figure 2: Multi-Layer
2.2. Aprendizado Supervisionado
O aprendizado de uma rede neural se dá a partir de regras definidas ...
4. Metodologia
Para as implementações das redes foram utilizadas o software Scilab
para a implementação da rede Adaline e ...
Os ajustes dos pesos são internos a um laço que possui duas
condições, a primeira representando as épocas* (pré-determinad...
4.3. Previsão do índice da bolsa de valores
Para o problema de previsão foram utilizados os dados disponíveis no site
da B...
Figure 3: Erro quadrático de treinamento
O erro final do treinamento acabou convergindo à zero, isso se dá, pois
os dados ...
O erro quadrático do treinamento segue na figura (5).
Figure 5: Erro quadrático rede Adaline sem ruído
A figura (6) repres...
O erro quadrático do treinamento segue na figura (7)
Figure 7: Erro quadrático rede Adaline com ruído
Para o problema de p...
Figure 9: Comportamento da bolsa de valores em 2011
Para os testes foram utilizado os pesos sinápticos obtidos pelo
treina...
Na figura (11) pode ser visto o erro quadrático da previsão.
Figure 11: Erro quadrático da previsão
Na figura (12) segue a...
Uma rede neural funciona a partir de parâmetros dados, como por exemplo,
taxa de aprendizado, momento ou até mesmo quantid...
DALGALARRONDO, Paulo. Evolução do cérebro. Sistema nervoso,
psicologia e psicopatologia sob a perspectiva evolucionista – ...
Próximos SlideShares
Carregando em…5
×

Relatório Final João Vitor Squillace Teixeira FAPEMIG 2012 2013

62 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
62
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Relatório Final João Vitor Squillace Teixeira FAPEMIG 2012 2013

  1. 1. UNIVERSIDADE FEDERAL DE LAVRAS DEPARTAMENTO DE CIÊNCIAS EXATAS (DEX) Orientador: Prof. Fabiano Lemes Ribeiro Estudo de Algoritmos de Aprendizado em Redes Neurais Artificiais Nome: João Vitor Squillace Teixeira Relatório final apresentado à Universidade Federal de Lavras, como parte das exigências do PIBIC/CNPq ou FAPEMIG ou PIVIC, referente ao período de março/2012 a março/2013. LAVRAS/MG – MARÇO/2013
  2. 2. Abstract São descritos neste relatório estudos realizados acerca de redes neurais artificiais aplicados na resolução de problemas de previsão e classificação de dados. Em seu conteúdo será abordado o estudo sobre os tipos de aprendizados, arquitetura e de que forma ruídos influenciam no resultado final de uma rede. Além do processo de implementação dos algoritmos, é realizado a analise analítica do aprendizado do Perceptron com base nos resultados obtidos. O relatório traz também os conceitos de mapas auto organizáveis, evolução do cérebro, sistemas neurais e complexos. Palavras Chave: Redes Neurais Artificiais, Perceptron, Aprendizado Supervisionado
  3. 3. 1. Introdução As redes neurais artificiais são estruturas computacionais que possuem capacidade de aprendizagem. Baseadas em neurônios biológicos, suas aplicações possuem papel fundamental para a tecnologia. Dentre suas principais atuações podemos citar a resolução de problemas de classificação, onde a rede avalia os dados classificando-os conforme as suas características. Outra aplicação relevante, é a de previsão de dados, usadas atualmente com grande força nas áreas econômicas. Apesar das redes neurais abordarem diversos sistemas, estruturas e tipos de aprendizado, o relatório atual focará o aprendizado supervisionado. Este, necessita de que padrões de dados tanto de entrada quanto de saída existam para que o treinamento possa ser realizado, e assim gerados pesos sinápticos eficientes. Dentre a grande área das redes neurais encontra-se também os mapas auto organizáveis. Tais mapas são redes neurais que possuem aprendizado não supervisionado, diferentemente das supervisionadas que não necessitam de pares de padrões de entrada e saída para serem treinadas. Na maioria das vezes elas se organizam através de métodos de treinamento competitivo, detectando similaridades e correlações entre padrões do conjunto de entrada agrupando-os. 2. Redes Neurais Artificiais As redes neurais são basicamente estruturas formadas por elementos chamados de neurônios artificiais, de forma análoga ao funcionamento dos neurônios cerebrais, as redes possuem capacidade de aquisição e gerenciamento de informações. Estas redes adquirem conhecimento a partir de informações externas tentando encontrar uma solução através do processo de generalização, chamado aprendizado. 2.1. Modelo Geral de Neurônio Em uma rede neural biológica, um neurônio coleta sinais vindos de outros neurônios através dos chamados dendritos, que os conduzem para o corpo celular. A partir da recepção dos sinais é enviado pulsos elétricos por um longo e fino tubo chamado axônio que será captado por outros neurônios e assim por diante. Numa rede neural artificial tem-se estruturas semelhantes, também com a função de processadores dos dados, os pesos sinápticos atuam sobre dados
  4. 4. recebidos e somam-se atuando como papel de corpo celular. Posteriormente através da função de ativação os sinais são excitados ou inibidos. As redes neurais que possuem a arquitetura mais simples, são chamadas de neurônios de camada única Feedforward, estas possuem apenas uma camada ligada diretamente a camada saída. Neste modelo, são combinados dados de entrada 𝑾𝒊𝑿𝒊 para produzir um estado de ativação através de uma função que irá determinar a saída 𝒚 do neurônio. No caso dos neurônios de camada simples conforme mostra a figura (1), os dados de entrada são compostos pela representação 𝑿𝒏, os pesos sinápticos são representados por 𝑾𝒏 e a função de ativação é representada por 𝒇(𝒖𝒌) Figure 1: Neurônio Artificial As redes que trabalham com a arquitetura multi camadas possuem camadas intermediarias chamadas de camadas ocultas. As funções dessas camadas são de intervir entre as camadas de entrada e saída produzindo a diminuição do erro, nesse tipo de arquitetura podemos ter dados tanto no sentido de entrada-saída, como o contrário.
  5. 5. Figure 2: Multi-Layer 2.2. Aprendizado Supervisionado O aprendizado de uma rede neural se dá a partir de regras definidas para a solução de um problema. Existem diversos tipos de algoritmos para os diversos modelos de redes neurais, em sua maioria diferem-se pelo modo que os pesos são calculados. No aprendizado supervisionado, é dado um conjunto de dados de saída para a rede, juntamente com os dados de entrada. A partir do treinamento, para cada dado de entrada é mostrado a resposta desejada e comparado com resposta obtida, pela comparação calcula-se então o erro corrigindo o fator de ajuste. 2.3. Aprendizado Não Supervisionado No aprendizado não supervisionado, não existe dados de saída previamente oferecidos a rede. Neste caso, a rede na maioria das vezes realiza o treinamento competitivo, onde é dado o conjunto de dados de entrada e através de características semelhantes e padrões a rede consegue distingui-los e agrupa-los conforme suas características. 3. Objetivos Na utilização da arquitetura de camada simples, o problema consiste na classificação de um óleo em duas classes de pureza a partir de três de suas propriedades físico-químicas, no caso da segunda implementação trata-se de uma rede Adaline que necessita separar duas classes de dados através de uma reta. O objetivo dessa separação é avaliar a influência do ruído nos dados. Já na utilização da arquitetura multi camadas, é implementado uma rede neural capaz de fazer a previsão da bolsa de valores para o ano de 2011.
  6. 6. 4. Metodologia Para as implementações das redes foram utilizadas o software Scilab para a implementação da rede Adaline e previsão da bolsa de valores, e o software Matlab na implementação da classificação das classes de pureza do óleo. Os dois são softwares cientifico computacional, que apresentam toolbox chamados 'ANN' com funções voltadas especialmente para redes neurais. Foi também utilizado o software TeXnicCenter e Kile para redigir o relatório via LaTeX. 4.1. Classificação das classes de pureza do óleo Os dados de entrada do problema de classificação eram constituídos de uma amostra de 30 dados para treinamento e 10 dados para teste. Foi utilizado para o treinamento o algoritmo do Perceptron empregando a regra de Hebb (1). 𝑤𝑖𝑗(𝑡 + 1) = 𝑤𝑖𝑗(𝑡) + ∆ 𝑤𝑖𝑗(𝑡) (1) Onde os ajustes dos pesos das conexões são dados pelo produto da atividade pré-sináptica e pós-sináptica passando por uma função de ativação (2). ∆ 𝑤𝑖𝑗( 𝑡) = 𝑔(𝑦𝑖( 𝑡), 𝑥𝑗( 𝑡)) (2) Inicialmente, todos os dados são armazenados em um vetor e posteriormente separados através de um laço em dados de treinamento e dados de teste. Os pesos são iniciados aleatoriamente para que a rede possa ser iniciada. A partir das inicializações a função de ativação é chamada de modo a ativar ou não o peso atual, após isso é calculado o erro (3). 𝑒( 𝑖) = 𝑦𝑑( 𝑖)– 𝑦 ( 𝑖) (3) Onde 𝒆(𝒊) representa o erro atual, 𝒚𝒅(𝒊) a saída calculada e 𝒚(𝒊) é a saída real. Depois de calculado o erro, é feito por fim os ajustes dos pesos sinápticos (4) 𝑤( 𝑡 + 1) = 𝑤 ( 𝑡) + (𝜂 ∗ 𝑒( 𝑖) ∗ 𝑥 ( 𝑖)) (4) Onde 𝒘 são os vetores dos pesos, 𝜼 é a taxa de aprendizagem da rede, 𝒆(𝒊) o erro atual calculado e 𝒙(𝒊) é o dado de entrada atual da rede.
  7. 7. Os ajustes dos pesos são internos a um laço que possui duas condições, a primeira representando as épocas* (pré-determinadas) da rede ou a segunda, onde erro alcança um valor mínimo, definido como 0,01. * época é chamada a passagem inteira de treinamento de entrada de um vetor para a rede (iteração). 4.2. Separação de dados com ruídos utilizando a rede Adaline Os dados de entrada para o problema foram obtidos a partir da inicialização de um vetor 𝑿𝒊𝒏 de 0 a 100, em 10 em 10. Para obter-se o vetor 𝒀𝒊𝒏, vetor referente ao par ordenado 𝑿𝒊𝒏, foi utilizado da equação de treinamento de uma rede Adaline (5) 𝑦𝑖𝑛(𝑖) = 𝑤(1) ∗ 𝑥𝑖𝑛(𝑖) + 𝑏 (5) Os pesos e o bias foram atualizados randomicamente pelo programa para que pudesse ser iniciada. Após definido a reta inicial é então dado o início do treinamento da rede, antes de começar o looping onde os pesos são atualizados é chamado uma função em que os dados são misturados, de modo que a rede não os decore e então produzindo resultados confiáveis. O treinamento é dado pela expressão (6) 𝑦 = 𝑤 ∗ 𝑥𝑖𝑛 (6) Onde 𝒚 é o valor a ser obtido, 𝒘 são os vetores dos pesos, 𝒙𝒊𝒏 é o vetor dado de entrada atual da rede. Após isso é calculado o erro (7). 𝑒(𝑖) = 𝑦𝑖𝑛(𝑖) − 𝑦 (7) Onde 𝒆(𝒊) representa o erro atual, 𝒚 a saída atual calculada e 𝒚𝒊𝒏(𝒊) é a saída real. Por fim, são feitos os reajustes dos pesos sinápticos (8) 𝑤 = 𝑤 + 𝜂𝑒(𝑖)𝑥𝑖𝑛(: , 𝑖)′ (8) Onde 𝒘 são os vetores dos pesos, 𝜼 é a taxa de aprendizagem, 𝒆(𝒊) o erro atual calculado pela rede e 𝒙𝒊𝒏(𝒊) é o dado de entrada atual da rede. Após o treinamento, é feita a redefinição da reta a partir dos dados já treinados.
  8. 8. 4.3. Previsão do índice da bolsa de valores Para o problema de previsão foram utilizados os dados disponíveis no site da BMF Bovespa (http://www.bmfbovespa.com.br). Na previsão foram utilizadas as cotações diárias do fechamento do Ibovespa no período de janeiro de 1998 até dezembro de 2011 totalizando 3463 dados. A divisão dos dados foi de aproximadamente 92,83% (3215 dados) de treinamento e 7,16% (248 dados) para teste, resultando apenas na previsão do ano de 2011. O algoritmo de treinamento utilizado foi o Backpropagation, já presente no toolbox ANN de redes neurais do Scilab. O algoritmo Backpropagation é basicamente realizado em duas etapas. Na primeira etapa, os dados são propagados pela rede no sentido da entrada para a saída, chamada de fase forward, sem que ocorram quaisquer alterações nos pesos. Já na segunda a resposta da rede é comparada com a resposta desejada e os pesos são reajustados de maneira a minimizar o erro, esta chamada de fase backward. Nesta segunda etapa o ajuste de um peso w que define seu valor para a próxima iteração é dado pela expressão. 𝑤 (𝑡 + 1) = 𝑤 (𝑡 ) + (𝜂. 𝛿. 𝑥(𝑖)) (9) Onde na 𝜼 é a taxa de aprendizagem e 𝜹 é o gradiente local do erro para o neurônio. O gradiente local do erro 𝜹 é determinado através do método do gradiente descendente, que não será abordado no relatório em questão. 5. Resultados e Discussões Para o problema de classificações foi obtido os seguintes resultados y, dado os dados de entrada para teste x1, x2 e x3. Amostra x1 x2 x3 y 1 -0.3565 0.0620 5.9891 -1 2 -0.7842 1.1267 5.5912 1 3 0.3012 0.5611 5.8234 -1 4 0.7757 1.0648 8.0677 1 5 0.1570 0.8028 6.3040 1 6 -0.7014 1.0316 3.6005 1 7 0.3748 0.1536 6.1537 -1 8 -0.6920 0.9404 4.4058 1 9 -1.3970 0.7141 4.9263 -1 10 -1.8842 -0.2805 1.2548 -1 O erro quadrático do treinamento segue na figura (3).
  9. 9. Figure 3: Erro quadrático de treinamento O erro final do treinamento acabou convergindo à zero, isso se dá, pois os dados de treinamento eram linearmente separáveis, ou seja, os dados poderiam ser separados complemente de forma que resultassem em exatamente duas classes. Para o problema de rede Adaline, foi realizada duas implementações, uma onde a rede não continha ruído e uma outra onde a rede possuía um ruído de variância aleatória entre -3 a 3 para o eixo y. A figura (4) representa a reta a reta original, gerada pelos dados de entrada e a reta pontilhada representa a reta obtida após o treinamento da rede. Figure 4: Treinamento rede Adaline sem ruído
  10. 10. O erro quadrático do treinamento segue na figura (5). Figure 5: Erro quadrático rede Adaline sem ruído A figura (6) representa a reta gerada a partir do treinamento dos dados de entrada com a adição da variância, a reta tende a ser plotada entre todos os pontos do plano. Figure 6: Treinamento rede Adaline com ruído
  11. 11. O erro quadrático do treinamento segue na figura (7) Figure 7: Erro quadrático rede Adaline com ruído Para o problema de previsão, foi dada a rede os seguintes dados de entrada presente na figura (8) e desejava-se prever o ano de 2011, onde o comportamento real do índice pode ser visto na figura (9). Figure 8: Treinamento da rede a partir dos dados
  12. 12. Figure 9: Comportamento da bolsa de valores em 2011 Para os testes foram utilizado os pesos sinápticos obtidos pelo treinamento com variações de no máximo 2%. Figure 10: Treinamento da rede de previsão
  13. 13. Na figura (11) pode ser visto o erro quadrático da previsão. Figure 11: Erro quadrático da previsão Na figura (12) segue a previsão da rede em relação às cotações reais do ano de 2011 Figure 12: Previsão do ano de 2011
  14. 14. Uma rede neural funciona a partir de parâmetros dados, como por exemplo, taxa de aprendizado, momento ou até mesmo quantidade de neurônios nas camadas. Podemos ver isso claramente nos resultados da previsão, pois variando os parâmetros da rede se obtinha melhores ou piores previsões. 6. Conclusões Pode-se concluir com a pesquisa que as redes neurais artificiais são eficientes técnicas para a resoluções de problemas. Entretanto não pode-se definir qual dos algoritmos de aprendizado é melhor, tendo em vista que diferentes problemas necessitam ser trabalhados com diferentes abordagens. Nos problemas propostos, os resultados obtidos revelam que, tanto no problema de classificação quanto no problema de previsão, os resultados obtidos foram eficientes, uma vez que os erros foram relativamente baixos, chegando a zero em um dos casos. Através da analise do treinamento da rede com ruído, pode-se também concluir que as redes neurais possuem grande capacidade de acerto em dados que possuem ruídos de pequenos à médio porte, levando a considera-la uma importante ferramenta para análise desses tipos de dados. A maior dificuldade na construção de uma rede neural com arquitetura multi camadas é a definição dos seus parâmetros, citado anteriormente, pois para cada problema especifico tem-se resultados diferentes. A partir do momento que os parâmetros são ajustados de modo que o erro seja o mais baixo possível, a rede está configurada e poderá ser utilizada para resolver problemas da mesma origem do treinamento. Definido a eficiência das redes neurais, é dado agora o segundo passo em relação a pesquisa, onde será estudado as redes não supervisionadas e suas respectivas implementações e com isso, será possível realizar as simulações dos comportamentos decorrentes das organizações das redes biológicas. 7. Referências ANDRADE, André Luiz Monézi, JUNIOR, Alfredo Löhr. The Implications of the Neural Plasticity In The Process of the Memory and Learning. (2005) MEIRELLES, João Marcos. Introdução às Redes Neurais Artificiais. (2002)
  15. 15. DALGALARRONDO, Paulo. Evolução do cérebro. Sistema nervoso, psicologia e psicopatologia sob a perspectiva evolucionista – Porto alegre: ArtMed (2011) BRAGA, Antônio de Pádua; CARVALHO, André Ponce de Leon F. de; LUDEMIR, Teresa Bernarda. Redes Neurais Aritificiais: Teoria e Aplicações, 2º ed. (2007). CERQUEIRA ,Eduardo O.; ANDRADE João C.; POPPI Ronei J.; MELLO, Cesar.Redes Neurais E Suas Aplicações Em Calibração Multivariada,UNICAMP 2001 CASTRO,Cristiano Leite de. Sistema Inteligente para Previsãoon-line do Índice Ibovespa baseadoem Redes Neurais Artificiais, UFMG 2003 FARIA,Elisângela Lopes de; ALBUQUERQUE,Marcelo Portes; ALFONSO, Jorge Luis González. Previsão do Mercado de Ações Brasileiro utilizando Redes NeuraisArtificiais, CBPF–NT– 002/2008 BISHOP, Christopher M. Neural Networks for Pattern Recognition, 1º ed. 2006. OETIKER. Tobias, PARTL. Hubert, HYNA. Irene e SCHLEGL. Elisabeth. Uma não tão pequena introducao ao LATEX 2. (2003)

×