• Nenhum resultado encontrado

Seleção e ponderação de características: uma metodologia que integra otimização global e local

N/A
N/A
Protected

Academic year: 2021

Share "Seleção e ponderação de características: uma metodologia que integra otimização global e local"

Copied!
69
0
0

Texto

(1)

Adélia Carolina de Andrade Barros

SELEÇÃO E PONDERAÇÃO DE CARACTERÍSTICAS: UMA

METODOLOGIA QUE INTEGRA OTIMIZAÇÃO GLOBAL E LOCAL

Dissertação de Mestrado

Universidade Federal de Pernambuco posgraduacao@cin.ufpe.br www.cin.ufpe.br/~posgraduacao

RECIFE 2008

(2)

Adélia Carolina de Andrade Barros

SELEÇÃO E PONDERAÇÃO DE CARACTERÍSTICAS: UMA

METODOLOGIA QUE INTEGRA OTIMIZAÇÃO GLOBAL E LOCAL

Trabalho apresentado ao Programa de Pós-graduação em Ciência da Computação do Centro de Informática da Univer-sidade Federal de Pernambuco como requisito parcial para obtenção do grau de Mestre em Ciência da Computação.

Orientador: Prof. Dr. George Darmiton da Cunha Cavalcanti

RECIFE 2008

(3)

Catalogação na fonte

Bibliotecária Monick Raquel Silvestre da S. Portes, CRB4-1217

B277s Barros, Adélia Carolina de Andrade

Seleção e ponderação de características: uma metodologia que integra otimização global e local / Adélia Carolina de Andrade Barros. – 2008.

68 f.: il., fig., tab.

Orientador: George Darmiton da Cunha Cavalcanti.

Dissertação (Mestrado) – Universidade Federal de Pernambuco. CIn, Ciência da Computação, Recife, 2008.

Inclui referências.

1. Inteligência artificial. 2. Reconhecimento de padrão. I. Cavalcanti, George Darmiton da Cunha (orientador). II. Título.

006.31 CDD (23. ed.) UFPE- MEI 2016-146

(4)

Adélia Carolina de Andrade Barros

Seleção e Ponderação de Características: Uma Metodologia que Integra Otimização Global e Local

Dissertação apresentada ao Programa

de

Pós-

Graduação em Ciência da Computação da Universidade Federal de Pernambuco, como requisito parcial para a obtenção do título de Mestre em Ciência da Computação.

Aprovado em: 28/08/2008

BANCA EXAMINADORA

__________________________________________________

Profa. Dra. Teresa Bernarda Ludermir

Centro de Informática / UFPE

___________________________________________________ Prof. Dr. Adriano Lorena Inacio de Oliveira

Departamento de Sistemas Computacionais / UPE

___________________________________________________ Prof. Dr. George Darmiton da Cunha Cavalcanti

Centro de Informática / UFPE (Orientador)

(5)

Agradecimentos

Agradeço a todos aqueles que contribuiram direta ou indiretamente para o desenvolvi-mento deste trabalho, seja no âmbito acadêmico, professores e colegas, seja no âmbito pessoal, familiares e amigos. Todos estes que, de alguma forma, participaram desta importante etapa de vida.

Dentro da Academia, meus agradecimentos vão especialmente:

 Ao Prof. George Cavalcanti, pelo incansável empenho em me orientar e apoiar

durante todo o processo de realização deste trabalho;

 Aos colegas da pós-graduação do Centro de Informática da UFPE, pela troca de

experiência e conhecimento durante as aulas e fora delas. Agradeço especialmente a César Carvalho e Cristiano Santana, companheiros dos trabalhos em equipe, grandes colegas e também amigos;

 Aos professores do Centro de Informática da UFPE, em especial aqueles com os quais

fiz disciplinas de Computação Inteligente: Teresa Ludermir, Francisco Carvalho, Aluízio Araújo, Tsang Ren, George Cavalcanti e Renata Souza.

 Aos que fazem ou fizeram parte do curso de Engenharia da Computação da

Universi-dade de Pernambuco, professores e estudantes. Guardo um carinho especial por esta instituição, que foi a responsável por muito da minha formação acadêmica, científica e como cidadã.

Agradeço aos familiares e amigos que estiveram ao meu lado durante este trabalho. Agradecimentos especiais:

 À minha mãe Maria de Fátima e à minha avó Leda, pelo amor dedicado e atenção

dispensada na minha educação;

 Às minhas tias Gerda e Mônica, e primas Karine, Juliana e Daniela, pela companhia

e dedicação nos últimos tempos. Sem a colaboração delas, jamais teria conseguido condições para a conclusão deste trabalho;

 À Roberta Cavalcanti, pelo companheirismo e amizade que vem manifestando, pela

paciência e sensibilidade, pelas conversas, esperas e por todo sentimento e atenção dispensados. Serei eternamente grata. Estendo este agradecimento aos demais membros de sua família, especialmente a Itamar, Bruno, Leila e Camilla, sempre acolhedores e amigos;

(6)

 Aos queridos amigos Pedro, Marcelo, Alberto, Juliana, Madson, Sandra, Paulo,

Milena, Marta, Gabriela, Paloma e Ícaro, pela companhia constante, pelas infindáveis conversas, puxões de orelha, aventuras e descobertas. Todos têm sido especiais neste momento da minha vida (alguns há bem mais tempo).

 À Nívia Quental, pelo exemplo de pessoa e pesquisadora, a quem recorro nos

momentos de aperreio acadêmico. Muito me orgulho de tê-la no rol de amigos. Agradecimentos especiais para a AILeader, empresa na qual trabalhei durante a primeira metade da realização do mestrado e cujo incentivo foi imprescindível. Registro aqui minha admiração e respeito por todos aqueles com quem trabalhei nesta empresa. Agradecimentos a Paulo Tadeu, Byron Leite, Cléber Zanchettin, Eduardo Amaral, George Cavalcanti, Juliano Rabelo, Rodrigo Dória, Bruno Silveira, Simith d’Oliveira, Rodrigo Sineco, Afonso Ferreira, José Alexandrino, Valmir Macário, Átila Bittencourt, Jeneffer Fernandes, Oscar Miranda, Cynthia Belleza, Gabriel Azevedo, Gabriel França, Elias Rodrigues, Angélica Mascaro e Ítalo Belo. Foi um grande aprendizado e enorme prazer trabalhar com todos.

Agradecimento ao Serviço Federal de Processamento de Dados (SERPRO) pela liberação e incentivo ao mestrado. Em especial à Mônica Falcão, Reinaldo Soares, Márcia Falcão, Renan Guerra, Cilene Oliveira, Marcela Marmo, Alberto Lima, colegas da equipe SINPA, colegas da equipe SIGAI e demais colegas da empresa. Muito obrigada pela compreensão e apoio.

(7)

Resumo

Esta dissertação apresenta um estudo sobre o uso de Sistemas Híbridos para a tarefa de Seleção e Ponderação simultâneas de conjuntos de características. Ela é composto de três partes principais: (1) a apresentação de uma metodologia para lidar com Seleção e Ponderação como um problema de otimização global, (2) descrição do modelo híbrido que integra busca global e local e (3) avaliação das abordagens híbridas propostas.

Foram investigadas duas arquiteturas híbridas inteligentes: a primeira delas combina Tabu Searchcom o algoritmo de busca local Relief e a segunda integra Simulated Annealing com o Relief. Ambas abordagens procuram combinar as principais vantagens dos métodos de otimização global com as dos métodos de convergência local: métodos de otimização são bastante eficientes na busca do espaço global enquanto métodos de convergência fazem uma busca local mais refinada.

A metodologia utilizada neste trabalho para representar Seleção e Ponderação como um problema de busca foi proposta por Tahir et al.TAHIR; BOURIDANE; KORUGOLLU(2007). No referido trabalho, o método de busca utilizado foi apenas Tabu Search. O presente trabalho traz a adaptação desta metodologia também para o Simulated Annealing.

Os resultados demonstraram que os conjuntos de características otimizados são mais eficientes que aqueles que não passaram por nenhum processo de otimização. Além disto, o modelo híbrido proposto, que faz uso também de otimização local, melhorou ainda mais o desempenho do classificador. As conclusões levaram em consideração não somente a taxa de acerto de classificação, mas também a redução da dimensão do conjunto de características.

Palavras-chave: Seleção de Características. Ponderação de Características. Tabu Search. Simulated Annealing. Relief. Reconhecimento de Padrões.

(8)

Abstract

This dissertation presents a study about the use of Hybrid Systems for simultaneous Feature Selection and Weighting. It is composed by three main parts: (1) the presentation of a methodology which handles to Selection and Weighting as a global optimization problem, (2) the description of the model composed by global and local searches, (3) the evaluation of the proposed hybrid approaches.

Two intelligent hybrid architectures were investigated: the first one combines Tabu Search with the local search algorithm Relief and the second one integrates Simulated Annealing with Relief. Both approaches attempt to combine the main advantages of the global optimization methods with those of the local convergency methods: optimization methods are pretty efficient in the global search space while convergency methods make a more accurate local search.

The methodology used in this work to formulate Feature Selection and Weighting as a search problem was proposed by Tahir et al.TAHIR; BOURIDANE; KORUGOLLU(2007). In the referred work, Tabu Search was used as search algorithm. This work brings an adaptation from that methodology for Simulated Annealing.

The results evidenced that the features sets optimized were more efficient than those in which any optimization process was applied. Moreover, the proposed hybrid model, which uses also local optimization, improved even more the classifier accuracy. Conclusions consider not only the accuracy rate but also the reduction in feature sets dimension.

Keywords: Feature Selection. Feature Weighting. Tabu Search. Simulated Annealing. Relief. Pattern Recognition.

(9)

Lista de Figuras

2.1 Etapas de um processo de Seleção de Características . . . 19

2.2 Seleção por Filtragem . . . 23

2.3 Seleção por Wrappers . . . 24

2.4 Seleção de atributos segundo seu grau de relevância . . . 26

2.5 Ponderação de características . . . 26

3.1 Diferença entre máximos locais e global . . . 31

4.1 Treinamento do modelo proposto para Seleção e Ponderação . . . 38

4.2 Treinamento dos modelos propostos . . . 39

4.3 Estrutura de representação da solução . . . 40

(10)

Lista de Tabelas

6.1 Descrição das bases de dados utilizadas . . . 51 6.2 Taxas de acerto e desvios padrão (em %) obtidos pelo k-NN, com k variando de

1 a 9 . . . 52 6.3 Taxas de acerto e desvios padrão (em %) obtidos pelo Relief/k-NN . . . 54 6.4 Taxas de acerto e desvios padrão (em %), k vizinhos e f número de características

obtidos pelo SA/k-NN . . . 56 6.5 Taxas de acerto, desvios padrão (em %), k vizinhos e f número de características

obtidos pelo TS/k-NN . . . 58 6.6 Taxas de acerto, desvios padrão (em %), k vizinhos e f número de características

obtidos pelo SA/k-NN+Relief . . . 59 6.7 Taxas de acerto, desvios padrão (em %), k vizinhos e f número de características

obtidos pelo TS/k-NN+Relief . . . 60 6.8 Taxas de acerto e desvios padrão (em %) obtidas pelo k-NN, Relief/k-NN,

SA/k-NN, TS/k-NN, SA/k-NN + Relief, TS/k-NN + Relief . . . 60 6.9 Número de k vizinhos e quantidade f de características obtidas pelo k-NN,

(11)

Sumário

1 Introdução 12 1.1 Motivação . . . 12 1.2 Objetivos . . . 14 1.3 Descrição . . . 15 1.4 Organização da Dissertação . . . 16

2 Seleção e Ponderação de Características 17 2.1 Introdução . . . 17

2.2 Seleção de Características . . . 19

2.3 Processo de Seleção de Características . . . 20

2.3.1 Geração de Subconjuntos . . . 20

2.3.2 Avaliação de Subconjuntos . . . 22

2.4 Seleção versus Ponderação . . . 25

2.5 Relief . . . 26

2.6 k-NN . . . 27

2.7 Sumário . . . 28

3 Otimização Global de Conjuntos de Características 30 3.1 Introdução . . . 30

3.2 Simulated Annealing . . . 32

3.3 Tabu Search . . . 34

3.4 Simulated Annealing versus Tabu Search . . . 35

3.5 Sumário . . . 36

4 Metodologia para Seleção e Ponderação de Características Através de Otimização Global 37 4.1 Introdução . . . 37

4.2 Seleção e Ponderação Através de Tabu Search/k-NN . . . 39

4.2.1 Representação da Solução . . . 40 4.2.2 Solução Inicial . . . 41 4.2.3 Função Objetivo . . . 41 4.2.4 Geração de Vizinhança . . . 41 4.2.5 Critério de Parada . . . 42 4.2.6 Regra Tabu . . . 42

4.3 Seleção e Ponderação Através de Simulated Annealing/k-NN . . . 43

(12)

11

4.3.2 Esquema de Esfriamento . . . 43

4.4 Sumário . . . 44

5 Metodologia para Seleção e Ponderação que Integra Otimização Global e Local 45 5.1 Introdução . . . 45

5.2 Considerações Sobre o Uso do Relief . . . 47

5.3 Adaptações Feitas ao Relief . . . 48

5.4 Sumário . . . 49

6 Experimentos 50 6.1 Descrição das Bases de Dados . . . 50

6.2 Experimentos com k-NN . . . 51

6.2.1 Divisão e Pré-processamento da Base de Dados . . . 51

6.2.2 Metodologia de Treinamento . . . 51

6.2.3 Resultados Obtidos . . . 52

6.3 Experimentos com Relief /k-NN . . . 53

6.3.1 Divisão e Pré-processamento da Base de Dados . . . 53

6.3.2 Metodologia de Treinamento . . . 53

6.3.3 Resultados Obtidos . . . 54

6.4 Experimentos com SA/k-NN . . . 54

6.4.1 Divisão e Pré-processamento da Base de Dados . . . 54

6.4.2 Metodologia de Treinamento . . . 55

6.4.3 Resultados Obtidos . . . 56

6.5 Experimentos com TS/k-NN . . . 56

6.5.1 Divisão e Pré-processamento da Base de Dados . . . 57

6.5.2 Metodologia de Treinamento . . . 57

6.5.3 Resultados Obtidos . . . 57

6.6 Experimentos com SA/k-NN + Relief e TS/k-NN + Relief . . . 58

6.6.1 Divisão e Pré-processamento da Base de Dados . . . 58

6.6.2 Metodologia de Treinamento . . . 58

6.6.3 Resultados Obtidos . . . 59

6.7 Comparação Entre as Abordagens . . . 60

7 Conclusão 63 7.1 Considerações finais . . . 63

7.2 Contribuições . . . 64

7.3 Propostas de Trabalhos Futuros . . . 65

(13)

12 12 12

1

Introdução

Este capítulo apresenta a motivação desta dissertação, analisando os principais pontos envolvidos na etapa de seleção de características para reconhecimento de padrões. A Seção 1.1 discute brevemente o problema de seleção de características, expondo dificuldades frequente-mente encontradas neste processo, além de importantes aspectos que devem ser considerados no processo de seleção. Na Seção 1.2 e na Seção 1.3, são definidos, respectivamente, os objetivos e a descrição deste trabalho. Finalmente, a Seção 1.4 mostra como está estruturada a dissertação em capítulos.

1.1

Motivação

Uma das etapas primordiais no processo de classificação é a escolha de características. Nesta etapa são definidos quais atributos serão observados em um determinado objeto de forma que a partir deles o classificador consiga identificá-lo. A escolha apropriada das características é fundamental quando se projeta um sistema de classificação, pois, através de sua análise, o classificador deverá ser capaz de reconhecer a qual classe de objetos um determinado padrão pertence. Apesar da importância da extração no sucesso do sistema como um todo, trabalhos cujo foco está apenas no classificador são bastante frequentes na literatura.

Quanto mais difícil o problema de classificação, mais complicada é a escolha do conjunto de características. Não é trivial o trabalho de definir quais destas características são realmente importantes, ou seja, quais delas possuem informações discriminatórias dentro do domínio de classes considerado. Se selecionarmos características com bastante informação discriminatória, tornamos mais simples a tarefa de classificação, assim como o projeto do classificador. Caso não se consigam tais características, o desempenho do classificador fica comprometido.

Além de ser fundamental a escolha de características com forte poder discriminatório, também é importante que o processo de seleção elimine aquelas consideradas ruídos, que prejudicam o conjunto de características como um todo. Vale ressaltar que uma característica pode ser avaliada como boa quando analisada isoladamente, porém, quando considerada em conjunto com outras características, agrega pouco ou nenhum ganho devido ao alto grau de

(14)

1.1. MOTIVAÇÃO 13 correlação. Conhecimento prévio do problema e subjetividade são elementos comumente usados neste processo de escolha, apesar de serem métodos facilmente passíveis de erro devido à complexidade dos problemas reais.

O número de características observadas, de uma classe de objetos, pode ser imenso, chegando a milhares. Sabe-se também que quanto maior o número de características fornecidas como entrada para o classificador, maior a complexidade computacional associada, o que não é desejado. Um número grande de características se reflete diretamente em mais parâmetros do classificador (pesos sinápticos de uma rede neural ou pesos de um classificador linear, por exemplo). Nesse caso, não apenas o custo computacional é um fator problemático, mas também o aumento da dificuldade conceitual na modelagem do problema, praticamente impossibilitando que o trabalho seja feito por um analista.

É ideal a situação onde se consiga um número suficientemente pequeno de características de forma que ainda se mantenha a qualidade da informação e a capacidade de generalização. Seleção ou redução de características são os termos mais utilizados para essa área de estudos. Através de seleção consegue-se reduzir consideravelmente a complexidade da representação dos dados e, consequentemente o número de computações realizadas sobre eles e o tempo de processamento global. Além deste e dos demais benefícios já expostos, com a escolha das características "ótimas" é possível obter melhorias no desempenho do sistema de classificação. Em termos quantitativos, busca-se no espaço de soluções pelo grupo de características cuja distância inter-classes seja máxima e cuja variância intra-classe seja mínima. Isso quer dizer que para características da mesma classe é desejado que tenham valores próximos, em contrapartida, para aquelas que pertencem a classes diferentes é esperado que a diferença seja grande entre seus valores.

Enquanto seleção lida com a redução do número de características, ponderação preserva o tamanho original do conjunto de características, atribuindo a cada uma delas um peso de acordo com sua capacidade discriminatória. Através de ponderação de características é possível perceber a relevância de cada característica do grupo. O conceito de seleção é mais apropriado quando se quer responder se uma característica é ou não relevante (sim ou não). É uma tarefa binária: ou a característica é relevante e permanece no conjunto, ou não é e deve ser retirada.

Tendo em vista os bons resultados obtidos pelos sistemas de classificação através de seleção de características, esta etapa tem recebido crescente atenção no meio científico. Dentre as diversas abordagens investigadas na literatura, algumas tratam seleção como um problema de otimização onde se deseja obter o melhor subconjunto de características possível. Dada uma função de custo, como, diminuir o erro de classificação e o tamanho do conjunto de características, a solução é encontrada através da busca do ponto cujo custo seja mínimo. Dentre os trabalhos que abordam a tarefa de selecionar características como um problema de otimização estãoTAHIR; BOURIDANE; KORUGOLLU (2007) TAHIR et al. (2004)OLIVEIRA et al.

(2003)OLIVEIRA et al.(2002). Eles propõem o uso de algoritmos de buscaKIRKPATRICK;

(15)

1.2. OBJETIVOS 14 de características dentre as avaliadas.

Atualmente, existe um grande esforço na área de Inteligência Artificial no sentido de desenvolver sistemas híbridos, aqueles que envolvem mais de uma técnica na resolução de um problema. Esse esforço é motivado pela necessidade de complementar alguns aspectos de determinada técnica com aspectos de outra técnica, cada qual eficaz para um determinado tipo de problema. Existem técnicas que apesar de serem bastante eficientes para alguns casos, apresentam algumas limitações quando aplicadas a outros. É visando superar essas limitações que pesquisadores procuram combinar os pontos fortes de duas ou mais técnicas numa única abordagem híbrida.

O uso de abordagens híbridas tem trazido promissores resultados na tarefa de selecionar característicasTAHIR; BOURIDANE; KORUGOLLU(2007) TAHIR et al.(2004). Grande parte delas combina o uso de técnicas de otimização com um ou mais classificadores. Neste tipo de abordagem, à medida que os conjuntos de características são iterativamente selecionados pelo algoritmo de busca, eles são avaliados pelo classificador. Dessa foma, consegue-se escolher entre as diversas opções de combinação aquela cujo ganho na taxa de classificação seja maior.

1.2

Objetivos

Esta dissertação de mestrado estuda técnicas de seleção e ponderação de características, bem como as diferentes abordagens utilizadas para este fim presentes na literatura, suas vantagens e desvantagens.

É objetivo deste trabalho, investigar técnicas de seleção e ponderação simultâneas tendo em vista a melhoria da taxa de acerto do sistema de classificação, a diminuição dos conjuntos de características de entrada, e dessa forma, a complexidade do problema, além de diminuição do tempo global de processamento. Sendo assim, são propostos modelos que não somente controlam se uma determinada característica deve ser mantida ou não no conjunto, mas também associam à ela um grau de relevância dentro do mesmo.

Mais especificamente, serão propostos modelos híbridos de seleção e ponderação de características combinando técnicas de otimização global e local. Em todos os modelos propostos, será utilizado o classificador k-Vizinhos mais próximos, amplamente conhecido na literatura como k-NN (k-Nearest Neighbors)COVER; HART(1967), para avaliar os resultados gerados. O sistema proposto é, então, composto por duas etapas bem definidas: Seleção/Ponderação do conjunto de características e posterior avaliação do conjunto resultante através do k-NN.

Para fins de comparação com os modelos híbridos estudados aqui, também serão apre-sentados resultados obtidos apenas com o uso do k-NN, assim como apenas com a utilização do método local de seleção Relief KIRA; RENDELL(Menlo Park: AAAI Press/The MIT Press,

1992).

Vale ressaltar que como o objetivo deste trabalho é lidar com seleção e ponderação simultaneamente, a forma de representação das soluções pela metodologia a ser adotada deve

(16)

1.3. DESCRIÇÃO 15 contemplar estes aspectos de forma eficiente e de fácil utilização e adaptação a outros modelos híbridos que compartilhem este mesmo objetivo.

1.3

Descrição

A arquitetura de um sistema híbrido para seleção e ponderação de características englobou o estudo das principais técnicas utilizadas para cada uma destas tarefas isoladamente e, também, daquelas que conseguiram unir ambas tarefas num só modelo. Observou-se que a grande maioria das soluções, referentes ao segundo caso citado, são advindas de combinações de técnicas pré-existentes.

Nesta dissertação de mestrado foi utilizada a metodologia inicialmente proposta por Tahir et al. TAHIR; BOURIDANE; KORUGOLLU(2007), que utiliza seleção de características para melhorar o desempenho do k-NN. Neste trabalho, não apenas seleção é utilizada, mas também um peso é dado a cada característica do vetor. Dessa forma, as características não são totalmente descartadas, mas um fator fornecendo um peso é associado à cada uma delas. A metodologia de Tahir et al. contempla não só a representação de quais características estão selecionadas, como também qual o valor do peso associado a elas. Indo além, sua representação inclui como variável otimizável o fator k do k-NN.

Dentre os modelos híbridos encontrados na literatura para o problema de selecionar e ponderar características, grande parte utiliza métodos globais na busca pela solução. Sabe-se, no entanto, que existem métodos de busca local comprovadamente eficientes, como o Relief e seus derivados.

Enquanto os métodos de busca global buscam no espaço de erro o ponto de mínimo global baseados apenas em informações sobre a superfície da funçãoYAO(1999), os métodos de busca local utilizam-se de informações locais da função de erro, para se aproximar de um ponto de mínimo dessa função. Um exemplo típico de algoritmo de convergência local é o Backpropa-gation, excelente para determinar qual a direção e o valor de ajuste dos pesos adequados para caminhar de um ponto no espaço em direção ao mínimo local iterativamente. Por não se basear em informações do gradiente para convergir, algoritmos de otimização global são aplicáveis a quaisquer funções, sejam elas diferenciáveis ou não (ao contrário do Backpropagation, por exemplo).

Expostas as vantagens das abordagens global e local, considera-se a união de métodos de otimização global com métodos de convergência local uma abordagem interessante para a otimização de conjuntos de características, uma vez que, o método de otimização age em busca de uma melhor região no espaço global e o método de convergência local faz um ajuste mais refinado dos parâmetros do sistema para que esta chegue ao ponto mínimo daquela região. Os algoritmos de convergência global estudados neste trabalho, assim como emTAHIR;

BOURI-DANE; KORUGOLLU(2007), foram Tabu Search (TS)GLOVER(1986)HANSEN(1986) e

(17)

utilizou-1.4. ORGANIZAÇÃO DA DISSERTAÇÃO 16 se algoritmos baseados no Relief, algoritmos utilizados com sucesso na tarefa de selecionar e ponderar características, respectivamente.

O modelo proposto neste trabalho realiza busca global do melhor grupo de características, através dos supra-citados algoritmos TS e SA, seguida de busca local pelo Relief e posterior classificação pelo k-NN. Espera-se que os resultados trazidos pelo modelo híbrido sejam mais eficientes que aqueles obtidos quando da execução de métodos globais apenas. Vale ressaltar que todas as abordagens utilizadas neste trabalho foram implementadas segundo consta na revisão bibliográfica.

1.4

Organização da Dissertação

O Capítulo 2 apresenta uma introdução aos temas seleção e ponderação de características. Ambas as abordagens são descritas com maiores detalhes. Além disso, é dado destaque às principais técnicas propostas na literatura para cada um dos temas mencionados.

O Capítulo 3 traz os conceitos relacionados a algoritmos de busca global e local. Também são expostas algumas das técnicas importantes para a concepção deste trabalho.

No Capítulo 4 é descrita a metologia utilizada para seleção e ponderação simultânea de características. Neste capítulo o destaque é a representação das soluções para contemplar ambas as abordagens simultaneamente. Além disto, é apresentado o mecanismo de geração de novas soluções a partir de uma solução inicial.

O modelo híbrido proposto neste trabalho é apresentado no Capítulo 5. Maiores detalhes de como foram combinados os algoritmos de busca global com os de convergência local para seleção e ponderação serão fornecidos neste capítulo.

No Capítulo 6 constam os experimentos e resultados realizados com cada uma das técni-cas investigadas. Em todos eles são consideradas não somente a taxa de acerto de classificação, como também o tamanho resultante do conjunto de características.

Finalmente, o Capítulo 7 tece as considerações finais sobre este trabalho. São destacados ao final deste capítulo as principais contribuições desta dissertação e propostas de trabalhos futuros.

(18)

17 17 17

2

Seleção e Ponderação de Características

Este capítulo apresenta conceitos relacionados à Seleção e à Ponderação de Caracterís-ticas. Nele, discute-se o porquê de sua utilização (o custo envolvido, a redução da dificuldade de modelar o problema, os ganhos nas taxas de classificação, etc.) e sua importância dentro da grande área de reconhecimento de padrões. A Seção 2.1 introduz e contextualiza o tema. A Seção 2.2 traz maiores detalhes acerca de Seleção de Características, enquanto na Seção 2.3 são classificadas e descritas as duas etapas mais importantes do procedimento de Seleção: Geração e Avaliação dos subconjuntos. Além disto, a Seção 2.4 aborda Ponderação e faz um breve confrontamento entre esta técnica e as baseadas em Seleção. A Seção 2.5 apresenta o Relief e a Seção 2.6 discute o k-NN, algoritmos fundamentais na construção deste trabalho de dissertação. Por último, a Seção 2.7 é um sumário do capítulo.

2.1

Introdução

Seleção de Características é uma das etapas de pré-processamento em sistemas de reconhecimento de padrões. Ela consiste em definir atributos ou variáveis que sejam capazes de representar bem uma determinada classe de objetos. Através destas variáveis pré-definidas, o módulo classificador do sistema deve ser capaz de reconhecer a qual classe um dado objeto de entrada pertence. Um outro ponto importante é que, em problemas de classificação, as características escolhidas precisam ser capazes de diferenciar as classes entre si. Ou seja, além de definir bem cada uma das classes envolvidas, é esperado que o conjunto de características seja capaz de discriminá-las. Devido à sua importância, esta etapa deve demandar uma atenção especial durante a modelagem de sistemas de reconhecimento.

No entanto, nem sempre é simples a escolha de quais características são realmente rele-vantes e discriminantes para a representação de uma determinada classe de padrões. Dependendo da complexidade do problema abordado, o completo entendimento de como as diversas variáveis influenciam no reconhecimento é uma tarefa extremamente difícil.

O número de características observadas de uma classe de objetos pode ser imenso, chegando a milhares. Com o avanço do poder de armazenamento e processamento de dados, já

(19)

2.1. INTRODUÇÃO 18 é uma realidade a necessidade de sistemas que analizem a qualidade desses dados e eliminem aquilo considerado inútil. Entenda-se por inútil informações redundantes, ruidosas ou que agreguem pouco ou nenhum valor ao objetivo final. Existe um grande esforço nas áreas de aprendizagem de máquina e mineração de dados na tentativa de descobrir informações relevantes em grandes volumes de dados. Para exemplificar, o tamanho de um conjunto de dados pode ser medido em duas dimensões: o número de características (N) e a quantidade de instâncias armazenadas (M). Percebe-se facilmente que casos onde M e N têm valores enormes, são casos especialmente complexos para sistemas de reconhecimento de padrões e que envolvem maior custo computacional.

É perceptível que quanto maior o número de características fornecidas como entrada para o classificador, maior a complexidade computacional associada, o que não é desejado. Um número grande de características se reflete diretamente em mais parâmetros do classificador. Viu-se também que não apenas o custo computacional é um fator problemático, mas também o aumento da dificuldade conceitual na modelagem do problema.

Seleção ou Redução de Características são os nomes dados à área de estudos que objetiva conseguir um número suficientemente pequeno de características de forma que ainda se mantenha a qualidade da informação e a capacidade de generalização. Através de Seleção consegue-se reduzir consideravelmente a complexidade da representação dos dados e, consequentemente, o número de computações realizadas sobre eles e o tempo de processamento global. Além deste e dos demais benefícios já expostos, com a escolha do subconjunto ótimo de características é possível obter melhorias no desempenho do sistema de classificação.

Dentro do contexto de Mineração de Dados, Seleção de Características desempenha um papel muito relevante. Mineração de dados tem como peculiaridade o trato com grandes quantidades de dados em busca de informações consideradas preciosas, aquelas que não são facilmente encontradas pelos métodos convencionais de análise de dados. Sabe-se que mineração de dados requer um grande esforço multi-disciplinar, envolvendo áreas como: aprendizagem de máquina, banco de dados e estatística, entre outras. Além da óbvia redução do montante de dados a ser analisado, Seleção de Características possibilita ainda o aumento da qualidade desses dados, uma vez que há uma forte tendência de remoção de redundâncias, de informações irrelevantes e de ruídos. Como já foi brevemete discutido neste trabalho, uma consequência imediata da redução de características é a diminuição do tempo de processamento. Esta redução do conjunto de dados viabiliza, inclusive, a utilização de algoritmos considerados mais lentos, mas que podem trazer melhores resultados. Somado a isto, a diminuição da dimensionalidade e complexidade na representação das informações torna mais compreensível o problema estudado, já que facilita sua modelagem conceitual.

(20)

2.2. SELEÇÃO DE CARACTERÍSTICAS 19

2.2

Seleção de Características

O processo de selecionar características pode ser definido como a escolha do mínimo subconjunto (com n características) retiradas de um conjunto matriz (contendo N características), tal que n ≤ N. Em outras palavras, o espaço original de características é reduzido segundo algum critério de avaliação. À medida que o tamanho da dimensionalidade do domínio cresce, também o número N de características é aumentado de modo que a busca pela melhor combinação de características é considerada um problema intratávelKOHAVI; JOHN(1997). Inclusive, muitos dos problemas relacionados à Seleção foram comprovadamente classificados como integrantes da categoria NP-DifícilBLUM; RIVEST(1992), ou seja, não existe um algoritmo de complexidade de tempo polinomial que os resolva.

Em termos gerais, um algoritmo de Seleção de Características possui 4 etapasDASH; LIU (1997) (que podem ser vistas na Figura 2.1): geração de subconjuntos, avaliação dos mesmos, critério de parada e validação dos resultados finais.

A etapa de geração de subconjuntos consiste em criar conjuntos menores a partir de um conjunto original. É basicamente um procedimento de busca, no qual conjuntos são formados para avaliação posterior. Uma solução aparentemente simples é a busca exaustiva, onde todas as possíveis soluções são visitadas em busca da melhor. Porém, esta solução é extremamente custosa e, dependendo do número de características do problema, pode ser uma alternativa inviável. Assumindo que N representa o número de características componentes do conjunto matriz, tem-se 2N possibilidades de formação de subconjuntos.

Figure 2.1: Etapas de um processo de Seleção de Características

Cada grupo de características advindo da etapa de geração é, então, submetido à avaliação. Neste estágio, o novo subconjunto é avaliado de acordo com algum critério e comparado ao melhor conjunto obtido até então. Caso o novo seja considerado superior, ele é adotado como sendo o melhor. Caso contrário, ele é descartado.

A menos que se deseje gerar e avaliar todas as possibilidades de solução, é preciso definir regras para que o procedimento pare caso algum(ns) critério(s) seja(m) alcançado(s). Critério(s)

(21)

2.3. PROCESSO DE SELEÇÃO DE CARACTERÍSTICAS 20 este(s) que pode(m) ser, por exemplo: (1) um número pré-fixado de iterações alcançado, (2) uma meta de avaliação considerada satisfatória obtida, (3) uma boa quantidade de características foi descartada, ou (4) novas adições/remoções de características não melhoram o resultado depois de algumas iterações.

Por fim, o melhor conjunto obtido a partir dos estágios já descritos precisa ser validado através da execução de uma série de testes. Esta validação tem como objetivo verificar se realmente aquele subconjunto é de qualidade e se, de fato, melhorou o desempenho do sistema quando comparado ao conjunto de características original.

Na seção seguinte, maiores detalhes sobre as etapas do processo de Seleção são apresen-tados.

2.3

Processo de Seleção de Características

Cada uma das etapas que compõem o processo de Seleção é objeto de pesquisa pelo meio acadêmico. A primeira delas, Geração, é das mais importantes. Dentre os principais aspectos estudados estão: como deve ser feita a busca por soluções no espaço, qual o ponto de partida desta busca, quais as direções de movimentação durante a busca e quais as estratégias que serão utilizadas.

Outra etapa importante é de Avaliação, que tem como função medir a qualidade das características geradas. Basicamente existem 2 critérios para avaliá-las, um que depende de um classificador e outro que fornece informações de relevância independentemente do classificador adotado.

A seguir, as duas principais etapas envolvidas no processo de Seleção são detalhadas: Geração e Avaliação. Também são dispostas algumas categorias de algoritmos que se enquadram em cada um destes estágios.

2.3.1

Geração de Subconjuntos

Como já mencionado, esta etapa é a responsável por criar conjuntos a partir do conjunto de características original. Para o processo de criação, alguns elementos são importantes e precisam ser bem definidos: (1) o ponto inicial da busca, (2) a sua direção e (3) a sua estratégia. Basicamente estes 3 elementos são comuns e indispensáveis em qualquer algoritmo de Seleção em sua etapa de criação de conjuntos candidatos e são discutidos com maiores detalhes nos itens a seguir.

Ponto inicial

Antes de mais nada, é preciso definir um ponto inicial no espaço de busca. Qual deve ser a primeira configuração de características submetida ao processo de avalição e que será matriz

(22)

2.3. PROCESSO DE SELEÇÃO DE CARACTERÍSTICAS 21 para a geração das próximas soluções? Esta é uma escolha crucial, a depender do algoritmo utilizado. Sabe-se que alguns algoritmos tendem a ficar presos em máximos locais da função de busca, o que torna a escolha do ponto de partida um fator determinante para o sucesso do sistema. Para estes algoritmos, é ideal que o ponto inicial esteja numa região próxima ao máximo global para que se consiga alcançá-lo através de convergência. Maiores comentários acerca de máximos locais e globais do espaço de busca serão tecidos no Capítulo 3.

Uma alternativa que se usa frequentemente na obtenção da solução de partida é o uso de valores aleatórios na atribuição inicial de seus parâmetros ou, ainda, através de alguma heurística iniciá-los com valores "neutros" pré-estabelecidos tais como 0 ou 1. É comum, por exemplo, que vetores de pesos reais tenham todos seus elementos nulos inicialmente, ou que vetores binários sejam totalmente preenchidos com valor 1.

Direção da Busca

Após a decisão do ponto de partida no espaço, parte-se para a direção da busca. Uma das possibilidades é partir de um conjunto vazio e ir, gradativamente, inserindo elementos neste conjunto. Esta abordagem é conhecida como Forward. A cada iteração, a(s) melhor(es) característica(s) obtida(s) através de algum critério de avaliação é(são) inserida(s) no subconjunto resultante. Este procedimento se repete até que o subconjunto atinja o tamanho do conjunto original ou que algum outro critério de parada seja satisfeito. Para o caso no qual o número original de características é atingido, apesar da dimensão do conjunto não ter sido reduzida, houve um processo de Seleção e o melhor conjunto encontrado foi o original. Dois algoritmos tradicionais deste tipo de busca são o Sequential Forward Search (SFS)DEVIJVER; KITTLER

(1982) e o Sequential Forward Floating Selection (SFFS)PUDIL; NOVOVICOVA; KITTLER

(1994).

Uma outra heurística é partir do conjunto completo e, aos poucos, ir eliminando as características avaliadas como menos relevantes. Contrário ao método Forward, este é con-hecido como Backward. O conjunto vai diminuindo até que reste apenas uma característica ou que seja alcançado algum dos critérios de parada. Os algoritmos Sequential Backward Search(SBS)DEVIJVER; KITTLER(1982) e Sequential Backward Floating Selection (SBFS)

PUDIL; NOVOVICOVA; KITTLER(1994) são bastante populares nesta abordagem de busca

por eliminação.

Na comparação entre a abordagem Forward e a Backward geralmente a primeira é tida como mais veloz, uma vez que parte-se de um conjunto menor e, aos poucos, características vão sendo inseridas e avaliadas. No entanto, a busca Forward tende a gerar subconjuntos com menor capacidade representativa e discriminatória, já que não consideram as características que ainda não estão incluídas no grupo em sua avaliação. Sabe-se que algumas características podem estar fortemente relacionadas entre si, de forma que só agregam algum valor no grupo quando da sua avaliação conjunta. A análise isolada de alguma destas características pode não revelar sua

(23)

2.3. PROCESSO DE SELEÇÃO DE CARACTERÍSTICAS 22 importância dentro do grupo e, equivocadamente, levar à eliminação de algumas delas. Este é o principal argumento para a defesa de buscas por eliminação Backward. Uma situação onde a abordagem Forward é tida como mais eficiente é aquela onde, por alguma razão, se deseja reduzir o conjunto original de forma a obter apenas uma característica como discriminante. Neste caso, a análise individual das características é a mais apropriada e, portanto, justifica a utilização de métodos incrementais Forward.

Uma terceira alternativa é o método aleatório de geração. Parte-se de uma solução escolhida aleatoriamente e, também de forma aleatória, características vão sendo adicionadas ou excluídas. Não existe uma direção definida a ser seguida, numa tentativa de fugir de pontos de máximo (ou mínimo) locais.

Estratégia da Busca

Também se faz necessária a escolha de uma estratégia de busca. Já foi discutido que a opção de busca exaustiva é computacionalmente muito cara, muitas vezes inviável. Existem três tipos de estratégias de busca alternativas à busca exaustiva: completa, heurística e não-determinísticaLIU; MOTODA(1998).

A busca completa parte do princípio de que não é preciso examinar absolutamente todas as soluções possíveis para garantir a solução ótima. Uma busca completa não necessariamente precisa ser exaustiva. É possível assegurar que chegou-se à melhor solução do espaço de busca desde que a sua função tenha propriedades que facilitem a descoberta do mínimo global (monotonicidade, por exemplo). Para exemplificar uma busca completa que não é exaustiva, tomemos a função Gaussiana, um típico caso de função cujas características são bem conhecidas. Sabe-se que ela possui um ponto de máximo apenas, logo, não é preciso percorrer toda a função para que tenhamos a busca pelo máximo dada por encerrada.

A estratégia heurística, como o nome indica, emprega heurística na busca. Tem a vantagem de não ser tão lenta quanto a busca completa, porém corre o risco de "perder" soluções ótimas. O DTMCARDIE(1993) e o Relief KIRA; RENDELL(Menlo Park: AAAI Press/The

MIT Press, 1992), por exemplo, são algoritmos que utilizam heurística.

Diferentemente das estratégias anteriores, a não-determinística utiliza busca aleatória pelas soluções, isto é, a solução atual não foi obtida deterministicamente a partir de uma solução anterior. Geralmente se estabelece um número máximo de iterações para que a busca pare. Uma estratégia determinística sempre fornece a mesma resposta para um dado conjunto de entrada, ao contrário da não-determinística.

2.3.2

Avaliação de Subconjuntos

Durante este capítulo, foram citados algumas vezes os termos solução ótima ou conjunto de características ótimo. Obviamente, o conceito de ótimo está atrelado a algum critério de

(24)

2.3. PROCESSO DE SELEÇÃO DE CARACTERÍSTICAS 23 avaliação, ou seja, uma solução pode ser considerada ótima segundo um determinado critério e não ter a mesma avaliação quando um critério diferente é empregado.

Um aspecto importante que será discutido nesta seção é como medir a qualidade de um conjunto de características. Existem na literatura diferentes abordagens de avaliação desses conjuntos. É comum a divisão das técnicas de Seleção de Caraterísticas em duas categorias: filtragem e wrappers. A primeira delas diz respeito ao uso de funções de avaliação que consid-eram apenas propriedades dos dados sem considerar algum algoritmo específico de classificação, como pode ser visto na Figura 2.2. Um bom exemplo de seleção por filtragem são os algoritmos que empregam algum critério para distribuir pontos para cada característica, os rankers, estabele-cendo assim níveis de importância. Com esta técnica é possível selecionar manualmente quais características se deseja manter no grupo, ou ainda, através da definição de um limiar, onde as características que obtiverem pontuação maior que a estabelecida pelo limiar são integradas ao conjunto resultante.

Figure 2.2: Seleção por Filtragem, na qual as características são filtradas independentemente de um algoritmo de classificação

Os métodos wrapper envolvem a avaliação do conjunto de características por meio de um algoritmo de classificação, como mostra a Figura 2.3. Este último tem a vantagem de utilizar como critério de avaliação um classificador, já que, afinal de contas, é objetivo final do problema elevar as taxas de classificação. Assim, ao passo que as características são selecionadas, está sendo melhorado o desempenho de classificação. No entanto, deve-se salientar que esta melhoria está fortemente vinculada ao classificador usado. Isto quer dizer que a seleção através de um determinado algoritmo wrapper não garante que os resultados serão satisfatórios para outros classificadores.

Os critérios de avaliação wrapper e de filtragem podem ainda receber outra denominação com base na dependência do algoritmo de aprendizagem aplicado: independentes ou dependentes.

O critério independente, tipicamente utilizado em modelos de filtragem, avalia a qual-idade do conjunto de características sem o envolvimento de um algoritmo de aprendizagem. Existem algumas justificativas que defendem a utilização de filtrosGUYON; ELISSEEFF(2003). Uma delas é a de que métodos que realizam filtragem são considerados mais rápidos que os

(25)

2.3. PROCESSO DE SELEÇÃO DE CARACTERÍSTICAS 24

Figure 2.3: Seleção por Wrappers, no qual é usado um algoritmo de classificação

wrappers. Outro argumento é o de que alguns filtros (por exemplo, aqueles baseados no critério de informação mútuaCOVER; THOMAS(1991)) fornecem uma seleção genérica de caracterís-ticas, ao contrário daqueles cuja seleção está vinculada a um determinado classificador. Mais uma vantagem da filtragem é a possibilidade de utilizá-la como pré-processamento, reduzindo a dimensionalidade dos dados de entrada.

Métodos independentes que avaliam a relevância de uma característica ou de um conjunto delas são comuns na literatura. Entre esses métodos estão as medidas de distância ou medidas de separabilidade. Segundo eles, uma característica é considerada influente se ela induz a uma grande diferença entre as classes. Se a diferença for nula, a característica não fornece informações discriminatórias para as classes analisadas. Um bom exemplo desta medida é a distância Euclidiana.

Uma outra categoria de métodos independentes são as medidas de informação que, como o nome sugere, determinam o ganho de informação obtido com o uso de uma característica. Uma característica f1é considerada melhor que f2se o ganho de informação obtido com f1for maior

que o conseguido com o uso de f2(por exemplo, medidas de entropia)BEN-BASSAT(1982).

Também entram no grupo de métodos que independem de um algoritmo de classificação para avaliar a relevância das características as medidas de dependência ou correlação. O coeficiente de correlação é um exemplo clássico de medida para encontrar a dependência entre uma característica e uma classe. É possível ainda determinar a correlação de uma característica em relação a outras características, obtendo, assim, o grau de redundância entre elas. Apesar de medidas de correlação se classificarem muitas vezes como medidas de distância ou de informação, são consideradas uma categoria à parte do ponto de vista conceitualBEN-BASSAT(1982).

Rankerssão algoritmos independentes que se utilizam de alguma das medidas citadas acima para nivelar os atributos KIRA; RENDELL (1992) HOLMES; NEVILL-MANNING

(26)

2.4. SELEÇÃO VERSUS PONDERAÇÃO 25 O critério dependente avalia a qualidade de uma solução com base no desempenho do algoritmo de aprendizagem. Em outras palavras, um conjunto de características é considerado bom quando o sistema de classificação responde bem a ele. Este critério baseia suas respostas totalmente no desempenho do classificador. Com base no exposto, os algoritmos wrapper são categorizados como dependentes.

Por se utilizarem da resposta do classificador, wrappers conseguem ser mais eficientes na busca por melhores conjuntos de características já que minimizam (ou maximizam) diretamente a função objetivo.

São exemplo de algoritmos dependentes o Hill-Climbing, o Simulated Annealing

KIRK-PATRICK; JR.; VECCHI (1983) e o Tabu Search GLOVER (1986) HANSEN (1986), que

buscam por soluções que melhorem diretamente o resultado do classificador.

Além das duas categorias citadas, existe um grande esforço no que diz respeito aos métodos híbridos, aqueles que agrupam características de ambas, combinando suas vantagens em um único modelo. O presente trabalho se enquadra nesta última categoria.

2.4

Seleção versus Ponderação

Enquanto Seleção lida com a redução do número de características, Ponderação é um método que preserva o tamanho original do conjunto, com a particularidade de associar um peso a cada característica de acordo com sua habilidade discriminatória. Através de Ponderação é possível observar a relevância de cada característica dentro do grupo.

O uso de Seleção é apropriado quando se quer manter ou eliminar características. Do ponto de vista prático, o que se faz é retirar da matriz de entrada as colunas que não foram selecionadas pelo algoritmo de Seleção. É uma tarefa binária: ou a característica fica no grupo, ou é removida. A Figura 2.4 ilustra bem como é seu funcionamento. Note que há um valor de relevância relacionado à cada coluna. Quanto maior este valor, mais importante é a característica dentro deste contexto. Pode-se perceber que os atributos cujo grau de relevância era muito baixo (em destaque na Figura), foram eliminados.

Já a Ponderação é encorajada quando se deseja descobrir o quão relevantes são as carac-terísticas dentro de seu grupo. Ao contrário da Seleção, não há redução no conjunto de entrada. O que acontece é a associação de valores reais a cada atributo representado através de colunas. Como o próprio nome sugere, as características a são ponderadas por seus pesos w, formando, assim, o novo conjunto de entrada (vide Figura 2.5). Note que para cada coluna ai jque representa

um atributo existe apenas um peso wirelacionado. Vale salientar que o número de características

do conjunto original permanece o mesmo após a ponderação.

Métodos de ponderação de características podem ser divididos em 2 categorias: paramétri-cos e não-paramétriparamétri-cos. A entre outras) e, dessa forma, medem sua relevância. Entre as técnicas

(27)

2.5. RELIEF 26 m-2 características Graus de relevância 0.1 0.8 0.2 . . . 0.6                 = m n n n n m m m a a a a a a a a a a a a a a a a X , 3 , 2 , 1 , , 3 3 , 3 2 , 3 1 , 3 , 2 3 , 2 2 , 2 1 , 2 , 1 3 , 1 2 , 1 1 , 1 L M O M M M L L L                 = m n n n n m m m a a a a a a a a a a a a a a a a X , 5 , 4 , 2 , , 3 5 , 3 4 , 3 2 , 3 , 2 5 , 2 4 , 2 2 , 2 , 1 5 , 1 4 , 1 2 , 1 ' L M O M M M L L L

Figure 2.4: Seleção de atributos segundo seu grau de relevância

                = m n n n n m m m a a a a a a a a a a a a a a a a X , 3 , 2 , 1 , , 3 3 , 3 2 , 3 1 , 3 , 2 3 , 2 2 , 2 1 , 2 , 1 3 , 1 2 , 1 1 , 1 L M O M M M L L L                 m w w w w M 3 2 1 . * .                 = m n m n n n m m m m m m a w a w a w a w a w a w a w a w a w a w a w a w a w a w a w a w X , 3 , 3 2 , 2 1 , 1 , 3 3 , 3 3 2 , 3 2 1 , 3 1 , 2 3 , 2 3 2 , 2 2 1 , 2 1 , 1 3 , 1 3 2 , 1 2 1 , 1 1 ' L M O M M M L L L

Figure 2.5: Ponderação de características

de distribuição paramétrica, um exemplo é LDA (Linear Discriminant Analysis) - Análise Dis-criminante LinearLACHENBRUCH; MICKEY(1968). Esta técnica assume que os dados de cada classe seguem a distribuição normal e tem como objetivo, simultaneamente, maximizar a distância inter-classes e minimizar a distância intra-classes.

Os métodos não-paramétricos de ponderação, ao contrário dos paramétricos, não fazem nenhuma suposição acerca da distribuição dos dados. Um bom exemplo de algoritmo não-paramétrico é o ReliefFKONONENKO(Catalania, Italy, 1992.). Ele mede a relevância de uma característica em termos da diferença entre o padrão de teste e padrões da mesma classe (hits) e padrões de outras classes (misses). A importância da característica é obtida então pela média da relevância observada em todo o treinamento.

2.5

Relief

Na seção anterior, foram detalhadas as etapas de um processo genérico de Seleção de Características. Foi dada ênfase nas etapas de Geração e Avaliação, uma vez que são consideradas as mais importantes. Nesta seção, será apresentado o Relief KIRA; RENDELL(Menlo Park:

AAAI Press/The MIT Press, 1992), algoritmo que se enquadra na categoria de estratégia de

busca heurística e avaliação independente.

A idéia chave por trás do Relief é medir a relevância de uma característica em termos da diferença entre o padrão de teste e padrões da mesma classe (chamados de hits ou acertos) e padrões de outras classes (chamados misses ou erros). Dada uma instância X de um conjunto de

(28)

2.6. K-NN 27 dados S, com D atributos, o Relief busca no conjunto dois padrões mais próximos: o primeiro, da mesma classe de X (hit H), e o segundo, de classe diferente (miss M).

Um vetor W é mantido com os valores atuais de estimativas de importância de cada característica f . Ele é atualizado de acordo com a diferença entre X , M e H. O processo de atualização é repetido T vezes, sabendo que T é uma parâmetro ajustável pelo usuário. A equação 2.1 define como este ajuste de W é feito.

Wi= Wi+ |Xi− Mi| − |Xi− Hi|  2.1 O pseudo-código do Relief é apresentado no Algoritmo 1. Note que T é o único critério de parada definido no algoritmo original e, portanto, sua escolha é determinante no sucesso da aplicação. Valores de T muito pequenos podem ser insuficientes para o aprendizado do algoritmo. Já valores muito altos podem causar ajuste excessivo aos padrões de treinamento, causando perda na qualidade de generalização para padrões desconhecidos.

Algorithm 1 Pseudo-código do Relief

1: Inicialização: Dado S = (xn, yn)Nn=1

2: Wi= 0, 1 ≤ i ≤ D, sendo D o número de características 3: Definir número T de iterações

4: for t = 1 to t = T do

5: Selecionar um padrão aleatório X de S 6: Encontrar os padrões hit H e miss M

7: for i = 1 to i = D do

8: Calcular Wi= Wi+ |Xi− Mi| − |Xi− Hi| 9: end for

10: end for

Uma das maiores vantagens do Relief é sua eficiência. A sua complexidade para um conjunto com N instâncias é O(T DN). Entre suas limitações está o fato de não remover características redundantes e, talvez a maior delas, ele só funciona para problemas com duas classes. Esta última limitação foi tratada pelo ReliefF, que além disto também lida com dados incompletos.

2.6

k-NN

É muito comum em problemas reais, a não existência de informações das funções de densidade de probabilidade das classes, ou não é possível descrevê-las parametricamente devido à sua alta-dimensionalidade. O k-NN ou k-Vizinhos mais próximos é um método não paramétrico de estimação de probabilidade que pode ser utilizada nos casos citados. Neste método, as estimativas são feitas baseadas no conjunto de dados amostrais, que podem ou não representar bem o problema real de acordo com a qualidade da amostra.

(29)

2.7. SUMÁRIO 28 Durante o processo de classificação, a classe de um padrão X é dada pela observação dos seus k vizinhos mais próximos, ou seja, X será classificado como sendo da classe mais frequente dentre os padrões vizinhos mais próximos. O valor de k, por sua vez, deve ser previamente determinado e sua escolha é geralmente feita através de experimentações.

O processo de classificação por k-NN possui duas fases: treinamento e testes. Na fase de treinamento, todos os padrões do conjunto de treinamento são armazenados na memória. Na fase de testes é avaliado o desempenho do classificador com relação a novos padrões, que não fizeram parte do conjunto de treinamento. Durante a etapa de testes, o algoritmo deve encontrar, para cada instância de teste X , os k-Vizinhos mais próximos pertencentes à base de treinamento. Então, o padrão X é classificado com a classe mais frequente dentre os vizinhos.

Apesar da simplicidade do algoritmo, que é basicamente a comparação do padrão de testes com os armazenados no treinamento, ele possui alguns pontos fracos. Um deles é justamente a necessidade de armazenamento de todos os padrões de treinamento, o que dependendo do tamanho deste conjunto, implica em um custo computacional muito alto. Não somente o custo de armazenamento é alto, mas também o de processar as comparações necessárias para classificar um novo padrão, pois, o mesmo precisa ser comparado a todos os padrões armazenados para que se obtenha a classe mais frequente.

2.7

Sumário

Este capítulo apresentou Seleção e Ponderação de Características e sua importância para reconhecimento de padrões. Foi visto que reduzir o conjunto de características é possível de ser realizado sem perdas na qualidade das informações ou com perdas insignificantes para o problema em questão. Redução no custo computacional, diminuição da dificuldade de um entendimento mais abrangente do problema e aumento das taxas de classificação são fatores que motivam e justificam o investimento neste tema. Foi destacada a relevância de redução no conjunto de características para o caso especial de algoritmos ou sistemas de mineração de dados, pelo fato de lidarem com enormes montantes de dados (leia-se: quantidade de instâncias armazenadas multiplicada pelo número de características coletadas). A diminuição do conjunto de características neste caso, representa uma enorme economia de recursos e possibilita, en-tre outras coisas, que soluções reconhecidamente mais eficientes, porém mais lentas, sejam experimentadas.

Foi visto, em termos gerais, um processo genérico de Seleção de Características e suas etapas. Duas delas (Geração e Avaliação) tiveram destaque por serem consideradas as mais importantes dentro do processo. Foram, então, apresentadas as classificações e técnicas mais comuns na literatura referentes a cada uma destas etapas.

Ainda foi apresentado o conceito de Ponderação através da comparação com Seleção. Enquanto Seleção tem como objetivo reduzir o conjunto de características, ponderação apenas

(30)

2.7. SUMÁRIO 29 atribui pesos a cada uma delas de acordo com sua relevância dentro do conjunto. Tanto Seleção quanto Ponderação trazem benefícios para a qualidade do conjunto de atributos. Note que o emprego de um destes métodos não impede o do outro, sendo, portanto, métodos possíveis de utilização conjunta. Seleção traz todas as vantagens na redução de custos e aumento na qualidade da informação já amplamente discutidas e Ponderação agrega ainda mais qualidade da informação apontando o grau de relevância de cada atributo do conjunto selecionado. Esta combinação de Seleção com Ponderação já vem sendo pesquisada no meio científico com resultados proeminentesTAHIR; BOURIDANE; KORUGOLLU(2007)TAHIR et al.(2004). Vale ressaltar que este trabalho utilizou Seleção e Ponderação simultaneamente para a obtenção de melhores resultados.

Foi descrito um dos algoritmos de filtragem mais bem sucedidos na literatura: o Re-lief. Ele serve como base para inúmeros outros algoritmos tais como ReliefF, Simba

GILAD-BACHRACH; NAVOT; TISHBY(2004) e i-Relief SUN(2007), assim como, para a solução

proposta nesta dissertação.

Finalmente, foi apresentado o algoritmo k-NN, bastante popular em trabalhos que envolvem aprendizagem de máquina. O k-NN é de fundamental importância neste trabalho, pois, foi o classificador utilizado para avaliar a qualidade dos conjuntos gerados em todos os processos de Seleção discutidos nesta dissertação.

No próximo capítulo serão abordados conceitos relacionados a Seleção de Características através de técnicas de Otimização. Serão apresentados os termos otimização global e local, além de discutida a importância da escolha correta de um ponto inicial de busca, da estratégia e da direção. Alguns algoritmos de otimização importantes para este trabalho serão apresentados.

(31)

30 30 30

3

Otimização Global de Conjuntos de

Carac-terísticas

Esta dissertação tem como principal objetivo propor um modelo de Seleção e Ponderação de características. Para isto, foram investigadas algumas técnicas de Seleção envolvendo otimiza-ção. O que é otimização, a diferença da otimização local para a global, pontos fortes e fracos de cada uma delas e algumas técnicas importantes para a compreensão deste trabalho são alguns dos itens que constam na Seção 3.1. As duas seções posteriores, Seção 3.2 e Seção 3.3, apresentam respectivamente os dois algoritmos de otimizãção global utilizados neste trabalho: Simulated Annealinge Tabu Search. Em seguida, esses algoritmos são confrontados na Seção 3.4. Por fim,

a Seção 3.5 traz considerações finais acerca do capítulo.

3.1

Introdução

Antes da descrição dos algoritmos de otimização global utilizados neste trabalho, é importante discutir a diferença entre otimização local e global. Existem na literatura métodos baseados na informação do gradiente. Eles usam esta informação local para se mover na direção de um ponto de máximo ou mínimo da função.

Algoritmos de gradiente descendente, como o Backpropagation, são considerados méto-dos de convergência local, pois, utilizam-se de informações sobre o gradiente da função de custo, que são informações locais, para se aproximar de um ponto de máximo dessa função. Dessa forma, o Backpropagation é excelente para determinar qual a direção e o valor de ajuste dos pesos em uma rede neural MLP para caminhar de um ponto no espaço em direção ao máximo local iterativamenteYAMAZAKI; LUDERMIR(2003).

Ao contrário do Backpropagation, os algoritmos de otimização abordados neste trabalho, Tabu Searche Simulated Annealing, são considerados algoritmos de convergência global, pois,

(32)

3.1. INTRODUÇÃO 31 buscam no espaço da função-objetivo o ponto de máximo global baseados apenas em informações sobre a superfície da funçãoYAO(1999). Por não se basear em informações do gradiente para convergir, algoritmos de otimização global são aplicáveis a quaisquer funções, sejam elas diferenciáveis ou não (ao contrário do Backpropagation).

A Figura 3.1 ilustra a diferença entre os máximos locais e o máximo global. Note que foi utilizado o termo máximo, já que a função de custo utilizada neste trabalho foi a taxa de acerto de classificação. Logo, o objetivo é maximizar esta taxa e não o contrário. Geralmente quando se trata de uma função de erro, a terminologia aplicada é mínimo (local e global), pois o objetivo passa a ser encontrar o ponto de menor erro da função de custo. Mudam-se os termos para ter coerência com o trabalho, mas a idéia é exatamente a mesma.

Máximo Global Máximo Local T ax a d e ac er to Espaço de busca

Figure 3.1: Diferença entre máximos locais e global

Existem vários pontos de máximo na função, os chamados máximos locais. Porém apenas um deles pode ser considerado o máximo global da função ou de uma região. Geralmente, busca-se pelo máximo global, considerado ótimo, já que representa a solução mais eficiente. Um bom algoritmo de otimização deve ser capaz de fugir dos máximos locais e buscar a solução global.

Neste trabalho, a ênfase é dada em técnicas de Seleção e Ponderação de características através de otimização. Os métodos de otimização aqui estudados são Simulated Annealing

KIRKPATRICK; JR.; VECCHI (1983) e Tabu Search GLOVER (1986) HANSEN (1986).

Tais métodos juntamente com treinamento de redes MLP foram recentemente aplicados na classificação de odores por um nariz artificialYAMAZAKI; LUDERMIR(2003)YAMAZAKI

(Março de 2004), utilizando-se de abordagens híbridas que integram métodos de convergência

global e local.

Como foi visto no capítulo sobre Seleção e Ponderação de Características (Capítulo 2), o algoritmo de busca local mais conhecido para este propósito é o Relief KIRA; RENDELL(Menlo

Park: AAAI Press/The MIT Press, 1992). A idéia por trás dele é a de ajustar iterativamente

um vetor de pesos de acordo com a relevância das características associadas a eles e, dessa forma, caminhar na direção da melhor solução local. Em outras palavras, o Relief, assim como o Backpropagationpara as redes neurais, é um algoritmo tido como referência quando se deseja

(33)

3.2. SIMULATED ANNEALING 32 determinar qual a direção e o valor de ajuste dos parâmetros para caminhar de um ponto no espaço em direção ao mínimo local iterativamente. Apesar do Relief ser bem sucedido em várias aplicações, ele apresenta em alguns casos uma deficiência chamada de convergência local, em outras palavras, o algoritmo se prende a máximos locais. Vale salientar a importância da escolha do ponto de partida para a busca. Dependendo desta escolha, o algoritmo vai encontrar um máximo local não satisfatório.

A união de métodos de otimização global com métodos de convergência local é uma abordagem interessante para a otimização de conjuntos de características, uma vez que, o método de otimização age em busca de uma melhor região no espaço global e o método de convergência local faz um ajuste mais refinado dos pesos, que indicam a relevância da característica dentro do conjunto, para que esta chegue ao ponto máximo daquela região.

O problema de otimização de conjuntos de características pode ser formulado como um problema de busca no espaço, onde cada ponto representa um subconjunto gerado a partir do original. Dada uma função de custo, por exemplo, a taxa de acerto de classificação combinada com o tamanho do subconjunto resultante (número de características), a solução é encontrada através da busca do ponto da função cujo acerto seja máximo e o número de atributos seja mínimo. Como foi visto, o uso de técnicas de otimização global, como as já citadas neste capítulo, é perfeitamente adaptável para a resolução deste problema de busca no espaço.

É importante destacar que a metodologia para otimização de características deve garantir que apenas grupos válidos sejam considerados, isto é, apenas aqueles com pelo menos uma característica.

3.2

Simulated Annealing

O método Simulated Annealing(SA)KIRKPATRICK; JR.; VECCHI(1983) é inspirado nos processos de esfriamento de sólidos que alcançam energia mínima, correspondente a uma estrutura cristalina perfeita, se esfriados de forma suficientemente lentaPHAM; KARABOGA

(1998). Fazendo uma analogia ao processo annealing, os sólidos seriam equivalentes às possíveis soluções de conjuntos de características, a energia equivaleria ao custo da solução e a estrutura cristalina perfeita é a representante da solução ótima.

O algoritmo SA consiste em, a cada iteração, gerar uma nova solução a partir de uma solução atual. Sempre que uma nova solução é gerada, a sua função de custo é computada para decidir se essa nova solução pode ser aceita como atual. Se o custo da nova solução for menor que o da atual solução, a nova solução é imediatamente aceita como atual. Caso contrário, a nova solução pode ou não ser aceita de acordo com uma certa probabilidade, o critério de Metrópolis

METROPOLIS et al.(1953). De acordo com esse critério, é gerado um número aleatório δ

entre 0 e 1. Se δ ≤ e(∆E/T ), sabendo que ∆E é a variação do custo e T é o parâmetro chamado temperatura, então a nova solução é aceita como solução atual. Senão a solução é desconsiderada

(34)

3.2. SIMULATED ANNEALING 33 e o processo continua gerando novos vizinhos a partir da solução atual. O Algoritmo 2 mostra o pseudo-código do SA.

Algorithm 2 Pseudo-código do Simulated Annealing

1: t0: temperatura inicial

2: s0: solução inicial 3: I: número de iterações

4: for i = 0 to i = I − 1 do

5: Gere a solução s0

6: if Custo(s0) ≤ Custo(si) then

7: si+1← s0

8: else

9: if random ≥ e(−[Custo(s0)−Custo(si)]/ti+1)then

10: si+1← s0 11: end if 12: end if 13: i= i + 1 14: Atualize a temperatura 15: end for 16: Retorne si

Esquemas de esfriamento são responsáveis por especificar um valor de temperatura inicial e também por atualizar o valor da temperatura de acordo com alguma regra. Existem diversas propostas de esquemas de esfriamento na literatura. O esquema de esfriamento mais comumente utilizado é o geométrico, no qual a nova temperatura é calculada pelo valor da temperatura atual multiplicado por um fator de reduçãoPHAM; KARABOGA(1998).

Considerando o conjunto de soluções S como sendo o conjunto de todas as possíveis soluções e f como sendo a função de custo, o algoritmo objetiva encontrar a solução global s, tal que f (s) ≤ f (s0), ∀s, s0∈ S. O algoritmo pára após I iterações definidas pelo usuário ou até que algum outro critério de parada seja satisfeito, tal como a perda da capacidade de generalização das soluções encontradas.

Após a geração da nova solução no 5o passo do algoritmo, a mesma é avaliada nos passos seguintes de modo que se seu custo for menor que o da solução anterior, a nova é aceita. Como se dá a geração de novas soluções e qual a representação de uma solução varia de acordo com o problema. No Capítulo 4 estes detalhes são adaptados ao problema de Seleção e Ponderação simultâneas. Será visto, por exemplo, que uma solução neste trabalho é representada, basicamente, por 2 vetores: um indicando quais características são relevantes e quais não são (Seleção) através de uma codificação binária (0 para característica que não foi selecionada e 1 para indicar seleção); o outro vetor possui valores reais em seus elementos, que funcionam como pesos para os atributos do conjunto de entrada, de forma que ao final da execução do SA, cada característica tenha um peso ajustado de acordo com sua relevância dentro do conjunto (Ponderação). A geração de soluções diz respeito a efetuar pequenas mudanças na última solução aceita, criando uma nova solução levemente alterada da anterior. Com isto, pretende-se

Referências

Documentos relacionados

Para Piaget, a forma de raciocinar e de aprender da criança passa por estágios. Por volta dos dois anos, ela evolui do estágio sensório motor, em que a ação envolve os

Apesar dos esforços para reduzir os níveis de emissão de poluentes ao longo das últimas décadas na região da cidade de Cubatão, as concentrações dos poluentes

No código abaixo, foi atribuída a string “power” à variável do tipo string my_probe, que será usada como sonda para busca na string atribuída à variável my_string.. O

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

•   O  material  a  seguir  consiste  de  adaptações  e  extensões  dos  originais  gentilmente  cedidos  pelo 

Considera-se que a interdisciplinaridade contribui para uma visão mais ampla do fenômeno a ser pesquisado. Esse diálogo entre diferentes áreas do conhecimento sobre

O TBC surge como uma das muitas alternativas pensadas para as populações locais, se constituindo como uma atividade econômica solidária que concatena a comunidade com os