Você está na página 1de 19

Universidade Federal do Piau UFPI Programa de Ps Graduao em Cincias da Computao PPGCC

Estudo Comparativo de algoritmos de aprendizado e classificadores

Wanderson Antonio de Sousa Silva


Relatrio exigido como avaliao para a disciplina de aprendizado de mquina.

Teresina/PI Outubro/2013

1. Introduo
Redes Neurais so compostas por diversos elementos que imitam o funcionamento dos neurnios. Esta forma de computao no-algortimica caracterizada por sistemas que, em algum nvel, relembram a estrutura do crebro humano. As redes adquirem conhecimento atravs de um ambiente externo e tentam encontrar a soluo para determinar o problema atravs de um processo de aprendizado. O elemento fundamental de uma rede neural artificial(RNA) o neurnio artificial. Elas so formadas basicamente por trs elementos: pesos sinpticos, funo de soma e funo de ativao, figura 1. O modelo descrito na figura o proposto por McCulloch e Pitts, sua descrio matemtica resultou em um modelo com n terminais de entrada x1,x2, ..., xn e apenas um terminal de sada y.

Figura 1: Neurnio de McCulloch e Pitts.

Este trabalho tem como principal objetivo estudar as redes neurais tpicas: Perceptron Multicamadas(MLP), Funo de base radial(RBF) e o classificador estatstico Mquinas de Vetores de Suporte (SVM).

1.1.

Redes MLP

Redes MLP apresentam um poder computacional muito maior do que aquele apresentado pelas redes sem camadas intermedirias. MLPs podem tratar dados que no so linearmente separveis. Com apenas duas camadas intermediaria esta rede pode implementar qualquer funo. A preciso obtida e a implementao da funo objetivo dependem do nmero de nodos utilizados nas camadas intermediarias. Na figura 2 ilustrado um rede MLP tpica de n camadas intermediarias, uma camada de entrada e uma camada de sada.

camada de entrada

camadas intermediarias Figura 2: Tpica arquitetura MLP.

camada de sada

Para uma rede com pelo menos duas camadas intermediarias, pode-se dizer que o seguinte processamento ocorre em cada uma das camadas: Primeira camada intermediria: cada nodo traa retas no espao de padres de treinamento. Segunda camada intermediria: cada nodo combina as retas traadas pelos neurnios da camada anterior conectados a ele. Camada de sada: cada nodo forma regies que so combinaes das regies convexas definidas pelos nodos a ele conectados da camada anterior. Os nodos definem regies com formatos abstratos. O algoritmo de aprendizado tipicamente utilizado desta rede o backpropagation. Neste algoritmo, o treinamento ocorre em duas fases, onde cada fase percorre a rede em um sentido. A fase foward utilizada para definir a sada da rede para um dado padro de entrada. A fase backward utiliza a sada desejada e a sada fornecida pela rede para atualizar os pesos de suas conexes. 1.2. Redes RBF

Redes RBF tpicas so multicamadas, onde, a ativao de um nodo pode ser funo da distancia entre seus vetores de entrada e de peso. Tipicamente, uma rede RBF possui uma camada intermediria, 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, cujos nodos utilizam funes de base radial, agrupa os dados em clusters. Esta camada transforma um conjunto de padres de entrada no linearmente separveis em um conjunto de sadas linearmente separveis. A camada de sada procura classificar os padres recebidos da camada de anterior.

Figura 3: Rede RBF tpica com uma camada intermediaria.

O treinamento classificado como hibrido, sendo esta dividida em dois estgios. No primeiro estagio, o nmero de funes radiais e seus parmetros so determinados por mtodos no supervisionados. O segundo estagio ajusta os pesos dos nodos de sada. Como a sada dos nodos da camada intermediria um

vetor linearmente separvel, os peso podem ser determinados por modelos lineares, como o algoritmo delta (LMS) ou Decomposio em Valores Singulares (SVD). 1.3. Classificadores SVM

As SVMs so embasadas pela teoria de aprendizado estatstico. Essa teoria estabelece uma serie de princpios que devem ser seguidos na obteno de classificadores com boa generalizao, definida como sua capacidade de prever corretamente a classe de novos dados do mesmo domnio em que o aprendizado ocorreu. As SVMs lidam com problemas no lineares mapeando o conjunto de treinamento de seu espao original, referenciado como entradas, para um novo espao de maior dimenso denominado espao de caractersticas. Seja : X S um mapeamento, em que X o espao de entradas e S denota o espao de caractersticas. A escolha apropriada de faz com que o conjunto de treinamento mapeado em S possa ser separado por uma SVM. Como S pode ter dimenso muito alta (at mesmo innita), a computao de pode ser extremamente custosa ou invivel. Para evitar tal custo, so usadas as funes denominadas Kernels. Um Kernel uma funo que recebe dois pontos xi e xj do espao de entradas e computa o produto escalar desses dados no espao de caractersticas. Uma caracterstica atrativa da SVM a convexidade do problema de otimizao formulado em seu treinamento, que implica na existncia de um nico mnimo global. Alm disso, o uso de funes Kernel na no-linearizao das SVMs torna o algoritmo ecinte, pois permite a construo de simples hiperplanos em um espao de alta dimenso de forma tratvel do ponto de vista computacional. Entre as principais limitaes das SVMs encontram-se a sua sensibilidade a escolhas de valores de parmetros e a diculdade de interpretao do modelo gerado por essa tcnica. 2. Objetivos
O principal objetivo deste trabalho realizar um estudo comparativo entre as principais tcnicas de aprendizado de mquina. Para alcanar este objetivo sero realizados: Um analise de cada mtodo baseado na escolha de alguns parmetros; Verificar o desempenho do treinamento do classificador ao utilizar diferentes amostras de treinamento; Construo de grficos da funo do erro; Realizar uma comparao entre os trs mtodos baseados em: amostras treinamento, convergncia e taxa de erro.

3. Metodologia
Para implementar as redes foi utilizado a framework ENCOG 3.2 para Java. Este um framework de Inteligncia Artificial que fornece ferramentas para criar muitos tipos de redes neurais.

3.1. Classificao da porta lgica XOR pela rede MLP Para classificar a porta lgica xor de quatro entradas (figura 4) foram usados todos os dados da tabela verdade apresentando tabela 1 para treinamento da rede. Na rede MLP o algoritmo para aprendizagem utilizado foi o backpropagation, sendo que, sua arquitetura composta por uma camada de entrada com quatros entradas, uma camada de sada e uma camada intermediria com dois neurnios. A funo de ativao a sigmoidal para todos os neurnios. O erro mdio quadrado utilizado para obteno do erro em todos os mtodos de aprendizagem. A taxa de aprendizagem utilizada de 0.5.

Figura 4: Circuito composto de portas lgicas XOR.

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.

Na figura 5 apresentado o cdigo em Java para a arquitetura da MLP usada neste trabalho.

Figura 5: Trecho do cdigo fonte java para arquitetura da rede MLP.

Para a configurao do conjunto de dados de treinamento e de teste realizada a implementao do cdigo na figura 6. Sendo a variveis XOR_INPUT correspondente as entradas para treinamento da rede. A varivel XOR_IDEAL armazena as sadas esperadas para o treinamento.

Figura 6: Trecho do cdigo fonte java para os dados de treinamento e teste da rede MLP.

Na figura 7 apresentado o trecho de cdigo para o treinamento da rede.

Figura 7: Trecho do cdigo fonte java para treinamento teste da rede MLP.

3.2. Classificao da porta lgica XOR pela rede RBF Para classificar a porta lgica xor de quatro entradas (figura 4) foram usados todos os dados da tabela verdade apresentando tabela 1 para treinamento da rede. Na rede RBF o algoritmo para aprendizagem utilizado foi o SVD, sendo que, sua arquitetura composta por uma camada de entrada com quatros entradas, uma camada de sada, com um neurnio e uma camada intermediria com dois neurnios. A funo de base radial usada a Gaussiana.

Na figura 8 apresentado o cdigo em Java para a arquitetura da RBF usada neste trabalho.

Figura 8: Trecho do cdigo fonte java para arquitetura da rede RBF.

Para a configurao do conjunto de dados de treinamento e de teste realizada a implementao do cdigo na figura 9. Sendo a variveis XOR_INPUT correspondente as entradas para treinamento da rede. A varivel XOR_IDEAL armazena as sadas esperadas para o treinamento.

Figura 9: Trecho do cdigo fonte java para os dados de treinamento e teste da rede RBF.

3.3. Classificao da porta lgica XOR pelo classificador SVM Para classificar a porta lgica xor de quatro entradas (figura 4) foram usados todos os dados da tabela verdade apresentando tabela 1 para treinamento da rede. No classificar SVM, a arquitetura usada composta por uma camada de entrada com quatros entradas e uma camada de sada com um neurnio. A funo de kernel utilizada foi a funo de base radial.

Na figura 10 apresentado o cdigo em Java para a arquitetura do SVM usada neste trabalho.

Figura 10: Trecho do cdigo fonte java para arquitetura do SVM.

Para a configurao do conjunto de dados de treinamento e de teste realizada a implementao do cdigo na figura 11. Sendo a variveis XOR_INPUT correspondente as entradas para treinamento da rede. A varivel XOR_IDEAL armazena as sadas esperadas para o treinamento.

Figura 11: Trecho do cdigo fonte java para os dados de treinamento e teste do SVM.

4. Resultados e Discusso 4.1. Estudo da rede MLP


Para analise do desempenho da rede MLP foi usado o cenrio da seo 3.1. A funo de ativao de todos os neurnios sigmoidal. O grfico 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 nmero de interaes seja igual a 100.000. Na tabela 1 mostrado o teste da rede aps o treinamento.

Figura 12: desempenho do erro MLP com 2 neurnios na camada intermediaria para 104 pocas.

Tabela 2:Teste da rede MLP aps treinamento com 2 neurnios na camada intermediaria.

Em outro estudo do desempenho da rede MLP foi usado uma arquitetura onde na camada intermediaria possui cinco neurnios. A funo de ativao de todos os neurnios sigmoidal. O grfico na figura 13 exibe o resultado do treinamento da rede at que o erro consiga convergir a um valor menor ou igual a 1%. O grfico da figura 14 mostra o mesmo experimento com 10 neurnios na camada intermediaria. Em seguida, nas tabelas 3 e 4 so exibido os testes destas redes aps o treinamento.

Figura 13: desempenho do erro MLP com 5 neurnios na camada intermediaria at convergir .

Tabela 3:Teste da rede MLP aps treinamento com 5 neurnios na camada intermediaria.

Figura 14: desempenho do erro MLP com 10 neurnios na camada intermediaria at convergir.

Tabela 4: Teste da rede MLP aps treinamento com 10 neurnios na camada intermediaria.

Na figura 15 foram utilizadas diferentes taxas de aprendizagem (n). Nesta analise, o desempenho do erro analisado em uma rede MLP com 5 neurnios na camada

intermediaria at que o erro consiga convergir a um valor menor ou igual a 1%. A camada de sada possui 1 neurnio e a funo de ativao em todos os neurnios a sigmoidal.

Figura 15: desempenho do erro MLP com diferentes taxas de aprendizado (n).

Para realizar o estudo do treinamento da rede MLP com diferentes amostras apresentado o grfico da figura 16. As amostras de treinamento utilizadas neste experimento foram dividas em quatro categorias: categoria 1, categoria 2, categoria 3 e categoria 4. Na categoria 1, a rede foi treinada com 25% dos dados da tabela 1. A categoria 2, foram usados 50% dos dados da tabela. J na categoria 3, 75% dos dados da tabela foram usados. Por final, 87.5% dos dados foram utilizados para treinamento na categoria 4. Aps o treinamento, a rede testada com dados da tabela 1 que no participaram do treinamento. Este resultado pode verificado nas tabelas da figura 17.

(a)

(b)

(c)

(d)

Figura 16: Treinamento da rede MLP com diferentes amostras. (a) Treinamento com 25% das amostras. (b) Treinamento com 50% das amostras. (c) Treinamento com 75% das amostras. (a) Treinamento com 87.5% das amostras.

(a)

(b)

(c)

(d)

Figura 17: Teste da rede com diferentes amostragens. (a) Teste da rede de categoria 1. (b) Teste da rede de categoria 2. (c) Teste da rede de categoria 3. (d) Teste da rede de categoria 4.

A analise representada pela figura 18 resultado da combinao de trs redes MLP. Cada porta lgica do circuito da figura 4 substituda por uma rede. Cada rede possui uma camada de entrada com quatro entradas, uma camada intermediaria com cinco neurnios e uma camada de sada contendo um neurnio. Todos os neurnios utilizam como funo de ativao a funo sigmoidal. O algoritmo de aprendizado utilizado em todas as redes o backpropagation. O erro obtido pelo erro mdio quadrtico e a taxa

de aprendizagem admitida 0.5. O treinamento do esquema proposto realizado em cada rede da camada intermediaria. Em seguida, a rede da camada de sada treinada. Aps a fase de treinamento, so realizados teste na arquitetura proposta, ver tabela 5.

Figura 18: Desempenho do erro em uma rede composta por agrupamento de redes MLP.

Tabela 5: Teste da rede composta por agrupamento de redes MLP.

4.2. Estudo da rede RBF Nesta seo analisado o desempenho da rede RBF. A arquitetura da rede composta por quatro entradas na camada de entrada, uma camada intermediaria, e um neurnio na camada de sada. A funo de base radial Gaussiana. O algoritmo de aprendizagem utilizado o SVD. O grfico na figura 19 exibe o resultado do treinamento da rede para diferentes nmeros de neurnios na camada intermediaria.

Figura 19: Desempenho do erro na rede RBF com diferentes nmeros de neurnio na camada intermediaria.

Para analise do desempenho da rede RFB foi montado uma arquitetura onde na camada de entrada so usadas quatro entradas. A funo de base radial de todos os neurnios gaussiana. O algoritmo de aprendizado o backpropagation com a taxa de aprendizado de 0.5. O grfico 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 nmero de interaes seja igual a 1.000.000. Na tabela 6 mostrado o teste da rede aps o treinamento. O mesmo experimento foi realizado com diferentes nmeros de neurnios na camada intermediaria como pode ser visto nas figuras 21 e 22.

Figura 20: Desempenho do erro na rede RBF com 2 neurnios na camada intermediaria.

Tabela 6: Teste da rede RBF aps treinamento com 2 neurnios na camada intermediaria.

Figura 21: Desempenho do erro na rede RBF com 10 neurnios na camada intermediaria.

Tabela 5: Teste da rede RBF aps treinamento com 10 neurnios na camada intermediaria.

Para realizar o estudo do treinamento da rede RFB com diferentes amostras aplicado o algoritmo de aprendizagem SVD. As amostras de treinamento utilizadas neste experimento foram dividas em quatro categorias: categoria 1, categoria 2, categoria 3 e categoria 4. Na categoria 1, a rede foi treinada com 25% dos dados da tabela 1. A categoria 2, foram usados 50% dos dados da tabela. J na categoria 3, 75% dos dados da tabela foram usados. Por final, 87.5% dos dados foram utilizados para treinamento na

categoria 4. Aps o treinamento, a rede testada com dados da tabela 1 que no participaram do treinamento. Este resultado pode verificado nas tabelas da figura 23.

(a)

(b)

(c)

(d)

Figura 23: Teste da rede RBF com diferentes amostragens. (a) Teste da rede de categoria 1 com erro de 0%. (b) Teste da rede de categoria 2 com erro de 0%. (c) Teste da rede de categoria 3 com erro de 28%. (d) Teste da rede de categoria 4 com erro de 6%.

Para analise do desempenho da rede RFB com diferentes bases radiais foi montado uma arquitetura, onde, na camada de entrada so usadas quatro entradas, na camada intermediaria foram utilizados 20 neurnios e um neurnio na camada de sada. As bases radiais utilizadas neste experimento so: gaussinana, multiqudrica e multiqudrica inversa. A largura o centro e a largura das funes radiais so aleatrios. O algoritmo de aprendizado utilizado foi o SVD. Na figura 24 mostrado o desempenho do erro de cada funo radial.

(a)

(b)

(c)

Figura 24: Teste da rede RBF com diferentes amostragens. (a) Teste da rede com funo radial gaussiana. (b) Teste da rede com funo radial multiqudrica inversa. (c) Teste da rede com funo radial multiqudrica.

4.3. Estudo do classificador SVM Para anlise de desempenho do classificar SVM, com diferentes funes de kernel, foi montada uma arquitetura, onde, na camada de entrada so usadas quatro entradas e um neurnio na camada de sada. As funes de kernel utilizadas neste experimento foram: linear, polinomial e funo de base radial(FBR). Os dados para treinamento foram os da tabela 1. Na figura 25 so mostradas as tabelas de teste do classificar aps treinamento.

(a)

(b)

(c)

Figura 25: Teste classificador SVM com diferentes funes de kernel. (a) Teste com funo kernel linear com erro de 50%. (b) Teste com funo kernel polinomial com erro de 49,99%. (c) Teste com funo kernel RBF com erro de 24,8%.

Para realizar o estudo do treinamento do classificador SVM com diferentes amostras foram utilizados, neste experimento, quatro categorias, so elas: categoria 1, categoria 2, categoria 3 e categoria 4. Na categoria 1, a rede foi treinada com 25% dos dados da tabela 1. A categoria 2, foram usados 50% dos dados da tabela. J na categoria 3, 75% dos dados da tabela foram usados. Por final, 87.5% dos dados foram utilizados para treinamento na categoria 4. Aps o treinamento, a rede testada com dados da tabela 1, que no participaram do treinamento. Este resultado pode ser verificado nas tabelas da figura 26.

(a)

(b)

(c)

(d)

Figura 26: Teste classificador SVM com diferentes funes de kernel. (a) Teste da rede de categoria 1. (b) Teste da rede de categoria 2. (c) Teste da rede de categoria 3. (d) Teste da rede de categoria 4.

5. Concluso
Os resultados obtidos revelam que as redes neurais artificiais para problemas de classificao apresentam resultados de forma eficiente, uma vez que os erros foram relativamente baixos em alguns casos e chegando zero em alguns deles. O classificador SVM, tambm apresentou um resultado satisfatrio por ter classificado de forma correta os dados mesmo com uma baixa amostragem em seu treinamento. Vale destacar que, a tcnica SVM apresentou melhores resultados em relao s outras tcnicas. Isso acontece devido robustez diante de dados de grande dimenso e conectividade com o problema formulado em seu treinamento, que implica na existncia de um mnimo global. Alm disso, o uso de funes kernel na no-linearizao das SVMs torna o algoritmo eciente, pois permite a construo de simples hiperplanos em um espao de dimenso de forma tratvel do ponto de vista computacional. Porm, entre as principais limitaes das SVMs, encontra-se a sua sensibilidade a escolhas de parmetros e a diculdade de interpretao de modelo gerado por essa tcnica.

6. Referncias
Affonso, E. T., Silva, A. M., Silva, M. P., Rodrigues, T. M., & Moita, G. F. (2010, Novembro 15 - 18). USO REDES NEURAIS MULTILAYER PERCEPTRON (MLP) EM SISTEMA DE BLOQUEIO DE WEBSITES BASEADO EM CONTEDO. Asociacin Argentina de Mecnica Computacional , pp. 9076 - 9090. COSTA, ZEILHOFER, P., & RODRIGUES. (2010, Julho 27 -30). AVALIAO DO CLASSIFICADOR SVM (SUPPORT VECTOR MACHINE) NO MAPEAMENTO DE QUEIMADAS NO PANTANAL MATO-GROSSENSE. Simpsio Brasileiro de Cincias Geodsicas e Tecnologias da Geoinformao , pp. 001-005. Gevert, V. G., Silva, A. C., Gevert, F., & Ales, V. T. (2010). Modelos de Regresso Logstica, Redes Neurais e Support Vector Machine (SVMs) na Anlise de Crdito a Pessoas Jurdicas. Revista Cincias Exatas e Naturais , 12. Nascimento, R. F., Alcntara, E. H., Kampel, M., Stech, J. L., Novo, E. M., & Fonseca, L. M. (20 -30 de Abril de 2009). O algoritmo Support Vector Machines (SVM): avaliao da separao tima de classes em imagens CCD-CBERS-2. Simposio Brasileiro de Sensoriamento Remoto , pp. 2079 - 286. Teixeira, J. V. (2012). Estudo de Algoritmos de Aprendizado em Redes Neurais Articiais. LAVRAS/MG: UNIVERSIDADE FEDERAL DE LAVRAS.

Você também pode gostar