Sei sulla pagina 1di 61
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO CEARÁ PRÓ-REITORIA DE ENSINO COORDENADORIA DE TELEMÁTICA

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO CEARÁ PRÓ-REITORIA DE ENSINO COORDENADORIA DE TELEMÁTICA DO CAMPUS MARACANAÚ BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

LEANDRO BEZERRA MARINHO

MÁQUINA DE APRENDIZAGEM MÍNIMA APLICADA AO

RECONHECIMENTO DE ATIVIDADES

MARACANAÚ

2014

LEANDRO BEZERRA MARINHO

MÁQUINA DE APRENDIZAGEM MÍNIMA APLICADA AO RECONHECIMENTO DE ATIVIDADES

Monografia submetida à Coordenadoria de Telemática e à Coordenadoria do Curso de Bacharelado em Ciência da Computação do Instituto Federal do Ceará - Campus Maracanaú, como requisito parcial para obtenção do grau de Bacharel em Ciência da Computação.

Área

de

pesquisa:

Aprendizagem

de

Máquina

Orientador:

Amauri Holanda de Souza

Júnior

Fortaleza

2014

INSTITUTO FEDERLA DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO CEARÁ COORDENAÇÃO DE PÓS-GRADUAÇÃO EM ENGENHARIA DE

INSTITUTO FEDERLA DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO CEARÁ

COORDENAÇÃO DE PÓS-GRADUAÇÃO EM ENGENHARIA DE

TELECOMUNICAÇÕES

Leandro Bezerra Marinho

Esta Monografia foi julgada adequada para a obtenção do Grau de Bacharel em

Ciência da Computação, sendo aprovada pela Coordenadoria de Telemática e pela

Coordenadoria do curso de Bacharelado em Ciência da Computação do Campus

Maracanaú do Instituto Federal de Educação, Ciência e Tecnologia do Ceará e pela

banca examinadora:

Prof. Dr. Amauri Holanda de Souza Júnior Instituto Federal do Ceará - IFCE

Prof. Dr. João Paulo Pordeus Gomes Universidade Federal do Ceará - UFC

Prof. Dr. Ajalmar Rego da Rocha Neto Instituto Federal do Ceará - IFCE

Prof. M.Sc. Adriano Tavares de Freitas Instituto Federal do Ceará - IFCE

Fortaleza, 06 de Abril de 2014

A Deus, que nos criou e foi criativo nesta tarefa. Seu fôlego de vida em mim me foi sustento e me deu coragem para questionar realidades e propor sempre um novo mundo de possibilidades.

Agradecimentos

Primeiramente, agradeço a Deus pela força e coragem durante toda esta longa caminhada.

Agradeço a minha namorada, Renata Lira, por toda a paciência, compreensão

e ajuda durante o desenvolvimento deste trabalho e todo o amor, carinho, companheirismo e atenção que me ajudaram durante a faculdade.

Agradeço aos meus amigos Kauê Menezes, Fausto Sampaio, Arlesson Lima, Leonildo Ferreira, Joyce Saraiva e Neyllany Andrade, por todos os momentos compartilhados.

Agradeço ao professor Amauri Holanda, pela orientação, apoio e paciência durante o desenvolvimento deste trabalho.

Finalmente, agradeço a todos os professores do curso de Ciência da Computação

do Instituto Federal do Ceará, pela boa formação profissional.

“A tarefa não é tanto ver aquilo que ninguém viu, mas pensar o que ninguém ainda pensou sobre aquilo que todo mundo vê.”

Arthur Schopenhauer

Resumo

Os aparelhos modernos, tais como smartphones e tablets, são mais que simples dispositivos de comunicação com uma conexão à Internet. Eles fornecem uma gama de recursos como microfones, câmeras, acelerômetros e medidores de luminosidade. Muitos desses recursos utilizam informações captadas por sensores acoplados que podem ser utilizados pelos mais diferentes tipos de aplicações. Reconhecimento de atividade é uma tecnologia importante, pois pode ser aplicada a diversos problemas reais, tais como cuidados a saúde de idosos. O êxito da investigação tem centrado no reconhecimento de atividades humanas simples. Identificar atividades complexas continua sendo uma área desafiadora e ativa de pesquisa. Neste trabalho analisamos o uso de um método recentemente proposto, a Máquina de Aprendizagem Mínima (Minimal Learning Machine, MLM), além de três outros conhecidos na literatura, MLM, RBF e ELM, para detecção de atividades humanas. Os hiperparâmetros de cada método foram selecionados através da validação cruzada. Os dados para os experimentos foram adquiridos do giroscópio e acelerômetro, sensores presentes em smartphones. O MLM teve a melhor taxa de acerto entre os métodos testados.

Abstract

Modern appliances, such as smartphones and tablets, are more than simple communication devices with an Internet connection. They provide a range of resources such as microphones, cameras, accelerometers, and light meters. Many of these features use information gathered by a combined sensor that can be used by many different types of applications. Activity recognition is an important technology because it can be applied to many real problems such as health care for the elderly. The success of the research has focused on the recognition of simple human activities. Identify complex activities remains a challenging and active area of research. In this work will be analyzed using a proposed recently method, the Minimal Machine Learning (MLM), in addition to three others known in the literature, MLM, RBF and ELM for detecting human activities. The hyperparameters of each method were selected through cross-validation. The data for the experiments were purchased from the gyroscope and accelerometer sensors found in smartphones. The MLM has had the best success rate among the tested methods.

Sumário

Lista de Figuras

Lista de Tabelas

Lista de Símbolos

Lista de Abreviações

1 Introdução

15

1.1 Motivação .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

15

1.2 Objetivos

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

16

1.2.1 Geral

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

16

1.2.2 Específicos

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

16

1.3 Estrutura da monografia

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

17

2 Aprendizagem de Máquina

 

18

2.1 Introdução .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

18

2.2 Aprendizado Indutivo .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

19

2.2.1 Aprendizado Supervisionado

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

19

2.2.2 Aprendizado Não-supervisionado

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

20

2.2.3 Aprendizado Por Reforço

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

21

2.3 Redes Neurais Artificias

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

21

2.3.1 Breve Histórico das Redes Neurais .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

22

2.3.2 Perceptron de Múltiplas Camadas

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

23

2.3.3 Redes com Funções de Base Radial .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

29

2.3.4 Máquina de Aprendizado Extremo

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

30

3 Máquina de Aprendizagem Mínima

 

34

3.1 Introdução .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

34

3.2 Formulação

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

35

3.2.1 Regressão entre Distâncias .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

35

3.2.2 Estimativa da saída

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

37

3.3 Algoritmos de Treinamento e Teste

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

38

3.4 Máquina de Aprendizagem Mínima para Classificação

.

.

.

.

.

.

.

.

.

.

38

3.4.1

Máquina de Aprendizagem Mínima com Vizinhos Mais Próximos

39

3.5 Parâmetros e Complexidade Computacional da MLM

 

.

.

.

.

.

.

.

.

.

.

40

4 Metodologia

42

4.1 Base de Dados

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

42

4.2 Modelagem dos Dados para Classificação .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

43

4.3 Seleção de Parâmetros

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

44

4.3.1

Distâncias .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

45

4.4 Avaliação de desempenho .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

45

4.4.1 Validação Cruzada .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

45

4.4.2 Métrica

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

46

5 Resultados Experimentais

 

47

5.1 Hiperparâmetros Escolhidos

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

47

5.2 Resultados Individuais .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

48

5.3 Comparação entre os experimentos

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

51

6.1

Trabalhos Futuros

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

56

Referências Bibliográficas

 

57

Lista de Figuras

1 Aprendizado por

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

21

2 Modelo

esquemático

 

de

uma

rede

MLP

com

duas

camadas

 

intermediárias.

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

24

3 Gráfico da função logística binária para o domínio [-3, 3].

.

.

.

.

.

.

.

.

26

4 Procedimento para obter estimativa

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

37

5 Exemplo de Validação Cruzada.

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

46

6 Erro pelo número número de neurônios da camada oculta na

 

48

7 Erro pelo número número de neurônios da camada oculta no

49

8 Erro pelo número número de neurônios da camada oculta no

49

9 Erro pelo número de pontos de referência com atributos no domínio do .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

50

10 Erro pelo número de pontos de referência com atributos no domínio da

 

frequência.

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

50

11 Erro pelo número de pontos de referência com todos

 

51

12 Taxa média de acerto com atributos no domínio do tempo.

 

.

.

.

.

.

.

.

53

13 Taxa média de acerto com atributos no domínio da

 

53

14 Taxa média de acerto com todos os

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

54

Lista de Tabelas

1 Comparação de uma rede RBF típica com uma rede MLP convencional FONTE: (CARVALHO; BRAGA; LUDERMIR, 2007)

 

30

2 Variáveis estimadas.

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

44

3 Modelagem das Classes .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

45

4 A segunda coluna mostra o ínicio, variação e fim para uma sequência

 

de neurônios.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

47

5 Taxa média de acerto e desvio padrão com atributos no domínio do tempo. 51

6 Taxa média de acerto e desvio padrão com atributos no domínio da

frequência.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

52

7 Taxa média de acerto e desvio padrão utilizando todos os atributos.

.

.

52

Lista de Símbolos

R

conjunto dos números reais

φ (x)

função de ativação

Lista de Abreviações

AM

Aprendizagem de Máquina

IA

Inteligência Artificial

RNA

Redes Neurais Artificiais

MLM

Minimal Learning Machine

MLP

Multi Layer Perceptron

ELM

Extreme Learning Machine

RBF

Radial Basis Function

AMSE

Average Mean Squared Error

MSE

Mean Squared Error

15

CAPÍTULO 1

INTRODUÇÃO

Os

objetivos gerais e específicos são elencados na seção 1.2. Por último, realizamos uma apresentação da estrutura da monografia na seção 1.3.

O capítulo inicia com a motivação para o desenvolvimento deste trabalho.

1.1

Motivação

Desde o aparecimento dos primeiros telefones móveis portáteis comerciais na década de 70, tem-se observado um crescimento acelerado no mercado de telefonia móvel, que atingiu, no segundo semestre de 2011, cerca de 80% da população mundial (EKHOLM J.; S., 2011). Isso mostra, que num curto espaço de tempo, os dispositivos móveis tornaram-se cada vez mais acessíveis. Os aparelhos modernos, tais como smartphones e tablets, são mais que simples dispositivos de comunicação com uma conexão à Internet. Eles fornecem uma gama de recursos como microfones, câmeras, acelerômetros e medidores de luminosidade. Muitos desses recursos utilizam informações captadas por sensores acoplados que podem ser utilizados pelos mais diferentes tipos de aplicações.

O reconhecimento de atividades humanas tem como objetivo identificar as ações

realizadas por uma pessoa dado um conjunto de observações do indivíduo e do ambiente circundante. Isso pode ser conseguido, por exemplo, através da exploração de informações obtidas a partir dos sensores como acelerômetros (ALLEN et al., 2006). Na maioria dos smartphones estes sensores são incorporados por padrão.

Identificar com sucesso as atividade humanas permite uma ampla diversidade de aplicações. Pesquisas recentes sobre o reconhecimento de atividades, especialmente para aplicações de cuidados a saúde de idosos, tem demonstrado que é possível identificar uma variedade de atividades tais como, caminhar, correr ou saber se uma pessoa está usando escadas (BAO; INTILLE, 2004; HUYNH; BLANKE; SCHIELE,

1.2 Objetivos

16

2007; LESTER; CHOUDHURY; BORRIELLO, 2006; OFSTAD et al., 2008; LIN et al., 2003; RAVI et al., 2005).

Essencialmente, a tarefa de detecção de atividades requer um modelo matemático que permita a identificação de interesse. Em geral, modelos podem ser desenvolvidos utilizando o conhecimento de um especialista sobre o fenômeno que se deseja modelar ou por técnicas de aprendizado automático (estatístico ou neural). Utilizar um modelo de aprendizado automático, dentre outras vantagens, permite-nos construir modelos baseados em pouco ou quase nenhum conhecimento prévio sobre a tarefa de interesse. Para isso, exemplos do comportamento a ser modelado devem ser capturados ou devem estar disponíveis. Este trabalho propõe o uso de um modelo de aprendizagem supervisionado recentemente proposto, a Máquina de Aprendizagem Mínima (Minimal Learning Machine, MLM) (SOUZA JUNIOR et al., 2013) para classificação e detecção de atividades de um conjunto de dados proveniente de um smartphone.

1.2

Objetivos

Essa seção apresenta, primeiramente, o objetivo geral e, em seguida, os objetivos específicos desse trabalho.

1.2.1 Geral

O objetivo principal desse trabalho é analisar o desempenho dos algoritmos MLM, MLP, ELM e RBF para a classificação de atividades humanas com dados provenientes de aparelhos móveis, tais como smartphones e tablets.

1.2.2 Específicos

Verificar e validar a aplicação da MLM no reconhecimento de atividades físicas.

Mostrar uma nova abordagem da MLM utilizando os vizinhos mais próximos.

Executar uma comparação de desempenho com outras técnicas de aprendizado de máquina.

1.3

Estrutura da monografia

17

Selecionar o conjunto de atributos da base de dados que contribuam com a atividade de aprendizagem dos métodos no processo de identificação de atividades.

Analisar a performance da MLM com outra métrica de distância.

1.3 Estrutura da monografia

O Capítulo 2 faz uma abordagem teórica da Aprendizagem de Máquina e dos métodos utilizados neste trabalho. No Capítulo 3, o método MLM é explanado, assim como, seus algoritmos de treinamento e teste, parâmetros e sua complexidade computacional. Em seguida, o Capítulo 4 mostra a metodologia adotada para se alcançar o objetivo geral desse monografia. O Capítulo 5 traz os resultados obtidos das simulações realizadas com as técnicas propostas. Por fim, o Capítulo 6 resume o trabalho, elencando conclusões obtidas, possíveis melhorias e trabalhos futuros.

18

CAPÍTULO 2

APRENDIZAGEM DE MÁQUINA

Este capítulo apresenta uma visão geral da área de Aprendizagem de Máquina, mais especificamente de Redes Neurais. A Seção 2.3 exibe um breve histórico de Redes Neurais, bem como os principais conceitos e definições da área. Em seguida, são apresentadas as redes neurais adotadas no trabalho.

2.1

Introdução

Aprendizado de Máquina (AM) é uma subárea de pesquisa muito importante em Inteligência Artificial (IA), pois a capacidade de aprender é essencial para um comportamento inteligente. AM estuda métodos computacionais para adquirir novos conhecimentos, habilidades e meios de organizar o conhecimento já existente (MITCHELL, 1997). O estudo de técnicas de aprendizado baseado em computador também pode fornecer um melhor entendimento de nosso próprio processo de raciocínio (MONARD et al., 1997).

Uma das críticas mais comuns à IA é que as máquinas só podem ser consideradas inteligentes quando forem capazes de aprender novos conceitos e se adaptarem a novas situações, em vez de simplesmente fazer o que lhes for mandado. É sabido que

uma importante característica das entidades inteligentes é a capacidade de adaptar-se

a novos ambientes e de resolver novos problemas.

Como será visto nas próximas seções, sob algumas restrições, é possível criar um sistema computacional que seja capaz de aprender e melhorar o seu desempenho por meio da observação. Existem várias abordagens de aprendizado que podem ser

utilizados por um sistema computacional como, por exemplo, o aprendizado por hábito, instrução, dedução, analogia e indução (BATISTA, 2003). O aprendizado indutivo

é um dos mais úteis pois permite obter novos conhecimentos a partir de exemplos,

ou casos particulares, previamente observados. Entretanto, o aprendizado indutivo é

2.2

Aprendizado Indutivo

19

também um dos mais desafiadores, pois o conhecimento gerado ultrapassa os limites das premissas, e não existem garantias de que esse conhecimento seja verdadeiro.

2.2 Aprendizado Indutivo

A principal tarefa da inferência indutiva ou indução é descobrir como retornar

uma solução para uma hipótese que se aproxime ao máximo do valor de entrada do problema proposto. Sobre a aprendizagem indutiva, Russell & Norvig (2004) questionam como deve ser escolhida uma hipótese entre várias consistentes.

Pesquisadores estudam os problemas relacionados à aprendizagem indutiva há

muitos anos, mas uma recomendação básica para a solução destes problemas seria

a lâmina de Ockham (BADIUS; TRECHSEL; PENNSYLVANIA), 1495), que nos orienta

a escolher sempre a opção mais simples, pois mesmo não tendo muitas informações

sobre algum assunto, intuitivamente é escolhido algo que parece ser mais fácil do que

a segunda ou terceira opção. Em AM, soluções simples correspondem a modelos com poucos parâmetros ajustáveis ou graus de liberdade.

O aprendizado indutivo é efetuado a partir do raciocínio sobre exemplos fornecidos

por um processo externo ao aprendiz. Em AM, o aprendiz é um sistema computacional frequentemente denotado por sistema de aprendizado, algoritmo de aprendizado, ou simplesmente indutor. Um sistema de aprendizado é um sistema computacional que toma decisões baseado em experiências acumuladas contidas em casos resolvidos com sucesso (WEISS; KULIKOWSKI, 1991).

No estudo de IA, existe uma grande variedade de tipos de aprendizado. Os estudos sobre aprendizado de máquina dividem-se em três grupos básicos:

aprendizagem supervisionada, não-supervisionada e por reforço, os quais serão abordadas com mais detalhes a seguir.

2.2.1 Aprendizado Supervisionado

No aprendizado supervisionado é fornecido ao sistema de aprendizado um

conjunto de exemplos = { 1 , 2 ,

rótulo associado. Esse rótulo define a classe a qual o exemplo pertence. Pode-se dizer que cada exemplo i é uma tupla

N }, sendo que cada exemplo i possui um

2.2

Aprendizado Indutivo

20

i = (x i ,y i )

na qual x i é um vetor de valores que representam as características, ou atributos,

do exemplo E i , e y i é o valor da classe desse exemplo. O objetivo do aprendizado supervisionado é induzir um mapeamento geral dos vetores x para valores y. Portanto, o sistema de aprendizado deve construir um modelo, y = f (x), de uma função desconhecida f que permite predizer valores y para exemplos previamente não vistos.

Entretanto, o número de exemplos utilizados para a criação do modelo não é, na maioria dos casos, suficiente para caracterizar completamente essa função f. Na realidade, os sistemas de aprendizado são capazes de induzir uma função h que se aproxima de f, ou seja, h (x) f (x). Nesse caso, h é chamada de hipótese sobre a função conceito f. Neste trabalho serão apenas utilizadas técnicas de aprendizagem de máquina supervisionada.

2.2.2 Aprendizado Não-supervisionado

No aprendizado não supervisionado é fornecido ao sistema de aprendizado um conjunto de exemplos E , no qual cada exemplo consiste somente de vetores x, não incluindo a informação sobre a classe y. O objetivo no aprendizado não supervisionado é construir um modelo que procura por regularidades nos exemplos, formando agrupamentos (clusters) de exemplos com características similares.

No agrupamento, um conjuntos de dados são reunidos a partir de suas similaridades. Os métodos de agrupamento mais comuns necessitam que o número de clusters seja determinado a priori e se baseiam na minimização de uma função de distância entre os pontos do cluster e o seu centro (CRIMMINS, 2001).

A rede SOM, proposta por Teuvo Kohonen, possui um algoritmo não

supervisionado para o seu treinamento. O objetivo deste mapa auto-organizável é criar um arranjo para os padrões de entrada em um mapa discreto uni ou bidimensional de uma maneira a se obter uma topologia ordenada. Basicamente, o algoritmo consiste em apresentar um vetor de entrada a todos os neurônios da rede, encontrar um neurônio vencedor e modificar os pesos do neurônio vencedor e dos neurônios que formam sua vizinhança naquele momento (HAYKIN, 2002; KASABOV, 1996).

2.3 Redes Neurais Artificias

21

2.3 Redes Neurais Artificias 21 Figura 1: Aprendizado por reforço. 2.2.3 Aprendizado Por Reforço No aprendizado

Figura 1: Aprendizado por reforço.

2.2.3 Aprendizado Por Reforço

No aprendizado por reforço, um indivíduo sem conhecimentos prévios aprende através de interações com o ambiente, recebendo recompensas por suas ações e assim descobrindo a estratégia ótima para a resolução de um determinado problema. A suposição principal do aprendizado por reforço é a existência de um agente que pode aprender a escolher suas ações que resultarão em um melhor resultado futuro na realização de uma tarefa (PEGORARO, 2001).

No ambiente, em cada intervalo de tempo o agente executa uma ação. Esta ação é determinada pela estratégia já aprendida, informando o agente para onde ele deve se locomover e tendo em vista a recompensa que irá ganhar. A recompensa pode ser dada por valores negativos ou positivos, indicando se o agente está seguindo corretamente para o objetivo ou não. A Figura 1 apresenta um esboço do funcionamento do aprendizado por reforço.

2.3 Redes Neurais Artificias

Redes Neurais Artificiais (RNAs) são sistemas paralelos distribuídos, compostos por unidades de processamento, denominadas neurônios, dispostas em camadas e cujo funcionamento baseia-se no cálculo de funções matemáticas. As unidades, entre as camadas, são interconectadas e, na maioria dos modelos, estão associadas a pesos, os quais armazenam o conhecimento adquirido na forma de valores numéricos (CARVALHO; BRAGA; LUDERMIR, 2007).

Devido a sua capacidade de generalização 1 , as redes neurais são amplamente utilizadas na resolução de problemas do mundo real envolvendo grandes massas de dados. A natureza destes problemas é em geral de: i) classificação, i.e.

1 Capacidade de responder corretamente a dados que não foram utilizados no processo de treinamento.

2.3 Redes Neurais Artificias

22

atribuição a um padrão desconhecido entre uma de várias classes conhecidas; ii) agrupamento, i.e. o agrupamento em categorias bem definidas, obtidas a partir da redundância existente entre os registros apresentados à rede; iii) aproximação, em geral aproximação de funções e iv) predição, i.e. prever situações futuras a partir dos dados atuais (CARVALHO; BRAGA; LUDERMIR, 2007).

2.3.1 Breve Histórico das Redes Neurais

A inspiração para o funcionamento das redes neurais é baseada no funcionamento do cérebro humano, área aprofundada pelo estudo pioneiro de Ramón Y Cajál, que introduziu a ideia dos neurônios tais como são conhecidos hoje. Os neurônios são entre 5 e 6 vezes mais lentos que as portas lógicas de silício, porém trabalhando de forma maciçamente paralela, o cérebro compensa esse aparente menor velocidade de funcionamento das células nervosas (HAYKIN, 2002).

McCulloch & Pitts (1943) foram os primeiros a formular um modelo matemático simples para um neurônio. McCulloch, um psiquiatra, Pitts, matemático, se associaram um ano antes da publicação do trabalho conjunto. O trabalho é em essência uma unificação de estudos da neurofisiologia com a lógica matemática, que propõe conexões entre os neurônios ajustadas corretamente e operando de forma síncrona para a computação de funções. Neste modelo, a saída de um dado neurônio assume valor 1 caso o campo local induzido, i.e. uma combinação linear entre seus valores de entrada acrescida de um valor de bias, é não-negativo e 0 na situação contrária. Este modelo utiliza uma função degrau para a condição de disparo, tal função é chamada de função de ativação sendo também referida como função restritiva, pois restringe a faixa de saída para um intervalo menor ou conjunto reduzido de valores. O trabalho de McCulloch e Pitts foi um marco para a área, pois mostrou que era possível fazer computação de uma forma inspirada no funcionamento do cérebro. No entanto, eles não propuseram um método de aprendizado.

Como marco posterior, há o trabalho de Hebb em 1949 (HAYKIN, 2002), intitulado The Organization of Behavior, que propõe que a conectividade no cérebro é continuamente modificada a partir do aprendizado de novas tarefas funcionais criando agrupamentos neurais. Seu trabalho, entretanto, foi pouco influente na comunidade de engenharia, exercendo grande impacto entre psicólogos (HAYKIN, 2002). O trabalho lança o postulado da aprendizagem que afirma que o reforço em uma conexão entre dois neurônios deve ser acentuado em razão de uma constante ativação de um dos

2.3 Redes Neurais Artificias

23

dois neurônios a partir da conexão entre eles.

O trabalho de Hebb, em grau de relevância para a área, é sucedido pelo trabalho de Frank Rosenblat em 1958 (CARVALHO; BRAGA; LUDERMIR, 2007) que cria o modelo Perceptron, baseado no modelo de McCulloch-Pitts. Seu modelo é baseado na variação da intensidade entre as conexões inter-neurônios, ou seja, sinapses ajustáveis, como uma forma de prover treinamento à rede para classificar certos tipos de padrões. Seu modelo, entretanto, era capaz de resolver apenas problemas linearmente separáveis, não sendo possível lidar com não-linearidades.

O fato de o Perceptron não resolver problemas não linearmente separáveis

aliado à observação de Minsky e Papert em 1969 (HAYKIN, 2002), afirmando que

o modelo não garantia a convergência para mais de uma camada, resultou em um

adormecimento nas pesquisas em redes neurais durante os anos 1970 (CARVALHO; BRAGA; LUDERMIR, 2007), época onde alguns poucos pesquisadores continuaram seus estudos na área. Os efeitos pessimistas em relação à capacidade das redes neurais causados pelo livro de Minsky e Papert só foram revertidos com o advento do algoritmo Backpropagation (RUMELHART; HINTON; WILLIAMS, 1988) que mostrou que o modelo Perceptron Multicamadas era capaz de resolver problemas não linearmente separáveis. O Backpropagation utiliza múltiplas camadas, baseia-se no método do gradiente descendente sendo bastante utilizado no modelo Perceptron Multicamadas (Multi-layer Perceptron), descrito a seguir.

2.3.2 Perceptron de Múltiplas Camadas

O Perceptron de Múltiplas Camadas (Multi-Layer Perceptron, MLP) utiliza o

paradigma supervisionado de aprendizagem, caracterizado pela existência de um “supervisor externo”, cujo papel central é fornecer as entradas à rede e comparar as saídas geradas com um resultado esperado, para posterior ajuste de parâmetros,

a partir dos erros gerados. A minimização do erro decorre de maneira incremental até

a convergência, definida por um critério de parada pré-estabelecido. Assim, o vetor contendo os dados a serem processados é apresentado à rede a partir da camada de entrada, gerando estímulos que são propagados adiante nas demais camadas. As saídas de cada neurônio das camadas escondidas comporão as entradas da camada subseqüente. Desta forma, por cada conexão entre neurônios, transcorrem estímulos que são ponderados por seus respectivos pesos w j , determinando, a partir de uma função de ativação, os estímulos que chegam aos neurônios conectados a sua saída.

2.3 Redes Neurais Artificias

24

Seguindo este procedimento, tem-se então uma resposta final na camada de saída, correspondente ao vetor apresentado.

O aprendizado na rede MLP transcorre em duas fases, sendo seu algoritmo de treinamento mais popular o Backpropagation (HAYKIN, 2002). Na primeira fase, denominada adiante ou direta, é gerada a saída da rede correspondente ao padrão apresentado. Na segunda fase, denominada inversa, a saída desejada e a saída de fato fornecida pela rede são comparadas, e um erro é calculado. Este erro é então utilizado como parâmetro para a atualização dos pesos da camada de saída, sendo em seguida retro-propagado para a camada anterior a partir de sua multiplicação pelo peso das conexões entre as camadas. Desta maneira, cada camada escondida recebe sua parcela de contribuição no erro gerado na camada de saída e atualiza seus próprios pesos.

Arquitetura do Modelo MLP

As redes MLP adotam múltiplas camadas, alimentadas para frente (feedforward), sendo a primeira a camada de entrada, esta seguida pelas camadas escondidas e, por fim, uma camada de saída. A Figura 2 ilustra um modelo MLP com duas camadas escondidas. A arquitetura da rede pode ser mais bem descrita pelo número de camadas, a função de ativação e o número de neurônios por camada.

função de ativação e o número de neurônios por camada. Figura 2: Modelo esquemático de uma

Figura 2: Modelo esquemático de uma rede MLP com duas camadas intermediárias.

2.3 Redes Neurais Artificias

25

O Número de Camadas

A escolha do número de camadas é dada pelo problema em questão e em cada

camada ocorre uma fração do processamento como um todo, onde o espaço é dividido em regiões de decisão. Desta forma a rede é capaz de trabalhar com problemas que não sejam linearmente separáveis, desde que haja neurônios não-lineares nas camadas escondidas.

Papel importante cabe às camadas intermediárias, que criam uma codificação interna para os padrões apresentados na entrada. Um número suficientemente grande de camadas é possível formar representações para qualquer conjunto de entrada (CARVALHO; BRAGA; LUDERMIR, 2007). Entretanto a grande maioria dos problemas raramente necessita de mais de uma camada intermediária.

Funções de Ativação

A rede emprega em cada unidade de processamento uma função de ativação.

A função de ativação utilizada nas camadas intermediárias deve ser uma função não linear, para que seja incorporado o tratamento de não-linearidade à rede. Caso as funções sejam puramente lineares, o Perceptron de Múltiplas camadas terá funcionamento equivalente a uma única camada, visto que sucessivas transformações lineares equivalem a uma única transformação linear (CARVALHO; BRAGA; LUDERMIR, 2007). As funções de ativação mais utilizadas no modelo MLP são funções sigmoidais, tais como a função logística e a função tangente hiperbólica, que devem estar presentes em pelo menos uma das camadas escondidas. As funções sigmóides são contínuas, diferenciáveis em qualquer ponto, monotônicas estritamente crescentes, possuindo certa similaridade com funções lineares, o que as tornam ideais para a rede MLP. As funções sigmóides se aproximam assintoticamente de seus valores de saturação. A Figura 3 ilustra um exemplo de função sigmoidal, a função logística binária, com o domínio definida no intervalo [3,3]. A função logística é definida por:

φ(x) =

1

1 + exp(Kx) ,

sendo K uma constante positiva.

(2.1)

A constante K é utilizada como um fator de inclinação da função. O valor de K

2.3 Redes Neurais Artificias

26

φ (x)

1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 −3 −2 −1 0
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
−3
−2
−1
0
1
2
3
x

Figura 3: Gráfico da função logística binária para o domínio [-3, 3].

também atua como um controle automático de ganho (BEALE; JACKSON, 1990), visto que para valores de entrada pequenos a inclinação é bastante íngreme e as saídas aumentam rapidamente em relação ao domínio e para valores grandes de entrada a inclinação varia em menor intensidade. O termo K possibilita então um balanceamento para as saídas desta função, dada a amplitude do domínio.

A função sigmóide também pode ser tangente hiperbólica, caso este em que a imagem da função é definida no intervalo (1,1) . Define-se como mostrado abaixo:

φ(x) = 1 exp(Kx)

1 + exp(Kx) ,

sendo K uma constante positiva.

No presente trabalho, as redes utilizadas utilizam a função logística binária como função de ativação.

Definição do número de neurônios por camada

Não há uma regra geral bem explicitada na literatura sobre a definição do número

de neurônios para a resolução de um determinado problema. Esta modelagem deverá ser definida em função da complexidade do problema, de maneira que quanto maior

a complexidade, um maior número de neurônios é exigido, atentando sempre para

que a rede não perca sua capacidade de generalização caso um número excessivo de neurônios escondidos seja utilizado. Um ponto relevante neste caso é que a

complexidade do problema a ser tratado não é conhecido de antemão, e o modelo

a ser utilizado deve ter complexidade proporcional ao problema.

2.3 Redes Neurais Artificias

27

Desta forma, nos testes realizados no presente trabalho, a quantidade de neurônios na camada escondida foi definida empiricamente, a partir da estratégia de validação cruzada mostrada na Seção 4.4.1 abordada na metodologia. Para a camada de entrada foram utilizados tantos nós quanto atributos selecionados da base e seis neurônios na camada de saída, visto tratar-se de problema de classificação com seis classes.

O algoritmo de aprendizagem

Um dos processos de aprendizado da MLP é o algoritmo Backpropagation, baseado no aprendizado por correção de erros (regra delta). O algoritmo consegue com sucesso propagar a informação de erro da camada de saída para as camadas escondidas, podendo ser visto como uma generalização do filtro adaptativo Least-Mean-Square (LMS).

Basicamente, o algoritmo Backpropagation consiste em duas etapas de

processamento (VALENÇA, 2010): para a frente (forward) e para trás (backward).

O primeiro é equivalente ao feedforward, em que as entradas são processadas pelas

camadas em sequência, e a saída é obtida na última camada. A saída obtida é então

subtraída da saída esperada (target), gerando a informação de erro (error signal).

A informação de erro é então propagada na direção contrária, ajustando os pesos no

processo, vindo daí o nome Backpropagation. Essa propagação do erro é feita usando a generalização da regra delta, que usa derivadas parciais para calcular os ajustes nos valores dos pesos de camada. Por isso, as funções de ativação dos neurônios devem ser sempre deriváveis, pois o algoritmo seria impossível de utilizar o algoritmo.

Os passos do algoritmo de retropropagação do erro para uma iteração de treinamento são:

1. As saídas são calculadas processando as entradas pelas camadas da rede, na etapa forward;

2. O erro relativo à saída é calculado pela subtração desta com a saída esperada;

2.3 Redes Neurais Artificias

28

média aritmética de todos os erros, ajustando os pesos da rede após processar todas as entradas (treinamento em lote ou batch);

4. Calcula-se o gradiente da energia do erro em relação aos pesos da camada de saída, atualizando esses pesos em seguida. Os pesos são ajustados proporcionalmente a um valor chamado passo de aprendizado, η, que define o quanto se pode variar o peso a cada iteração. Este processo é análogo ao método LMS (least-mean-square) usado no treinamento por correção de erros em redes de uma camada. A Equação 2.2 mostra como é feito o ajuste dos pesos;

5. É calculado o erro em relação à saída da última camada escondida com a camada de saída, usando um cálculo de retropropagação ponderada do erro de cada neurônio da camada de saída;

6. As demais camadas escondidas são ajustadas seguindo o passo 5, onde a camada de saída é representada pela camada posterior à atual.

w ij (t +1) = w jl (l)+ηx j δ l ,

(2.2)

em que w jl representa o peso entre um neurônio l e o j-ésimo atributo de entrada ou a saída do j-ésimo neurônio da camada anterior, δ l indica o erro associado ao l-ésimo neurônio e x j indica a entrada recebida por esse neurônio (o j-ésimo atributo de entrada ou a saída do j-ésimo neurônio da camada anterior).

O algoritmo continua as iterações até que uma condição de parada seja alcançada. Essa condição de parada pode ser número máximo de iterações alcançado, erro mínimo atingido ou a verificação de falha na convergência da curva de erros do treinamento. Este trabalho está utilizando a abordagem pelo número máximo de iterações alcançado.

Uma análise mais completa da matemática envolvida neste algoritmo pode ser obtida em (HAYKIN, 2002) e também no trabalho de (CHAUVIN; RUMELHART, 1995). O exemplo aqui exposto pode ser aplicado em um número qualquer de camadas, desde que sejam compostas por neurônios com funções de ativação diferenciáveis.

2.3 Redes Neurais Artificias

29

2.3.3 Redes com Funções de Base Radial

As RNAs do tipo Função de Base Radial (Radial Basis Function, RBF), são redes supervisionadas consideradas aproximadores universais, assim como a rede MLP. A estrutura básica de construção apresenta apenas uma camada intermediaria, mas é possível a criação de redes neurais com mais camadas. Diferentemente da rede MLP, que apresentam funções sigmóides, as redes RBF utilizam, na camada intermediaria, funções radiais, como por exemplo, a função gaussiana. Essas redes são ferramentas extremamente flexíveis em um ambiente dinâmico. Possuem alta capacidade de aprendizado com padrões complexos e tendência para se adaptar rapidamente às mudanças.

O aprendizado de uma rede RBF é equivalente a ajustar uma superfície não-linear ao conjunto de dados, em um espaços multidimensional, de acordo com algum critério estatístico. O processo de generalização equivale a usar esta superfície multidimensional para interpolar outros pontos que não pertencem ao conjunto de treino, mas estejam em sua vizinhança (CASTRO; CASTRO, 2011).

Cada camada de uma rede RBF pode ter qualquer número de neurônios. No entanto, o excesso de neurônios pode levar ao overfitting 2 . Já o baixo número de neurônios pode levar a um custo temporal elevado (às vezes nunca chegando a um resultado ótimo) e, também, pode ser muito influenciado pelos sinais aleatórios dos pesos (HAYKIN, 2002). A primeira camada, cujos neurônios utilizam funções de base radial, agrupa os dados de entrada em clusters. Esta é responsável por transformar um conjunto de padrões de entrada não-linearmente separáveis em um conjunto de saídas linearmente separáveis. A camada de saída procura classificar os padrões recebidos de acordo com a camada anterior (CARVALHO; BRAGA; LUDERMIR,

2007).

Devido a linearidade das redes RBFs com apenas uma camada oculta, uma vez fixados o número de neurônios, raio e centro, os pesos da camada de saída podem ser determinados pelo método dos mínimos quadrados (CERQUEIRA et al., 2001).

Funções radiais representam uma classe especial de funções cujo valor diminui ou aumenta em relação à distancia de um ponto central (CARVALHO; BRAGA; LUDERMIR, 2007). Diferentes funções de base radiais têm sido utilizadas em redes RBF. As mais comuns são:

2 Quando o modelo se ajusta em demasiado ao conjunto de dados.

2.3 Redes Neurais Artificias

30

gaussiana: φ (v) = exp(

Função

2

2 )

v

2δ

multi-quadrática:

Função

φ

(v) = (v 2 +σ 2 )

thin-plate-spline:

Função

φ (v) = v 2 log(v)

onde v = x µ que é dado pela distância euclidiana entre o vetor de entrada x e

o centro µµµ da função de base radial. O valor de σ está associado à largura dessa

função.

Uma rede RBF pode requerer mais neurônios do que a rede MLP treinada com

Backpropagation, mas na maioria das vezes elas são mais rápidas. Utilizando uma

arquitetura de duas camadas, uma não linear e outra linear, redes RBF são conhecidas

como excelentes aproximadores universais (FERNANDES, 2005).

A Tabela 1 faz uma comparação entre as redes RBF e MLP.

Tabela 1: Comparação de uma rede RBF típica com uma rede MLP convencional FONTE: (CARVALHO; BRAGA; LUDERMIR, 2007)

MLP

RBF

Pode ter uma ou mais camadas intermediarias.

Possui apenas uma camada intermediaria.

Neurônios das camadas intermediarias e de saída têm funções semelhantes.

Neurônios das camadas intermediarias têm funções diferentes dos neurônios da camada de saída.

Entrada da função de ativação é o produto interno dos vetores de entrada e de pesos.

Entrada da função de ativação é a distancia euclidiana entre os vetores de entrada e de pesos.

Melhor em problemas complexos

Melhor em problemas bem-definidos.

Constrói aproximadores globais para mapeamento entrada-saída.

Constrói aproximadores locais para mapeamento entrada-saída.

2.3.4 Máquina de Aprendizado Extremo

Grande parte dos algoritmos para treinamento de redes neurais feedforward

é baseada no método do gradiente descendente. Esses algoritmos, no entanto,

apresentam algumas limitações, tais como sua facilidade de convergir para mínimos

locais e sua convergência lenta. Outro inconveniente é a necessidade de se definir

muitos parâmetros, tais como taxa de aprendizado e momentum.

2.3 Redes Neurais Artificias

31

Em oposição ao que geralmente se encontra na maior parte das implementações, em que todos os parâmetros das redes feedforward são ajustados, não é obrigatório o ajuste dos pesos de entrada e dos biases da primeira camada escondida (HUANG; ZHU; SIEW, 2006a). Inclusive alguns experimentos (HUANG; ZHU; SIEW, 2006b) mostraram que a escolha aleatória desses parâmetros torna o treinamento muito mais rápido, assim como também produz boa generalização. Também foi mostrado em (HUANG, 2003; TAMURA; TATEISHI, 1997) que redes neurais feedforward de apenas uma camada escondida, com N neurônios escondidos, e com pesos de entrada e biases da camada escondida selecionados aleatoriamente, podem aprender exatamente N padrões de treinamento distintos.

Máquinas de Aprendizado Extremo (Extreme Learning Machine, ELM) (HUANG; ZHU; SIEW, 2006a) podem ser uma opção mais eficiente do que os métodos tradicionais para treinamento de redes neurais de uma única camada escondida (single-hidden layer feedforward neural networks - SLFNs). Diferentemente dos métodos tradicionais de treinamento, como o Backpropagation, na ELM os pesos de entrada e os biases da camada escondida são escolhidos aleatoriamente e os pesos de saída (aqueles entre a camada escondida e a camada de saída) são determinados analiticamente. Assim, o treinamento com ELM é bem mais rápido que os algoritmos tradicionais. Segundo Huang, Zhu & Siew (2006a), o algoritmo ELM também é capaz de obter pesos de norma menor, e quanto menores as normas dos pesos, melhor desempenho de generalização a rede terá (BARTLETT, 1997). Dessa forma, a ELM tende a ter uma boa capacidade de generalização.

Treinamento de redes neurais ELM

Dados N exemplos de treinamento (x j ,y j ), onde x j = [x j1 ,x j2 ,x j3 ,

y

jD ] R D e

jM ] R M , uma rede neural feedforward com apenas uma camada

x

y j = [y j1 ,y j2 ,y j3 ,

escondida e P neurônios escondidos pode ser representada matematicamente como

P

i=1

B mi φ(w x j +b i ) = o mj , m = 1, 2,

i

,

M

(2.3)

onde j = 1, 2, 3,

neurônio da camada escondida com os neurônios de entrada, B m = [B m1 ,B m2 , ,B

é o vetor de pesos que conecta o m-ésimo neurônio de saída com os neurônios escondidos, b i é o bias do i-ésimo neurônio escondido, e w x j é o produto interno

iN ] é o vetor de pesos que conecta o i-ésimo

N, w i = [w i1 ,w i2 ,

,w

mP ]

i

2.3 Redes Neurais Artificias

32

entre w i e x j .

Para que as saídas da rede apresentada sejam iguais às saídas esperadas, ou

seja, que a rede apresente erro de treinamento zero, devem existir B m ,w i e b i tais que

P

i=1

B mi φ(w x j +b i ) = y mj .

i

(2.4)

Os algoritmos tradicionais de treinamento consistem na otimização dos pesos de

entrada w i , dos pesos de saída B i e dos biases b i , tais que a diferença entre a saída

obtida o mj e a saída esperada y mj seja minimizada. A grande diferença do ELM é

exatamente essa otimização. Foi matematicamente provado (HUANG; ZHU; SIEW,

2006b) que os pesos w i e os biases b i podem ser aleatoriamente escolhidos no caso

de redes neurais feedforward de apenas uma camada e que utilizem funções de

ativação infinitamente diferenciáveis. Dessa forma, no ELM os pesos w i e os biases

b i são escolhidos aleatoriamente e o treinamento se limita à otimização dos pesos de

saída B mi .

A partir da atribuição aleatória dos pesos de entrada w i e dos biases b i , a proposta

de treinamento do ELM passa a ser a solução B, pelo método dos mínimos quadrados,

do sistema linear H B = Y, onde

H =

φ(w x 1 +b 1 )

.

.

.

φ(w x N +b 1 )

1

1

B =

Y =

···

.

.

.

···

.

.

.

b

1

b

P

y

1

y

.

.

.

N

φ(w P x 1 +b P )

.

φ(w P x N +b P )

e

P×M