You are on page 1of 19

Universidade Federal do Piauí – UFPI Programa de Pós Graduação em Ciências da Computação – PPGCC

Estudo Comparativo de algoritmos de aprendizado e classificadores

Wanderson Antonio de Sousa Silva
Relatório exigido como avaliação para a disciplina de aprendizado de máquina.

Teresina/PI – Outubro/2013

Elas são formadas basicamente por três elementos: pesos sinápticos. . em algum nível.. MLPs podem tratar dados que não são linearmente separáveis. figura 1. Função de base radial(RBF) e o classificador estatístico Máquinas de Vetores de Suporte (SVM). sua descrição matemática resultou em um modelo com n terminais de entrada x1.1.. Este trabalho tem como principal objetivo estudar as redes neurais típicas: Perceptron Multicamadas(MLP). relembram a estrutura do cérebro humano. Introdução Redes Neurais são compostas por diversos elementos que imitam o funcionamento dos neurônios. Com apenas duas camadas intermediaria esta rede pode implementar qualquer função. camada de saída . As redes adquirem conhecimento através de um ambiente externo e tentam encontrar a solução para determinar o problema através de um processo de aprendizado.. A precisão obtida e a implementação da função objetivo dependem do número de nodos utilizados nas camadas intermediarias. Figura 1: Neurônio de McCulloch e Pitts. função de soma e função de ativação. camada de entrada camadas intermediarias Figura 2: Típica arquitetura MLP. O modelo descrito na figura é o proposto por McCulloch e Pitts.1. Esta forma de computação não-algorítimica é caracterizada por sistemas que.x2. uma camada de entrada e uma camada de saída. O elemento fundamental de uma rede neural artificial(RNA) é o neurônio artificial. 1. Redes MLP Redes MLP apresentam um poder computacional muito maior do que aquele apresentado pelas redes sem camadas intermediárias. xn e apenas um terminal de saída y. Na figura 2 é ilustrado um rede MLP típica de n camadas intermediarias.

Os nodos definem regiões com formatos abstratos. onde cada fase percorre a rede em um sentido. embora existam propostas com mais de uma camada intermediaria. Cada camada de uma rede RBF desempenha um papel especifico para o seu comportamento. A primeira camada. 1. Redes RBF Redes RBF típicas são multicamadas. Tipicamente. Neste algoritmo. o número de funções radiais e seus parâmetros são determinados por métodos não supervisionados.  Camada de saída: cada nodo forma regiões que são combinações das regiões convexas definidas pelos nodos a ele conectados da camada anterior. O algoritmo de aprendizado tipicamente utilizado desta rede é o backpropagation. No primeiro estagio. A fase foward é utilizada para definir a saída da rede para um dado padrão de entrada. A fase backward utiliza a saída desejada e a saída fornecida pela rede para atualizar os pesos de suas conexões. onde. cujos nodos utilizam funções de base radial. o treinamento ocorre em duas fases. Figura 3: Rede RBF típica com uma camada intermediaria. A camada de saída procura classificar os padrões recebidos da camada de anterior.2. O segundo estagio ajusta os pesos dos nodos de saída.Para uma rede com pelo menos duas camadas intermediarias. Esta camada transforma um conjunto de padrões de entrada não linearmente separáveis em um conjunto de saídas linearmente separáveis. Como a saída dos nodos da camada intermediária é um . pode-se dizer que o seguinte processamento ocorre em cada uma das camadas:  Primeira camada intermediária: cada nodo traça retas no espaço de padrões de treinamento. O treinamento é classificado como hibrido. uma rede RBF possui uma camada intermediária.  Segunda camada intermediária: cada nodo combina as retas traçadas pelos neurônios da camada anterior conectados a ele. sendo esta dividida em dois estágios. a ativação de um nodo pode ser função da distancia entre seus vetores de entrada e de peso. agrupa os dados em clusters.

pois permite a construção de simples hiperplanos em um espaço de alta dimensão de forma tratável do ponto de vista computacional. o uso de funções Kernel na não-linearização das SVMs torna o algoritmo eficiênte. Entre as principais limitações das SVMs encontram-se a sua sensibilidade a escolhas de valores de parâmetros e a dificuldade de interpretação do modelo gerado por essa técnica. A escolha apropriada de Φ faz com que o conjunto de treinamento mapeado em S possa ser separado por uma SVM. Além disso. que implica na existência de um único mínimo global.3. Essa teoria estabelece uma serie de princípios que devem ser seguidos na obtenção de classificadores com boa generalização. referenciado como entradas. os peso podem ser determinados por modelos lineares. . definida como sua capacidade de prever corretamente a classe de novos dados do mesmo domínio em que o aprendizado ocorreu. As SVMs lidam com problemas não lineares mapeando o conjunto de treinamento de seu espaço original. Classificadores SVM As SVMs são embasadas pela teoria de aprendizado estatístico. Para alcançar este objetivo serão realizados:     Um analise de cada método baseado na escolha de alguns parâmetros. em que X é o espaço de entradas e S denota o espaço de características.vetor linearmente separável. Realizar uma comparação entre os três métodos baseados em: amostras treinamento. Objetivos O principal objetivo deste trabalho é realizar um estudo comparativo entre as principais técnicas de aprendizado de máquina. Um Kernel é uma função que recebe dois pontos xi e xj do espaço de entradas e computa o produto escalar desses dados no espaço de características. 3. convergência e taxa de erro. Este é um framework de Inteligência Artificial que fornece ferramentas para criar muitos tipos de redes neurais. Uma característica atrativa da SVM é a convexidade do problema de otimização formulado em seu treinamento. para um novo espaço de maior dimensão denominado espaço de características. Verificar o desempenho do treinamento do classificador ao utilizar diferentes amostras de treinamento. Seja Φ : X → S um mapeamento. a computação de Φ pode ser extremamente custosa ou inviável. Como S pode ter dimensão muito alta (até mesmo infinita). Para evitar tal custo. como o algoritmo delta (LMS) ou Decomposição em Valores Singulares (SVD). Construção de gráficos da função do erro. 2.2 para Java. Metodologia Para implementar as redes foi utilizado a framework ENCOG 3. 1. são usadas as funções denominadas Kernels.

O erro médio quadrado é utilizado para obtenção do erro em todos os métodos de aprendizagem. A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Y 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 Tabela 1: Tabela verdade para o circuito da figura 4.3.1. sua arquitetura composta por uma camada de entrada com quatros entradas. uma camada de saída e uma camada intermediária com dois neurônios. A função de ativação é a sigmoidal para todos os neurônios. A taxa de aprendizagem utilizada é de 0. Na rede MLP o algoritmo para aprendizagem utilizado foi o backpropagation. Figura 4: Circuito composto de portas lógicas XOR. sendo que. Classificação da porta lógica XOR pela rede MLP Para classificar a porta lógica xor de quatro entradas (figura 4) foram usados todos os dados da tabela verdade apresentando tabela 1 para treinamento da rede. .5.

Figura 6: Trecho do código fonte java para os dados de treinamento e teste da rede MLP. . A variável XOR_IDEAL armazena as saídas esperadas para o treinamento. 3. Na figura 7 é apresentado o trecho de código para o treinamento da rede. sua arquitetura composta por uma camada de entrada com quatros entradas. com um neurônio e uma camada intermediária com dois neurônios. Sendo a variáveis XOR_INPUT correspondente as entradas para treinamento da rede. Classificação da porta lógica XOR pela rede RBF Para classificar a porta lógica xor de quatro entradas (figura 4) foram usados todos os dados da tabela verdade apresentando tabela 1 para treinamento da rede. sendo que. uma camada de saída. Na rede RBF o algoritmo para aprendizagem utilizado foi o SVD.2. A função de base radial usada é a Gaussiana.Na figura 5 é apresentado o código em Java para a arquitetura da MLP usada neste trabalho. Figura 5: Trecho do código fonte java para arquitetura da rede MLP. Para a configuração do conjunto de dados de treinamento e de teste é realizada a implementação do código na figura 6. Figura 7: Trecho do código fonte java para treinamento teste da rede MLP.

Na figura 10 é apresentado o código em Java para a arquitetura do SVM usada neste trabalho. Classificação da porta lógica XOR pelo classificador SVM Para classificar a porta lógica xor de quatro entradas (figura 4) foram usados todos os dados da tabela verdade apresentando tabela 1 para treinamento da rede. Figura 8: Trecho do código fonte java para arquitetura da rede RBF.3. Figura 9: Trecho do código fonte java para os dados de treinamento e teste da rede RBF. Para a configuração do conjunto de dados de treinamento e de teste é realizada a implementação do código na figura 9. 3. A variável XOR_IDEAL armazena as saídas esperadas para o treinamento. a arquitetura usada é composta por uma camada de entrada com quatros entradas e uma camada de saída com um neurônio.Na figura 8 é apresentado o código em Java para a arquitetura da RBF usada neste trabalho. A função de kernel utilizada foi a função de base radial. . Figura 10: Trecho do código fonte java para arquitetura do SVM. No classificar SVM. Sendo a variáveis XOR_INPUT correspondente as entradas para treinamento da rede.

Sendo a variáveis XOR_INPUT correspondente as entradas para treinamento da rede. Resultados e Discussão 4.1. 4. . Figura 12: desempenho do erro MLP com 2 neurônios na camada intermediaria para 104 épocas. Na tabela 1 é mostrado o teste da rede após o treinamento. Figura 11: Trecho do código fonte java para os dados de treinamento e teste do SVM. A função de ativação de todos os neurônios é sigmoidal. A variável XOR_IDEAL armazena as saídas esperadas para o treinamento. Estudo da rede MLP Para analise do desempenho da rede MLP foi usado o cenário da seção 3.000.1.Para a configuração do conjunto de dados de treinamento e de teste é realizada a implementação do código na figura 11. O gráfico na figura 12 exibe o resultado do treinamento da rede até que o erro consiga convergir a um valor menor ou igual a 1% ou o número de interações seja igual a 100.

nas tabelas 3 e 4 são exibido os testes destas redes após o treinamento. .Tabela 2:Teste da rede MLP após treinamento com 2 neurônios na camada intermediaria. A função de ativação de todos os neurônios é sigmoidal. Em seguida. O gráfico da figura 14 mostra o mesmo experimento com 10 neurônios na camada intermediaria. O gráfico na figura 13 exibe o resultado do treinamento da rede até que o erro consiga convergir a um valor menor ou igual a 1%. Em outro estudo do desempenho da rede MLP foi usado uma arquitetura onde na camada intermediaria possui cinco neurônios. Figura 13: desempenho do erro MLP com 5 neurônios na camada intermediaria até convergir .

Nesta analise. Na figura 15 foram utilizadas diferentes taxas de aprendizagem (n). o desempenho do erro é analisado em uma rede MLP com 5 neurônios na camada .Tabela 3:Teste da rede MLP após treinamento com 5 neurônios na camada intermediaria. Figura 14: desempenho do erro MLP com 10 neurônios na camada intermediaria até convergir. Tabela 4: Teste da rede MLP após treinamento com 10 neurônios na camada intermediaria.

Já na categoria 3. A camada de saída possui 1 neurônio e a função de ativação em todos os neurônios é a sigmoidal. . Por final. categoria 3 e categoria 4. As amostras de treinamento utilizadas neste experimento foram dividas em quatro categorias: categoria 1. Após o treinamento. Este resultado pode verificado nas tabelas da figura 17. 87.intermediaria até que o erro consiga convergir a um valor menor ou igual a 1%. a rede foi treinada com 25% dos dados da tabela 1.5% dos dados foram utilizados para treinamento na categoria 4. Na categoria 1. a rede é testada com dados da tabela 1 que não participaram do treinamento. 75% dos dados da tabela foram usados. A categoria 2. Figura 15: desempenho do erro MLP com diferentes taxas de aprendizado (n). foram usados 50% dos dados da tabela. Para realizar o estudo do treinamento da rede MLP com diferentes amostras é apresentado o gráfico da figura 16. categoria 2.

(a) Teste da rede de categoria 1. (a) Treinamento com 87. (d) Teste da rede de categoria 4. uma camada intermediaria com cinco neurônios e uma camada de saída contendo um neurônio. (b) Treinamento com 50% das amostras. A analise representada pela figura 18 é resultado da combinação de três redes MLP. (a) (b) (c) (d) Figura 17: Teste da rede com diferentes amostragens. Cada rede possui uma camada de entrada com quatro entradas. (c) Treinamento com 75% das amostras. O algoritmo de aprendizado utilizado em todas as redes é o backpropagation. (c) Teste da rede de categoria 3. O erro é obtido pelo erro médio quadrático e a taxa . Todos os neurônios utilizam como função de ativação a função sigmoidal. (b) Teste da rede de categoria 2.5% das amostras.(a) (b) (c) (d) Figura 16: Treinamento da rede MLP com diferentes amostras. (a) Treinamento com 25% das amostras. Cada porta lógica do circuito da figura 4 é substituída por uma rede.

O treinamento do esquema proposto é realizado em cada rede da camada intermediaria. são realizados teste na arquitetura proposta. . Em seguida. Após a fase de treinamento.5. ver tabela 5.de aprendizagem admitida é 0. Tabela 5: Teste da rede composta por agrupamento de redes MLP. Figura 18: Desempenho do erro em uma rede composta por agrupamento de redes MLP. a rede da camada de saída é treinada.

.5. Na tabela 6 é mostrado o teste da rede após o treinamento. Estudo da rede RBF Nesta seção é analisado o desempenho da rede RBF. Para analise do desempenho da rede RFB foi montado uma arquitetura onde na camada de entrada são usadas quatro entradas. e um neurônio na camada de saída. A arquitetura da rede é composta por quatro entradas na camada de entrada.000.2. O algoritmo de aprendizado é o backpropagation com a taxa de aprendizado de 0. O gráfico na figura 20 exibe o resultado do treinamento da rede até que o erro consiga convergir a um valor menor ou igual a 1% ou o número de interações seja igual a 1. A função de base radial é Gaussiana.000.4. O mesmo experimento foi realizado com diferentes números de neurônios na camada intermediaria como pode ser visto nas figuras 21 e 22. uma camada intermediaria. A função de base radial de todos os neurônios é gaussiana. O algoritmo de aprendizagem utilizado é o SVD. Figura 20: Desempenho do erro na rede RBF com 2 neurônios na camada intermediaria. O gráfico na figura 19 exibe o resultado do treinamento da rede para diferentes números de neurônios na camada intermediaria. Figura 19: Desempenho do erro na rede RBF com diferentes números de neurônio na camada intermediaria.

Tabela 6: Teste da rede RBF após treinamento com 2 neurônios na camada intermediaria.5% dos dados foram utilizados para treinamento na . categoria 2. 87. Por final. Já na categoria 3. A categoria 2. a rede foi treinada com 25% dos dados da tabela 1. Na categoria 1. Para realizar o estudo do treinamento da rede RFB com diferentes amostras é aplicado o algoritmo de aprendizagem SVD. 75% dos dados da tabela foram usados. Tabela 5: Teste da rede RBF após treinamento com 10 neurônios na camada intermediaria. categoria 3 e categoria 4. Figura 21: Desempenho do erro na rede RBF com 10 neurônios na camada intermediaria. foram usados 50% dos dados da tabela. As amostras de treinamento utilizadas neste experimento foram dividas em quatro categorias: categoria 1.

As bases radiais utilizadas neste experimento são: gaussinana. A largura o centro e a largura das funções radiais são aleatórios. (b) Teste da rede de categoria 2 com erro de 0%. na camada de entrada são usadas quatro entradas. na camada intermediaria foram utilizados 20 neurônios e um neurônio na camada de saída. (a) (b) (c) (d) Figura 23: Teste da rede RBF com diferentes amostragens. (d) Teste da rede de categoria 4 com erro de 6%. Este resultado pode verificado nas tabelas da figura 23. Para analise do desempenho da rede RFB com diferentes bases radiais foi montado uma arquitetura. . multiquádrica e multiquádrica inversa. (a) Teste da rede de categoria 1 com erro de 0%. a rede é testada com dados da tabela 1 que não participaram do treinamento. Após o treinamento. O algoritmo de aprendizado utilizado foi o SVD. Na figura 24 é mostrado o desempenho do erro de cada função radial.categoria 4. (c) Teste da rede de categoria 3 com erro de 28%. onde.

(c) Teste da rede com função radial multiquádrica. onde. polinomial e função de base radial(FBR). 4. (a) Teste com função kernel linear com erro de 50%. Na figura 25 são mostradas as tabelas de teste do classificar após treinamento.99%. As funções de kernel utilizadas neste experimento foram: linear. (b) Teste com função kernel polinomial com erro de 49. (a) Teste da rede com função radial gaussiana.(a) (b) (c) Figura 24: Teste da rede RBF com diferentes amostragens. foi montada uma arquitetura.3. Os dados para treinamento foram os da tabela 1. na camada de entrada são usadas quatro entradas e um neurônio na camada de saída. (c) Teste com função kernel RBF com erro de 24. Estudo do classificador SVM Para análise de desempenho do classificar SVM. (b) Teste da rede com função radial multiquádrica inversa. com diferentes funções de kernel.8%. . (a) (b) (c) Figura 25: Teste classificador SVM com diferentes funções de kernel.

Este resultado pode ser verificado nas tabelas da figura 26.5% dos dados foram utilizados para treinamento na categoria 4. Após o treinamento. 75% dos dados da tabela foram usados. (d) Teste da rede de categoria 4. O classificador SVM. (a) (b) (c) (d) Figura 26: Teste classificador SVM com diferentes funções de kernel. Conclusão Os resultados obtidos revelam que as redes neurais artificiais para problemas de classificação apresentam resultados de forma eficiente. encontra-se a sua sensibilidade a escolhas de parâmetros e a dificuldade de interpretação de modelo gerado por essa técnica. 87. A categoria 2. que não participaram do treinamento. quatro categorias. categoria 2. Além disso. Na categoria 1. (b) Teste da rede de categoria 2. categoria 3 e categoria 4. a rede foi treinada com 25% dos dados da tabela 1. neste experimento. uma vez que os erros foram relativamente baixos em alguns casos e chegando à zero em alguns deles. o uso de funções kernel na não-linearização das SVMs torna o algoritmo eficiente. a rede é testada com dados da tabela 1. (c) Teste da rede de categoria 3. também apresentou um resultado satisfatório por ter classificado de forma correta os dados mesmo com uma baixa amostragem em seu treinamento. Por final. Porém. pois permite a construção de simples hiperplanos em um espaço de dimensão de forma tratável do ponto de vista computacional. (a) Teste da rede de categoria 1. Já na categoria 3. são elas: categoria 1. foram usados 50% dos dados da tabela. 5. Isso acontece devido à robustez diante de dados de grande dimensão e conectividade com o problema formulado em seu treinamento. que implica na existência de um mínimo global.Para realizar o estudo do treinamento do classificador SVM com diferentes amostras foram utilizados. entre as principais limitações das SVMs. . a técnica SVM apresentou melhores resultados em relação às outras técnicas. Vale destacar que.

V. Julho 27 -30). G. Nascimento. V. F.. M. Novembro 15 . M.6.. Silva. T.286... J. (20 -30 de Abril de 2009). (2012). pp. Simpósio Brasileiro de Ciências Geodésicas e Tecnologias da Geoinformação . Gevert. pp.. 001-005. Teixeira. Estudo de Algoritmos de Aprendizado em Redes Neurais Artificiais. Modelos de Regressão Logística. Revista Ciências Exatas e Naturais . T. & Moita. F. & Ales. Novo. USO REDES NEURAIS MULTILAYER PERCEPTRON (MLP) EM SISTEMA DE BLOQUEIO DE WEBSITES BASEADO EM CONTEÚDO. R. Rodrigues. L. A. AVALIAÇÃO DO CLASSIFICADOR SVM (SUPPORT VECTOR MACHINE) NO MAPEAMENTO DE QUEIMADAS NO PANTANAL MATO-GROSSENSE. M.. F. Referências Affonso. H. Silva. Kampel. Asociación Argentina de Mecánica Computacional .. P. M. Alcântara. Stech. T. E. . L. J. E. ZEILHOFER.. (2010)...18). Redes Neurais e Support Vector Machine (SVMs) na Análise de Crédito a Pessoas Jurídicas. (2010. E. Gevert. O algoritmo Support Vector Machines (SVM): avaliação da separação ótima de classes em imagens CCD-CBERS-2. pp. & RODRIGUES. A. & Fonseca. COSTA.. V. C. P. 12.. G. M. Silva.9090. Simposio Brasileiro de Sensoriamento Remoto . (2010. 2079 . M. 9076 .. LAVRAS/MG: UNIVERSIDADE FEDERAL DE LAVRAS.