Você está na página 1de 5

Seleção de Atributos Relevância de Atributos

FSS
‰A relevância de um atributo é dependente do
‰Alguns indutores geralmente conceito a ser aprendido e do indutor a ser
degradam seu desempenho utilizado
quando são fornecidos muitos ‰Vários indutores assumem que os atributos
atributos irrelevantes para o originais que descrevem os exemplos são
conceito a ser aprendido relevantes o suficiente para aprender a tarefa em
questão
‰Feature Subset Selection
(FSS) é o processo de ‰Entretanto, alguns atributos podem não ser
diretamente relevantes e outros até irrelevantes
selecionar um subconjunto de
atributos para posterior ‰Um atributo é irrelevante se existe uma hipótese
completa e consistente que não usa aquele
utilização pelo indutor atributo
José Augusto Baranauskas augusto@ffclrp.usp.br
Departamento de Física e Matemática – FFCLRP-USP http://dfm.ffclrp.usp.br/~augusto
2

Relevância de Atributos Seleção de Atributos - FSS


‰Objetivo: selecionar um subconjunto de atributos
Atributos Totalmente Irrelevantes para fornecer ao indutor
‰Motivação:
ƒ Alguns indutores não trabalham bem com muitos
atributos irrelevantes
Atributos Fracamente Relevantes ƒ Melhoria da precisão
ƒ Melhoria da compreensibilidade
‰Abordagens:
ƒ Embutida
Atributos Fortemente
ƒ Filtro
Relevantes
ƒ Wrapper

3 4

FSS como Busca no Espaço de


Ponto de Partida
Estados
‰ Uma forma conveniente para representar as abordagens ‰ A figura mostra subconjuntos m atributos → 2^m estados
para a seleção de atributos é a busca heurística, na qual possíveis para 4 atributos:
círculos brancos indicam que o
cada estado no espaço de busca é composto por um atributo em questão não foi
subconjunto de possíveis atributos selecionado; círculos coloridos
‰ Desse modo, qualquer método de seleção de atributos indicam seleção do atributo
pode ser caracterizado por sua instanciação em relação a para o processo de indução
quatro questões básicas, as quais determinam a natureza ‰ Cada estado no domínio de
subconjuntos de atributos
do processo de busca heurística: especifica quais atributos
ƒ Ponto de partida utilizar durante a indução
ƒ Organização da busca ‰ Nota-se que os estados são
ƒ Estratégia de busca parcialmente ordenados onde
ƒ Critério de parada os estados à direita
acrescentam um atributo aos
da esquerda

5 6

1
Ponto de Partida Organização da Busca
‰ Quando a busca tem seu estado ‰ A cada ponto na busca, modificações locais no conjunto de atributos são
inicial mais à esquerda, o conjunto consideradas; uma dessas é selecionada e uma nova iteração é realizada
vazio de atributos, representado ‰ Claramente, uma busca exaustiva em todo o espaço de estados é
pelos quatro círculos em brancos, impraticável, já que para um número m de atributos existem 2^m possíveis
esse sentido da busca é conhecido estados
forward ‰ Uma abordagem mais prática é a utilização de um método greedy para a
‰ Já a situação que inicia com o travessia do espaço de busca: em cada ponto da busca, consideram-se
subconjunto contendo todos os alterações locais sobre o conjunto corrente de atributos, seleciona-se um
atributos e sucessivamente novo atributo e realiza-se uma nova iteração
removendo-os, é denominada de ‰ Por exemplo, hill-climbing, considera tanto a adição quanto a remoção de
eliminação (ou sentido da busca) atributos em cada ponto de decisão, permitindo ainda que a recuperação de
backward uma decisão anterior possa ser realizada
‰ Também podem ser empregadas ‰ Dentre essas opções, pode-se considerar todos os estados gerados e
variações de ambas abordagens, selecionar o melhor, ou simplesmente escolher o primeiro estado que
selecionando-se um estado inicial melhora a precisão sobre o conjunto corrente
em algum ponto do espaço de
busca e movendo-se a partir desse ‰ Pode-se, também, substituir o método greedy por métodos mais sofisticados,
ponto − busca outward como, por exemplo, o método best-first, o qual, embora sendo mais custoso,
é ainda computacionalmente viável para alguns domínios
forward backward

7 8

Estratégia de Busca Critérios de Parada


‰ A terceira questão a ser tratada considera a estratégia utilizada na
avaliação dos subconjuntos alternativos de atributos ‰Alguns critérios mais utilizados são:
‰ Uma métrica normalmente empregada envolve a habilidade de um ƒ Parar de remover ou adicionar atributos quando
atributo discriminar as classes de um conjunto de treinamento
‰ Diversos algoritmos de indução incorporam um critério baseado na
nenhuma das alternativas melhora o desempenho do
Teoria da Informação, enquanto outros medem diretamente a classificador
precisão do conjunto de treinamento ou de um conjunto separado de
avaliação ƒ Continuar gerando subconjuntos de atributos até que
‰ Outro aspecto importante é como a estratégia de FSS interage com o um extremo do espaço de busca seja alcançado e
algoritmo básico de indução escolher o melhor desses subconjuntos
‰ Essa interação pode ser subdividida em três abordagens:
ƒ (i) embutida, na qual FSS é embutida no algoritmo básico de indução; ƒ Ordenar os atributos segundo algum critério e utilizar
ƒ (ii) filtro, na qual FSS é utilizada para filtrar atributos de forma um parâmetro para determinar o ponto de parada,
independente do algoritmo de indução a ser utilizado e
ƒ (iii) wrapper, a qual emprega o próprio algoritmo de indução como uma por exemplo, o número de atributos desejado no
caixa-preta subconjunto

9 10

FSS: Embutida FSS: Embutida


‰ Alguns indutores são capazes de realizar sua própria ‰Métodos de indução de regras também possuem
seleção de atributos de forma dinâmica, enquanto seleção embutida de atributos
procuram por uma hipótese
‰ Em geral, a maioria dos algoritmos eager possuem uma ‰Estes métodos usam uma função de avaliação
abordagem embutida para a seleção de atributos para selecionar o atributo que ajuda a distinguir
‰ Por exemplo, métodos de particionamento recursivo, tais uma classe C das outras; então eles adicionam o
como árvores de decisão, efetuam uma busca greedy teste resultante em uma única regra conjuntiva
através do espaço de árvores para essa classe C
ƒ A cada passo, eles usam uma função de avaliação para ‰Eles repetem esse processo até que a regra
selecionar o atributo que tem a melhor capacidade de discriminar
entre as classes exclua todos os exemplos de outras classes e
ƒ Eles particionam o conjunto de treinamento baseados nesse então removem os exemplos da classe C que a
atributo e repetem o processo para cada subconjunto, estendendo
a árvore até que nenhuma discriminação adicional seja possível
regra cobre, repetindo esse processo nos
ƒ Este método é usado pelo indutor C4.5 exemplos de treinamento remanescentes
‰Este método é empregado pelo indutor CN2
11 12

2
FSS: Embutida FSS: Filtro
‰ Essa abordagem de seleção de atributos introduz um
processo separado, o qual ocorre antes da aplicação do
Conjunto de Treinamento algoritmo de indução propriamente dito
(m atributos)
Indutor ‰ A idéia é filtrar atributos irrelevantes, segundo algum
critério, antes de iniciar a indução
Estimativa de ‰ Esse passo de pré-processamento considera
Desempenho
características gerais do conjunto de exemplos para
Classificador selecionar alguns atributos e excluir outros
Conjunto de Teste
Classificador ‰ Sendo assim, métodos de filtros são independentes do
(< m atributos)
algoritmo de indução que, simplesmente, receberá como
entrada o conjunto de exemplos contendo apenas os
atributos selecionados pelo filtro

13 14

FSS: Filtro FSS: Filtro


‰ Qualquer algoritmo que efetue algum tipo de seleção pode ser usado ‰ Focus
para filtrar atributos ƒ O algoritmo Focus envolve um grau maior de busca no espaço de atributos
‰ A saída do algoritmo de filtragem é o conjunto de atributos por ele ƒ Esse algoritmo, inicialmente proposto para domínios booleanos sem ruído, procura
exaustivamente pela combinação mínima de atributos que seja suficiente para
selecionados descrever a classe de todos os exemplos de treinamento
‰ Os atributos restantes são removidos do conjunto de exemplos, ƒ Desse modo, esse método inicia a busca examinando cada atributo em separado,
reduzindo assim sua dimensão 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
‰ Após isso, o conjunto de exemplos reduzido pode ser usado por ‰ Relief
qualquer indutor ƒ O algoritmo Relief incorpora uma função de avaliação de atributos mais complexa
‰ Entretanto, atributos considerados como bons por um filtro não são, que o algoritmo Focus
necessariamente, úteis para outras famílias de algoritmos que podem ƒ Relief atribui uma relevância ponderada para cada atributo, que é definida para
ter um bias de aprendizado diferente. denotar a relevância do atributo em relação às classes
‰ Por exemplo, um algoritmo de indução de árvores de decisão pode ƒ 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
ser usado como um filtro de atributos exemplos mais próximos da mesma classe e de outra classe
ƒ O conjunto de atributos selecionado pela árvore constitui a saída do ‰ A principal diferença entre Relief e Focus é que, enquanto Focus procura por
processo de filtragem, sendo a árvore descartada um conjunto mínimo de atributos, o algoritmo Relief procura por todos os
‰ Existem dois algoritmos, especificamente desenvolvidos para atributos relevantes
atuarem com filtros de atributos, Focus e Relief

15 16

FSS: Filtro FSS: Wrapper


‰ Em contraste com filtros, a abordagem wrapper gera um
Conjunto de Treinamento
Subconjunto
de Atributos
subconjunto de atributos como candidato, executa o
Filtro
indutor com apenas esses atributos no conjunto de
treinamento e usa a precisão do classificador extraído
Conjunto de
Treinamento para avaliar o subconjunto de atributos em questão
Remover
Reduzido ‰ Este processo é repetido para cada subconjunto
Atributos
Indutor
candidato, até que o critério de parada seja satisfeito
Conjunto de Teste ‰ A idéia geral por trás da abordagem é que o algoritmo de
FSS existe como um wrapper ao redor do indutor e é
Conjunto de Estimativa de responsável por conduzir a busca por um bom
Teste Reduzido Desempenho
subconjunto de atributos
Classificador ‰ 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
17 18

3
FSS: Wrapper FSS: Wrapper
‰ Em geral, a busca é conduzida no espaço do subconjunto
de atributos, com os operadores adicionar ou remover,
Conjunto de
utilizando como busca o método hill-climbing ou best-first Treinamento
Busca por Atributos

assim com direções forward e backward como direção da


busca Conjunto
de Atributos
Estimativa de
Desempenho
‰ A precisão pode ser estimada por cross-validation Subconjunto
‰ Um argumento a favor da abordagem wrapper é que o de Atributos Conjunto de
Treinamento
mesmo algoritmo de indução que vai utilizar o Avaliação de Atributos Reduzido

subconjunto de atributos selecionado deve prover uma


Conjunto
estimativa melhor de precisão que um outro algoritmo, o de Atributos Classificador Remover
Indutor
qual pode possuir um bias de indução totalmente Atributos

diferente
‰ Por outro lado, essa abordagem pode ser Indutor Conjunto de
Teste Reduzido Estimativa de
computacionalmente dispendiosa, uma vez que o indutor Desempenho
deve ser executado para cada subconjunto de atributos
considerado Conjunto de Teste
Classificador

19 20

FSS: Experimentos Datasets Descriptions


Dataset # #Features Class Class % Majority Missing
‰11 conjuntos de exemplos Instances (cont,disc) Error Values
‰4 indutores aplicados através do wrapper (C4.5, anneal 898 38 1 0.89% 23.83% Yes
CN2, NB, IB) (6,32) 2 11.02% on value 3
3 76.17%
‰2 filtros: ID3 e CI (Mineset) 5 7.46%
U 4.45%
‰108 experimentos dna 3186 180 1 24.07% 48.09% No
(0,180) 2 24.01% on value 3
‰Mais de 32 dias de processamento ininterrupto 3 51.91%
para executar wrapper genetics 3190 60 N 51.88% 48.12% No
(0,60) EI 24.04% on value N
‰Maiores detalhes: IE 24.08%
ƒ http://dfm.ffclrp.usp.br/~augusto/publication.htm sonar 208 60 M 53.37% 46.63% No
(60,0) R 46.63% on value M

21 22

Wrapper Execution Time Wrapper Selected Features


anneal dna
24,34 96,98
25 100
Running time (hours)

Running time (hours)

20 80
15
62,68 Wrapper
60
10
80%
40
Selected Features

5
1,03 1,15
0,05 0,16
20 13,30 60% anneal
2,21 3,06
0
C4.5 CN2 IB NB TM
0 dna
C4.5 CN2 IB NB TM 40%
genetics
genetics
sonar
14 2,0 20% sonar
Running time (hours)
Running time (hours)

11,80
12 1,59
10,14
10 1,5
8
0%
1,0
6
4 2,37
0,60 C4.5 CN2 IB NB TM
0,5
2 0,63
0,16
0,45 0,04 0,02
0 0,0
C4.5 CN2 IB NB TM C4.5 CN2 IB NB TM
23 24

4
Wrapper versus Filter
Error Comparison
Execution Time
dna 180-(0c,180d)
dna
30
all
anneal 38-(6c,32d)
50
all
25
24,34
anneal
ID3=0,001 96,98 ID3=0,009
wrapper wrapper 100

Running time (hours)


25

Running time (hours)


40
20 80
20 62,68
30

Error %
Error %

15 60
15
20 10
10 40
10 5 13,30
5 1,03 1,15 20
0,05 0,16 3,06
2,21
0
0
0 0
C4.5 CN2 IB NB TM C4.5 CN2 IB NB TM C4.5 CN2 IB NB TM
C4.5 CN2 IB NB TM
genetics 60-(0c,60d) sonar 60-(60c,0d)
40
all
50
all
genetics ID3=0,003 sonar ID3=0,001
14 2,0

Running time (hours)


wrapper

Running time (hours)


wrapper
40 11,80
30 12 1,59
10,14
10 1,5
30
Error %
Error %

8
20 1,0
20 6 0,60
4 2,37 0,5
10
10 2 0,63
0,16
0,45 0,04 0,02
0 0,0
0 0 C4.5 CN2 IB NB TM C4.5 CN2 IB NB TM
C4.5 CN2 IB NB TM C4.5 CN2 IB NB TM 25 26

Wrapper versus Filter


Error Comparison
Selected Features
anneal 38-(6c,32d) dna 180-(0c,180d)
30 40
all
all wrapper
25 wrapper
30 ID3

Wrapper versus Filter (ID3)


ID3
20

Error %
Error %

80% 15 20

10
Selected Features

10

60% anneal 5

0
0
dna C4.5 CN2 IB NB TM C4.5 CN2 IB NB TM

40% 40
genetics 60-(0c,60d)
55
sonar 60-(60c,0d)

genetics all
wrapper
all
wrapper
ID3 45 ID3

20% sonar 30

35
Error %

Error %

20

0% 25

10
C4.5 CN2 IB NB TM ID3 15

0 5
27 C4.5 CN2 IB NB TM C4.5 CN2 IB NB TM 28

FSS: Principais Resultados Resumo


‰Filtros devem ser considerados antes de se ‰O processo de FSS pode ser descrito como
cogitar a utilização de wrappers uma busca pelo espaço de estados
‰Filtros foram, em média, 1.000-10.000 ‰Cada estado representa um subconjunto
vezes mais rápidos, com pequena perda de de atributos
precisão
‰FSS com o indutor CN2 causou um ‰O valor de um nó é a precisão estimada
aumento no número de regras ‰Os operadores são geralmente
‰Se o classificador final for avaliado por um adicionar/remover um atributo
ser humano, FSS deve ser efetuada de
forma cuidadosa
29 30

Você também pode gostar