seleção de atributosprofessor.ufabc.edu.br/.../selecao-de-atributos.pdf3 introdução muitos...
TRANSCRIPT
1
Seleção de Atributos
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
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?
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
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
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
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
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
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
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
11
Exemplo: Espaço de Atributos
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
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
14
Busca Heurística no Espaço de Atributos
Outros métodos de busca
Busca bidirecional Best-first search Beam search Algoritmos genéticos ......
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
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
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
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
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
20
Conjunto de Treinamento (m atributos)
Classificador (< m atributos)
Conjunto de Teste
Estimativa de Desempenho
Indutor
FSS: Embutida
Classificador
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
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
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
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
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
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
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