4 Seleção Dinâmica de Atributos para Comitês de Classicação
4.1 SD-R: Seleção Dinâmica Baseada em uma Escolha Randômica Simples
Para entender melhor essa versão proposta, suponha que seja B uma base de dados, composta por A = {att1, att2, ..., attq}atributos e I instâncias, onde q é o número total de
atributos que a base de dados B possui. As instâncias são divididas em 3 conjuntos, treina- mento T R = {tr1, tr2, ..., trntr}, validação V = {v1, v2, ..., vnv} e teste T = {t1, t2, ..., tnt},
onde ntr, nv e nt representam os conjuntos de treinamento, validação e teste, respectiva- mente.
O método proposto pode ser descritos através dos seguintes passos:
1. Agrupar os dados: Para tal, um algoritmo de agrupamento Alg é aplicado ao con- junto de validação V , que é responsável pela separação das instâncias em grupos. A aplicação do algoritmo é representado pela Equação 4.1:
G = Alg(V ) (4.1)
formados pela partição;
2. Selecionar os atributos mais importantes para cada grupo: Para tal, os seguintes passos serão executados. No 1o passo, para cada grupo g
j é aplicado uma função
F (gj) que dene um critério de avaliação, denindo a importância dos atributos
para este grupo.
(a) Como resultado desta função, um valor E é obtido, onde E = {e1, .., eq}, e q o
número de atributos inicial da base de dados. O valor ei para cada atributo i de
A, usando como base as instâncias de gj, dene a importância deste atributo
para o grupo gj, baseado no critério utilizado por F .
(b) Baseado neste critério de avaliação, todos os atributos são ordenados, como representado na equação pela Equação 4.2. Essa ordenação pode ser crescente ou decrescente, dependendo da medida escolhida.
Rj = rank(F (gj)) (4.2)
(c) Uma vez ordenado, os N atributos mais bem posicionados no ranking são se- lecionados para cada grupo gj. Os Ngj atributos selecionados para representar
gj formam o conjunto Aj, como mostra a Equação 4.3. Neste método, pode-se
utilizar um valor de Ngj para cada grupo. A quantidade de atributos seleci-
onados N é uma escolha de implementação, ou seja, qualquer taxa pode ser utilizada.
Aj = select(Rj, Ngj) (4.3)
Onde,
Aj = {att1, att2, ..., attN}|Aj ⊂ A;
3. Denir as proporções de atributos por grupo: Neste passo, a proporção de atributos que será utilizada de cada grupo será denida.
(a) Quando se deseja classicar uma instância de teste ti, a mesma é comparada
com a partição G para se denir a distancia de ti para os diferentes grupos de
G, utilizando uma medida de similaridade DIST.
O principal objetivo de DIST é calcular a distância entre a instância de teste ti e o centroide de cada grupo. Onde py é o protótipo do grupo y, que pode ser
o centroide ou qualquer vetor que melhor consiga representar o grupo y. (b) Uma função P ROB é aplicada para cada valor de DIST , visando transformar
a distância (similaridade) disty no formato de probabilidade a posteriori, Py,
como mostrado na Equação 4.5, que, desta forma, pode ser interpretado como a probabilidade da instância ti pertencer ao grupo gy.
Py = P ROB(ti, disty). (4.5)
(c) Essa função de probabilidade é baseada na distância entre ti e cada um dos
grupos formados. A probabilidade é inversamente proporcional a distância en- contrada. Quanto mais distante, menor vai ser a probabilidade de pertinência. Essa medida será utilizada para representar a proporção de atributos que serão selecionados de cada grupo para compor o subconjunto de atributos gerais S selecionados para a instância de teste.
S = select(Aj, Pj) (4.6)
Onde, j é o total de grupos formados.
4. Seleção dos atributos para a instância de testes: Para o processo de classicação da instância de teste ti, suponha que seja C um comitê de classicação formado
por z classicadores, onde C = {c1, c2, ..., cz}. Para diversicar o comitê é neces-
sário selecionar z diferentes subconjuntos de atributos, um para cada classicador, para representar a instância e treinar os classicadores de maneira a gerar diversi- dade entre eles. Portanto, serão necessários z subconjuntos de atributos, obtidos do subconjunto global S para classicar a instância de teste ti.
SS(ti, S) = {ss1, ss2, ..., ssz} (4.7)
(a) Visando denir o subconjunto de atributos para cada classicador, W atributos são selecionados aleatoriamente a partir de S. W pode ser igual ou diferente para cada membro do conjunto de classicadores.
5. Classicação da instância utilizando os atributos selecionados: Após a denição dos subconjuntos de atributos mais importantes para a instância de teste ti, z classica-
dores cksão treinados, cada classicador com um subconjunto diferente de atributos
ssk. Então ti será classicada pelo comitê C.
6. A acurácia é obtida através da aplicação dos Passos 3 - 6 para todo conjunto de testes T ao comitê de classicadores C.
Para melhor ilustrar, suponha que ti seja uma instância composta por 50 atributos
após a seleção dos N melhores atributos de cada grupo. Supondo que ti possua o conjunto
de proporções denido por P = {0.3, 0.6, 0.1}. Baseado em P , 30% serão selecionados do grupo 1 (15 atributos), 60% serão selecionados do grupo 2 (30 atributos) e 10% serão selecionados do grupo 3 (5 atributos). Formando assim, o conjunto geral de atributos S para representar a instância ti.
Durante o processo de escolha dos atributos, pode ocorrer de serem selecionados o mesmo atributo de diferentes grupos. Caso isso aconteça, o atributo será escolhido do grupo onde o mesmo tiver o maior valor no ranqueamento R. Assim, não haverá repetição dos atributos escolhidos. Por exemplo, se o atributo att2 for escolhido do grupo 1 e do
grupo 2, o valor do ranqueamento dele em ambos os grupos será observado. Se o seu melhor valor for no grupo 1, ele entrará como um dos atributos escolhidos pela proporção do grupo 1, enquanto um novo atributo será selecionado para o grupo 2.
4.1.1 Funcionamento
Algoritmo 2 Algoritmo demonstrando a versão SD-R
1: procedure Seleção dinâmica de atributos 2: Entrada: B =(V, TR, T)
3: G ← Alg(V )
4: para cada grupo gj faça
5: para cada instância vi em gj faça
6: para cada atributo ai em vi faça
7: E ← F (gj) 8: m para 9: Rj = rank(E) 10: Aj = select(Rj, N ) 11: m para 12: m para
13: para cada padrão de teste ti em T faça
14: para cada grupo gj faça
15: Calcular a distância de Ti para pj através de d
16: m para
17: para cada grupo gj faça
18: Pj = P (Ti, dj)
19: m para
20: para cada atributo a de Aj faça
21: Si =select(Aj, Pj)
22: m para
23: para cada classicador k de C faça 24: SSk = select(ti, S, Wk) 25: m para 26: Ci ← T rain(T R, SSi) 27: acc ← T est(Ci, Ti, SSi) 28: m para 29: m procedure
O método recebe como entrada uma base de dados dividida em três conjuntos: Trei- namento, Teste e Validação (linha 2), com o conjunto de validação correspondente a 30% dos padrões que formam a base de dados. Um algoritmo de agrupamento é aplicado no conjunto de validação para separar as instâncias em grupos (linha 3), visando obter os atributos mais importante para as instâncias de cada grupo formado.
Após a criação dos grupos, um critério de avaliação é aplicado sobre os atributos das instâncias que formam cada grupo (linha 7). Desse critério será obtido um valor para cada atributo, valor esse que representa o grau de importância que o mesmo possui durante a classicação daquelas instâncias. Esses atributos são ordenados a partir desse grau e os N melhores são selecionados para compor o subconjunto de atributos mais relevantes para aquele grupo (linhas 9 - 10).
Após a denição dos atributos mais importantes para cada grupo, dá-se início o pro- cesso de classicação das instâncias do conjunto de testes. Quando se deseja classicar uma instância, o primeiro passo é calcular a distância entre a mesma e os centros dos grupos formados (linha 15). O valor dessas distâncias são transformados em probabili- dades (linha 17 - 19), que representa a probabilidade da instância de testes pertencer a cada grupo. Esse valor é inversamente proporcional à distância, ou seja, quanto menor a distância maior será o valor da probabilidade encontrada para aquele grupo.
O valor dessa probabilidade servirá para denir a quantidade de atributos que será utilizado de cada grupo para compor o subconjunto de melhores atributos para a instância de teste. Assim, cada instância possuirá um conjunto de atributos selecionados diferente das demais, obedecendo as proporções estabelecidas pelo cálculo da probabilidade (linha 20 - 22).
O próximo passo é treinar os classicadores que serão utilizados para a formação do comitê. Para cada classicador é necessário denir um subconjunto diferente de atributos que serão utilizados, visando diversicar o sistema de classicação. Cada classicador será treinado com um conjunto de atributos diferente, selecionados aleatoriamente do subconjunto S, conjunto de atributos mais relevantes para a instância da vez (linha 23 - 25). A quantidade de atributos selecionados W é uma escolha de implementação, ou seja, qualquer taxa pode ser utilizada. Essa taxa de seleção é aplicada sobre o valor de N e não sobre a quantidade total de atributos da base de dados inicial.
Cada classicador será treinado utilizando apenas os atributos selecionados (linha 26) e, após o treinamento de todos os classicadores, a instância de teste é submetida ao sistema de classicação (linha 27). A saída dos classicadores são combinadas e a acurácia é obtida quando todas as instâncias do conjunto de teste são classicadas pelo comitê.