Seleção de Atributos 1
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 2
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? 3
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 4
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 5
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 6
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 7
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 8
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 9
Seleção Automática Implica em uma busca no espaço de atributos Quantos subconjuntos há? 2 N, 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 10
Exemplo: Espaço de Atributos 11
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 12
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 13
Busca Heurística no Espaço de Atributos Outros métodos de busca Busca bidirecional Best-first search Beam search Algoritmos genéticos... 14
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 15
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 16
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 s i que não esteja em S Avalie o resultado de (S U s i ): Resultado_ s i (3) Considere o atributo com maior Resultado_ s i SE (Resultado_ s i > Resultado_S) ENTAO (S=S U s i ) & (Resultado_S= Resultado_ s i ) Volte para o Passo (2) SENAO Pare 17
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 18
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 19
FSS: Embutida Conjunto de Treinamento (m atributos) Indutor Estimativa de Desempenho Conjunto de Teste Classificador Classificador (< m atributos) 20
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 21
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 22
FSS: Filtro Focus Relief 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 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 23
FSS: Filtro Conjunto de Treinamento Conjunto de Teste Filtro Subconjunto de Atributos Remover Atributos Conjunto de Treinamento Reduzido Indutor Conjunto de Teste Reduzido Estimativa de Desempenho Classificador 24
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 25
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 26
FSS: Wrapper Conjunto de Treinamento Busca por Atributos Conjunto de Atributos Avaliação de Atributos Estimativa de Desempenho Subconjunto de Atributos Conjunto de Treinamento Reduzido Conjunto de Atributos Classificador Remover Atributos Indutor Indutor Conjunto de Teste Reduzido Estimativa de Desempenho Conjunto de Teste Classificador 27