• Nenhum resultado encontrado

Neste capítulo foi introduzido e analisado o problema de bases desbalanceadas. Nas pri- meiras seções o problema foi explorado sob a perspectiva de bases binárias. Três grandes linhas de pesquisa foram abordadas, a saber, os estudos sobre os efeitos do desbalance- amento, as métricas utilizadas para qualificar os resultados dos classificadores, e formas diferentes de se lidar com o problema.

Quanto à primeira linha de pesquisa, foi possível compreender, por exemplo, que a complexidade da disposição dos dados aliado ao tamanho do conjunto de treinamento posuem bastante influência sobre o problema. Além destes, outros dois fatores foram também pontuados. Nominalmente, casos de classes extremamente raras e o problema de

data set shift.

A seção que trata da segunda linha de pesquisa contem a explicação de o porquê a Acurácia não ser considerada uma métrica apropriada para ser utilizada no problema de

bases desbalanceadas. Posteriormente foram exploradas diversas métricas que são utili- zadas pelos pesquisadores desta área. As principais são: Acurácia Balanceada, AUC e

G-mean. Além das métricas de desempenho, foi também apresentada a métrica IR, uma

métrica sobre o desbalanceamento de bases binárias.

Sobre a terceira linha de pesquisa, as abordagens foram divididas em dois grupos principais, i.e., Abordagem em Nível de Dados e Abordagem em Nível de Algoritmo. Os detalhes sobre cada abordagem, em conjunto com exemplos de algoritmos existentes na literatura, foram também apresentados.

Por fim, o problema de múltiplas classes desbalanceadas foi apresentado. Um dos focos na respectiva seção foi apresentar diferenças em relação ao caso de bases binárias, e como a presença de múltiplas classes aumenta o desafio. As estratégias para se lidar com três ou mais classes foram também abordadas, seguidas de exemplos da literatura. A seção continuou com as métricas de desempenho e desbalanceamento que são apropriadas para o problema, as quais parte são extensões de métricas utilizadas no caso binário. A seção finaliza com um rápido comentário sobre a validação dos experimentos, principalmente na presença de classes extremamente raras.

3 MÉTODO PROPOSTO

Neste capítulo são detalhados o processo de pesquisa e desenvolvimento conduzidos nesta tese. A pesquisa foi iniciada a partir de uma hipótese (Seção 3.1) cuja ideia foi imple- mentada e aprimorada ao longo do doutorado. O aprimoramento do método proposto se deu com a implementação de algumas modificações nos algoritmos principais. Algumas das modificações foram motivadas a partir do próprio algoritmo, enquanto que outras modificações têm suas motivações a partir da literatura.

O desenvolvimento do método proposto pode ser dividido em duas grandes fases (Se- ções 3.2 e 3.3), representados pelos algoritmos Voronoi Diagram Based Classifier (VDBC) e Dynamic Centroid Insertion and Adjustment (DCIA). O primeiro algoritmo foi desen- volvido a partir das ideias levantadas durante a formulação da hipótese de pesquisa. O segundo — e principal — algoritmo pode ser visto como evolução do primeiro.

A apresentação de experimentos durante a descrição da proposta dos modelos não é muito usual. Apesar disso, devido a grande quantidade de variações, análises realizadas e evoluções incrementais, neste capítulo, são apresentados alguns dos resultados obtidos na evolução do modelo e que ajudam a justificar algumas das decisões tomadas durante a pesquisa realizada.

A execução de ambos os algoritmos, como também de suas modificações, foi sempre precedida de uma divisão dos dados em um conjunto de treinamento e um conjunto de teste seguindo o modelo 5-fold. O motivo se deve ao fato de que essa divisão é bastante comum na literatura de tratamento de bases de dados desbalanceados devido às classes raras.

Além das execuções dos algoritmos existem também comparações estatísticas. Nos ca- sos em que os resultados de três ou mais algoritmos são comparados, os testes estatísticos foram feitos com ANOVA (ARMSTRONG; S.V.SLADE; F.EPERJESI, 2000) ou Kruskall-Wallis

(KRUSKAL; WALLIS, 1952;KRUSKAL-WALLIS. . ., 2008). Ambos os testes comparam a sig-

nificância de diferenças entre três ou mais grupos de amostras independentes, ou seja, analisam a hipótese de que 𝑘 amostras tenham sido extraídas da mesma população ou de populações idênticas. O teste ANOVA é paramétrico e utilizado neste trabalho quando os resultados dos algoritmos possuem uma distribuição normal. Do contrário, ou seja, quando ao menos um dos resultados não possui uma distribuição normal, o teste Kruskall-Wallis é utilizado por ser não-paramétrico.

Contudo, quando apenas dois resultados são comparados, os testes foram conduzidos com Student’s t-test (SNEDECOR; COCHRAN, 1980) ou ranksum de Wilcoxon (WILCOXON,

1945). Estes testes comparam a significância de diferenças entre dois grupos de amostras independentes, analisando a hipótese de que as duas amostras tenham sido extraídas da mesma população ou de populações idênticas. O t-test é paramétrico, portanto, é utilizado

neste trabalho quando os resultados de um algoritmo fazem parte de uma distribuição normal. Por outro lado, o ranksum é um teste não-paramétrico e utilizado quando ao menos um dos resultados não possui distribuição normal.

É importante frisar que todos os algoritmos desenvolvidos fazem parte da abordagem em nível de dados baseado na estratégia direta. Ou seja, tanto o VDBC quanto o DCIA e todas as suas modificações pré-processam um conjunto de treinamento. O conjunto de protótipos resultantes é utilizado pelo 1NN para classificação do conjunto de testes. Como o objetivo da tese é trabalhar a nível de dados, se escolheu um dos classificadores mais simples (1NN ou Vizinho mais próximo) para servir de base na análise do desempenho do algoritmo de reamostragem proposto.

Figura 9 – Fluxograma da evolução do desenvolvimento do trabalho e como os algorit- mos desenvolvidos estão relacionados. Uma linha tracejada significa que um algoritmo inflenciou o outro. Uma linha contínua indica que o algoritmo sub- sequente é modificação direta do algoritmo anterior.

A quantidade de modificações e testes realizados sobre os algoritmos propostos pode deixar o leitor confuso. Portanto, a Figura 9 apresenta um fluxograma explicando a sequên-

cia do desenvolvimento do trabalho e como os algoritmos e suas modificações estão rela- cionados.

De forma resumida o desenvolvimento deste trabalho se deu da seguinte forma. De início foi formulada uma hipótese, a qual é abordada na Seção 3.1. De forma conjunta com o observado no algoritmo W* (CHANG, 1974) foi possível desenvolver o modelo de

classificação VDBC (Seção 3.2). Sobre o VDBC foram testadas cinco modificações, cujos detalhes e resultados são apresentados no Apêndice A. Com as análises dos resultados da quarta e quinta modificações, aliado a influências do algoritmo IPADE-ID (LÓPEZ et al.,

2014), foi implementado o algoritmo DCIA (Seção 3.3).

O DCIA pode ser executado utilizando qualquer algoritmo de busca. O primeiro algo- ritmo de busca utilizado em conjunto com o método foi o Gravity Search Algorithm (GSA) (RASHEDI; NEZAMABADI-POUR; SARYAZDI, 2009). Sobre essa combinação foram testadas

duas modificações, na qual a primeira é alteração direta do DCIA with Gravity Search

Algorithm (DCIAGSA), enquanto a segunda é alteração direta da primeira modificação,

como exemplificado na Figura 9.

Após o DCIAGSA, foram testadas também outras três combinações do DCIA com algoritmos de busca. A segunda combinação envolveu uma versão do GSA, chamada Sim-

ple Gravity Search Algorithm (SGSA). Sobre esta combinação foram testadas, de início,

quatro modificações, as quais as duas primeiras e as duas últimas são mais relacionadas entre si.

Em seguida foram implementados o DCIA with Particle Swarm Optimization (DCI- APSO), utilizando o algoritmo de busca PSO, como também modificações sobre este algoritmo. Como mostrado na Figura 9, a segunda modificação foi inspirada pela sele- ção de atributos testada com o DCIASGSA. Por sua vez, o DCIAPSO.M2 serviu como inspiração para outras modificações. Outro exemplo curioso é o DCIAPSO.M6, o qual pode ser considerado como uma junção das modificações M3 e M5. O DCIAPSO.M10 é uma alteração direta no DCIAPSO, porém construído com inspirações das duas pri- meiras modificações. A partir de seu sucesso, o mesmo foi utilizado como base para o DCIASGSA.M5 e o DCIA with Competitive Swarm Optimizer (DCIACSO).

No decorrer deste capítulo, os algoritmos principais, i.e., DCIAGSA, DCIASGSA, DCIAPSO e DCIACSO são apresentados de forma detalhada. As respectivas modificações de cada algoritmo principal são também descritas, porém seus detalhes e resultados são apresentados no Apêndice B.

A organização do capítulo segue a sequência de desenvolvimento apresentada na Fi- gura 9. O capítulo é então finalizado com um apanhado geral sobre toda a pesquisa e desenvolvimento realizados.