seleção de atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 introdução muitos...

27
1 Seleção de Atributos

Upload: phungkiet

Post on 10-Jun-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

1

Seleção de Atributos

Page 2: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

2

Tópicos

  Por que atributos irrelevantes são um problema   Quais tipos de algoritmos de aprendizado são

afetados   Seleção de atributos antes do aprendizado

  Benefícios   Abordagens automáticas

  Wrapper   Filtros

Page 3: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

3

Introdução

  Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para a tomada de decisão   Algoritmos de indução de árvores de decisão são

projetados para:   Escolher o atributo mais promissor para

particionar o conjunto de dados   Nunca selecionar atributos irrelevantes

  Mais atributos implica em maior poder discriminatório?

Page 4: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

4

Atributos irrelevantes

  Adição de atributos irrelevantes às instâncias de uma base de dados, geralmente, “confunde” o algoritmo de aprendizado

  Experimento (exemplo)   Indutor de árvores de decisão (C4.5)   Base de dados D   Adicione às instâncias em D um atributo binário cujos

valores sejam gerados aleatoriamente   Resultado

  A acurácia da classificação cai   Em geral, de 5% a 10% nos conjuntos de testes

Page 5: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

5

Explicação

  Em algum momento durante a geração das árvores:   O atributo irrelevante é escolhido   Isto causa erros aleatórios durante o teste

  Por que o atributo irrelevante é escolhido?   Na medida em que a árvore é construída, menos e menos

dados estão disponíveis para auxiliar a escolha do atributo

  Chega a um ponto em que atributos aleatórios parecem bons apenas por acaso

  A chance disto acontece aumenta com a profundidade da árvore

Page 6: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

6

Atributos Irrelevantes x Algoritmos de AM

  Algoritmos mais afetados   Indutores de árvores e regras de decisão

  Continuamente reduzem a quantidade de dados em que baseiam suas escolhas

  Indutores baseados em instâncias (e.g., k-NN)   Sempre trabalha com vizinhanças locais

  Leva em consideração apenas algumas poucas instâncias (k)

  Foi mostrado que para se alcançar um certo nível de desempenho, a quantidade de instâncias necessária cresce exponencialmente com o número de atributos irrelevantes

Page 7: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

7

Atributos Irrelevantes x Algoritmos de AM

  Algoritmo que ignora atributos irrelevantes   Naive Bayes

  Assume que todos os atributos são independentes entre si   Suposição correta para atributos irrelevantes   Mas não para atributos redundantes   O efeito do atributo redundante é multiplicado

  P(Yes|X) = 0.2*0.35*0.23 = 0.0161   P(No|X) = 0.1*0.33*0.35 = 0.0115

  P(Yes|X) = 0.2*0.35*0.23*0.23 = 0.0037   P(No|X) = 0.1*0.33*0.35*0.35 = 0.0040

Page 8: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

8

Seleção de atributos antes do aprendizado

  Melhora o desempenho preditivo   Acelera o processo de aprendizado

  O processo de seleção de atributos, às vezes, pode ser muito mais custoso que o processo de aprendizado

  Ou seja, quando somarmos os custos das duas etapas, pode não haver vantagem

  Produz uma representação mais compacta do conceito a ser aprendido   O foco será nos atributos que realmente são importantes

para a definição do conceito

Page 9: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

9

Métodos de Seleção de Atributos

  Manual   Melhor método se for baseado em um entendimento

profundo sobre ambos:   O problema de aprendizado   O significado de cada atributo

  Automático   Filtros: método usado antes do processo de aprendizado para

selecionar o subconjunto de atributos   Wrappers: o processo de escolha do subconjunto de

atributos está “empacotado” junto com o algoritmo de aprendizado sendo utilizado

Page 10: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

10

Seleção Automática

  Implica em uma busca no “espaço” de atributos

  Quantos subconjuntos há?

  2N , em que N é o número total de atributos

  Portanto, na maioria dos casos práticos, uma busca exaustiva não é viável

  Solução: busca heurística

Page 11: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

11

Exemplo: Espaço de Atributos

Page 12: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

12

Busca Heurística no Espaço de Atributos

  Busca para Frente (Seleção Forward)

  A busca é iniciada sem atributos e os mesmos são adicionados um a um

  Cada atributo é adicionado isoladamente e o conjunto resultante é avaliado segundo um critério

  O atributo que produz o melhor critério é incorporado

Page 13: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

13

Busca Heurística no Espaço de Atributos

  Busca para trás (Eliminaçao Backward)   Similar a Seleção Forward   Começa com todo o conjunto de atributos, eliminando

um atributo a cada passo   Tanto na Seleção Forward quanto na Eliminação

Backward, pode-se adicionar um viés por subconjuntos pequenos   Por exemplo, pode-se requerer não apenas que a

medida de avaliação crescer a cada passo, mas que ela cresça mais que uma determinada constante

Page 14: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

14

Busca Heurística no Espaço de Atributos

  Outros métodos de busca

  Busca bidirecional   Best-first search   Beam search   Algoritmos genéticos   ......

Page 15: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

15

Abordagens para Seleção de Atributos

  Filtros   O processo de escolha do subconjunto

acontece antes do processo de aprendizado   Wrapper

  O processo de escolha do subconjunto de atributos está “empacotado” junto com o algoritmo de aprendizado sendo utilizado

  Embutido   Usa algum critério interno de algums

algoritmo que faz seleção de atributos

Page 16: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

16

Exemplo: Filtro

  Uso de uma indutor de árvores de decisão (AD) como filtro para o k-NN

  1) Aplique um indutor de AD para todo o conjunto de treinamento

  2) Selecione o subconjunto de atributos que aparece na AD

  3) Aplique o k-NN a apenas este subconjunto

  A combinação pode apresenta melhores resultados do que cada método usando individualmente

Page 17: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

17

Exemplo: Wrapper

  Busca para Frente (Seleção Forward) + Naive Bayes

  (1) Inicialize com o conjunto vazio S={}   (2) Resultado_S=0   (2) Para cada atributo si que não esteja em S

  Avalie o resultado de (S U si ): Resultado_ si   (3) Considere o atributo com maior Resultado_ si

  SE (Resultado_ si > Resultado_S) ENTAO (S=S U si ) & (Resultado_S= Resultado_ si ) Volte para o Passo (2) SENAO Pare

Page 18: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

18

FSS: Embutida

  Alguns indutores são capazes de realizar sua própria seleção de atributos de forma dinâmica, enquanto procuram por uma hipótese

  Em geral, a maioria dos algoritmos eager possuem uma abordagem embutida para a seleção de atributos

  Por exemplo, métodos de particionamento recursivo, tais como árvores de decisão, efetuam uma busca greedy através do espaço de árvores   A cada passo, eles usam uma função de avaliação para

selecionar o atributo que tem a melhor capacidade de discriminar entre as classes

  Eles particionam o conjunto de treinamento baseados nesse atributo e repetem o processo para cada subconjunto, estendendo a árvore até que nenhuma discriminação adicional seja possível

  Este método é usado pelo indutor C4.5

Page 19: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

19

FSS: Embutida

  Métodos de indução de regras também possuem seleção embutida de atributos

  Estes métodos usam uma função de avaliação para selecionar o atributo que ajuda a distinguir uma classe C das outras; então eles adicionam o teste resultante em uma única regra conjuntiva para essa classe C

  Eles repetem esse processo até que a regra exclua todos os exemplos de outras classes e então removem os exemplos da classe C que a regra cobre, repetindo esse processo nos exemplos de treinamento remanescentes

  Este método é empregado pelo indutor CN2

Page 20: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

20

Conjunto de Treinamento (m atributos)

Classificador (< m atributos)

Conjunto de Teste

Estimativa de Desempenho

Indutor

FSS: Embutida

Classificador

Page 21: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

21

FSS: Filtro

  Essa abordagem de seleção de atributos introduz um processo separado, o qual ocorre antes da aplicação do algoritmo de indução propriamente dito

  A idéia é filtrar atributos irrelevantes, segundo algum critério, antes de iniciar a indução

  Esse passo de pré-processamento considera características gerais do conjunto de exemplos para selecionar alguns atributos e excluir outros

  Sendo assim, métodos de filtros são independentes do algoritmo de indução que, simplesmente, receberá como entrada o conjunto de exemplos contendo apenas os atributos selecionados pelo filtro

Page 22: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

22

FSS: Filtro

  Qualquer algoritmo que efetue algum tipo de seleção pode ser usado para filtrar atributos

  A saída do algoritmo de filtragem é o conjunto de atributos por ele selecionados

  Os atributos restantes são removidos do conjunto de exemplos, reduzindo assim sua dimensão

  Após isso, o conjunto de exemplos reduzido pode ser usado por qualquer indutor

  Entretanto, atributos considerados como bons por um filtro não são, necessariamente, úteis para outras famílias de algoritmos que podem ter um bias de aprendizado diferente.

  Por exemplo, um algoritmo de indução de árvores de decisão pode ser usado como um filtro de atributos   O conjunto de atributos selecionado pela árvore constitui a saída do

processo de filtragem, sendo a árvore descartada   Existem dois algoritmos, especificamente desenvolvidos para

atuarem com filtros de atributos, Focus e Relief

Page 23: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

23

FSS: Filtro

  Focus   O algoritmo Focus envolve um grau maior de busca no espaço de atributos   Esse algoritmo, inicialmente proposto para domínios booleanos sem ruído,

procura exaustivamente pela combinação mínima de atributos que seja suficiente para descrever a classe de todos os exemplos de treinamento

  Desse modo, esse método inicia a busca examinando cada atributo em separado, depois examina pares de atributos, triplas e assim por diante, até encontrar uma combinação que gera as melhores partições do conjunto de treinamento

  Relief   O algoritmo Relief incorpora uma função de avaliação de atributos mais

complexa que o algoritmo Focus   Relief atribui uma relevância ponderada para cada atributo, que é definida para

denotar a relevância do atributo em relação às classes   Relief é um algoritmo que usa amostras aleatórias dos exemplos e atualiza os

valores de relevância baseado na diferença entre o exemplo selecionado e os dois exemplos mais próximos da mesma classe e de outra classe

  A principal diferença entre Relief e Focus é que, enquanto Focus procura por um conjunto mínimo de atributos, o algoritmo Relief procura por todos os atributos relevantes

Page 24: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

24

Classificador

Conjunto de Treinamento Subconjunto de Atributos

Conjunto de Teste

Estimativa de Desempenho

Filtro

Conjunto de Treinamento Reduzido

Remover Atributos Indutor

Conjunto de Teste Reduzido

FSS: Filtro

Page 25: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

25

FSS: Wrapper

  Em contraste com filtros, a abordagem wrapper gera um subconjunto de atributos como candidato, executa o indutor com apenas esses atributos no conjunto de treinamento e usa a precisão do classificador extraído para avaliar o subconjunto de atributos em questão

  Este processo é repetido para cada subconjunto candidato, até que o critério de parada seja satisfeito

  A idéia geral por trás da abordagem é que o algoritmo de FSS existe como um wrapper ao redor do indutor e é responsável por conduzir a busca por um bom subconjunto de atributos

  A qualidade de um subconjunto candidato é avaliada utilizando o próprio indutor como uma caixa-preta

  O objetivo da busca é encontrar o subconjunto (nó) com a melhor qualidade, utilizando uma função heurística para guiá-la

Page 26: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

26

FSS: Wrapper

  Em geral, a busca é conduzida no espaço do subconjunto de atributos, com os operadores adicionar ou remover, utilizando como busca o método hill-climbing ou best-first assim com direções forward e backward como direção da busca

  A precisão pode ser estimada por cross-validation   Um argumento a favor da abordagem wrapper é que o mesmo

algoritmo de indução que vai utilizar o subconjunto de atributos selecionado deve prover uma estimativa melhor de precisão que um outro algoritmo, o qual pode possuir um bias de indução totalmente diferente

  Por outro lado, essa abordagem pode ser computacionalmente dispendiosa, uma vez que o indutor deve ser executado para cada subconjunto de atributos considerado

Page 27: Seleção de Atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 Introdução Muitos algoritmos de AM são projetados de modo a selecionar os atributos mais apropriados para

27

Indutor

Conjunto de Atributos

Conjunto de Atributos

Estimativa de Desempenho

Classificador

Conjunto de Treinamento

FSS: Wrapper

Avaliação de Atributos

Busca por Atributos

Classificador

Conjunto de Treinamento Reduzido

Estimativa de Desempenho

Conjunto de Teste

Conjunto de Teste Reduzido

Subconjunto de Atributos

Remover Atributos

Indutor