BRUNO LAMBERTUCCI ARAÚJO ALBERTO ABORDAGENS DE PRÉ-PROCESSAMENTO DE DADOS EM PROBLEMAS DE CLASSIFICAÇÃO COM CLASSES DESBALANCEADAS Dissertação apresentada ao Curso de Mestrado em Modelagem Matemática e Computacional do Centro Federal de Educação Tecnológica de Minas Gerais, como requisito parcial à obtenção do título de Mestre em Modelagem Matemática e Computacional. Área de concentração: Sistemas Inteligentes Orientador: Prof. Dr. Paulo Eduardo Maciel de Almeida Centro Federal de Educação Tecnológica de Minas Gerais MESTRADO EM MODELAGEM MATEMÁTICA E COMPUTACIONAL CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS DIRETORIA DE PESQUISA E PÓS-GRADUAÇÃO Belo Horizonte – MG agosto de 2012 1 / 101 Folha de aprovação do projeto. Esta folha será fornecida pelo Programa de Pós-Graduação e deverá substituir esta. 2 / 101 Resumo Conjuntos de dados conhecidos e bem condicionados, bem como aqueles provenientes de bases de dados reais, apresentam diversos problemas de representatividade. Grande quantidade de ruído e inconsistências, excesso de valores desconhecidos e classes desbalanceadas, ou seja, uma grande desproporção entre as distribuições das classes são exemplos desses problemas. Se estes dados forem identificados e tratados antes de serem fornecidos a um algoritmo de classificação, essa tarefa pode se tornar mais efetiva. A identificação e tratamento preliminar desses dados antes que sejam fornecidos a um algoritmo de classificação são conhecidos na literatura como uma fase de préprocessamento de dados. Sabe-se que esta é muito extensa e envolve a identificação e tratamento de diversos tipos de problemas que podem existir em uma base de dados. E apenas uma quantidade limitada de trabalhos encontrados na literatura tem-se preocupado com as causas de problemas relacionados ao desbalanceamento de classes em problemas de classificação. Nesse trabalho, uma análise formal e experimental sobre a natureza do problema de desbalanceamento de classes é proposta com base na teoria de Aprendizado de Máquina e Decisão Bayesiana. Seguindo uma abordagem de préprocessamento de dados, foram investigados e aplicados métodos de reamostragem de dados no espaço de entrada, que incluem sobreamostragem da classe minoritária, subamostragem da classe majoritária e a combinação de ambas as técnicas para melhorar os resultados de classificação e assim obter taxas de acerto elevadas, principalmente em relação à classe minoritária. Testes estatísticos também foram aplicados aos resultados experimentais obtidos com dados reais e sintéticos para mostrar a eficiência dos métodos investigados. Como resultado do trabalho, contribuições foram dadas para provar, entre elas, que Redes Neurais Artificiais induzidas por determinados cojuntos de treinamento desbalanceados e sobrepostos tendem a produzir classificadores que favorecem a classe com maior probabilidade de ocorrência. Palavras-chave: aprendizado de máquina, classificação de padrões, pré-processamento de dados, desbalanceamento de classes. 3 / 101 Abstract Well-conditioned and known data sets as well as artificial and real databases present several representativeness problems. Lots of noise and inconsistencies, excessive missing data and unbalanced classes, i.e. a large disparity between the classes distributions are examples of these problems. If these problems are identified and addressed before the data are supplied to a classification algorithm, the classification task can be made more effective. Identification and treatment of these preliminary data before it is delivered to a classification algorithm is known in literature as a preprocessing of data. It is known that this phase is very extensive and involves the identification and treatment of various types of problems that may manifest in the data. And only a limited amount of studies in the literature has been concerned with the causes of problems related to class imbalance in classification problems. In this work, a experimental and formal analysis of the nature of the problem of class imbalance is proposed based on the theory of machine learning. Following an approach to preprocessing data, methods have been investigated and used for resampling the data in the input space, including oversampling of the class minority and majority class of subsampling combination of both techniques to improve the classification results and thus obtain high hit rates, especially in relation to the minority class. Statistical tests were applied to experimental results obtained with artificial and real data to illustrate the efficiency of the mechanisms investigated. As a result of the work, contributions were made to prove, through the approaches investigated and proposed, for example, that artificial neural networks induced by unbalanced training sets overlap and tend to produce classifiers that favor the class with highest probability Keywords: machine learning, pattern recognition, data preprocessing, class imbalance. 4 / 101 Lista de Figuras Figura 1 - Hierarquia do aprendizado indutivo Figura 2 - Estrutura de uma rede MLP Figura 3 - Exemplo de uma rede MLP Figura 4 - Abordagem Embedded (Adaptado de Kohavi and John, 1997) Figura 5 - Abordagem Filtro (Adaptado de John et al., 1994). Figura 6 - Abordagem Wrapper (Adaptado de Kohavi & John, 1997). Figura 7 - Nível alto entre as classes: (a) Com conhecimento a priori das distribuições e; (b) Sem conhecimento a priori das distribuições. Figura 8 - Pequena sobreposição entre as classes: (a) Com conhecimento a priori das distribuições e; (b) Sem conhecimento a priori das distribuições. Figura 9 - Curva ROC Figura 10 - Grupos de exemplos descritos no método OSS Figura 11 - Novo conjunto de dados após remoção de ligações TOMEK Figura 12 - Visualização do processo de reamostragem do NBD Figura 13 - Regra de decisão f (x) com espaço de entrada χ = ℜ 0 ∪ ℜ1 Figura 14 - Variação na proporção de exemplos positivos vs. AUC Figura 15 - Variação no centro (média) da classe minoritária vs. AUC Figura 16 - Proporção de exemplos da classe negativa vs. AUC: (a) e proporção vs. Gmean (b), ambos para k = 0 Figura 17 - Proporção de exemplos da classe negativa vs. Gmean para k = 2 Figura 18 - Proporção de exemplos da classe negativa vs. AUC para k = 2 Figura 19 - Diagrama DC representando os resultados do teste post-hoc de Nemenyi para a métrica AUC. Os grupos de algoritmos que não são significativamente diferentes (para α = 0.05) encontram-se conectados por traços horizontais. Figura 20 - Diagrama DC representando os resultados do teste post-hoc de Nemenyi para a métrica Gmean. Os grupos de algoritmos que não são significativamente diferentes (para α = 0.05) encontram-se conectados por traços horizontais. Lista de Tabelas Tabela 1 - Características das bases de dados A utilizadas Tabela 2 - Características das bases de dados B utilizadas Tabela 3 - Matriz de confusão para problema de duas classes 5 / 101 Tabela 4 - Comparação de AUC (%) obtidos pelos algoritmos MLP, MLP+SMOTE, MLP+SMOTE+TOMEK e MLP+NBD sobre as 10 bases de dados. Em negrito, os melhores valores encontrados. Tabela 5 - Comparação de Gmean (%) obtidos pelos algoritmos MLP, MLP+SMOTE, MLP+SMOTE+TOMEK e MLP+NDB sobre as 10 bases de dados. Em negrito, os melhores valores encontrados. Tabela 6 - Ranks médios obtidos pelos algoritmos MLP, MLP+SMOTE, MLP+SMOTE+TOMEK e MLP+NDB para as métricas Gmean e AUC. As duas últimas colunas da Tabela mostram os correspondentes valores das estatísticas FF e p-valor referentes ao teste de Friedman. Lista de abreviaturas AM Aprendizado de Máquina AG Algoritmos Genéticos AUC Area Under ROC Curve CNL Cleaning Nearest Rule CNN Condensed Nearest Neighbor Rule DN Detecção de Novidade ENN Edited Nearest Neighbor Rule KNN K-Nearest Neighbours MLP MultiLayer Perceptron NBD Detecção de Bordas de Novidade OSS One-Side Selection RBF Radial Basis Function ROC Relative Operating Characteristic SE Sensibilidade ES Especificidade SMOTE Synthetic Minority Oversampling Technique TFN Taxa de falso negativo TFP Taxa de falso positivo TVN Taxa de verdadeiro negativo TVP Taxa de verdadeiro positivo WWE Weighted Wilson’s Editing 6 / 101 Sumário Resumo......................................................................................................................... 3 Abstract ........................................................................................................................ 4 Lista de Figuras ............................................................................................................ 5 Lista de Tabelas ............................................................................................................ 5 Lista de abreviaturas ..................................................................................................... 6 1. 2 Introdução ............................................................................................................. 9 1.1 Caracterização do problema ............................................................................ 9 1.2 Objetivos ........................................................................................................ 9 1.3 Metodologia ................................................................................................. 10 1.4 Principais contribuições ................................................................................ 19 1.5 Organização do trabalho ............................................................................... 20 Aprendizado de Máquina .................................................................................... 22 2.1 Considerações iniciais................................................................................... 22 2.2 Aprendizado de Máquina Indutivo por Exemplos.......................................... 22 2.3 Paradigmas de Aprendizado de Máquina Supervisionado .............................. 26 2.3.1 Paradigma Estatístico ............................................................................. 26 2.3.2 Paradigma Simbólico ............................................................................. 27 2.3.3 Paradigma Conexionista ........................................................................ 28 2.3.4 Paradigma Evolutivo.............................................................................. 31 2.3.5 Paradigma instance-based...................................................................... 32 2.4 3 4 Considerações finais ..................................................................................... 32 Pré-processamento de dados ................................................................................ 34 3.1 Considerações iniciais................................................................................... 34 3.2 Tarefas dependentes de domínio ................................................................... 34 3.3 Problemas típicos.......................................................................................... 35 3.4 Transformação de dados ............................................................................... 40 3.5 Considerações finais ..................................................................................... 41 Desbalanceamento de classes .............................................................................. 43 4.1 Considerações iniciais................................................................................... 43 4.2 Natureza do problema de classes desbalanceadas .......................................... 44 4.3 Métricas de avaliação.................................................................................... 47 4.4 Conjuntos desbalanceados e aprendizado sensível ao custo ........................... 53 7 / 101 4.5 4.5.1 OSS (One-Sided Selection) ..................................................................... 56 4.5.2 SMOTE (Synthetic Minority Oversampling Technique) .......................... 58 4.6 5 Considerações finais ..................................................................................... 61 Detecção de Bordas de Novidade (NBD) ............................................................. 62 5.1 Formulação do método NBD ........................................................................ 64 5.2 Experimentos ................................................................................................ 67 5.2.1 Experimento 1 ....................................................................................... 68 5.2.2 Experimento 2 ....................................................................................... 71 5.2.3 Experimento 3 ....................................................................................... 75 5.3 6 Métodos para balanceamento de classes ........................................................ 55 Considerações finais ..................................................................................... 79 Conclusões .......................................................................................................... 81 6.1 Principais contribuições ................................................................................ 81 6.2 Objetivos alcançados, hipóteses aceitas e rejeitadas ...................................... 82 6.3 Trabalhos futuros .......................................................................................... 83 Referências bibliográficas ........................................................................................... 87 8 / 101 1. Introdução 1.1 Caracterização do problema Já faz muito tempo que a comunidade científica que pesquisa na área de Aprendizado de Máquina (AM) tem utilizado repositórios de dados, tais como o repositório da Universidade da Califórnia em Irvine (UCI) (Blake, C. L., and Merz, C. J., 1998), para avaliar propostas de melhorias e novos sistemas de aprendizado. Embora a utilidade desses repositórios seja reconhecida pelos pesquisadores da área (Pyle, D., 1999; Hall, M., 2009), os repositórios de dados normalmente apresentam dados previamente manipulados, sem muitas das características originalmente encontradas quando de suas construções. No entanto, ao contrário dos conjuntos de dados provenientes destes repositórios, bases de dados reais apresentam diversos problemas, tais como grande quantidade de ruído e inconsistências, excesso de valores desconhecidos, conjunto de dados com classes desbalanceadas, entre outros. Se estes problemas fossem identificados e tratados antes dos dados serem fornecidos a um algoritmo de classificação (Pyle, D., 1999; Hall, M., 2009), provavelmente a tarefa de classificação seria mais bem sucedida. Os sistemas de aprendizado têm uma necessidade urgente pela validação dos métodos de tratamento de dados amplamente utilizados pela comunidade de AM (Pyle, D. 1999) e, possivelmente, pelo desenvolvimento e avaliação de novos métodos. No projeto de sistemas de aprendizado existe uma fase que tem como finalidade melhorar a qualidade dos dados. Essa fase é conhecida como pré-processamento e seu objetivo principal é a identificação e remoção de problemas presentes nos dados antes que os métodos de classificação sejam aplicados. Pode-se também estar interessado em extrair conhecimento a priori destes antes mesmos da construção de classificadores. Ou ainda, pode-se estar interessado em alterar sua estrutura, por exemplo, por meio da alteração de sua distribuição. As ações realizadas na fase de pré-processamento visam preparar os dados para que a fase seguinte, geralmente a classificação, seja mais efetiva. 1.2 Objetivos Este trabalho tem como objetivo geral fazer uma investigação sobre as causas e efeitos do desbalanceamento de classes em conjuntos de dados de treinamento 9 / 101 utilizados em tarefas de classificação no contexto de AM. Sabe-se que a fase de préprocessamento de dados é muito extensa e envolve a identificação e tratamento de diversos tipos de problemas que podem se manifestar nos dados, entre eles o desbalanceamento de classes. Nesse trabalho, uma análise experimental e empírica sobre a natureza deste problema é proposta com base na teoria de Aprendizado de Máquina e Decisão Bayesiana (Hart, P. E., 1968). Para alcançar esse objetivo geral, seguindo a abordagem proposta, foram definidos os seguintes objetivos específicos: 1) Investigar na literatura os principais métodos de balanceamento de classes utilizados em pré-processamento de conjuntos de dados anteriormente a tarefas de classificação de padrões no contexto de AM; 2) Propor um novo método de reamostragem de dados no espaço de entrada, intitulado NBD, que incluem sobreamostragem da classe minoritária, subamostragem da classe majoritária e/ou a combinação de ambas as técnicas de forma a melhorar os resultados da aplicação dos métodos de balanceamento de classes investigados na literatura e utilizados neste trabalho. Melhorar os resultados da literatura significa obter de taxas de acerto elevadas inclusive para a classe minoritária; 3) Realizar experimentos com bases de dados provenientes de repositórios clássicos da literatura (Blake, C. L. and Merz, C. J., 1998) e também bases de dados de problemas reais como forma de validar os métodos de balanceamento de classes investigados na literatura e utilizados neste trabalho. Comparar esses resultados com aquele alcançado pelo novo método de reamostragem proposto tendo em vista o aumento da taxa de classificação correta da classe minoritária; 4) Realizar testes estatísticos junto aos resultados experimentais obtidos como forma de validar a eficiência do novo método proposto; 5) Verificar, a partir dos métodos investigados e do novo método proposto, que Redes Neurais Artificiais induzidas por determinados conjuntos de treinamento desbalanceados tendem a produzir classificadores que favorecem a classe com maior probabilidade de ocorrência. 1.3 Metodologia O balanceamento de classes pode ser compreendido como uma readequação do conjunto de treinamento através de mecanismos de reamostragem de dados no espaço de entrada, que incluem sobreamostragem da classe minoritária, subamostragem da 10 / 101 classe majoritária ou a combinação de ambas as técnicas. A sobreamostragem é baseada na replicação de exemplos preexistentes (sobreamostragem com substituição) ou na geração de dados sintéticos. No primeiro caso, a seleção de exemplos a serem replicados pode ser aleatória (sobreamostragem aleatória) ou direcionada (sobreamostragem informativa). Já a subamostragem envolve a eliminação de exemplos da classe majoritária. Os exemplos a serem eliminados podem ser escolhidos aleatoriamente (subamostragem aleatória) ou a partir de alguma informação a priori (subamostragem informativa). sobreamostragem possuírem Apesar o mesmo das técnicas objetivo, elas de subamostragem introduzem e diferentes características ao novo conjunto de treinamento que podem algumas vezes dificultar o aprendizado de sistemas de classificação de padrões. Este trabalho partiu das seguintes hipóteses: 1. Conjuntos de treinamento balanceados melhoram simultaneamente as taxas de acerto de classificação para ambas as classes. 2. Conjuntos de treinamento desbalanceados não são os únicos responsáveis pelo baixo desempenho de classificadores de padrão, mas também o grau de sobreposição entre as classes. 3. As distribuições das classes que ocorrem naturalmente, ou seja, sem qualquer tipo de pré-processamento, são as melhores para o aprendizado. 4. Penalizações com base na proporção dos padrões no conjunto de treinamento permitem obter modelos equilibrados (equidistantes das distribuições), compensando o viés imposto pela classe majoritária. Em relação à metodologia adotada, a pesquisa é caracterizada como uma pesquisa exploratória, pois tem a finalidade de avaliar quais teorias ou conceitos existentes podem ser aplicados a um determinado problema ou se novas teorias e conceitos devem ser desenvolvidos ou aprimorados. Quanto aos procedimentos adotados, a pesquisa é definida, em grande parte, como experimental e empírica, sendo realizada em ambientes de simulação por meio do Matlab 8.10.0 Software (Matlab, 2008) e WEKA Data Mining Software (Hall, M. et al., 2009) visando caracterizar o comportamento de cada método de balanceamento investigado. Inicialmente neste trabalho, são investigados os principais conceitos a respeito de aprendizado de máquina indutivo, aprendizado supervisionado, não supervisionado e semi-supervisionado. Os principais paradigmas de aprendizado são também 11 / 101 investigados, tais como o Estatístico, Simbólico, Conexionista, Evolutivo e Instancebased. Em seguida, também com base na literatura, é explicada a diferença entre tarefas de classificação fracamente e fortemente dependentes de domínio. São discutidos também os problemas típicos encontrados em conjunto de dados, introduzindo o problema de desbalanceamento de classes. Em relação ao problema de desbalanceamento de classes, este mereceu destaque em uma seção exclusiva para discussão do tema. Foram tratadas nessa seção alguns dos métodos de pré-processamento de dados mais utilizados para solucionar o problema de aprender com conjuntos de dados com classes desbalanceadas. A natureza do problema de classes desbalanceadas é, portanto analisada com base nas teorias de Decisão Bayesiana e Aprendizado de Máquina e são apresentadas as principais métricas da literatura para análise do desempenho de classificadores, tendo como foco as métricas: área sob a curva ROC (Relative Operating Characteristic) conhecida como AUC (Area Under ROC Curve) e Gmean (Kubat et al., 1998). Em seguida, a partir da análise dos principais métodos na literatura para balanceamento de classes, é formulado então um novo método para balanceamento de classes com alta sobreposição intitulado Detecção de Bordas de Novidade (NBD). O NBD melhora os resultados de classificação da literatura investigada em termos de taxas de acerto, principalmente para a classe minoritária. O método é baseado em subamostragem e sobreamostragem guiada pela informação da densidade em torno dos exemplos de treinamento inter-classe e intra-classe. O NBD utiliza esta informação de densidade para identificar principalmentes casos raros (novidades) em regiões de menor densidade e também exemplos que pertencem à região próxima à superfície de separação. Em seguida, o método NBD proposto é testado através de três experimentos computacionais, os quais têm o propósito de validar ou descartar as hipóteses levantadas. Os três experimentos tem como características: 1) Conjuntos de dados sintéticos gerados a partir de duas distribuições gaussianas unidimensionais e a representação do modelo de classificação ótimo de Bayes para uma tarefa de classificação binária. Esse experimento buscou esclarecer os motivos pelas quais nem sempre o desbalanceamento de classe é o responsável pela piora no desempenho de algoritmos de aprendizagem utilizados para tarefas de classificação; 12 / 101 2) Comportamento de métodos da literatura que promovem o balanceamento de dados com sobreposição entre as classes em termos das métricas de avaliação de desempenho AUC e Gmean. Este experimento buscou abordar o desbalanceamento em classes altamente sobrepostas e os resultados da classificação utilizando duas métricas bastante utilizadas na literatura; 3) Eficiência das técnicas investigadas e do algoritmo que implementa o método NBD proposto. É proposto um estudo experimental com onze bases de dados, um classificador base e dois métodos da literatura para confrontar com o algoritmo NBD. Testes estatísticos acompanham a análise dos resultados de classificação após a utilização dos métodos de balanceamento. Para a realização do 1º experimento, conforme detalhado ao longo do texto desta dissertação, foram gerados, a partir de duas distribuições gaussianas unidimensionais com média µ , desvio padrão σ , quatro conjuntos de dados sintéticos C : ℜ n → {1,2,3,4} e a representação de um modelo de classificação ótimo de Bayes. Cada conjunto é composto portanto de duas classes, cada qual com um atributo e dois parâmetros de ajuste: a proporção de exemplos de cada uma delas e a distância entre os centros das classes. A proporção de exemplos em cada classe nos permite analisar o desempenho de algoritmos de aprendizado em situações com diferentes graus de desbalanceamento entre as classes. Por convenção, os índices 0 e 1 representam, respectivamente, as classes majoritária (negativa) e minoritária (positiva). No primeiro conjunto, o centro (média) de cada gaussiana é o mesmo para ambas as classes e iniciase com o valor igual a 10 ( µ1 = µ 2 = 10 ). Para os conjuntos seguintes, a distância entre os centros de cada classe é incrementada em uma unidade até o máximo de 12 ( µ1 = 10 → µ 2 = 22 ). Cada conjunto possui 100 exemplos, com 20 diferentes proporções de casos em cada classe, variando entre 4,7% e 50% os exemplos pertencentes à classe positiva. A escolha pela distribuição gaussiana unidimensional representar apenas um atributo e quatro conjuntos foi devido à facilidade de compreensão pelo leitor em relação ao problema e também devido à simplificação dos cálculos, aproximações estatísticas e análises gráficas sem perda de informação devido à essa generalização. Funções gaussianas, além de serem utilizadas como aproximação de várias outras distribuições estatísticas, simplificam o cálculo da AUC para o modelo ótimo de Bayes. Para o cálculo da AUC, foi utilizado o algoritmo descrito em Fawcett (Fawcett, T., 2006), que soma sucessivas áreas de trapézios formados na construção da 13 / 101 curva ROC. Para executar o experimento utilizou-se um modelo de classificação bayesiano assumindo um perfeito conhecimento com respeito às distribuições de probabilidade. Nesse caso, portanto, um modelo de classificação ótimo de Bayes. Os resultados foram avaliados utilizando-se a AUC. Uma vez investigada empiricamente no 1º experimento a hipótese de que a sobreposição de exemplos entre as classes é um fator que potencializa o problema de classes desbalanceadas, é então investigado no 2º experimento o comportamento de métodos que promovem o balanceamento de dados com sobreposição entre as classes. Como os conjuntos cujas distâncias entre os centróides maiores do que 3 não apresentaram diferenças significativas em termos da AUC e Gmean, a investigação foi concentrada em centróides com distâncias menores do que 2 e em intervalos menores, focando portanto classes altamente desbalanceadas e sobrepostas. Foram construídos cinco novos conjuntos de dados através do mesmo processo descrito no experimento anterior. Tais conjuntos encontram-se listados na Tabela 1 juntamente com suas características: número de exemplos positivos ( N1 ), número de exemplos negativos ( N 2 ) e razão de desbalanceamento N1 / ( N1 + N 2 ) . Os métodos de balanceamento utilizados foram: SMOTE (Chawla et al., 2002), sobreamostragem aleatória e subamostragem aleatória que foram executados sobre essas bases até que a proporção final de exemplos entre as classes se equivalesse. Tabela 1 – Características das bases de dados utilizadas no 1º e 2º experimentos # Base de dados N1 N2 N1 ( N1 + N 2 ) 1 2 3 4 5 6 7 8 9 BD500 BD333 BD250 BD200 BD167 BD111 BD059 BD039 BD015 100 100 100 100 100 100 100 100 100 100 200 300 400 500 800 1600 2500 6400 0.5000 0.3333 0.2500 0.2000 0.1667 0.1111 0.0588 0.0386 0.0154 Em particular nesse experimento foram sugeridas novas distâncias entre os centroides das classes: k = 0 ; k = 0.5 ; k = 1 ; k = 2 . Como o interesse voltou-se para a investigação de conjuntos de dados altamente desbalanceados e com sobreposição entre 14 / 101 as classes, foram restringidas as análises para os nove seguintes conjuntos com 50%, 33.33%, 25%, 20%, 16,67%, 11,11%, 5,88%, 3,85% e 1,54% de exemplos da classe minoritária, comparando-os com conjunto de dados naturalmente balanceados. A proporção de 50% utilizada teve o caráter apenas de ser uma referência para as demais, visto que era esperada uma AUC oscilando em torno de 50%. A mesma não foi, portanto representada graficamente. Esses conjuntos tiveram exemplos removidos ou acrescentados, conforme cada um dos três métodos utilizados, até que a proporção de exemplos entre as classes fosse igualada. Outra particularidade do experimento foi a utilização de uma rede MultiLayer Perceptron (MLP) como classificador base e não mais o classificador ótimo de Bayes devido ao objetivo principal da pesquisa se concentrar neste tipo de classificador largamente utilizado na literatura (Alberto, B. L. A.; Almeida, P. E. M., 2009), (Alberto, B. L. A., 2007), (Alberto et al., 2011) com bases de dados reais similares a este trabalho. Os dados de treinamento foram gerados a partir de distribuições gaussianas unimodais com variâncias unitárias. A rede utilizada como classificador base possui topologia 1 : h : 1 e função de ativação do tipo tangente hiperbólica em todas as unidades. Todos os métodos de balanceamento foram associados às MLPs baseados na minimização do erro global. A MLP possui regra de aprendizado baseada no gradiente com termo de momentum, com parâmetros ρ = 0.2 e η = 0.3 . Na execução de um algoritmo particular sobre um dado caso de treinamento/teste, o procedimento de busca em grid com stratified 10-fold cross validation (Van Gestel, T. et al., 2004) foi empregado (sobre o subconjunto de treinamento) para obtenção do número ótimo de neurônios h∗ na camada escondida da rede. O conjunto inicial de parâmetros candidatos foi ho = {1 : 3 : 13} . A busca em grid contou com apenas um refinamento ao redor do parâmetro ótimo h0∗ selecionado na iteração 0. O conjunto de parâmetros candidatos na iteração 1 foi h1 = {h0∗ − 2 : 1 : h0∗ + 2} . Para os algoritmos SMOTE, sobreamostragem aleatória e subamostragem aleatória a busca em grid foi aplicada após os dados de treinamento terem sido modificados por suas respectivas estratégias de sobreamostragem e subamostragem. Para o SMOTE, o número de vizinhos mais próximos foi configurado como 5 (Batista, G. E. A. P. A., et al., 2004). Com intuito de se obter representatividade nos resultados dos algoritmos testados, foram geradas 10 permutações aleatórias para cada base de dados. Cada permutação foi então dividida em subconjuntos de treinamento (2/3) e teste (1/3) de 15 / 101 uma maneira estratificada, garantindo em cada uma delas a mesma razão de desbalanceamento da base de dados original. Com esse procedimento, foram produzidos 10 diferentes casos de treinamento/teste para cada base de dados. Dessa forma, para um algoritmo particular, o desempenho médio e σ foram calculados sobre 10 execuções (treinamento/teste), com as métricas de desempenho AUC e Gmean escolhidas. Por fim, no 3º experimento, a eficiência das técnicas investigadas no experimento anterior e a do método NBD proposto, bem como dos algoritmos que os implementam neste trabalho, é colocado à prova em um estudo experimental realizado sobre bases de dados sintéticas e reais com diferentes razões de desbalanceamento e sobreposição, à exceção dos métodos de subamostragem aleatória e sobreamostragem aleatória que deram lugar ao método SMOTE+TOMEK LINKS (Batista, G. E. A. P. A., et al.,2004) com intuito de testar outros métodos utilizados na literatura. Os desempenhos foram comparados e testes estatísticos de significância foram empregados para a análise dos resultados, seguidos de uma discussão sobre as propriedades dos algoritmos utilizados nos experimentos. Foram selecionadas, ao todo, oito bases de dados do repositório UCI (Blake, C. L. and Merz, C. J. 1998) e duas bases reais com diferentes graus de desbalanceamento, juntamente com suas características conforme apresentado na Tabela 2: número de atributos, número de exemplos positivos, número de exemplos negativos, número total de atributos e percentual de exemplos da classe minoritária. #total de exemplos %Classe minoritária Pima Breast Cancer SPECTF Heart Glass Image Car Yeast Abalone Energia Meteorologia #exemplos negativos 1 2 3 4 5 6 7 8 9 10 Base de dados #exemplos positivos # #atributos Tabela 2 – Características das bases de dados utilizadas no 3º experimento 8 33 44 10 24 6 8 8 120 16 268 47 55 29 238 69 51 32 900 15 500 151 212 185 1762 1659 1433 4145 124233 12340 768 198 267 214 2000 1728 1484 4177 125133 12370 34,90% 23,70% 20,60% 13,60% 11,90% 4,00% 3,40% 0,80% 0,72% 0,12% 16 / 101 1) Pima Diabetes (Pima). Pacientes diabéticos do sexo feminino com pelo menos, 21 anos e com herança genética da tribo indígena Pima. A tarefa é tentar predizer mulheres que têm tendências hereditárias ao Diabetes. 2) Breast Cancer. Acompanhamento de casos de câncer de mama. Pacientes consecutivamente atendidos desde 1984. Incluem somente os casos que exibem o câncer de mama invasivo e sem evidência de metástases no momento do diagnóstico. 3) SPECTF Heart. Diagnóstico de doença cardíaca a partir da análise de imagens obtidas pelo método Single Proton Emission Computed Tomography (SPECT). Cada um dos pacientes é classificado em duas categorias. 4) Glass. Estudo da classificação de tipos de vidro motivado por investigações criminais. Na cena do crime, o vidro pode ser usado como prova, se ele for identificado corretamente. 5) Image Segmentation (Image). Banco de dados de sete imagens ao ar livre. As imagens foram segmentadas a mão para criar uma classificação para cada pixel. 6) Car. Exemplos de informações coletadas por entrevistas feitas com motoristas sobre alguns requisitos fundamentais na avaliação de um carro: valor de compra, manutenção, número de portas, etc. 7) Yeast. Base de dados para previsão de localização de proteína de fermentos. 8) Abalone. Informações diversas sobre vários exemplos de abalone (um molusco) nas quais se tenta predizer a sua idade, o que é um trabalho demorado feito por análise de microscópio. 9) Inspeção de energia (Energia). Informações a respeito de consumidores de energia elétrica, tais como: (i) consumo mensal de energia em kWh/mês; (ii) resultados de inspeções executadas em consumidores com suspeita de irregularidades e fraudes no consumo de energia e; (iii) solicitações de serviços por estes consumidores junto a uma distribuidora de energia elétrica brasileira (Alberto, B. L. A.; Almeida, P. E. M., 2009), (Alberto, B. L. A., 2007), (Alberto, B. L. A. et al., 2011). Este conjunto de dados representa duas classes distintas: unidades consumidoras de energia elétrica com ou sem irregularidades e fraudes no consumo de energia. 10) Meteorologia. Histórico de dados de uma estação meteorológica localizada na cidade de Belo Horizonte, incluindo medições de 15 em 15 minutos a respeito da temperatura, velocidade do vento, umidade, pressão atmosférica e radiação 17 / 101 solar no raio de influência, na região da Pampulha, da estação meteorológica em questão. Esses dados são utilizados para predizer a ocorrência ou não de eventos climáticos extremos. Diferentemente das bases sintéticas (Blake, C. L. and Merz, C. J. 1998) acima encontradas na literatura, as bases 9 e 10 dizem respeito a dados reais coletados e armazenados em seu estado natural e portanto sem qualquer pré-processamento. Na base de dados Energia, por questões legais e de uso para pesquisa científica, o nome da distribuidora foi omitido, bem como as informações que identificam as unidades consumidoras em análise. Já a base de dados Meteorologia foi cedida para uso científico e de pesquisa pelo Centro de Desenvolvimento em Tecnologia Nuclear (CDTN), o qual possui uma estação meteorológica com 13 anos de dados meteorológicos históricos da região da Pampulha. Todas as bases de dados passaram pelos seguintes estágios de préprocessamento: atributos categóricos foram expandidos para os correspondentes vetores binários e, em seguida, cada atributo normalizado para o intervalo [−1, 1]. Bases de dados contendo c > 2 classes foram reduzidas à classificação binária usando um dos procedimentos a seguir: (i) escolha de um dos rótulos para representar a classe positiva (ou de interesse) e união dos demais rótulos para compor a classe negativa. Para o algoritmo NBD os parâmetros min θ e max θ foram ajustados em 0.5 e k = 5 . Para SMOTE e SMOTE+TOMEK LINKS, o número de vizinhos mais próximos foi configurado como 5 (Batista et al., 2004) Visando a obter representatividade nos resultados dos algoritmos testados, foram geradas 10 permutações aleatórias para cada base de dados. Cada permutação foi então dividida em subconjuntos de treinamento (2/3) e teste (1/3) de uma maneira estratificada, garantindo em cada um deles a mesma razão de desbalanceamento da base de dados original. Com esse procedimento, foram produzidos 10 diferentes casos de treinamento/teste para cada base de dados. Dessa forma, para um algoritmo particular, o desempenho médio e desvio-padrão foram calculados sobre 10 execuções (casos de treinamento/teste), com métricas AUC e Gmean. O objetivo geral do 3º experimento foi testar a eficiência do algoritmo NBD, comparando-o com os métodos investigados na literatura que podem ser combinados com redes MLP, ou seja, que podem usar MLP como classificador base. São eles: SMOTE e SMOTE + TOMEK-LINKS (Batista et al., 2004). Além disso, uma rede MLP pura (MLP), ou seja, sem qualquer estratégia para lidar com dados desbalanceados, foi 18 / 101 também testada dentro das mesmas condições. A topologia e parâmetros adotados para a rede MLP foi a mesma da descrita no segundo experimento. Por fim, para encerrar o trabalho, é aberta uma discussão a respeitos dos resultados alcançados em relação aos objetivos ora traçados e as principais contribuições efetuadas para o meio científico, tecnológico e para os grupos de pesquisa do CEFET-MG. Os trabalhos futuros também são apresentados bem como uma generalização do método NBD para outras aplicações e conjuntos de dados desbalanceados. 1.4 Principais contribuições Entre as principais contribuições deste trabalho está uma análise experimental, empírica e formal sobre a natureza do problema de desbalanceamento de classes seguindo uma abordagem de pré-processamento de dados com base na teoria de Aprendizado de Máquina e Decisão Bayesiana (Hart, P. E., 1968). Esta análise é corroborada por meio de experimentos computacionais com bases de dados sintéticas e reais pelos quais são investigados, caracterizados e validados alguns dos mais recentes e eficientes métodos de balanceamento de classes presentes na literatura em problemas de classificação de padrões (Alberto, B. L. A., 2007). Com intuito de confrontar os métodos da literatura investigados e melhorar seus resultados em termos de taxas de acerto, principalmente para a classe minoritária, foi proposto um novo método intitulado Detecção de Bordas de Novidade (NBD). Este método é baseado em subamostragem e sobreamostragem guiada pela informação da densidade em torno dos exemplos de treinamento inter-classe e intra-classe. O NBD utiliza esta informação de densidade para identificar principalmente casos raros (novidades) em regiões de menor densidade e também exemplos que pertencem à região próxima à superfície de separação. O processo de eliminação e síntese de exemplos dessas regiões melhora a distribuição dos conjuntos de treinamento para que um classificador possa estimar uma melhor superfície de separação. Com isso, é possível contribuir para a melhoria dos resultados de classificação com taxas de acerto elevadas, principalmente em relação à classe minoritária. Testes estatísticos aplicados aos resultados experimentais obtidos puderam mostrar a eficiência do NBD ao ser confrontado com os métodos investigados na literatura. 19 / 101 Resultados intermediários deste trabalho encontram-se publicados nacionalmente em (Alberto, B. L. A.; Almeida, P. E. M.; Durães, R. L., 2008), (Alberto, B. L. A. e Almeida, P. E. M., 2009) e (Alberto, B. L. A. et al., 2011). Torna-se mais claro, a partir da caracterização formal e experimental apresentada, que soluções como o método NBD para o problema de classes desbalanceadas devem considerar critérios alternativos para modificações das distribuições de probabilidade (a priori) a partir de suas estratégias de reamostragem de dados. Essa observação ajuda a entender o sucesso empírico de alguns métodos da abordagem de pré-processamento de dados. 1.5 Organização do trabalho Esta dissertação está organizada da seguinte forma: Seção 2: Aprendizado de Máquina Nesta seção é feita uma investigação sobre o Aprendizado de Máquina com ênfase no Aprendizado Indutivo por exemplos, incluindo conceitos de aprendizado supervisionado, não supervisionado e semi supervisionado. São descritos também os paradigmas de aprendizagem mais conhecidos na literatura. Seção 3: Pré-processamento de dados Nesta seção é realizado um estudo sobre os desafios que surgem na fase de préprocessamento de dados em Aprendizado de Máquina. Seleção de atributos, tratamento de valores desconhecidos e desbalanceamento de classes são problemas típicos resumidamente descritos nesta seção. Seção 4: Desbalanceamento de classes Na seção 4 é detalhado o problema de aprendizado com classes desbalanceadas. São discutidos aspectos teóricos e experimentais sobre os principais métodos, principalmente aqueles utilizados para classes com alto grau de sobreposição. Seção 5: Detecção de Bordas de Novidade (NBD) A seção 5 apresenta um novo método de balanceamento de classes proposto neste trabalho, a Detecção de Bordas de Novidade (NBD). As subseções desta seção apresentam os principais experimentos computacionais realizados. Foram 20 / 101 executados três experimentos com diferentes bases de dados e métodos investigados da literatura, incluindo uma comparação com o método NBD. Seção 6: Conclusões e trabalhos futuros Na seção 6 são descritos as conclusões deste trabalho e as propostas de continuidade na forma de trabalhos futuros. 21 / 101 2 Aprendizado de Máquina 2.1 Considerações iniciais Aprendizado de Máquina é uma área de pesquisa em Inteligência Computacional em que são estudadas técnicas que permitem ao computador adquirir “conhecimento” a partir de dados de maneira automática (Mitchell, T. M., 1997), (Almeida, P. E. M.; Meireles, M. R. G.; Simões, M. G., 2003). Em AM, um dos paradigmas de aprendizado mais utilizados é o indutivo, no qual parte-se de exemplos para induzir conceitos gerais a respeito de um dado contexto. Nesta seção são descritas várias dessas abordagens que podem ser utilizadas pelos sistemas de aprendizado, entre elas o aprendizado por indução, foco deste trabalho. O aprendizado indutivo permite obter novos conhecimentos a partir de exemplos previamente observados. Entretanto, ele é um dos mais desafiadores, pois o conhecimento gerado ultrapassa os limites das premissas, e não existem garantias de que esse conhecimento seja verdadeiro. Esta seção está organizada da seguinte forma: na seção 2.2 são apresentados os principais conceitos a respeito de Aprendizado de Máquina Indutivo, aprendizado supervisionado, não supervisionado e semi-supervisionado. Na seção 2.3 os principais paradigmas de aprendizado são investigados, tais como o Estatístico, Simbólico, Conexionista, Evolutivo e Instance-based. Por fim, na seção 2.5, as considerações finais. 2.2 Aprendizado de Máquina Indutivo por Exemplos Indução é a forma de inferência lógica que permite que conclusões gerais sejam obtidas de exemplos particulares. Já o aprendizado indutivo é o processo de inferência indutiva (Shaw, M. J. and Gentry, J. A., 1990) realizada sobre fatos, situações ou casos observados, os quais são fornecidos ao aprendiz por um professor. Um tipo de aprendizado indutivo é o Aprendizado Indutivo por Exemplos, cuja tarefa é induzir descrições gerais de conceitos utilizando exemplos específicos desses conceitos (Michalski, R. S. Carbonell and Mitchell, T. M., 1983). Uma definição do problema de aprendizado de conceitos utilizando exemplos pode ser encontrada em Bratko, I. (1990): Definição. Seja λ o conjunto universal dos objetos, isto é, todos os objetos que o aprendiz pode encontrar. Não existe limite, a princípio, para a cardinalidade de λ . Um conceito β pode ser formalizado como sendo um subconjunto de objetos em λ . 22 / 101 Assim β ⊂ λ e aprender um conceito β significa aprender a reconhecer objetos em λ . Ou seja, uma vez que o conceito β é aprendido, para qualquer objeto x ∈ λ o sistema é capaz de reconhecer se x ∈ β . Pela definição é importante notar que o conceito aprendido deve ser útil não apenas para reconhecer corretamente os exemplos utilizados para aprender o conceito β , mas também para reconhecer corretamente se qualquer exemplo pertence ou não ao conceito aprendido. Em AM, o aprendiz é um sistema computacional frequentemente denotado por sistema de aprendizado, algoritmo de aprendizado, ou simplesmente indutor. Um sistema de aprendizado é um sistema computacional que toma decisões baseado em experiências acumuladas contidas em casos resolvidos com sucesso (Weiss, S. M. and Kulikowski, C. A., 1991). O aprendizado indutivo por exemplos pode ser dividido em aprendizado supervisionado e não supervisionado (Russel, S. and Norvig, P., 2003). No aprendizado supervisionado é fornecido ao sistema de aprendizado um conjunto de exemplos, sendo E = {E1 , E 2 ,..., E N } e cada exemplo E i ∈ E possui um rótulo associado. Esse rótulo define a qual classe o exemplo pertence. Pode-se dizer de uma maneira mais formal que cada exemplo é representado pela Equação 1: r (1) Ei = ( xi , yi ) r Na qual xi é um vetor de valores que representam as características, ou atributos, do exemplo Ei e; yi é o valor da classe desse exemplo. O objetivo do aprendizado r supervisionado é induzir um mapeamento geral dos vetores x para valores y . Portanto, o sistema de aprendizado deve construir um modelo y = f ( x) de uma função desconhecida f também chamada de função conceito que permite predizer valores y para exemplos previamente não vistos. Entretanto, o número de exemplos utilizados para a criação do modelo não é, na maioria dos casos, suficiente para caracterizar completamente essa função f . Na realidade, os sistemas de aprendizado são capazes de induzir uma função h que r r aproxima f , ou seja, h( x) ≈ f ( x) . Nesse caso, h é chamada de hipótese sobre a função conceito f . 23 / 101 Em aprendizado supervisionado, o atributo classe y pode ser um atributo qualitativo que assume um conjunto de valores discretos C = {C1 , C2 ,...,C N } ou um atributo quantitativo que assume um conjunto de valores reais. No primeiro caso, r assumindo que os valores x correspondem a pontos em um espaço M-dimensional ℜ M , o objetivo do aprendizado é encontrar uma função h que aproxima a função f : ℜ M → C . Nesse caso, a hipótese h é denominada classificador, e a tarefa de aprendizado é denominada classificação. No segundo caso, o atributo classe é quantitativo, o qual pode assumir um conjunto de valores reais. O objetivo do aprendizado é encontrar uma função h que aproxima a função f : ℜ M → ℜ . Neste caso, a hipótese h é denominada regressor, e a tarefa de aprendizado é denominada regressão. No aprendizado não supervisionado é fornecido ao sistema de aprendizado um r conjunto de exemplos E , no qual cada exemplo consiste somente de valores x , não incluindo a informação sobre a classe y . O objetivo é construir um modelo que procura por regularidades nos exemplos, formando agrupamentos ou clusters de exemplos com características similares. A abordagem utilizada pelo aprendizado não supervisionado, especificamente no processo de clustering, sofre de algumas limitações significantes. Diferentemente do que ocorre com o aprendizado supervisionado, os resultados de um processo de clustering não fornecem uma explicação ou descrição, mas apenas clusters. Porém, muitas vezes, não se está interessado apenas nos clusters, mas também em alguma explicação ou descrição conceitual dos exemplos que foram agrupados em um mesmo cluster, o que não é uma tarefa fácil. Dessa forma, existe a preferência, sempre que exista a possibilidade, de se escolher aprendizado supervisionado. Entretanto, em muitos casos do mundo real, o número de exemplos rotulados é muito pequeno, quando não inexistente, e modelos preditivos induzidos a partir de um pequeno conjunto de exemplos rotulados apresentam, geralmente, baixa precisão. O aprendizado semi-supervisionado, uma área de pesquisa em AM, consiste em utilizar algoritmos que aprendem a partir de exemplos rotulados e não rotulados. A grande motivação para esse tipo de aprendizado se dá pelo fato de exemplos não rotulados existirem em abundância e exemplos rotulados serem geralmente escassos. Além disso, a rotulação de exemplos pode ser custosa, como nos casos de identificação de fraudes, indexação de vídeo, categorização de textos e diagnósticos médicos, entre outros. Uma outra motivação é que classificadores induzidos exclusivamente a partir de 24 / 101 um pequeno conjunto de exemplos rotulados, geralmente, não apresentam boa precisão. A ideia do aprendizado semi-supervisionado é então utilizar os poucos exemplos rotulados para se obter informações sobre o problema e utilizá-las para guiar o processo de aprendizado a partir dos exemplos não rotulados (Bruce, R., 2001). Aprendizado semi-supervisionado pode ser utilizado tanto em tarefas de classificação como em tarefas de clustering. Em uma classificação semi-supervisionada, a ideia é rotular, com uma certa margem de segurança, alguns dos exemplos no conjunto de exemplos não rotulados, os quais são posteriormente utilizados durante a fase de treinamento do classificador, frequentemente resultando em uma classificação mais precisa (Blum, A. L. and Mitchell, T. M., 1998). Já em clustering semi-supervisionado, os exemplos rotulados são utilizados no processo de formação dos clusters, servindo geralmente como um conhecimento preliminar e resultando em melhores clusters. Vários algoritmos de clustering semi-supervisionados têm sido propostos. A maioria deles tem como base algum algoritmo existente na literatura, o qual é modificado para tratar exemplos rotulados e não rotulados. Nesses algoritmos, os exemplos rotulados são utilizados para guiar o processo de formação dos clusters, como nos algoritmos COP–k-means (Wagstaff, R. et al., 2001), SEEDED–k-means e CONSTRAINED–k-means (Basu, S. et al., 2002). A Figura 1 apresenta a hierarquia do aprendizado indutivo. Aprendizado Indutivo Aprendizado Supervisionado Classificação Aprendizado NãoSupervisionado Aprendizado SemiSupervisionado Regressão Figura 1 – Hierarquia do aprendizado indutivo (Adaptado de Haykin, S., 1998) O foco deste trabalho é o aprendizado supervisionado. Uma ênfase maior será dada aos problemas de classificação, embora alguns métodos propostos possam também ser utilizados para problemas de regressão. 25 / 101 2.3 Paradigmas de Aprendizado de Máquina Supervisionado Em AM existem vários paradigmas capazes de aprender a partir de um conjunto de dados ou exemplos. No caso de AM supervisionado, um requisito básico para todos paradigmas é que o conceito a ser aprendido deve estar relacionado com casos observados, ou seja, cada exemplo deve estar rotulado com a classe a qual pertence. A seguir são apresentados os paradigmas mais conhecidos na literatura. 2.3.1 Paradigma Estatístico Pesquisadores em estatística têm criado diversos métodos de classificação e regressão, muitos deles semelhantes aos métodos empregados em AM. Destaca-se neste caso o Aprendizado Bayesiano (Duda, R. O. et al., 2001) que utiliza um modelo probabilístico baseado no conhecimento prévio do problema utilizando exemplos de treinamento para determinar a probabilidade final de uma hipótese. Como regra geral, técnicas estatísticas tendem a focar tarefas em que todos os atributos têm valores contínuos ou ordinais. Frequentemente assumem que os valores de atributos estão normalmente distribuídos, e então usam os dados fornecidos para determinar média, variância e covariância da distribuição. Muitos deles também são paramétricos, assumindo alguma forma de modelo ou distribuição, e então encontrando valores apropriados para os parâmetros do modelo a partir de dados. Por exemplo, um classificador linear assume que as classes podem ser expressas como combinação linear dos valores dos atributos, e então procura uma combinação linear particular que forneça a melhor aproximação sobre o conjunto de dados. Entretanto, a pressuposição feita a respeito da forma de distribuição dos dados pode não se verificar, especialmente em distribuições multimodais. Essa dificuldade pode ser superada com o uso de técnicas não paramétricas, em que a estimação da função de densidade de probabilidade é feita apenas com base nos exemplos do conjunto de treinamento. Entre elas, duas têm sido utilizadas para problemas de classificação: a das janelas de Parzen e a dos k vizinhos mais próximos. O modelo de mistura de Gaussianas (Duda, R. O. et al., 2001) é uma extensão da técnica de janelas de Parzen (Parzen, E., 1962), que consiste em uma combinação linear de distribuições normais. Sua estratégia baseia-se na criação de hipercubos de aresta hn centrados em cada um dos exemplos. A partir do número de exemplos localizados no interior de cada hipercubo e de seu volume é possível calcular a função de densidade de probabilidade. A largura da janela hn é o parâmetro que 26 / 101 determina o grau de generalização. Outra importante abordagem estatística não paramétrica é a dos k vizinhos mais próximos (KNN, do inglês K Nearest Neighbors) (Cover, T. M. and Hart, P. E., 1967). A principal diferença com relação às janelas de Parzen está no fato de que KNN não utiliza uma largura de janela fixa hn . Em vez disso, cada janela com centro em um exemplo cresce até o momento em que nela estiverem contidos k exemplos. A classe de um novo exemplo x será aquela a que pertencerem à maior parte dos k exemplos mais próximos de x . Assim, nas regiões em que a densidade dos dados for maior, o tamanho das janelas será menor. Esse comportamento gera fronteiras de decisão que assumem o formato de células de Voronoi (Hart, P. E., 1968). 2.3.2 Paradigma Simbólico Os sistemas de aprendizado simbólico buscam aprender construindo representações simbólicas de um conceito por meio da análise de exemplos e contraexemplos desse conceito. As representações simbólicas estão tipicamente na forma de alguma expressão lógica, árvores de decisão, regras de decisão ou redes semânticas. Atualmente, entre as representações simbólicas mais estudas estão as árvores e regras de decisão. É atribuído a Morgan e Messenger (1973) o desenvolvimento original dos métodos para a indução de árvores de decisão. O método de indução de árvores de decisão a partir de dados empíricos, conhecido como particionamento recursivo, foi investigado por pesquisadores da área de AM e estatística. Os sistemas ID3 (Quinlan, J. R., 1986) e C4.5 (Quinlan, J. R., 1987a) (Quinlan, J. R., 1987b) para indução de árvores de decisão tiveram uma importante contribuição sobre a pesquisa em AM. É interessante observar que sistemas de árvores de classificação e regressão (Breiman, L. et al., 1984) foram desenvolvidos independentemente por estatísticos durante praticamente o mesmo período que o ID3, no final dos anos 70. Os trabalhos com indução de regras de decisão surgiram com a simples tradução das árvores de decisão para regras, com a poda realizada sobre as regras, tal abordagem surgiu no trabalho de Quinlan, J. R. (1987a). Posteriormente, foram criados métodos que induziam regras diretamente a partir dos dados, um exemplo desse trabalho pode ser encontrado em Michalski, R. T. et al. (1986). Um grande levantamento dos principais sistemas indutores de regras de decisão pode ser encontrado em Fürnkranz J. (1999). 27 / 101 2.3.3 Paradigma Conexionista Redes Neurais Artificiais (RNA) (Haykin, S., 1998) podem ser vistas como uma técnica de AM inspirada no funcionamento do cérebro. Assim como os neurônios biológicos ligam-se uns aos outros para receber, processar e transportar sinais através de uma rede complexa, o neurônio artificial, unidade fundamental das RNA, também é responsável por receber um conjunto de sinais, processá-los e emitir um sinal de saída. Sua representação envolve unidades interconectadas, daí o termo conexionismo. Capacidade de aprendizado, generalização e desempenho são características que as tornam muito úteis para reconhecimento e classificação de padrões, principalmente aqueles cujas características se modificam ou se adaptam ao ambiente com o passar do tempo. Umas das principais arquiteturas de RNA utilizadas são os Perceptrons de Múltiplas Camadas (MLP), os quais vêm obtendo sucesso em tarefas de classificação nas mais diversas aplicações (Almeida, P. E. M.; Meireles, M. R. G.; Simões, M. G. (2003), (Alberto, B. L. A.; Almeida, P. E. M.; Durães, R. L., 2008), (Alberto, B. L. A.; Almeida, P. E. M., 2009) e (Alberto, B. L. A. et al., 2011). Suas principais características são: • O modelo de cada neurônio da rede inclui uma função de ativação não linear; • A rede possui uma ou mais camadas de neurônios ocultos (camada escondida) que extraem as características mais significativas dos padrões de entrada; • A rede possui alto grau de conectividade determinado pelas sinapses da rede (rede totalmente conectada). Uma rede MLP, em sua forma geral, é representada pela camada de entrada, as camadas intermediárias (ou camadas ocultas) e a camada de saída. A Figura 2 apresenta um exemplo de MLP. Um treinamento supervisionado típico desta rede utiliza o algoritmo Backpropagation, o qual consiste em duas etapas: • Um padrão é apresentado às unidades da camada de entrada, processado pelas camadas intermediárias e sua resposta é então produzida na camada de saída, onde o erro é calculado (diferença entre a resposta real e a resposta desejada); • Este erro é propagado a partir da camada de saída até a camada de entrada, e os pesos das conexões das unidades das camadas internas vão sendo modificados. 28 / 101 camada escondida camada de saída camada de entrada x1 y1 xn y2 Figura 2: Estrutura típica de uma rede MLP Seja uma rede MLP com n entradas, uma camada escondida com h unidades (neurônios) e uma camada de saída contendo uma única unidade, conforme a Figura 3. O valor de saída obtido na unidade escondida s da rede, devido à apresentação de um vetor de entrada x = {x1 , x2 ,..., xn } , é dado pela Equação 2: n z s = φ (u s ) = φ (∑ wsr xr ) , (2) r =0 sendo wsr um peso entre a unidade escondida s e a unidade de entrada r e φ (.) a função de ativação. Similarmente, o valor obtido na unidade de saída da rede é calculado com base nas saídas emitidas pelas unidades escondidas, na qual ws representa um peso entre o neurônio de saída e a unidade escondida s . O termo bias é considerado como uma unidade (entrada escondida) extra com valor igual a 1. w10 M x1 w10 xr wsr xn M whn w0 z1 zs zh ws fˆ wn Figura 3: Exemplo de uma rede MLP Dado o conjunto de dados T = {( x(i ), y (i )) | i = 1...N } , com y (i ) denotando o rótulo (saída desejada) para cada vetor de entrada x(i ) ∈ ℜ n , o sinal de erro (estimado 29 / 101 na saída da rede) para o i-ésimo exemplo de treinamento é dado por e(i ) = y (i ) − fˆ (i ) . Com base nessa expressão, a função custo somatório dos erros quadráticos sobre o conjunto T pode ser definida conforme as Equações 3 e 4: h fˆ = φ (v) = φ (∑ ws z s ) , (3) s =0 J ( w) = 1 N 2 ∑ e (i) 2 i =1 ∀x(i ) ∈ T , (4) o qual w representando o vetor que armazena todos os parâmetros (pesos e bias) da rede. A regra de aprendizado do algoritmo Backpropagation padrão é baseada no método do gradiente descendente (Luenberger, D., 1984). Os parâmetros da rede são inicializados com valores aleatórios e atualizados, a cada iteração (época), na direção oposta do vetor gradiente, conforme as Equações 5 e 6: ∆w = −ηg ( w) , (5) wnovo = wanterior + ∆wanterior , (6) com g ( w) sendo o vetor gradiente da função custo (Equação 4) em relação ao vetor de pesos corrente w e η uma constante positiva (taxa de aprendizado) que indica o tamanho do termo de atualização (Equação 6) aplicado a cada época de treinamento. O vetor gradiente g ( w) é dado pela derivada parcial da função custo (Equação 4) em relação ao peso arbitrário da rede w1 conforme a Equação 7: 1 N ∂e 2 (i ) ∂J = ∑ ∂w1 2 i =1 ∂w1 N = ∑ e(i ) i =1 ∂e(i ) . ∂w1 (7) A metáfora biológica com as conexões neurais do sistema nervoso tem interessado muitos pesquisadores e fornecido diversas discussões sobre os méritos e as limitações dessa abordagem de aprendizado. Em particular, as analogias com a biologia têm levado muitos pesquisadores a acreditar que as redes neurais possuem um grande potencial na resolução de problemas que requerem intenso processamento sensorial humano, tais como visão e reconhecimento de voz. As pesquisas em redes neurais foram iniciadas com o trabalho pioneiro de McCulloch e Pitts em 1943. McCulloch era um psiquiatra e pesquisou por 20 anos uma forma de representar um evento no sistema nervoso. Pitts era um jovem pesquisador e começou a trabalhar com McCulloch em 1942. Praticamente 15 anos após a publicação 30 / 101 de McCulloch e Pitts, Rosemblatt (1958) apresentou o Perceptron, cuja grande contribuição foi a prova do teorema de convergência. Mas, no livro Perceptron, Minsky e Papert (1969) demonstraram a existência de limites fundamentais nos perceptrons de uma camada. A pesquisa na área ficou praticamente interrompida até que Hopfield (1982) utilizou a ideia de uma função de energia para compreender os cálculos realizados em redes recorrentes com conexões sinápticas simétricas. Talvez mais do que qualquer outra publicação, o artigo de Hopfield em 1982 e o trabalho de Rumelhart, D.E. e J.L. McClelland (1986) foram as publicações que mais influenciaram para o ressurgimento do interesse sobre redes neurais na década de 80. 2.3.4 Paradigma Evolutivo Este paradigma faz uma analogia com a teoria de Darwin, na qual somente os mais adaptados sobrevivem. A partir dos trabalhos originais de Holland, J. H. (1975) pôde-se definir um classificador evolutivo como uma população de elementos de classificação que competem entre si para realizar uma tarefa de predição. Os elementos de desempenho fraco são descartados e os mais fortes proliferam produzindo variações sobre eles próprios. Os sistemas de classificação foram originalmente propostos por Holland como sistemas capazes de perceber e classificar os acontecimentos em seu ambiente e reagir a eles apropriadamente. Para a construção de tais sistemas é necessário: (i) um ambiente; (ii) receptores que informam ao sistema sobre o que está ocorrendo; (iii) elementos que permitam ao sistema manipular o seu ambiente e; (iv) o sistema em si, geralmente, um sistema do tipo caixa preta numa primeira abordagem. Geralmente os classificadores evolutivos são formados por algoritmos, também conhecidos como Algoritmos Genéticos – AG (Koza, J. R. 1992; Goldberg, D. E., 1989; Norvig, P. and Russel, S., 1995) que implementam mecanismos de evolução natural incluindo cruzamento, mutação e aptidão para sobrevivência. O técnica de AG trabalha com populações de indivíduos e deriva o seu comportamento de uma metáfora do processo evolutivo natural. Isto é obtido pela criação em um computador de uma população de indivíduos representados por cromossomas, em essência um conjunto de strings de caracteres análogos aos cromossomas de quatro bases (timina, guanina, adenosina e citosina) existentes no DNA natural. Os indivíduos na população são então submetidos a um processo de evolução. 31 / 101 2.3.5 Paradigma instance-based Uma forma de classificar um dado é associá-lo a uma classe cujos exemplos são similares a este dado. Essa filosofia exemplifica os sistemas instance-based, os quais classificam casos nunca vistos utilizando exemplos similares conhecidos (Kibler, D. and Langley, P. 1988). As principais características dos sistemas instance-based são: Lembrança dos exemplos de treinamento. Se todos os exemplos forem memorizados, o classificador pode se tornar lento e difícil de manusear. O ideal é reter casos comuns que juntos resumam toda a informação importante. Uma segunda solução reside em construir estruturas capazes de indexar os exemplos e responder consultas sobre os exemplos mais semelhantes de forma rápida. Exemplos dessas estruturas são as MTrees (Ciaccia, P.; Patella, M. and Zezula, P., 1997) e as Slim-Trees (Jr., C. T.; Traina, A.; Seeger, B. and Faloutsos, C., 2000). Medida de similaridade entre os exemplos. Se todos os atributos forem quantitativos, pode-se calcular a distância entre dois casos utilizando a distância euclidiana, por exemplo. Quando alguns atributos não são quantitativos, essa interpretação de distância se torna mais problemática. Além do mais, se existem atributos irrelevantes, dois casos similares podem aparentar serem muito diferentes pois eles podem possuir valores diferentes em atributos sem importância. Stanfill, C. e Waltz, O. (1986) desenvolveram um método sensível ao contexto para alterar a escala dos atributos de forma que as medidas de distância fiquem mais robustas. Relação entre um novo exemplo e os exemplos armazenados. Para classificar um novo exemplo existem diversas alternativas. Uma delas consiste em usar um único exemplo, o qual é o mais próximo do novo exemplo, para classificá-lo. Uma segunda alternativa consiste em usar vários exemplos. Nessa alternativa, pode-se levar em consideração os diferentes graus de similaridade entre cada um e o novo exemplo na determinação de sua classe. A segunda alternativa é geralmente mais utilizada por ser mais robusta a erros nos dados. 2.4 Considerações finais Alguns paradigmas de AM vêm sendo estudados constantemente, tais como o paradigma simbólico, estatístico, instance-based, conexionista e genético. O aprendizado pode ser realizado de maneira supervisionada, não supervisionada ou semisupervionada. O aprendizado supervisionado é feito como se houvesse o auxílio de um tutor, responsável por informar a resposta desejada em cada situação. No aprendizado 32 / 101 não supervisionado, não existem rótulos que indiquem a que classe cada exemplo pertence. Já no semi-supervisionado os poucos exemplos rotulados para se obter informações sobre o problema são utilizados para guiar o processo de aprendizado a partir dos exemplos não rotulados. 33 / 101 3 Pré-processamento de dados 3.1 Considerações iniciais Este capítulo está organizado da seguinte forma: na seção 3.2 é explicada a diferença entre tarefas fracamente e fortemente dependentes de domínio. Na seção 3.3 são discutidos os problemas típicos encontrados em conjunto de dados, introduzindo o problema de desbalanceamento de classes. Em seguida na seção 3.4 é apresentada a importante tarefa de transformação dos dados a fim de superar limitações existentes nos algoritmos que são empregados para extração de características. Por fim, a seção 3.5 apresenta as considerações finais. 3.2 Tarefas dependentes de domínio O pré-processamento de dados em AM é frequentemente tido como sendo uma tarefa que envolve uma grande quantidade de conhecimento do domínio do problema em que se dá a investigação. Coletar dados geralmente é uma tarefa complexa e muitas vezes os dados coletados são de qualidade questionável, ou seja, possuem informações incorretas e imprecisas. Embora muitos dos algoritmos utilizados em AM tenham sido projetados para manipular dados em tais situações, espera-se que esses algoritmos gerem resultados mais precisos caso a maioria dos problemas presentes nos dados tenha sido removida ou corrigida cuidadosamente. Geralmente, pré-processamento de dados é um processo semi-automático, ou seja, depende da capacidade de um especialista humano em identificar os problemas presentes nos dados, além de sua natureza, e utilizar os métodos mais apropriados para solucionar cada um dos problemas. As tarefas realizadas por métodos empregados na fase de pré-processamento são divididas em dois grupos (Fayaad, U. et al., 1996): Tarefas fortemente dependentes do conhecimento no domínio do problema. Essas tarefas somente podem ser efetivamente realizadas com o uso de conhecimento específico do problema. Um método automático pode eventualmente ser empregado para realizar uma tarefa fortemente dependente desse conhecimento, entretanto, esse método depende que um conhecimento específico seja fornecido por um especialista. Como exemplo de tarefa fortemente dependente do domínio pode-se citar a verificação de coerência dos dados. Para realizar tais análises é normalmente necessário conhecer as restrições das variáveis consideradas. Por exemplo, valores negativos ou com mais de 34 / 101 quatro dígitos não são permitidos para variáveis que tratam de idade ou peso de uma pessoa. Dessa forma, a partir do conhecimento dessas limitações, é possível utilizar um método automático que encontre problemas de incoerência nos dados. Mesmo sendo automático, tal método depende de conhecimento do domínio, ou seja, do conhecimento do contexto em que os dados estão inseridos. Por este motivo, essas tarefas são denominadas fortemente dependentes de conhecimento do domínio do problema. Tarefas fracamente dependentes do conhecimento do domínio do problema. Essas tarefas podem ser realizadas por métodos que extraem dos próprios dados as informações necessárias para tratar o problema de pré-processamento de dados. Se por um lado essas tarefas ainda dependem de conhecimento da aplicação, pois é necessário, por exemplo, selecionar o método mais adequado para tratar o problema de préprocessamento de dados, por outro lado essas tarefas podem ser realizadas por métodos com menor dependência de um especialista no problema que aquelas que dependem fortemente de conhecimento do domínio. Das tarefas fracamente dependentes de conhecimento no domínio do problema pode-se citar o tratamento de valores desconhecidos, a seleção de atributos, a identificação de valores extremos, o tratamento de conjuntos de dados com classes desbalanceadas, detecção de ruídos, entre outras. Frequentemente, essas tarefas podem ser tratadas com o uso de conhecimento do contexto do problema. Por exemplo, as falhas no processo de aquisição de dados que geram valores desconhecidos para uma determinada aplicação podem ser identificadas e corrigidas a partir da interpolação de valores ausentes. Entretanto, na ausência de conhecimento do problema, essas tarefas de pré-processamento podem ser realizadas com o uso de métodos automáticos. 3.3 Problemas típicos As tarefas de pré-processamento de dados fracamente dependentes do domínio da aplicação podem ser geralmente solucionadas por métodos que extraem do próprio conjunto de dados as informações necessárias para tratar o problema. Essas tarefas são o principal foco deste trabalho e são brevemente descritas a seguir: Tratamento de valores desconhecidos. Um problema comum em pré-processamento de dados é o tratamento de valores desconhecidos. Muitas técnicas têm sido aplicadas, sendo algumas delas bastante simples, como a substituição dos valores desconhecidos pela média ou moda do atributo ou simplesmente interpolando valores ausentes. Entretanto, outras técnicas mais elaboradas podem ser implementadas e avaliadas 35 / 101 experimentalmente. Por exemplo, podem-se substituir os valores desconhecidos por valores previstos utilizando um algoritmo de aprendizado. Identificação e descrição de valores extremos. Valores extremos são dados que aparentemente não seguem o mesmo padrão dos demais. Estatísticos têm pesquisado por métodos de identificação de valores extremos, uma vez que esses valores podem distorcer os resultados obtidos por diversos métodos paramétricos (Barnett, V. and Lewis, T., 1994). Entretanto, valores extremos precisam ser tratados com cuidado, uma vez que casos que possuem valores extremos que, a princípio, parecem ser dados incorretos, podem ser dados válidos. Na realidade, os casos com valores extremos podem representar a informação mais interessante, pela qual o especialista humano está procurando. Diversos métodos para identificar valores extremos foram propostos por pesquisadores de AM, tais como, o método de filtro (Brodley, C. E. and Friedl, M. A., 1999) e de aprendizado instanced-based, como por exemplo Ligações Tomek (Tomek, I., 1976). Tratamento de conjuntos de dados com classes desbalanceadas. Conjuntos com classes desbalanceadas são aqueles que possuem uma grande desproporção entre o número de exemplos pertencentes a cada classe. A maioria dos algoritmos de AM tem dificuldades de criar um modelo que classifique com precisão os exemplos de classes minoritárias. Uma forma de solucionar esse problema é utilizar uma distribuição das amostras que forneça um desempenho aceitável de classificação para as classes minoritárias. Seleção Unilateral foi utilizada por Kubat, M. e Matwin , S. (1997) para balancear um conjunto de dados contendo informações colhidas de fotos de satélites. Chawla, N. V. et al. (2002) combina os métodos de subamostragem e sobreamostragem e, ao invés de fazer sobreamostragem pela simples replicação de exemplos da classe minoritária, o faz pela interpolação de exemplos da classe minoritária que estão próximos. Dessa forma, o overfitting é contornado e as fronteiras de decisão para a classe minoritária são estendidas no espaço de exemplos da classe majoritária. Muitos outros trabalhos também analisaram o problema de aprender sobre conjunto de dados desbalanceados (Pazzani, M. et al., 1994; Ling, C. X. and Li, C., 1998; Kubat, M. and Matwin, S., 1997; Fawcett, T. and Provost, F., 1997; Kubat, M. and Matwin, S., 1998; Japkowicz, N. and Stephen, S., 2002). Seleção de atributos. Seleção de atributos é um problema muito importante em AM (Blum, A. L. amd Langley, P., 1997; John, G., Kohavi, R. and Pfleger, K., 1994). Ele consiste em encontrar um subconjunto de atributos no qual o algoritmo de AM utilizado 36 / 101 em tarefas de classificação irá se concentrar. Existem diversas razões que justificam o uso de métodos para seleção de atributos. As principais são (Lee, H. D., Monard, M. C. and Baranauskas, J. A., 1999): 1. Muitos algoritmos de AM não funcionam bem com uma grande quantidade de atributos, dessa forma, seleção de atributos pode melhorar o desempenho desses algoritmos; 2. Com um número menor de atributos o conhecimento induzido por algoritmos de AM é, frequentemente, mais compreensível; 3. Alguns domínios possuem um alto custo de coletar dados, nesses casos métodos de seleção de atributos podem diminuir o custo da aplicação. Existem diversas abordagens propostas para selecionar um subconjunto de atributos. De uma forma geral, podem-se dividir as abordagens mais utilizadas em seleção de atributos de dados em embedded, filtro e wrapper (Lee, H. D.; Monard, M. C. and Baranauskas, J. A., 1999). Outra abordagem denominada híbrida constitui uma combinação, quer seja de diversas maneiras de interação entre o critério de avaliação e o algoritmo básico de indução, quer seja de diferentes critérios de avaliação. Um desses algoritmos híbridos utiliza boosting (Freund, Y. and Schapire, R. E., 1997) e incorpora algumas características da abordagem wrapper em um filtro. As três primeiras abordagens, embedded, filtro e wrapper, são descritas a seguir. 1. Abordagem Embedded: nessa abordagem a tarefa de seleção dos atributos é realizada internamente pelo próprio algoritmo de aprendizado. Em outras palavras, a seleção de um subconjunto de atributos está embutida no algoritmo de AM conforme apresentado na Figura 4. Subconjunto de atributos Indutor Conjunto de treinamento Conjunto de testes Estimativa de desempenho Classificador Figura 4 – Abordagem Embedded (Adaptado de John, G., Kohavi, R. and Pfleger, K., 1994) 37 / 101 2. Abordagem Filtro: nessa abordagem é introduzido um processo separado, o qual ocorre antes da aplicação do algoritmo de aprendizado propriamente dito conforme Figura 5. A ideia é filtrar atributos irrelevantes antes do aprendizado ocorrer (John, G., Kohavi, R. and Pfleger, K., 1994). Esse passo de pré-processamento considera características gerais do conjunto de dados para selecionar alguns atributos e excluir outros. Sendo assim, métodos de Filtro são independentes do algoritmo de aprendizado que, simplesmente, receberá como entrada o conjunto de exemplos descrito utilizando somente o subconjunto de atributos importantes fornecido pelo filtro. Subconjunto de atributos Filtro Conjunto de treinamento reduzido Conjunto de treinamento Remover atributos Indutor Conjunto de testes Conjunto de teste reduzido Classificador Estimativa de desempenho Figura 5 – Abordagem Filtro (Adaptado de John, G., Kohavi, R. and Pfleger, K., 1994) 3. Abordagem Wrapper: essa abordagem também ocorre externamente ao algoritmo básico de aprendizado, porém utilizando tal algoritmo como uma “caixa preta” para analisar, a cada interação, o subconjunto de atributos em questão conforme apresentado na Figura 6. Em outras palavras, métodos Wrapper geram um subconjunto de atributos selecionado do conjunto de treinamento, e utilizam a precisão resultante do classificador induzido para avaliar o subconjunto de atributos em questão. Esse processo é repetido para cada subconjunto de atributo até que o critério de parada determinado seja satisfeito. 38 / 101 Estimativa de desempenho Conjunto de treinamento Conjunto de treinamento com menos atributos Busca por atributos Indutor Estimativa de desempenho Indutor Classificador Conjunto de testes Figura 6 – Abordagem Wrapper (Adaptado de John, G., Kohavi, R. and Pfleger, K., 1994) Um argumento utilizado com muita frequência para apoiar a utilização de abordagem Wrapper é que o mesmo algoritmo de aprendizado que vai usar o subconjunto de atributos selecionado deve prover uma estimativa melhor de precisão que um outro algoritmo (John, G., Kohavi, R. and Pfleger, K., 1994). Porém, a maior desvantagem dos métodos Wrapper é o custo computacional, o qual resulta da execução do algoritmo de aprendizado para avaliar cada subconjunto de atributos a ser considerado (Pila, A. D. 2001; Lee, H. D., Monard, M. C. and Baranauskas, J. A., 1999; Kohavi, R. and Pfleger, K., 1994). Construção de atributos. Os atributos podem ser considerados inadequados para a tarefa de aprendizado quando são fracamente ou indiretamente relevantes, condicionalmente relevantes ou medidos de modo inapropriado (Baranauskas, J. A., Monard, M. C. and Horst, P. S., 1999; Lee, H. D., Monard, M. C. and Baranauskas, J. A., 1999). Se os atributos utilizados para a descrição do conjunto de dados são inadequados, os algoritmos de AM utilizados em tarefas de classificação provavelmente criarão classificadores imprecisos ou excessivamente complexos (Bloedorn, E. and Michalski, R. S, 1998). Atributos fracamente, indiretamente ou condicionalmente relevantes podem ser individualmente inadequados, entretanto, esses atributos podem ser convenientemente combinados gerando novos atributos que podem mostrar-se altamente representativos para a descrição de um conceito. O processo de construção de 39 / 101 novos atributos é conhecido como construção de atributos ou indução construtiva (Michalski, R. S., 1978; Bloedorn, E. and Michalski, R. S., 1998). Assim, a construção de atributos é o processo de composição de atributos ditos primitivos, produzindo-se novos atributos possivelmente relevantes para a descrição de um conceito. De uma forma bastante ampla, o processo de indução construtiva pode ser dividido em duas abordagens: a automática e a guiada pelo usuário. A indução construtiva automática consiste em um processo de construção de atributos guiada automaticamente pelo método de construção. Geralmente, os atributos construídos são avaliados em relação aos dados, e podem ser descartados ou integrados ao conjunto de dados. A indução construtiva guiada pelo usuário utiliza o conhecimento do usuário ou do especialista no domínio para guiar a composição dos atributos. 3.4 Transformação de dados O principal objetivo desta tarefa é transformar a representação dos dados a fim de superar quaisquer limitações existentes nos algoritmos que serão empregados para a extração de padrões. De uma forma geral, a decisão de quais transformações são necessária depende do algoritmo que será utilizado para a classificação (Durães, R. L., 2009). Algumas das transformações mais comuns são: Normalização. Consiste em transformar os valores dos atributos de seus intervalos originais para um intervalo específico, como, por exemplo, [-1,1] ou [0,1]. Esse tipo de transformação é especialmente valioso para os métodos que calculam distâncias entre atributos. Por exemplo, um método como o k-vizinhos mais próximos tende a dar mais importância para os atributos que possuem um intervalo maior de valores. Outros métodos como RNA são reconhecidamente melhor treinadas quando os valores dos atributos são pequenos. Entretanto, normalização não é de grande utilidade para a maioria dos métodos que induzem representações simbólicas, tais como árvores de decisão e regras de decisão, uma vez que a normalização tende a diminuir a compreensibilidade do modelo gerado por tais algoritmos. Discretização de atributos quantitativos. Muitos algoritmos possuem a limitação de trabalhar somente com atributos qualitativos. Entretanto, muitos conjuntos de dados possuem atributos quantitativos, e para que esses algoritmos possam ser aplicados é necessário utilizar algum método que transforma um atributo quantitativo em atributo qualitativo, ou seja, em faixas de valores. Diversos métodos de discretização de atributos foram propostos pela comunidade. Uma descrição geral desses métodos pode 40 / 101 ser encontrada em (Dougherty, J., Kohavi, R. and Sahami, M., 1995; Kohavi, R. and Sahami, M., 1996). Transformação de atributos qualitativos em quantitativos. Alguns algoritmos não são capazes de manipular atributos qualitativos. Dessa forma, é necessário converter os atributos qualitativos em atributos quantitativos. Existem diversas abordagens para realizar essa transformação dependendo das características e limitações de cada algoritmo. De uma forma geral, atributos qualitativos sem ordem inerente, tal como verde, amarelo e vermelho, podem ser mapeados arbitrariamente para o formato numérico. Entretanto, esse mapeamento acaba por criar uma ordem nos valores do atributo que não é real. Atributos qualitativos ordinais, tal como pequeno, médio e grande, podem ser mapeados para valores numéricos de forma a manter a ordem dos valores, por exemplo pequeno = 1, médio = 2 e grande = 3. Alguns especialistas em RNA aconselham criar um nó de entrada para cada valor de um atributo qualitativo, ou seja, um atributo qualitativo com p valores diferentes deve ser desmembrado em p atributos binários. Cada novo atributo binário representa um único valor do atributo original. Esse mapeamento é feito sempre que o valor de p não seja grande, tipicamente 2 < p < 5 . Caso p = 2 , então é feito um mapeamento de tal forma que um dos valores do atributo quantitativo represente um valor baixo (tipicamente zero) e o outro valor represente um valor alto (tipicamente 1). 3.5 Considerações finais Algoritmos de AM são uma alternativa muito interessante para muitos problemas em classificação de padrões. Entretanto, a maioria das pesquisas em AM trata problemas bem definidos, com conjuntos de dados pequenos, bem comportados e relativamente bem preparados para a tarefa. Além disso, os objetivos da tarefa de aprendizado estão bem definidos, tal como maximizar a taxa de acerto dos modelos de classificação. Para muitos domínios de aplicação, como por exemplo o diagnóstico de doenças raras, é comum que exista uma grande desproporção entre a quantidade de exemplos rotulados em cada uma das classes presentes. Nesses casos, é muito simples projetar um classificador que possua alta precisão, através de um sistema que responda com a classe majoritária para qualquer novo caso. Entretanto, classificar precisamente a classe minoritária é frequentemente o maior objetivo de tais aplicações. 41 / 101 Muitos dos sistemas de AM tradicionais não estão preparados para aprender conceitos que classifiquem ambas as classes, com precisão, sob tais condições. Como resultado do aprendizado, frequentemente obtém-se uma alta precisão de classificação para a classe majoritária e uma inaceitável precisão para a classe minoritária. Esta seção apresentou a diferença entre tarefas fracamente e fortemente dependentes de domínio e uma breve descrição dos problemas típicos encontrados em conjunto de dados, introduzindo o problema de desbalanceamento de classes. 42 / 101 4 Desbalanceamento de classes 4.1 Considerações iniciais Muitos aspectos podem influenciar o desempenho de um modelo de classificação criado por um sistema de aprendizado supervisionado. Um desses aspectos está correlacionado com a diferença entre o número de exemplos pertencentes a cada uma das classes. Quando essa diferença é grande, os sistemas de aprendizado podem encontrar dificuldades em induzir o conceito relacionado à classe minoritária. Nessas condições, modelos de classificação que são otimizados em relação à precisão têm tendência de criar modelos triviais, que quase sempre predizem a classe majoritária. Entretanto, em muitos dos problemas reais, uma grande desproporção no número de casos pertencentes a cada uma das classes é comum. Por exemplo, na detecção de fraudes em chamadas telefônicas (Fawcett, T. and Provost, F. J., 1997) e transações realizadas com cartões de crédito (Pednault, E. P. D., Rosen, B. K. and Apte, C., 2000), o número de transações legítimas é muito maior que o de transações fraudulentas. Na modelagem de risco de seguros, apenas uma pequena porcentagem dos segurados reclama suas apólices em um dado período. Outros exemplos de domínios com um desbalanceamento intrínseco entre as classes podem ser encontrados na literatura. Além disso, em muitas aplicações, não se sabe qual é a proporção exata de exemplos pertencentes a cada classe ou se essa proporção pode variar no tempo. Muitos sistemas de aprendizado, nessas circunstâncias, não estão preparados para induzir modelos de classificação que possam predizer acertadamente as classes minoritárias. Frequentemente, esses modelos têm uma boa precisão na classificação da classe majoritária, mas a precisão para a classe minoritária não é aceitável. O problema é ainda maior quando o custo associado a uma classificação errônea para a classe minoritária é muito maior que o custo de uma classificação errônea para a classe majoritária. Infelizmente, esta é a norma e não a exceção para a maioria das aplicações com conjuntos de dados desbalanceados, pois geralmente a classe minoritária é a de maior interesse. Nesta seção são discutidos alguns dos métodos de pré-processamento de dados mais utilizados para solucionar o problema de aprender com conjuntos de dados com classes desbalanceadas. Ele está organizado da seguinte forma: na seção 4.2 a natureza do problema de classes desbalanceadas é analisada com base nas teorias de Decisão 43 / 101 Bayesiana e Aprendizado de Máquina. Na seção 4.3 são apresentadas as principais métricas da literatura para análise do desempenho de classificadores, tendo como foco as métricas: área sob a curva ROC (ROC - Relative Operating Characteristic) conhecida como AUC (Area Under ROC Curve) e Gmean (Kubat et al., 1998). Na seção 4.4 é abordado, embora não seja o foco deste trabalho, um importante tópico relativo ao aprendizado sensível ao custo. Sistemas de aprendizado sensíveis ao custo visam reduzir o custo de classificação incorreta dos exemplos, ao invés do erro de classificação, estes últimos tipicamente vistos em grande parte dos sistemas de aprendizado tradicionais. Na seção 4.5, uma das principais desta dissertação, são descritos os principais métodos na literatura para balanceamento de classes a partir dos estudos e investigações realizadas. E por fim, na seção 4.6, as considerações finais. 4.2 Natureza do problema de classes desbalanceadas Com base nas teorias de Decisão Bayesiana (Berger, J. 1985; Duda, R. O. et al., 2000) e Aprendizado Estatístico (Vapnik, V. N., 1995, 1998) pode ser demonstrado que o problema de desbalanceamento de classes surge como uma consequência direta da minimização de um critério baseado no erro global, tendo como principal atenuante o nível de sobreposição (ruído) das distribuições. Este problema, como é conhecido em AM, surge principalmente porque os algoritmos convencionais assumem diferentes erros como igualmente importantes, supondo que as distribuições são relativamente equilibradas (He, H. and Garcia, E. A., 2009), (Monard, M. and Batista, G. E. A. P. A., 2002). Embora essa estratégia possa produzir modelos com elevadas taxas de acurácia global, ela frequentemente tende a prejudicar a identificação de exemplos pertencentes a grupos raros que, na maioria dos casos, representam os grupos de interesse. Uma caracterização teórica para o problema de classes desbalanceadas pode ser encontrada em (Berger, J. 1985; Duda, R. O. et al., 2000), (Bishop, C. M., 2006) e (Vapnik, V. N., 1995). Além do desequilíbrio entre as distribuições, outro fator determinante para o problema em questão é o nível de incerteza (ruído) associado à tarefa de classificação. Estudos experimentais conduzidos em Japkowicz, M. e Stephen, S. (2002) e Prati, R. C. et al. (2004) mostraram que, para uma razão fixa de desbalanceamento, um aumento no nível de sobreposição das classes pode diminuir significativamente o número de classificações positivas corretas. Khoshgoftaar, T. M. et al. (2010) realizaram uma investigação empírica sobre o impacto causado pela combinação ruído + 44 / 101 desbalanceamento no aprendizado de modelos baseados em redes MLP e RBF (Haykin, S., 1998). As conclusões obtidas nos estudos supracitados permitem explicar porque, para determinadas aplicações, pequenas razões de desbalanceamento podem comprometer mais a capacidade de reconhecimento da classe positiva do que as grandes. Além disso, elas ajudam a compreender a razão da insensibilidade ao desbalanceamento normalmente observada em domínios separáveis, os quais as classes representam clusters bem definidos no espaço de entrada. Para ilustrar essa ideia, considere um problema de decisão simples mostrado na Figura 7(a,b). O problema está relacionado a construir um modelo de classificação para um problema de apenas um atributo e duas classes: positiva e negativa. As probabilidades condicionais para ambas as classes são dadas por funções gaussianas unidimensionais com variância igual a unidade. O valor médio do atributo para a classe negativa está uma unidade deslocado para a direita. No problema representado na Figura 7(a), o objetivo é construir um modelo de classificação bayesiano assumindo um perfeito conhecimento com respeito às distribuições de probabilidade. Nesse caso, é possível construir o modelo de classificação ótimo de Bayes. A linha vertical representa a divisão ótima entre as classes, segundo o critério de Bayes. Nessas condições, o modelo ótimo não é alterado, não importando o quão desbalanceado é o conjunto de exemplos. 0.35 0.35 0.3 0.3 0.25 0.25 P ro b a b ilit y 0.4 P ro b a b ilit y 0.4 0.2 0.2 0.15 0.15 0.1 0.1 0.05 0.05 0 0 2 4 6 8 10 Atribute X 12 (a) 14 16 18 20 0 0 2 4 6 8 10 Atribute X 12 14 16 18 20 (b) Figura 7 – Nível alto de sobreposição entre as classes: (a) com conhecimento a priori das distribuições e; (b) sem conhecimento a priori das distribuições (Matlab, 2008). 45 / 101 Em contrapartida, na Figura 7(b) é apresentado o mesmo problema, só que agora não se conhece de antemão as distribuições a priori. Em outras palavras, as distribuições devem ser estimadas a partir dos dados. Caso haja uma grande desproporção entre as classes, é provável que os algoritmos de aprendizado produzam estimativas ruins para as classes com poucos exemplos. Na Figura 7(b) em particular, a variância é superestimada em duas unidades (linha contínua) ao invés da variância em uma unidade (linha tracejada). Ou seja, conhecendo-se de antemão as probabilidades condicionais (uma restrição dificilmente aplicável em problemas do mundo real) de maneira que seja possível construir o modelo ideal de Bayes, a distribuição de exemplos entre as classes não representa um problema. Em contrapartida, quando se utiliza somente os dados disponíveis para estimar os parâmetros e esses dados não são suficientes para gerar estimativas confiáveis, classes desbalanceadas podem ser um problema na indução de modelos para a classificação de exemplos. Consideremos agora um problema ligeiramente diferente, mostrado na Figura 8(a,b). Novamente, o problema é composto por um único atributo e duas classes que seguem uma distribuição gaussiana, mas a média dos valores desse atributo para a classe negativa está agora quatro (ao invés de uma) unidades à direita da classe positiva. Assim como na Figura 7(a), na Figura 8(a) é representado o cenário em que é completo o conhecimento sobre as distribuições de probabilidade. Já na Figura 8(b) é representado o cenário em que o algoritmo de aprendizado deve estimar esses valores somente com os dados disponíveis. Pelas mesmas razões descritas anteriormente, quando é assumido o perfeito conhecimento a respeito das distribuições, o modelo ótimo de Bayes não é afetado pela distribuição de exemplos entre as classes. Entretanto, no caso em que não se conhece a priori essas distribuições, o modelo final é afetado. Note que, uma vez que as médias dos valores do atributo para as duas classes estão mais distantes, as classes estão mais separadas. Isso é equivalente a dizer que existe uma menor sobreposição entre as classes. Observe que, por esse motivo, o efeito do desbalanceamento entre as classes é menor do que no caso com uma maior sobreposição de classes. 46 / 101 0.35 0.35 0.3 0.3 0.25 0.25 P r o b a b i lit y 0.4 P ro b a b ilit y 0.4 0.2 0.2 0.15 0.15 0.1 0.1 0.05 0.05 0 0 2 4 6 8 10 Atribute X 12 14 16 18 20 0 0 (a) 2 4 6 8 10 Atribute X 12 14 16 18 20 (b) Figura 8 – Pequena sobreposição entre as classes: (a) Com conhecimento a priori das distribuições e; (b) Sem conhecimento a priori das distribuições (Matlab, 2008). Note também que mesmo que a distância entre as linhas verticais pontilhadas e contínuas sejam semelhantes, a área entre elas e a curva de distribuição de probabilidade é maior na Figura 7(b) do que na Figura 8(b). Isso é equivalente a dizer que o número de exemplos classificados incorretamente no primeiro caso é maior do que o número de exemplos classificados incorretamente no segundo caso. Esse é um indicativo de que o desbalanceamento entre as classes não é o único responsável pelo baixo desempenho em problemas desbalanceados, mas também o grau de sobreposição entre as classes. Nas seções seguintes é apresentada uma série de experimentos com conjuntos de dados sintéticos com intuito de confirmar essa hipótese. 4.3 Métricas de avaliação Normalmente, a avaliação de desempenho de classificadores é feita com base em taxas de erro. Em problemas de classificação com uma ou duas classes, o desempenho de um modelo de classificação geralmente pode ser medido utilizando matrizes de confusão. Uma matriz de confusão define a probabilidade de identificação correta de exemplos do perfil de cada classe (classe positiva e classe negativa). A Tabela 3 apresenta a matriz de confusão em sua forma geral para o problema de classificação de duas classes. 47 / 101 Tabela 3 – Matriz de confusão para problema de duas classes (Fawcett, T., 2006) Classe positiva Classe negativa Predição positiva Predição negativa Verdadeiro positivo (VP) Falso positivo (FP) Falso negativo (FN) Verdadeiro negativo (VN) Complementar à taxa de erro ( TE R ), outra medida de desempenho para avaliação de classificadores é a acurácia ( ACC ) na classificação. A acurácia é definida como a relação entre a quantidade de classificações corretas em relação a todas as classificações, conforme apresentado na Equação 8: ACC = VP + VN VP + VN = AP + AN VP + FN + FP + VN (8) A taxa de erro na classificação é definida como TE R = 1 − ACC . Os elementos ao longo da diagonal principal da matriz de confusão representam as decisões corretas: número de verdadeiros positivos ( VP ) e verdadeiros negativos ( VN ). Os elementos fora dessa diagonal representam os erros cometidos: número de falsos positivos ( FP ) e falsos negativos ( FN ). Essa metodologia é justificada pela formulação padrão do aprendizado que visa à minimização da probabilidade do erro global. Para problemas desbalanceados, no entanto, a acurácia não fornece informação adequada sobre a capacidade de discriminação de um classificador em relação a cada uma das classes em separado. Considere, por exemplo, um conjunto de dados em que a classe minoritária é representada por apenas 5% das observações. Um classificador com acurácia de 95% pode ser diretamente obtido por simplesmente classificar todo exemplo como pertencente à classe majoritária. Apesar da elevada taxa de acurácia obtida, tal classificador torna-se inútil se o objetivo principal é a identificação de exemplos raros. Na matriz de confusão pode ser observado que a distribuição entre as classes é o relacionamento entre a primeira e a segunda linha. Assim, qualquer medida de desempenho que utilize valores de ambas as colunas será, necessariamente, sensível à desproporção entre as classes. Métricas como precisão, taxa de erro, entre outras, utilizam valores de ambas as linhas da matriz de confusão. Com estas quantidades definidas, podem-se definir as Equações 9 e 10 para as medidas de sensibilidade ( S E ) e especificidade ( E S ) (Fawcett, T., 2006): 48 / 101 VP VP = AP VP + FN (9) VN VN = AN VN + FP (10) SE = ES = Sensibilidade e especificidade são conceitos amplamente utilizados em testes de classificação com duas classes. No contexto deste trabalho, S E é a probabilidade de classificar corretamente um exemplo do perfil da classe positiva, ou seja, a taxa de VP ( TV P ). A Es é a probabilidade de classificar corretamente um exemplo da classe negativa, ou seja, a taxa de VN ( TV N ). Essas duas medidas são interdependentes na medida em que uma maior sensibilidade, ou seja, uma identificação mais confiável de elementos do perfil da classe positiva leva naturalmente a uma menor especificidade, uma vez que elementos da classe negativa serão identificados com menor frequência. Normalmente, a avaliação de classificadores é feita com base em taxas de erro, o que permite uma comparação direta com as taxas de erro de classificadores tradicionais. Métricas como acurácia, sensibilidade, especificidade e taxas de erro, utilizam valores de ambas as linhas da matriz de confusão e havendo uma mudança na distribuição de classes, os valores dessas métricas também mudarão, mesmo que o desempenho global do modelo não melhore. Um fato contra o uso da taxa de erro é que essa métrica considera os diferentes erros de classificação como igualmente importantes. Em domínios nos quais o erro de classificação é relevante, uma matriz de custo pode ser utilizada. Esta define os custos de classificações errôneas, isto é, uma penalidade pela incursão de uma falha para cada possível erro do modelo. Nesse caso, o objetivo do modelo é minimizar os custos de classificação ao invés da taxa de erro. Por exemplo, um paciente doente diagnosticado com câncer erroneamente é “menos problemático” que outro diagnosticado sem câncer, mas que realmente apresenta a doença. Um método alternativo para a avaliação do desempenho desses algoritmos é a análise de curvas ROC (Relative Operating Characteristic), a qual representa o compromisso entre a sensibilidade no eixo y e a taxa de falsos positivos no eixo x ( 1 − Es ), conforme mostra a Figura 9. 49 / 101 SE SE 1 A 1 B C D 1 − Es Es 0 0 Figura 9: Curva ROC ( S E vs. 1 − Es ) Para conjuntos de dados com classes desbalanceadas, uma medida de desempenho mais apropriada deve desasociar os erros, ou acertos, ocorridos para cada classe. A partir da Tabela de matriz de confusão é possível derivar quatro medidas de desempenho que medem o desempenho de classificação nas clases negativa e positiva independentemente, elas são: Taxa de falso negativo. É a porcentagem de casos positivos classificados incorretamente como pertencentes à classe negativa TFN = FN VP + FN (11) Taxa de falso positivo. É a porcentagem de casos negativos classificados incorretamente como pertencentes à classe positiva TFP = FP FP + VN (12) Taxa de verdadeiro negativo. É a porcentagem de casos negativos classificados corretamente como pertencentes à classe negativa; TV N = VN = 1 − TFP FP + VN (13) Taxa de verdadeiro positivo. É a porcentagem de casos positivos classificados corretamente como pertencentes à classe positiva. TV P = VP = 1 − TFN VP + FN (14) Essas quatro medidas de desempenho possuem a vantagem de serem independentes do custo e das probabilidades a priori das classes. O principal objetivo de qualquer classificador é minimizar as taxas de falso positivo e de falso negativo, ou, de 50 / 101 forma similar, maximizar as taxas de verdadeiro positivo e verdadeiro negativo. Entretanto, para a maioria das aplicações do mundo real, existe uma relação de perda e ganho entre FN e FP, ou, de forma similar, entre VN e VP. Conforme apresentado na Figura 9, a curva ROC é uma curva da sensibilidade em função da especificidade e pode ser utilizada para analisar a relação entre FN e FP, ou VN e VP para um determinado classificador. Rebatido, esse gráfico se transforma na curva ROC, mostrada à direita da Figura 9, em que a taxa de verdadeiros positivos é traçada em função da taxa de falsos negativos. A situação ideal é aquela em que há somente verdadeiros positivos, representada pela linha reta horizontal A . A diagonal D , por outro lado, indica a situação em que a escolha é aleatória. As curvas B e C representam situações mais comuns, em que B representa um melhor resultado quando comparada a C . A partir de um gráfico ROC é possível calcular uma medida geral de qualidade, a área sob a curva (AUC - Area Under the ROC Curve). A AUC é a fração da área total que se situa sob a curva ROC. Essa medida é equivalente a diversas outras medidas estatísticas para a avaliação de modelos de classificação (Hand, D. and Till, R., 2001). A medida AUC efetivamente fatora o desempenho do classificador sobre todos os custos e distribuições. Um ponto em um gráfico ROC domina outro se esse ponto estiver acima e a esquerda do outro, isto é, tem uma taxa mais alta de verdadeiros positivos e uma taxa mais baixa de falsos positivos. Se um ponto B domina um ponto C , B terá um menor custo esperado do que C para todos os possíveis custos e distribuições de classes. Um modelo de classificação k domina outro modelo w se todos os pontos da curva de w estão abaixo da curva k . Caso isso não ocorra, o melhor modelo para uma faixa de valores pode ser derivado utilizando-se o método Convex Hull (Fawcett, T. 2004). Convex hull (casca convexa) é a envoltória dos pontos das curvas dos classificadores em um gráfico ROC. Um classificador é potencialmente ótimo se, e somente se, sua curva ROC se sobrepõe à Convex Hull. Em resumo, um gráfico ROC permite ao analista analisar a dominância de um modelo em relação aos demais. Por outro lado, a utilização do método Convex Hull permite escolher modelos potencialmente ótimos e também permite identificar faixas de dominância. Além das curvas ROC e da área sobre a curva são utilizadas na literatura diversas outras métricas, entre elas: 51 / 101 Recall (R) é equivalente à taxa de verdadeiros positivos ( TVP ) e denota a razão entre o número de exemplos positivos corretamente classificados e o número total de exemplos positivos originais: R = S E = TV P = VP VP + FN (15) Precision (P) corresponde à razão entre o número de exemplos positivos corretamente classificados e o número total de exemplos identificados como positivos pelo classificador: P= VP VP + FP (16) Fmeasure considera somente o desempenho para a classe positiva. Ela é calculada a partir das métricas adotadas em Recuperação de Informação: Recall e Precision (Tan, P. N. et al., 2005): Fmeasure = (1 + β ) ⋅ R ⋅ P β2 ⋅R+P (17) Onde β é usado para ajustar a importância relativa entre Recall e Precision. Tipicamente, β = 1 . Gmean foi proposta por Kubat, M. et al. (1998) e corresponde à média geométrica entre a sensibilidade ( S E ) ou taxa de verdadeiros positivos ( TV P ) e especificidade ( E S ) ou taxa de verdadeiros negativos ( TV N ): Gmean = S E ⋅ E S ou Gmean = TV P ⋅ TV N (18) Gmean mede o desempenho equilibrado de um classificador em relação às taxas de acertos de ambas as classes (Sun, Y. et al., 2007). Valores elevados de Gmean refletem taxas de acerto elevadas e equilibradas para ambas as classes. Curvas Precision-Recall (PR) medem o desempenho de classificadores treinados com dados altamente desbalanceados. Diferentemente das curvas ROC, que na presença de conjuntos de dados altamente desbalanceados podem apresentar uma visão um tanto que otimista da evolução do desempenho de classificadores, as curvas PR podem apresentar uma representação mais informativa deste desempenho (Davis, J. and Goadrich, M., 2006) por identificar mudanças tanto no número de falsos positivos quanto de verdadeiro positivos. 52 / 101 Curvas de Custo (Cost Curves) é outra alternativa às curvas ROC uma vez que estas últimas falham ao não prover intervalos de confiança para o desempenho de classificadores e não serem habilitadas para inferir a significância estatística de desempenho de diferentes classificadores. Falham também por assumirem custos (perdas) iguais para os diferentes erros de classificação, visando assim à minimização de um critério que corresponde à probabilidade do erro global de classificação (ou taxa de erro esperado) (Holte, R. C. and Drummond, C., 2006). 4.4 Conjuntos desbalanceados e aprendizado sensível ao custo Como mencionado anteriormente, um classificador induzido a partir de um conjunto de dados com classes desbalanceadas possui, tipicamente, uma taxa de erro baixa para a classe majoritária, e uma taxa de erro demasiadamente alta para a classe minoritária. O problema surge quando o custo de classificação incorreta da classe minoritária é muito superior ao custo de classificação incorreta da classe majoritária. Nessa situação, o desafio está em classificar precisamente a classe minoritária, com o objetivo de reduzir o custo total do classificador. Um sistema de aprendizado sensível ao custo pode ser utilizado em aplicações nas quais os custos de classificação incorreta são conhecidos. Sistemas de aprendizado sensíveis ao custo visam reduzir o custo de classificação incorreta dos exemplos, ao invés do erro de classificação. No entanto, alguns sistemas de aprendizado não são capazes de integrar informações de custo em seu processo de aprendizado. Entretanto, existe um método simples e geral para tornar qualquer sistema de aprendizado sensível ao custo para um problema de duas classes (Breiman, L. et al., 1984). Esse método baseia-se em modificar a distribuição das classes no conjunto de treinamento de forma a aumentar o número de exemplos da classe mais custosa. Suponha que a classe positiva é cinco vezes mais custosa que a classe negativa. Se o número de exemplos positivos é artificialmente aumentado por um fator de cinco, então o sistema de aprendizado, visando reduzir o erro de classificação, irá induzir um classificador que tende evitar cometer erros na classe positiva, uma vez que qualquer erro nessa classe é penalizado cinco vezes mais. Elkan, C. (2001) demonstra uma alternativa de como encontrar a proporção de exemplos positivos e negativos de forma a fazer classificações sensíveis ao custo ótimas para um problema de duas classes. Ainda, Domingos, P. (1999) apresenta um método geral para fazer qualquer sistema de aprendizado sensível ao custo com a vantagem de 53 / 101 ser aplicável a problemas que possuem qualquer número de classes. Dessa forma, classes desbalanceadas e aprendizado sensível ao custo estão relacionados entre si. Uma forma de aprender com conjuntos com classes desbalanceadas é treinar um sistema sensível ao custo com o custo da classe minoritária maior que o da classe majoritária. Outra forma de fazer com que um sistema de aprendizado se torne sensível ao custo é alterar intencionalmente a distribuição das classes no conjunto de treinamento. Uma grande parte dos métodos que tratam conjuntos de dados com classes desbalanceadas visa melhorar o desempenho da classe minoritária por meio do desbalanceamento de classes do conjunto de dados. Dessa forma, a classe minoritária se torna mais custosa e espera-se que ela seja melhor classificada. Desse ponto de vista, dois cenários podem ser identificados. No primeiro, existe uma grande quantidade de dados e o problema pode ser entendido como qual proporção de exemplos positivos e negativos é melhor para o aprendizado. No segundo, com os dados escassos, como descartar exemplos negativos ou duplicar exemplos positivos sem introduzir distorções no processo de aprendizado. O problema de determinar qual proporção de exemplos positivos e negativos é a melhor para o aprendizado vai além do problema de aprender com conjuntos de dados com classes desbalanceadas. A comunidade de AM tem assumido implicitamente que as distribuições das classes que ocorrem naturalmente são as melhores para o aprendizado. Entretanto, uma vez que o aprendizado com as distribuições naturais das classes tem fornecido resultados ruins para conjuntos de dados com classes desbalanceadas, essa suposição começou a ser estudada mais a fundo. A princípio, a proporção de classes que fornece o melhor resultado no aprendizado varia entre os diferentes conjuntos de dados. Devido à complexidade dos dados e dos algoritmos que analisam esses dados, não é possível dizer previamente qual distribuição de classes irá fornecer o melhor resultado. Entretanto, é possível estabelecer algumas diretrizes gerais. Weiss, S. M. e Provost, F. (2001) realizaram um estudo sobre a influência da proporção de exemplos positivos e negativos no aprendizado. Esse estudo analisa o cenário no qual existe uma grande quantidade de dados, entretanto, por motivos de restrição computacional, o conjunto de treinamento deve ser limitado a um certo número de exemplos. Nesse cenário, qual distribuição de classes deve ser a melhor para o aprendizado? Utilizando a AUC como medida de desempenho, Weiss e Provost mostraram que a distribuição ótima das classes geralmente contém entre 50% e 9% dos 54 / 101 exemplos da classe minoritária. Também, alocar 50% dos exemplos de treinamento para a classe minoritária, mesmo quando não fornece resultados ótimos, apresenta resultados que não são piores, e que frequentemente são superiores, aos resultados obtidos com a distribuição natural das classes. 4.5 Métodos para balanceamento de classes Na abordagem de pré-processamento de dados, o objetivo do balanceamento é modificar por meio de mecanismos de reamostragem do conjunto de treinamento, os dados no espaço de entrada. Estes incluem sobreamostragem da classe minoritária, subamostragem da classe majoritária ou a combinação de ambas as técnicas. A sobreamostragem é baseada na replicação de exemplos preexistentes (sobreamostragem com substituição) ou na geração de dados sintéticos. No primeiro caso, a seleção de exemplos a serem replicados pode ser aleatória (sobreamostragem aleatória) ou direcionada (sobreamostragem informativa). Com relação à geração de dados sintéticos, a técnica de interpolação é comumente usada, como por exemplo, no conhecido método SMOTE (Synthetic Minority Oversampling Technique) proposto em Chawla, N. V. et al. (2002). Já a subamostragem envolve a eliminação de exemplos da classe majoritária. Os exemplos a serem eliminados podem ser escolhidos aleatoriamente (subamostragem aleatória) ou a partir de alguma informação a priori (subamostragem informativa). O algoritmo OSS (One-Sided Selection), proposto em Kubat, M. e Matwin, S. (1997), é considerado um exemplo de subamostragem informativa. Existe também a combinação desses métodos com técnicas clássicas de limpeza de dados, tais como a CNN (Hart, P. E., 1968), ENN (Wilson, D., 1972) e Tomek links (Tomek, I., 1976) e suas variações como CNL (Laurikkala, L., 2001). Apesar das técnicas de subamostragem e sobreamostragem possuírem o mesmo propósito, elas introduzem diferentes características ao novo conjunto de treinamento que podem algumas vezes, dificultar o aprendizado (Drummond, C. and Holte, R., 2003; He, H. and Garcia, E. K. 2009; Mease, D. et al., 2007). Por exemplo, no caso de subamostragem aleatória, o principal problema é a possível perda de informação causada pela eliminação de exemplos representativos da classe majoritária. Subamostragem informativa tenta solucionar esse problema por eliminar uma fração menos representativa como, por exemplo, exemplos redundantes, ruidosos e/ou 55 / 101 próximos à fronteira de separação entre as classes. Cabe ressaltar, entretanto, que a escolha de critérios adequados para selecionar esses exemplos não é uma tarefa fácil. Dentre os principais métodos de reamostragem na literatura podemos citar: 4.5.1 OSS (One-Sided Selection) Originalmente proposto por Kubat, M. e Matwin, S. (1997) e também conhecido como Seleção Unilateral, é um método de subamostragem informativa. Após selecionar um subconjunto representativo da classe majoritária e combiná-lo com todos os exemplos da classe minoritária, o método OSS usa técnicas de limpeza para obter agrupamentos bem definidos para ambas as classes. A combinação de exemplos da classe minoritária é obtida pela manutenção dos exemplos da classe minoritária, uma vez que tais exemplos são muito raros para serem perdidos, ainda que alguns deles seja ruído. O subconjunto representativo da classe majoritária é obtido através da remoção criteriosa de exemplos pertencentes à classe majoritária. Tal remoção criteriosa consiste em detectar e remover, através de heurísticas, exemplos que são menos confiáveis. Essas heurísticas tornam-se mais eficazes quando os exemplos são divididos em quatro grupos distintos: 1. Exemplos rotulados erroneamente (ruído). Por exemplo, os exemplos da classe majoritária (‘+’) situados à direita, no canto superior, da região de decisão da Figura 10; 2. Exemplos redundantes. Tais exemplos podem ser representados por outros exemplos que já estão no conjunto. Por exemplo, os exemplos que estão longe da borda de decisão, como os localizados na parte inferior esquerda da Figura 10; 3. Exemplos próximos à borda de decisão. Esses exemplos são pouco confiáveis, pois mesmo uma pequena quantidade de ruído em alguns valores de seus atributos pode colocá-los na região de decisão errada; 4. Exemplos seguros. São aqueles que não estão muito próximos da borda de decisão nem muito distantes dela, esses exemplos devem ser mantidos para o aprendizado. 56 / 101 12 Exemplos positivos ruído 10 8 seguros x2 6 4 redundantes 2 0 próximos a borda de decisão -2 -2 0 2 4 6 8 10 12 x1 Figura 10 – Grupos de exemplos descritos no método OSS (Matlab, 2008) A técnica de Seleção Unilateral busca criar um conjunto de treinamento que consista somente de exemplos seguros. Desta forma, exemplos da classe majoritária incorretamente rotulados, exemplos muito próximos à borda de decisão e exemplos redundantes devem ser eliminados. Exemplos situados na borda de decisão e exemplos incorretamente rotulados podem ser detectados através do conceito de ligações Tomek (Tomek, I., 1976), conforme definido a seguir: Dados dois exemplos x e y , de forma que cada um pertença a uma classe diferente. Seja a distância entre x e y denotada por d ( x, y ) , então o par ( x, y ) é chamado de ligação Tomek caso não exista um exemplo z tal que d ( x, z ) < d ( x, y ) ou d ( y, z ) < d ( y, x) . Exemplos que participam de ligações Tomek ou estão próximos à borda de decisão ou são ruído. A Figura 11 ilustra o novo conjunto de exemplos obtido após a remoção de exemplos da classe majoritária que formam ligações Tomek no conjunto original de exemplos da Figura 10. 57 / 101 12 Exemplos positivos 10 8 x2 6 4 2 0 -2 -2 0 2 4 6 8 10 12 x1 Figura 11 – Novo conjunto de dados após remoção de ligações Tomek (Matlab, 2008) Para remover exemplos redundantes pode-se ainda criar um subconjunto consistente, C , do conjunto original de exemplos S . Por definição, um conjunto C ⊂ S é consistente com S se, utilizando-se o algoritmo 1-vizinho-mais-próximo (1-NN) ele corretamente classifica os exemplos de S (Hart, P. E., 1968). Essa abordagem é geralmente conhecida como regra do vizinho mais próximo condensada (Condensed Nearest Neighbor Rule - CNN). Como o objetivo não é encontrar o menor subconjunto consistente possível, mas apenas fazer com que o número de exemplos da classe majoritária diminua, foi proposta em Kubat, M. e Matwin, S. (1997) uma variação da técnica original criada em Hart, P. E. (1968) para encontrar subconjuntos consistentes. A ideia é selecionar aleatoriamente um exemplo da classe majoritária juntamente com todos os exemplos da classe minoritária e movê-los para um conjunto C . Então, utilizase uma regra 1-NN com os exemplos em C para novamente classificar os exemplos em S . Todos os exemplos de S que forem incorretamente classificados são movidos para C. 4.5.2 SMOTE (Synthetic Minority Oversampling Technique) Originalmente proposto por Chawla, N. V. et al. (2002), o método SMOTE é baseado em sobreamostragem informativa e cria novos exemplos da classe minoritária por meio da interpolação de exemplos da classe minoritária que se encontram próximos. 58 / 101 Especificamente, para um subconjunto S ' pertencente a S , considere o k- vizinho-mais-próximo para cada exemplo x i pertencente a S ' , para algum número inteiro especificado k ; o k-vizinho-mais-próximo é definido como elemento de S ' se a distância euclidiana entre ele e x i em consideração exibir uma menor magnitude ao longo do espaço n-dimensional x . Para criar um exemplo sintético, seleciona-se aleatoriamente um dos seus k-vizinhos-mais-próximos, então multiplica a diferença entre o correspondente valor por um número aleatório entre [0,1], e finalmente, adiciona este novo valor ao subconjunto S ' conforme a Equação 19: x = xi + ( yi − xi ) * δ (19) Onde xi ∈ S ' é um exemplo da classe minoritária em consideração; y i é um dos seus k-vizinhos-mais-próximos de x i ; y i ∈ S ' e; δ ∈ [0,1] é um número aleatório. Portanto, o resultado do exemplo sintético gerado de acordo com a Equação 19 é um ponto ao longo da reta que une o ponto x i em consideração com um dos k-vizinhos- mais-próximos escolhidos aleatoriamente (He, H. and Garcia, E. A., 2009). O método SMOTE é encontrado na literatura também em combinação com métodos de limpeza. Em Batista, G. E. A. P. A. et al. (2004), a combinação dos métodos SMOTE e Tomek links justifica-se pelo fato de que o SMOTE não considera a vizinhança em relação à outra classe durante o processo de interpolação. Assim ele tende a aumentar o grau de sobreposição para elementos ruidosos e próximos à borda. Com o objetivo de melhorar a definição dos agrupamentos de dados no conjunto de treinamento, foi proposta a aplicação do método para a identificação de ligações Tomek após a aplicação do método SMOTE. Diferentemente da aplicação de ligações Tomek como método de subamostragem, nesse caso (como o conjunto de dados foi previamente balanceado com exemplos “sintéticos”) são removidos exemplos de ambas as classes. Também em Batista, G. E. A. P. A. et al. (2004) é proposta uma combinação dos métodos SMOTE e ENN (Wilson, D., 1972) justificando-se também pelo fato de que o SMOTE não considera a vizinhança em relação à outra classe durante o processo de interpolação. Entretanto, ENN tende a remover mais exemplos do que as ligações Tomek, promovendo uma maior limpeza no conjunto de dados. Similarmente ao método SMOTE + Tomek Links, ENN é utilizado para remover exemplos de ambas as classes. Então qualquer exemplo cuja classificação seja diferente de seus três vizinhos mais 59 / 101 próximos é eliminado. O método ENN faz subamostragem dos dados de forma contrária à maneira em que é feito a subamostragem no método CNN (Hart, P. E., 1968) e consiste na eliminação de todos os objetos que são mal classificados por seus k- vizinhos-mais-próximos (KNN). O método ENN faz subamostragem do conjunto de entrada S retirando todo caso Ei ∈ S cuja classe diverge da classe predita pelos k- vizinhos-mais-próximos. Se nem todos os k-vizinhos são da mesma classe, a determinação da classe predita pode ser feita pela classe mais frequente ou por uma ponderação das classes em função da importância relativa de cada uma delas. Esse processo remove tanto os casos ruidosos quanto os casos limítrofes, de forma a propiciar um limiar de decisão ao mesmo tempo em que a vizinhança da classe de interesse é limpa. Outras combinações também pode ser encontrada na literatura como também em Batista, G. E. A. P. A. et al. (2004) que utiliza CNN + Ligações Tomek invertendo portanto os passos da Seleção Unilateral. Neste caso, foi identificado que ligações Tomek são computacionalmente custosas e ela é mais efetiva se aplicada em um conjunto reduzido. Cabe ainda citar outros métodos listados na literatura a respeito de reamostragem baseada em sobreamostragem e subamostragem com limpezas de dados, entre eles: Cluster-based Oversampling. Nickerson, A. et al. (2001) propõem uma abordagem para minimizar o problema de classes e exemplos raros. A abordagem proposta sugere a utilização de sobreamostragem não somente da classe minoritária, mas também dos exemplos raros. A ideia é agrupar os dados de treinamento em clusters e, então, balancear a distribuição de seus exemplos. Inicialmente utilizou-se a técnica não supervisionada de agrupamento PDDP (Boley, D. L., 1997) para formar os grupos de cada classe e depois fazer sobreamostragem de cada um desses grupos. De acordo com Weiss, S. M. (2004), casos raros não são facilmente identificáveis, mas métodos de aprendizagem não supervisionada como clustering, ajudam na identificação desses casos, sendo que eles podem se apresentar como pequenos clusters dentro de uma classe. Em classificadores, casos raros potencialmente se apresentam como pequenos disjuntos, que são conceitos aprendidos que cobrem poucos casos do conjunto de treinamento. 60 / 101 Cleaning Nearest Rule (CNL). O método CNL de Laurikkala, J. (2001) utiliza a ideia do método ENN (Wilson, D. 1972) para encontrar (através de subamostragem) os dados ruidosos que não pertencem à classe de interesse e, logo em seguida, fazer limpeza do limiar da vizinhança da classe de interesse. Surgiu da observação de que o método de limpeza CNN (Hart, P. E., 1968) utilizado no método de subamostragem OSS (Kubat, M. and Matwin, S., 1997) era sensível a ruídos. Laurikkala, J. (2001) atribuiu essa sensibilidade ao erro de classificação ocasionado pelo algoritmo 1-NN do OSS que adicionava ruídos ao conjunto consistente. Mesmo removendo os casos ruidosos com Tomek links, os resultados com OSS não foram satisfatórios possivelmente por causa do CNN. Weighted Wilson’s Editing (WWE). Intensifica o método ENN eliminando um número maior de exemplos da classe majoritária cujo rótulo difere da maioria de seus k- vizinhos-mais-próximos (Barandela, R. et al., 2004). Balance Cascade. O algoritmo Balance Cascade, por sua vez, usa uma estratégia iterativa de geração de um ensemble de classificadores para a escolha dos exemplos a serem removidos (Liu, X. Y. et al., 2009). 4.6 Considerações finais Em AM diversos fatores podem influenciar no desempenho de um classificador induzido por um sistema de aprendizado. Entre eles, um fator que pode levar a um desempenho inapropriado e que tem recebido relativamente pouca atenção da comunidade ocorre quando existe uma grande diferença na quantidade de exemplos de cada classe. Neste caso, o sistema de aprendizado pode encontrar dificuldades no aprendizado do conceito referente à classe representada pela minoria dos exemplos. Para muitos domínios de aplicação, como em diagnóstico de doenças raras, é comum que exista uma grande desproporção entre a quantidade de exemplos rotulados em cada uma das classes presentes. Nesses casos, é muito simples projetar um classificador que possua alta precisão, através de um sistema que responda com a classe majoritária para qualquer novo caso. Entretanto, classificar precisamente a classe minoritária é frequentemente o maior objetivo de tais aplicações. 61 / 101 5 Detecção de Bordas de Novidade (NBD) Apesar das técnicas clássicas de reamostragem por sobreamostragem e subamostragem possuírem o mesmo princípio, elas geralmente introduzem características diferentes ao novo conjunto de treinamento que podem dificultar o aprendizado (Drummond, C. and Holte, R., 2003). No caso de subamostragem aleatória, por exemplo, o principal problema é a possível perda de informação causada pela exclusão de exemplos representativos da classe majoritária. A subamostragem informativa tenta solucionar esse problema eliminando uma parcela menos representativa como, por exemplo, exemplos redundantes, ruidosos e/ou próximos à fronteira de separação entre as classes. No caso de sobreamostragem, nem sempre o seu uso melhora de forma significativa o reconhecimento da classe minoritária (Breiman, L. et al.,1984; Chawla, N. V. et al., 2002; Mease, D. et al., 2007). O aumento da variância, por exemplo, causado por técnicas de geração de dados sintéticos que não consideram a vizinhança entre as classes, como é o caso do método SMOTE (He, H. and Garcia, E. A., 2009) pode trazer problemas. Adaptações têm sido propostas para guiar o processo de interpolação adotado tendo em vista superar essa limitação (Han, H. et al., 2005; He, H. et al., 2008) e produzir determinadas “limpezas” nos dados tais como Tomek Links (Tomek, I. 1976) e ENN (Wilson, D., 1972). Alguns estudos experimentais utilizando técnicas de reamostragem sobre RNA foram propostos com melhora significativa (Huang et al., 2006; Japkowicz, N., 2000) (Lan, J., Hu, M.Y., Patuwo, E. and Zhang, G.P., 2010) (Zhou, Z. H. and Liu, X. Y., 2006) do desempenho de classificação sobre dados desbalanceados e também com pouca melhora significativa (Alejo, R. et al., 2006; Khoshgoftaar, T. M. et al., 2010). Embora essas estratégias possam produzir modelos com elevadas taxas de acurácia global, elas frequentemente tendem a prejudicar a identificação de exemplos pertencentes a grupos raros que, na maioria dos casos, representam os grupos de interesse. Esses grupos ou exemplos raros também são conhecidos como novidades. E no contexto deste trabalho, a habilidade de identificar esses casos raros ou simplesmente novidades dá-se o nome de Detecção de Novidade (DN)1. DN é a capacidade que tem um algoritmo de identificar novos perfis até então desconhecidos, na medida em que são recebidos novos dados (Alberto, B. L. A., 2007). Na abordagem tradicional, o 1 Em inglês, Novelty Detection 62 / 101 classificador só pode atribuir o exemplo a uma das classes que ele conhece. Essa limitação pode levar a decisões inadequadas em uma série de situações nas quais o modelo aprendido não mais representa a atual distribuição dos dados em classes. O conceito de DN pode auxiliar na solução desse problema, identificando situações em que um tratamento alternativo se faz necessário. Do ponto de vista de AM, o ponto central do problema de DN está na maneira pela qual o classificador distingue um exemplo que pertence a um perfil normal (classes conhecidas), bem adequado ao modelo, de outro que apresenta características novas, diferenciando-as, portanto de ruídos. A descoberta de novos perfis nos dados pode apontar para o surgimento de novas classes, alertar para mudanças de regime, ou ainda indicar a presença de dados anômalos ou incorretos. Várias abordagens têm sido propostas para detectar novidade por meio de diversas técnicas de AM (Albrecht et al., 2000), (Bishop, C. M., 1994), (Japkowicz, N. et al., 1995), (Markou, M. and Singh, S., 2003a,b), (Ypma, A. and Duin, R. P. W., 2000), (Wong, M. L. D. et al., 2005), (Zorriassatine, F. et al., 1995). Esta seção está organizada da seguinte forma: na seção 5.1 é apresentada a formulação matemática por traz do novo método intitulado NBD. Na seção 5.2 são apresentados os resultados dos experimentos a contar na subseção 5.2.1 com o 1º experimento com conjuntos de dados sintéticos gerados a partir de duas distribuições gaussianas unidimensionais e a representação do modelo de classificação ótimo de Bayes para uma tarefa de classificação binária. Esse experimento buscou esclarecer os motivos pelas quais nem sempre o desbalanceamento de classe é o responsável pela piora no desempenho de algoritmos de aprendizagem utilizados para tarefas de classificação. Os resultados experimentais mostraram que a complexidade do conjunto de dados é também medida fortemente pelo grau de sobreposição entre as classes. Na subseção 5.2.2, os resultados do 2º experimento são comentados e mostram o comportamento de métodos da literatura que promovem o balanceamento de dados com sobreposição entre as classes em termos das métricas de avaliação de desempenho AUC e Gmean. Por fim, na seção 5.2.3, a realização do 3º e último experimento apresenta a eficiência das técnicas investigadas e do algoritmo que implementa o método NBD proposto. É então proposto um estudo experimental com onze bases de dados, um classificador base e dois métodos da literatura para confrontar com o algoritmo NBD. Testes estatísticos acompanham a análise dos resultados de classificação após a utilização dos métodos de balanceamento. 63 / 101 5.1 Formulação do método NBD Tendo em vista a extrema dependência da distribuição dos dados de treinamento para que melhores resultados sejam alcançados em problemas de classificação cujas classes possuam elevado grau de sobreposição e desbalanceamento, a presença de ruído precisa ser considerada. Na maior parte das técnicas de AM, esse problema é tratado por meio de um parâmetro que flexibiliza a descrição, permitindo que uma fração dos exemplos do conjunto de treinamento fique além das fronteiras de decisão (Tax, D. M., 2001). Para minimizar esse problema e de acordo com o contexto deste trabalho é então proposto o método de Detecção de Bordas de Novidade (NBD). O método NBD é baseado em subamostragem e sobreamostragem guiada pela informação da densidade em torno dos exemplos de treinamento inter-classe e intraclasse. Essa informação torna possível para o algoritmo NBD identificar ruídos e casos raros (novidades) em regiões de menor densidade e também exemplos que pertencem à região de sobreposição entre as classes (próximas à superfície de separação). O processo de eliminação e síntese de exemplos dessas regiões melhora a distribuição dos conjuntos de treinamento para que um classificador possa estimar uma melhor superfície de separação. O NBD possui parâmetros que permite ajustar a intensidade do processo de reamostragem de acordo com o grau de desbalanceamento e sobreposição entre as classes. Para obter a informação sobre a densidade, o método NBD define um grau de importância para cada exemplo do conjunto de treinamento. Esta informação é calculada a partir dos k-vizinhos-mais-próximos de acordo com a distância de Mahalanobis do exemplo avaliado conforme a Equação 20: ig ( xic ) = Cc C p + Cn , (20) onde xic corresponde ao i-ésimo exemplo de treinamento da classe c , podendo c = p (classe minoritária, positiva) ou c = n (classe majoritária, negativa). C p corresponde ao número de vizinhos positivos de xic e Cn ao número de vizinhos negativos. Para um dado exemplo positivo, ig ( xip ) evolui a proporção de exemplos positivos entre os k- vizinhos-mais-próximos de xip . Portanto, se ig ( xip ) ≈ 1 , pode-se afirmar que xip está na região com alta densidade de exemplos positivos. A mesma ideia vale para o caso de exemplos negativos. 64 / 101 Para exemplos da classe majoritária xin , o grau de importância ig ( xin ) é utilizado para encontrar exemplos ruidosos que ocupam áreas de sobreposição entre as classes e também isolar exemplos pertencentes a regiões da classe minoritária. Assim, o método NBD estabelece uma regra de detecção e exclusão desses exemplos. Esta regra depende de um parâmetro ou limiar max θ para ajustar a intensidade do processo de reamostragem de acordo com o grau de desbalanceamento e sobreposição entre as classes: Se ig ( x in ) < max θ então xin é excluído Se ig ( x in ) ≥ max θ então xin não é excluído O limiar max θ é definido no intervalo de [0,1] e determina a intensidade do processo de reamostragem. Quanto mais alto o valor de max θ , mais exemplos da classe negativa serão excluídos. E nos casos de altos níveis de desbalanceamento e sobreposição entre classes, valores de max θ próximos a 1 são sugeridos dado que é provável a existência de um grande número de exemplos negativos em regiões pertencentes à classe positiva. Já em situações cujos níveis de desbalanceamento e sobreposição entre classes são menores, valores de max θ próximos a 0 são recomendados. Para exemplos da classe minoritária xip , o grau de importância ig ( xip ) é também utilizado para sintetizar novos exemplos. Se ig ( xip ) é considerado válido pelo NBD, um p novo exemplo x i é criado da seguinte forma: a) Para cada atributo contínuo cf, seu valor é calculado baseado na média dos cf-valores dos Cp-vizinhos-mais-próximos e o exemplo xip ; x p i ∑ (cf ) = Cp j =1 x jp (cf ) + xip (cf ) C p +1 (21) b) Cada atributo nominal nf assume o valor mais frequentemente observado entre os nf-valores dos Cp-vizinhos-mais-próximos e o exemplo xip ; c) Caso contrário, se ig ( xip ) não é válido, xip é considerado ruído ou outlier, e um novo exemplo não poderia ser criado em sua vizinhança. A regra para os 65 / 101 exemplos positivos é baseada no parâmetro ou limiar min θ e é definida da seguinte forma: Se ig ( x ip ) < min θ então x ip não é excluído p Se ig ( xip ) ≥ min θ então x i é criado O parâmetro min θ define o grau de validade dos exemplos positivos no espaço de entrada e é similar ao max θ , tendo ambos os valores entre [0,1] . Quanto menor for o limiar min θ , maior será a probabilidade de exemplos positivos localizados em regiões de sobreposição entre as classes serem considerados válidos e utilizados para gerar p novos exemplos sintéticos x i . O limiar min θ , no entanto não deve ser muito próximo de 0 a fim de assegurar que exemplos distantes da superfície de separação pertencentes à classe positiva não gerem novos exemplos sintéticos. A cada iteração do algoritmo NBD, um novo exemplo de treinamento é analisado. O algoritmo termina quando as classes estão balanceadas, ou seja, a proporção de exemplos entre as classes é igual. O efeito causado pelo algoritmo em conjuntos de dados desbalanceados pode ser visualizado na Figura 12. Exemplos majoritários (‘o’) em regiões onde prevalecem exemplos minoritários (‘+’) são eliminados. Partindo do gráfico à esquerda para o central é mostrado o resultado da aplicação da sobreamostragem sobre os exemplos da classe minoritária. O gráfico à direita representa o resultado da subamostragem sobre a classe majoritária, a partir do conjunto de dados resultantes do processo anterior de sobreamostragem. 12 12 12 10 10 10 8 8 8 6 6 6 4 4 4 2 2 2 0 0 0 -2 -2 -2 0 2 4 6 8 10 12 -2 -2 0 2 4 6 8 10 12 -2 0 2 4 6 8 10 12 Figura 12 – Visualização do processo de reamostragem do NBD (Matlab, 2008) 66 / 101 A distância de Mahalanobis foi a medida de distancia escolhida, diferentemente da distância Euclidiana encontrada nos métodos dos k-vizinhos-mais-próximos investigados na literatura (Barandela, R. et al., 2004; Batista, G. E. A. P. A. et al., 2004; Kubat, M. and Matwin, S., 1997; Zhang, J. and Mani, I., 2003). Essa decisão corrige algumas das limitações da distância euclidiana, pois leva em consideração automaticamente a escala dos eixos coordenados e leva em consideração a correlação entre as características. Entretanto, dependendo do tamanho do conjunto de treinamento, as matrizes de covariância podem ser difíceis de computar (complexidade O 2 ) pois cresce de forma quadrática com o número de características. A distância de Mahalanobis foi utilizada para medir a distância entre um exemplo xic e uma classe (cluster) de exemplos cuja média é dada por µc = {µ1 , µ 2 , µ3 ,..., µ n } e que possua uma matriz de covariância dada por ∑ . Neste caso, a distância é dada pela Equação 22: d (i, c) = ( xic − µc )T ∑ ( xic − µc ) −1 (22) Conceitualmente, é como se estivéssemos avaliando a pertinência de um exemplo não só por sua distância ao centro da classe, mas também pela distribuição do mesmo, determinando assim a distância do exemplo xic em termos de uma comparação com o desvio padrão da classe. Quanto maior for o valor desta distância, maior o número de desvios padrões que um exemplo esta distante do centro da classe, e menor sua chance de ser um exemplo da mesma. A detecção de novidades é um dos usos mais comuns da distância de Mahalanobis, pois um valor alto determina que um exemplo esteja a vários desvios padrões do centro (já computadas todas as diferenças axiais) e, por conseguinte, é provavelmente uma novidade. 5.2 Experimentos A realização de experimentos com conjuntos de dados reais muitas vezes não é adequada para fornecer resultados consistentes em termos de qual abordagem de balanceamento de classes é melhor para determinado conjunto de dados. Isso ocorre devido ao não conhecimento a respeito de como os dados foram gerados e, portanto na dificuldade em se testar hipóteses específicas. A importância de se utilizar conjunto de dados sintéticos neste caso está relacionada à facilidade de manipulação de suas características tais como número de classes e atributos, quantidade de ruído, 67 / 101 distribuições, entre outros. Desta forma, facilitam-se os testes de hipótese, estudos experimentais e análises de desempenho de classificação através da comparação com outros métodos da literatura. 5.2.1 Experimento 1 Em tarefas de classificação binária (duas classes) é comum considerar que as entradas x sejam vetores de características em algum espaço X ⊆ ℜ n e as saídas assumam somente dois valores simbólicos, ou seja, y ∈Y = {0,1} , correspondendo a duas classes. Assim, cada função arbitrária f (x) pertencente à classe de funções f : ℜ n → {0,1} torna-se uma regra de decisão capaz de dividir o espaço de entrada x em duas regiões disjuntas, denotadas por ℜ 0 e ℜ1 . A Figura 13 ilustra um problema de classificação binária em que as densidades conjuntas das classes p( x, y = k ) são representadas por distribuições unidimensionais. Uma regra de decisão f (x) divide o espaço de entrada em duas regiões disjuntas, tal que X = ℜ 0 ∪ ℜ1 . 0.45 p(x,y=0) 0.4 f(x) 0.35 0.3 0.25 0.2 p(x,y=1) 0.15 0.1 0.05 x 0 8 10 12 Ro 14 16 18 20 R1 Figura 13 – Regra de decisão f (x) com espaço de entrada X = ℜ 0 ∪ ℜ1 A decisão sobre a classificação de um dado exemplo de entrada x(i ) é feita com base no índice da região ℜ j do espaço de entrada em que x(i ) está localizado. O limite entre as regiões de decisão é conhecido como superfície de decisão (ou separação) (Cherkassky, V. and Mulier, F., 2007). 68 / 101 A Figura 14 resume os resultados da variação na proporção de exemplos positivos vs. AUC para quatro diferentes distâncias entre os centros das classes. Em relação ao ajuste da distância entre os centros das classes, esse parâmetro nos permite controlar a quantidade de sobreposição entre as mesmas e, portanto a dificuldade de se classificar corretamente cada exemplo. A Figura 15 resume os resultados da variação dessa distância vs. AUC para quatro diferentes proporções de exemplos da classe minoritária (50%; 16%; 9% e; 6,2%). Testes com diversas outras distâncias entre os centros das classes mostraram-se similares às apresentadas na Figura 14 e, portanto foram suprimidas para facilitar a interpretação gráfica. Considere a curva em que a classe positiva está 3 unidades deslocada da classe negativa. Variação da proporção de exemplos vs. AUC 1 0.9 1 3 6 9 A UC [% ] 0.8 0.7 0.6 0.5 0.4 0 2 4 6 8 10 12 Proporção de exemplos positivos [%] 14 16 18 20 Figura 14 – Variação na proporção de exemplos positivos vs. AUC Observe que os modelos induzidos para essa distância têm um ótimo desempenho, com AUC maior que 90%, mesmo que a proporção de exemplos da classe minoritária seja somente 4,7% (equivalente a x = 20 no gráfico da Figura 14) dos casos. Observe também que o desbalanceamento ocasiona pouca variação à AUC quando as classes estão mais afastas (conjuntos cuja distância entre os centros de cada classe é de 3, 6 e 9 unidades), ou seja, quando há pouca sobreposição entre elas, além de apresentar valores elevados de AUC (nestes casos, superiores a 90%). A maior variação de AUC é percebida quando se tem mais sobreposição entre as classes, como pode ser visto 69 / 101 quando os centros de cada classe possuem valores iguais, independentemente da variação na proporção de exemplos de cada classe ( 1 < x < 20 , que corresponde o intervalo de 50% a 4,7% de desbalanceamento). Conjuntos de dados cujas classes estão mais afastas (cuja distância entre os centros de cada classe é de 3, 6 e 9 unidades) apresentam regiões onde o limiar de decisão θ apresenta maior AUC, otimizando portanto a razão de verossimilhança (Equação 23): 1 se f ( x) = 0 caso p( x | y = 1) > θ p( x | y = 0) contrário (23) Note que a razão entre as probabilidades a priori p( y = 1) / p( y = 0) das classes está implícita no limiar de decisão θ (threshold). Assim, variar o limiar θ implica em variar a razão entre as prioris. Portanto, o limiar θ controla a proporção de exemplos da classe positiva corretamente classificados versus a proporção de exemplos da classe negativa incorretamente classificados Já na Figura 15, está representada a variação de distâncias entre os centros das classes versus a AUC dos modelos induzidos pelo classificador ótimo de Bayes em função de 4 diferentes proporções de exemplos (50%; 16%; 9% e; 6,2%). Variação da proporção de exemplos vs. AUC 1 50% 16% 9% 6,2% 0.9 AUC[%] 0.8 0.7 0.6 0.5 0.4 0 2 4 6 Distância entre centróides 8 10 12 Figura 15 – Variação no centro (média) da classe minoritária vs. AUC Pode ser observado que o pior desempenho em termos de AUC ocorre onde a distância entre os centros das classes é igual a 0.5 (maior sobreposição). Neste caso, a piora é significativamente alta em relação aos conjuntos de dados mais desbalanceados, 70 / 101 mas melhora conforme a distância entre os centros aumenta até o limiar de decisão θ ótimo. A diferença entre o desempenho do algoritmo para conjuntos de dados com distância entre os centros maior que 5 unidades e menor que 8 é estatisticamente insignificante, independente de quantos exemplos pertencem à classe minoritária. Esses resultados estão de acordo com a hipótese de que o problema de desbalanceamento entre as classes é maior quando existe uma alta sobreposição entre as classes. Trabalhos semelhantes investigados na literatura (Drummond, C. and Holte, R., 2003) (Hulse, J. V.; Khoshgoftaar T. M.; Napolitano, M., 2007), (Cherkassky, V. and Mulier, F. 2007), (Monard, M. e Batista, G. 2002), (Xu-Ying Liu, Jianxin Wu, and ZhiHua Zhou, 2008) também conduzem a esta conclusão de que o desbalanceamento entre as classes nem sempre é o responsável pela piora no desempenho de algoritmos de aprendizagem utilizados para tarefas de classificação. Nestes trabalhos, pôde-se concluir que o problema é dependente da complexidade dos conjuntos de dados, descrita como a quantidade de subgrupos em que as classes estão divididas, e da quantidade de exemplos das classes. Comparando-os com os resultados aqui relatados no primeiro experimento, pode-se concluir, de forma similar, que nem sempre o desbalanceamento de classe é o responsável pela piora no desempenho de algoritmos de aprendizagem utilizados para tarefas de classificação. No entanto, com os resultados experimentais aqui apresentados pode-se dizer que a complexidade do conjunto de dados é também medida fortemente pelo grau de sobreposição entre as classes. 5.2.2 Experimento 2 Para uma melhor visualização dos resultados do segundo experimento foram apresentados gráficos, em diferentes escalas, para AUC e Gmean médios para diversos centroides. Como esperado, os valores da AUC (Figura 16a) e Gmean (Figura 16b) para distâncias próximas a zero oscilam em torno de 50% (devido a variações aleatórias). 71 / 101 AUC vs. % de exemplos da classe negativa (k=0) 0.65 MLP+SUB+OVER MLP+SMOTE MLP+SUB MLP 0.6 A U C [% ] 0.55 0.5 0.45 0.4 0 5 10 15 20 25 30 35 Proporção de exemplos da classe negativa [%] (a) G-mean vs. % de exemplos da classe negativa (k=0) 0.7 MLP+SUB+OVER MLP+SMOTE MLP+SUB MLP 0.6 0.5 G -m e a n [ % ] 0.4 0.3 0.2 0.1 0 0 5 10 15 20 Proporção de exemplos da classe negativa [%] 25 30 35 (b) Figura 16 – Proporção de exemplos da classe negativa vs. AUC: (a) e proporção vs. Gmean (b), ambos para k = 0 72 / 101 No experimento, a maior influência do desbalanceamento entre as classes ocorre quando a distância entre os centros é de 2 ( k = 2 ) conforme apresentado na Figura 17 e na Figura 18. No caso da Figura 17 que considera a métrica Gmean, percebe-se uma maior diferença entre a curva do classificador puro (MLP) e as curvas do mesmo classificador após a aplicação dos métodos investigados. Para conjuntos de treinamento altamente desbalanceados (proporção entre as classes de 1,54%, por exemplo), verificase que a Gmean para o classificador puro é igual a 0.4132 e 0.8320 em média para o classificador balanceado com os métodos investigados (sendo que a subamostragem aleatória apresenta resultados ligeiramente melhores em relação aos demais métodos para proporção entre as classes < 3,85%). À medida que a proporção de exemplos da classe negativa aumenta (ou seja, à medida que o desbalanceamento diminui no conjunto de treinamento), observa-se uma melhoria de Gmean para o classificador puro, muito embora o mesmo não alcance resultados melhores quando aplicados os métodos SMOTE, subamostragem aleatória e sobreamostragem aleatória. Outra observação no experimento é o valor máximo de Gmean alcançado quando a desproporção de exemplos no conjunto de treinamento é aproximadamente 11% (Gmean = 0.8780). O mesmo ocorre com AUC, Figura 18, nessa desproporção (0.9568) G-mean vs. % de exemplos da classe negativa (k=0) 0.9 0.85 0.8 0.75 G -m e a n [ % ] 0.7 0.65 0.6 0.55 0.5 MLP+SUB+OVER MLP+SMOTE MLP+SUB MLP 0.45 0.4 0 5 10 15 20 Proporção de exemplos da classe negativa [%] 25 30 35 Figura 17 – Proporção de exemplos da classe negativa vs. Gmean para k = 2 73 / 101 No caso da Figura 18 que considera a métrica AUC, não se percebe uma maior distância entre a curva do classificador puro (MLP) e as curvas do mesmo classificador após a aplicação dos métodos investigados. No entanto, para conjuntos de treinamento altamente desbalanceados (proporção entre as classes de 1,54%, por exemplo), verificase que a AUC para o classificador puro é igual a 0.9135 e 0.9531 para o classificador balanceado com o método de subamostragem aleatória (o de melhor resultado dentre os demais métodos). Independente da proporção de exemplos da classe negativa (ou seja, independente do grau de desbalanceamento do conjunto de treinamento), observa-se melhores AUC para o classificador depois de aplicados os métodos investigados. AUC vs. % de exemplos da classe negativa (k=0) 0.96 MLP+SUB+OVER MLP+SMOTE MLP+SUB MLP 0.95 0.94 A U C [% ] 0.93 0.92 0.91 0.9 0.89 0.88 0 5 10 15 20 Proporção de exemplos da classe negativa [%] 25 30 35 Figura 18 – Proporção de exemplos da classe negativa vs. AUC para k = 2 Em resumo, nesta seção pudemos afirmar que: • A aplicação de métodos de reamostragem seja sobreamostragem aleatória, subamostragem aleatória (ou a combinação deles) ou SMOTE melhoram e equilibram as taxas de acerto para ambas as classes em conjuntos de dados, independentemente no grau de desbalanceamento. Quanto maior o grau de desbalanceamento dos conjuntos de dados, melhor é o desempenho (em relação à métrica Gmean) do classificador quando aplicados esses métodos; 74 / 101 • Para conjuntos de dados mais balanceados (tipicamente aqueles com grau de balanceamento > 25%), o método de sobreamostragem com subamostragem (MLP+OVER+SUB) reflete taxa de acerto mais elevada e equilibrada para ambas as classes; • Para conjuntos de dados menos balanceados (tipicamente aqueles com grau de desbalanceamento < 5%), o método de subamostragem (MLP+SUB) reflete taxa de acerto mais elevada e equilibrada para ambas as classes. 5.2.3 Experimento 3 As Tabelas 4 e 5 apresentam, respectivamente, os valores de AUC e Gmean obtidos pelos algoritmos MLP, MLP+SMOTE, MLP+SMOTE+TOMEK e MLP+NBD sobre as 10 bases de dados. As médias e desvios-padrão (estes últimos entre parênteses) foram calculados sobre 10 diferentes casos de teste. Os melhores (maiores) valores encontram-se em negrito. Tabela 4 – Comparação de AUC (%) obtida pelos algoritmos MLP, MLP+SMOTE, MLP+SMOTE+TOMEK e MLP+NBD sobre as 10 bases de dados. Em negrito, os melhores valores encontrados. Base de dados MLP MLP+ MLP+ MLP+ SMOTE SMOTE+TOMEK NBD PIMA 0.8045(0.0509) 0.8383(0.0386) 0.8067(0.0571) 0.8612(0.0223) WPBC 0.7431(0.0532) 0.7269(0.0544) 0.6421(0.0722) 0.7204(0.0209) HEART 0.7199(0.0648) 0.7287(0.0625) 0.7478(0.0587) 0.7755(0.0743) IMAGE 0.9810(0.0254) 0.9911(0.0222) 0.9855(0.0269) 0.9966(0.0395) GLASS 0.9121(0.0834) 0.9582(0.0472) 0.9712(0.0873) 0.9689(0.0487) CAR 0.9673(0.0947) 0.9929(0.0172) 0.9960(0.0048) 0.9920(0.0294) YEAST 0.8241(0.0572) 0.8400(0.0576) 0.8289(0.0543) 0.8340(0.0648) ABALONE 0.6183(0.0587) 0.6523(0.0782) 0.8444(0.0365) 0.8087(0.0449) METEOROL 0.7006(0.0257) 0.7249(0.0626) 0.7304(0.0356) 0.7398(0.0172) 0.8474(0.0487) 0.8522(0.0212) ENERGIA 0.8402(0.0187) 0.8312(0.0532) 75 / 101 Tabela 5 – Comparação de Gmean (%) obtido pelos algoritmos MLP, MLP+SMOTE, MLP+SMOTE+TOMEK e MLP+NDB sobre as 10 bases de dados. Em negrito, os melhores valores encontrados. Base de MLP dados MLP+ MLP+ MLP+ SMOTE SMOTE+TOMEK NBD PIMA 0.7052(0.0818) 0.7617(0,0631) 0.7268(0.1018) 0.8122(0.0067) WPBC 0.6468(0.1846) 0.6292(0.0012) 0.6202(0.0245) 0.6012(0.0181) HEART 0.5689(0.1423) 0.5976(0.0854) 0.6234(0.0115) 0.7362(0.0100) IMAGE 0.9414(0.0467) 0.9360(0.0521) 0.9212(0.0366) 0.9512(0.0120) GLASS 0.8851(0.0112) 0.8422(0.0523) 0.8918(0.0821) 0.9002(0.0066) CAR 0.8139(0.0236) 0.8345(0.0345) 0.9102(0.0124) 0.9246(0.0521) YEAST 0.4154(0.1211) 0.6267(0.1048) 0.6777(0.1736) 0.6456(0.1267) ABALONE 0.7144(0.0569) 0.3623(0.2351) 0.6833(0.0236) 0.8156(0.0123) METEOROL 0.7088(0.0045) 0.7297(0.0566) 0.7789(0.0321) 0.7565(0.0021) ENERGIA 0.7134(0.0320) 0.7166(0.0423) 0.7321(0.0529) 0.8112(0.0011) Como a maioria dos resultados apresentou pequena diferença numérica entre as médias e a magnitude dos desvios foram aplicados testes estatísticos para se obter conclusões sobre os desempenhos dos mesmos uma vez da dificuldade de distinção dos algoritmos testados. O teste não paramétrico de Friedman (Friedman, M., 1937), (Friedman, M., 1940) foi selecionado para verificar se os algoritmos MLP, MLP+SMOTE, MLP+SMOTE+TOMEK e MLP+NDB são significativamente diferentes. Testes não paramétricos são mais indicados que seus correlatos paramétricos (Paired t-test, ANOVA), desde que eles não assumam distribuições normais ou homogeneidade de variância para os scores obtidos sobre inúmeras bases de dados (Demsar, J., 2006). O teste de Friedman é indicado principalmente em aplicações de AM para comparação de dois ou mais classificadores sobre múltiplas bases de dados e métricas de avaliação, pois apresentam maior probabilidade de rejeição da hipótese nula. No teste de Friedman, dados K algoritmos avaliados sobre N bases de dados, com seus ranks médios R j , j = 1,2,..., K , assume-se a hipótese nula H 0 de que todos os algoritmos são equivalentes, tal que seus ranks médios devem ser iguais. O teste de Friedman cria um rank dos algoritmos para cada base de dados separadamente. O 76 / 101 algoritmo de melhor pontuação recebe o rank 1, o segundo melhor o rank 2 e, assim por diante. Em caso de empates, ranks médios são atribuídos. Nesse caso, a estatística FF (Equação 24) é distribuída segundo a distribuição F com K − 1 e ( K − 1)( N − 1) graus de liberdade, onde: FF = χ F2 = ( N − 1) χ F2 (24) N ( K − 1) − χ F2 12 N K ( K + 1) 2 ∑ R 2j − K ( K + 1) j 4 (25) No experimento, N = 10 e K = 4 e então, 3 e 27 são os graus de liberdade para o numerador e o denominador, respectivamente. De acordo com a Tabela de Valores Críticos consultada (Demsar, J., 2006) da distribuição F , H 0 é rejeitada, a um nível de significância α de 5%, quando FF >2,960. A Tabela 6 lista os ranks médios obtidos pelos algoritmos para as métricas Gmean e AUC. As duas últimas colunas da Tabela 6 mostram as correspondentes estatísticas FF e p-valor calculadas para o teste de Friedman. De acordo com os valores dessas estatísticas, a hipótese nula H 0 de ranks iguais pode ser rejeitada a um nível significância de 5%, o que indica que os algoritmos são significativamente diferentes para ambas as métricas analisadas. Tabela 6: Ranks médios obtidos pelos algoritmos MLP, MLP+SMOTE, MLP+SMOTE+TOMEK e MLP+NDB para as métricas Gmean e AUC. As duas últimas colunas da Tabela mostram os correspondentes valores das estatísticas FF e p-valor referentes ao teste de Friedman. Base de dados MLP MLP+ SMOTE MLP+ SMOTE+TOMEK MLP+ NBD FF p-valor AUC 3.60 2.50 2.20 1.70 5.706 5.2 x10−8 Gmean 3.20 2.90 2.30 1.60 3.857 1.2 x10−6 Em seguida, o teste post-hoc de Nemenyi (Demsar, J., 2006) (Nemenyi, P., 1963) pode ser aplicado para comparar os algoritmos no formato “um-contra-um”. No teste de Nemenyi, é feita uma avaliação se os ranks médios de dois algoritmos diferem de um valor chamado Diferença Crítica (DC) conforme a Equação 26. 77 / 101 DC = qα K ( K + 1) 6N (26) A diferença é considerada significativa com nível de confiança de 1 − α . De acordo com a Tabela de Valores Críticos para o teste de Nemenyi (Demsar, J., 2006), a constante q 0.05 para K = 4 é 2.569, tal que CD é 1.483. Esse valor é o mesmo para ambas as métricas, Gmean e AUC. Os resultados do teste post-hoc para as métricas Gmean e AUC encontram-se graficamente representados nos diagramas de Diferença Crítica (DC) (Demsar, J., 2006) das Figuras 19 e 20, respectivamente. No eixo superior de cada diagrama DC, os ranks médios dos algoritmos foram marcados em ordem decrescente, com o melhor algoritmo ficando mais à esquerda. Além disso, os grupos de algoritmos que não são significativamente diferentes (para α = 0.05), isto é, cujas diferenças entre ranks médios não superam CD = 1.483, foram interligados por traços horizontais em negrito. 7 6.5 MLP+ SMOTE+ TOMEK 6 5.5 MLP 5 4.5 MLP+NBD 4 1 1.5 MLP+SMOTE 2 2.5 3 3.5 4 Figura 19: Diagrama DC representando os resultados do teste post-hoc de Nemenyi para a métrica AUC. Os grupos de algoritmos que não são significativamente diferentes (para α = 0.05) encontram-se conectados por traços horizontais. Analisando os resultados do teste post-hoc para a métrica AUC, pode-se concluir que MLP é significativamente pior que MLP+NBD. Já os métodos MLP+SMOTE, MLP+SMOTE+TOMEK e MPL+NBD aparentam possuir desempenhos equivalentes. Além disso, os dados não são suficientes para concluir se MLP+SMOTE e MLP+SMOTE+TOMEK possuem desempenho equivalente à MLP ou à MLP+NBD. Pode-se afirmar apenas que NBD é significativamente melhor que MLP. Cabe ressaltar, no entanto, que as diferenças entre os ranks médios de MLP e MLP+SMOTE+TOMEK (3.60 − 2.20 = 1,40) é muito próximo do valor crítico CD = 1.483 para α = 0.05. Isso 78 / 101 sugere que diferenças significativas entre MLP e MLP+SMOTE+TOMEK pode ser encontrada para valores maiores de significância do teste post-hoc, tal como α = 0.10. 7 6.5 MLP+ SMOTE+ TOMEK 6 5.5 MLP 5 4.5 MLP+SMOTE MLP+NBD 4 1 1.5 2 2.5 3 3.5 4 Figura 20: Diagrama DC representando os resultados do teste post-hoc de Nemenyi para a métrica Gmean. Os grupos de algoritmos que não são significativamente diferentes (para α = 0.05) encontram-se interligados por traços horizontais em negrito. Com relação à métrica Gmean, o teste post-hoc nos permite concluir que MLP é significativamente pior que MLP+NBD. Os dados também parecem indicar que MLP+SMOTE, MLP+SMOTE+TOMEK e MPL+NBD possuem desempenhos equivalentes. Uma analogia pode ser feita em relação ao grupo MLP, MLP+SMOTE e MLP+SMOTE+TOMEK. Cabe ressaltar novamente que as diferenças entre os ranks médios de MLP+NBD e os demais métodos possuem valores críticos distantes o bastante (para α = 0.05) que poderiam sugerir diferenças significativas para valores maiores de significância do teste post-hoc, tal como α = 0.15. Os testes estatísticos oriundos do terceiro experimento mostram que o algoritmo MLP+NBD proposto neste trabalho é igualmente eficiente, sendo capaz de melhorar significativamente o desempenho médio de MLPs puras sobre dados desbalanceados e sobrepostos. Os ganhos de desempenho em termos de Gmean revelam que MLP+NBD pode ser usado para obter taxas de acerto elevadas e equilibradas para ambas as classes. 5.3 Considerações finais Esta seção apresentou a formulação matemática e experimentos relativos ao novo método proposto neste trabalho e intitulado NBD. Três experimentos foram executados: o primeiro experimento com conjuntos de dados sintéticos gerados a partir de duas distribuições gaussianas unidimensionais e a representação do modelo de classificação ótimo de Bayes para uma tarefa de classificação binária. O segundo 79 / 101 experimento apresentou o comportamento de métodos da literatura que promovem o balanceamento de dados com sobreposição entre as classes em termos das métricas de avaliação de desempenho AUC e Gmean. E o terceiro experimento apresentou a eficiência das técnicas investigadas e do algoritmo que implementa o método NBD proposto. Os resultados dos testes de significância sinalizam que MLP+NBD possui, em determinados cenários, desempenho superior aos tradicionais métodos de reamostragem (SMOTE e SMOTE+TOMEK) para ambas as métricas analisadas. Embora não se possa afirmar que MLP+NBD é significativamente (para α = 0.05) melhor que SMOTE e SMOTE+TOMEK, o teste post-hoc conduz a afirmação de que ele pode ser superior para níveis de significância próximos de 5%. Além disso, as diferenças elevadas entre os ranks médios de MLP+NBD e os demais métodos sugerem superioridade deste método a um nível maior de significância do teste post-hoc como, por exemplo, 10%. É possível especular também que a superioridade de MLP+NBD sobre tais métodos de reamostragem possa ser alcançada através de um aumento do número de exemplos de dados no experimento. 80 / 101 6 Conclusões Esta dissertação abordou alguns aspectos teóricos e práticos para o problema do aprendizado indutivo com classes desbalanceadas e sobrepostas. Foi mostrado que o viés induzido pelo desequilíbrio das distribuições surge intrinsecamente da minimização de um critério baseado na taxa de erro global, tendo como fator atenuante o nível de sobreposição entre as classes. As abordagens discutidas fornecem subsídios para compreensão dos princípios que regem as soluções até então propostas para o problema e servem como guia para o desenvolvimento de novos métodos de balanceamento de classes. Soluções promissoras para o problema de classes desbalanceadas devem considerar critérios alternativos para seleção de modelos, os quais devem refletir as necessidades do domínio de aplicação em foco. Essa observação ajuda a entender o sucesso empírico de variações de técnicas de sobreamostragem e subamostragem, as quais provocam readaptações indiretas nas classes ao modificarem as distribuições de probabilidade (a priori) a partir de suas estratégias de reamostragem de dados. Esta seção é apresenta as principais contribuições na seção 6.1. Na seção 6.2 são apresentados os objetivos específicos alcançados e as hipóteses levantadas inicialmente no trabalho. Discorre-se aqui sobre a aceitação ou rejeição dessas, amparadas pelos experimentos e pesquisas realiadas ao longo do trabalho. Por fim, na seção 6.3, uma apresentação dos trabalhos futuros. 6.1 Principais contribuições Uma das mais importantes contribuições obtidas durantes os experimentos realizados é que não é possível afirmar que determinado método é significativamente melhor que outro, a um nível de confiança de 5%. Contudo, esses métodos não implicam que classificadores podem não aprender a partir de dados altamente desbalanceados. Ao contrário, os experimentos e a revisão da literatura mostraram que classificadores induzidos por certos conjuntos desbalanceados são comparáveis a classificadores induzidos com o mesmo conjunto de dados balanceado por técnicas de reamostragem. No entanto, pode-se afirmar que ao balancear os conjuntos de dados desbalanceados utilizados neste trabalho geralmente e na maior parte das vezes melhora o desempenho de classificadores baseado em redes neurais do tipo MLP. 81 / 101 Como a distribuição das classes varia com a aplicação desses métodos de reamostragem, métricas de aferição de desempenho também podem apresentar resultados diferentes mesmo considerando o mesmo classificador. Isso pode ser muito problemático quando se compara o desempenho de diferentes algoritmos de aprendizagem sobre bases de dados diferentes por causa da inconsistência de representação do desempenho. Em outras palavras, a presença de desbalanceamento de classes torna difícil a análise quanto às métricas de avaliação são sensíveis à distribuição dos dados. Por exemplo, ao contrário da acurácia e taxa de erro, as métricas Precision e Recall não são sensíveis a mudanças na distribuição dos dados. De outro lado, apesar de Recall não ser dependente da distribuição, seu uso exclusivo pode trazer resultados equivocados, uma vez que não traz informação de quantos exemplos são incorretamente classificados como positivos. Da mesma forma, o uso exclusivo de Precision não permite afirmar quantos exemplos positivos são classificados incorretamente. No entanto, quando usados corretamente, podem efetivamente avaliar o desempenho da classificação em cenários de aprendizagem desequilibrados. Portanto, utilizar uma única métrica de avaliação não é suficiente para lidar com problemas de aprendizagem desequilibrada. É necessário avaliar a pertinência não só da acurácia, como também, AUC, PR, Cost Curve, Precision e Recall. 6.2 Objetivos alcançados, hipóteses aceitas e rejeitadas Do ponto de vista das hipóteses levantadas durante a pesquisa, pode-se aceitar a partir dos resultados alcançados que, de uma forma geral, conjuntos de treinamento balanceados melhoram simultaneamente as taxas de acerto de classificação para ambas as classes e que conjuntos de treinamento desbalanceados não são os únicos responsáveis pelo baixo desempenho de classificadores de padrão, mas também o grau de sobreposição entre as classes. Em relação as hipóteses específicas e considerando as bases de dados utilizadas, pôde-se: 1. Aceitar a hipótese de que conjuntos de treinamento balanceados melhoram simultaneamente as taxas de acerto de classificação para ambas as classes; 2. Aceitar a hipótese de que conjuntos de treinamento desbalanceados não são os únicos responsáveis pelo baixo desempenho de classificadores de padrão, mas também o grau de sobreposição entre as classes; 82 / 101 3. Rejeitar a hipótese de que as distribuições das classes que ocorrem naturalmente são as melhores para o aprendizado; 4. Aceitar a hipótese de que penalizações com base na proporção dos padrões no conjunto de treinamento permitem obter modelos equilibrados (equidistantes das distribuições), compensando o viés imposto pela classe majoritária. Em relação aos objetivos específicos, a partir das bases de dados utilizadas, pôde-se concluir que: • Foi alcançado o objetivo específico de investigar na literatura os principais métodos de balanceamento de classes utilizados em pré-processamento de conjuntos de dados anteriormente a tarefas de classificação de padrões; • Foi alcançado o objetivo específico de propor um novo método de reamostragem de dados no espaço de entrada, que inclui sobreamostragem da classe minoritária, subamostragem da classe majoritária ou a combinação de ambas as técnicas de forma a melhorar os resultados da aplicação dos métodos de balanceamento de classes investigados na literatura e neste trabalho; • Foi alcançado o objetivo específico de realizar experimentos com bases de dados provenientes de repositórios clássicos da literatura e também bases de dados de problemas reais como forma de validar os métodos de balanceamento de classes investigados na literatura e utilizados neste trabalho; • Foi alcançado o objetivo específico de realizar testes estatísticos junto aos resultados experimentais obtidos como forma de validar a eficiência do novo método proposto; • Foi alcançado o objetivo específico de provar, a partir dos métodos investigados e do novo proposto, que RNA induzidas por conjuntos de treinamento desbalanceados tendem a produzir classificadores que favorecem a classe com maior probabilidade de ocorrência. 6.3 Trabalhos futuros Como trabalhos futuros podemos destacar as seguintes investigações e estudos a serem realizados a partir dos resultados alcançados neste trabalho, entre eles: 83 / 101 Compreensão teórica sobre os princípios e as consequências do treinamento com classes altamente desbalanceadas e sobrepostas. Atualmente, a maioria dos esforços na pesquisa em aprendizagem com classes desbalanceadas foca no desenvolvimento de algoritmos específicos e/ou estudos de caso; apenas uma quantidade muito limitada foca na compreensão teórica e nos fundamentos matemáticos sobre os princípios e as consequências deste problema. Por exemplo, embora quase todos os algoritmos apresentados na literatura afirmem ser capazes de melhorar a precisão da classificação sobre certas condições, existem certas situações em que a aprendizagem sobre conjuntos de dados originais pode fornecer um melhor desempenho. Este fato levanta uma questão importante: até que ponto métodos para classes desbalanceadas, para determinadas bases de dados, podem ajudar no aprendizado? Esta é uma questão fundamental e crítica neste domínio por várias razões. Primeiro, suponha que existam (ou existirão) técnicas ou metodologias que significativamente superam outras na maior parte (ou, idealmente, todas) em domínios aplicáveis. Logo, estudos rigorosos sobre quais efeitos tais métodos produzem são fundamentais para a compreensão do problema em questão. Em segundo lugar, como essas metodologias e análises de dados podem ser aplicadas a problemas reais com dados reais? Assim, as consequências desta questão crítica têm amplos efeitos no avanço da área. Aprendizagem incremental em fluxos de dados desbalanceados. Métodos tradicionais de aprendizagem estáticos exigem que o conjunto de dados esteja disponível no momento do treinamento, a fim de se desenvolver os limites de decisão. No entanto, em muitas aplicações reais, tais como em mineração na web, redes de sensores, sistemas multimídia, entre outros, os dados brutos se tornam disponíveis continuamente através de uma aprendizagem (possivelmente infinita) por tempo indeterminado (Ozawa, S.; Pang, S.; Kasabov. N., 2008), (Leite, D. F.; Costa Jr., P.; Gomide, F. A. C., 2009). Portanto, novos entendimentos, princípios, metodologias, algoritmos e ferramentas são necessários para tratar do aprendizado nesses cenários de fluxo de dados contínuo de forma eficiente para transformar dados em informações úteis e representação do conhecimento para apoiar os processos de tomada de decisão. Embora a importância da mineração em fluxo de dados tenha atraído cada vez mais atenção recentemente (Leite, D. F.; Costa Jr., P.; Gomide, F. A. C., 2010), (Lughofer, E., 2008), (Angelov, P. and Zhou, X., 2006) a atenção dada aos dados desbalanceados em fluxo contínuo fluxos tem sido bastante limitada. Além disso, no que se refere à 84 / 101 aprendizagem incremental de fluxos de dados desbalanceados, muitas questões importantes precisam ser ainda abordadas, tais como: como podemos ajustar a aprendizagem de forma autônoma? Devemos considerar o reequilíbrio do conjunto de dados durante o período de aprendizagem incremental? Se sim, como podemos conseguir isso? Como podemos acumular experiência anterior e usar conhecimento para melhorar a aprendizagem adaptativa a partir de dados novos? A compreensão concreta e exploração ativa nestas áreas podem avançar significativamente o desenvolvimento da tecnologia para cenários do mundo real de aprendizagem incremental (Li, Y.; Xu, L. G.; Morphett, J. and Jacobs, R.,2003), (Lughofer, E., 2008), (Bouchachia, A.; Gabrys, B.; Sahel, Z., 2007). Cálculo do limiar ótimo max θ e min θ do método NBD. O método NBD proposto é baseado em subamostragem e sobreamostragem guiada pela informação da densidade em torno dos exemplos de treinamento inter-classe e intra-classe. O algoritmo que computa o NBD possui parâmetros que permitem o ajustar a intensidade do processo de reamostragem de acordo com o grau de desbalanceamento e sobreposição entre as classes. Este parâmetro é ajustado empiricamente pelo usuário do método conforme recomendação descrita neste trabalho, mas pode, através de novas heurísticas, otimizar o processo de eliminação e síntese de exemplos de regiões altamente desbalanceadas e sobrepostas de forma a melhorar a distribuição dos conjuntos de treinamento para que um classificador possa estimar uma melhor superfície de separação através de valores ótimos de min θ e max θ . DN sob o ponto de vista de classificação para uma classe (C1C) para problemas com conjuntos de treinamento altamente desbalanceados e sobrepostos. Tendo em vista as limitações de técnicas tradicionais de AM para a tarefa de classificação com conjuntos de treinamento altamente desbalanceados e sobrepostos no que diz respeito à identificação de novos perfis nos dados, várias abordagens de C1C (presença, na fase de treinamento, de elementos de apenas um perfil) têm contribuído em diversos domínios de aplicação para permitir a DN. Por outro lado, a grande massa de dados que passou a se acumular a partir dos avanços das TICs (Tecnologias da Informação e Comunicação), representa um grande desafio às técnicas computacionais, o que tem motivado uma crescente expansão na utilização de técnicas de AM, principalmente em bases de dados reais como as utilizadas nos experimentos referentes a histórico de dados 85 / 101 meteorológicos para previsão de eventos climáticos extremos e a histórico de inspeções realizadas em consumidores de energia elétrica com suspeita de irregularidades ou falhas na medição de consumo de energia (Alberto, B. L. A.; Almeida, P. E. M., 2009), (Alberto, B. L. A., 2007). Acredita-se que técnicas de DN podem contribuir positivamente na solução dessa classe de problemas que caracterizam-se por enormes bases de dados altamente desbalanceadas e sobrepostas, permitindo, por exemplo, a detecção de mudanças nos perfis de consumo de energia elétrica ou de eventos climáticos extremos que possam estar associados ao aparecimento de uma nova classe ou mesmo a ocorrência de concept drift (alteração do perfil normal) (Klinkenberg, R., 2004). Propõe-se, portanto como trabalho futuro investigar novas abordagens para problemas reais por meio de técnicas de C1C desbalanceadas para a DN. O foco principal está na aplicação em problemas de previsão de eventos climáticos extremos e falhas/fraudes no consumo de energia elétrica. Além da DN, um novo desafio a ser perseguido é o da identificação da origem da novidade, aspecto muito pouco explorado em trabalhos de DN. Um elemento identificado como membro de um novo perfil pode indicar o aparecimento de uma nova classe, a ocorrência de concept drift, ou ainda se tratar de ruído ou de um dado inválido. 86 / 101 Referências bibliográficas [01] Alberto, B. L. A. (2007) Classificação de padrões por meio de uma abordagem de Detecção de Novidade utilizando Redes Neurais Artificiais. Monografia do Curso de Especialização em Automação Industrial, Programa de Pós-Graduação em Engenharia Elétrica da UFMG, Belo Horizonte – MG. [02] Alberto, B. L. A. e Almeida, P. E. M. (2009) Serviços solicitados por consumidores atendidos em baixa tensão junto às distribuidoras de energia elétrica: formação de clusters com suspeita de irregularidades utilizando Mapas AutoOrganizáveis. In XXXII Congresso Nacional de Matemática Aplicada e Computacional, v.2, ISSN 1984-820X, pp. 796-796. [03] Alberto, B. L. A.; Martinez, C. L.; Vale, C. E. S.; Pappa, G. L.; Ferreira, R. A. C. (2011) Um sistema inteligente para seleção de unidades consumidoras com suspeita de irregularidades no consumo de energia elétrica. In X Congresso Brasileiro de Inteligência Computacional. [04] Alberto, B. L. A.; Almeida, P. E. M.; Duarte, R. L. (2008) Inteligência Computacional nas Distribuidoras de Energia Elétrica: evolução tecnológica, aplicações e impactos na redução das perdas não técnicas. In XVIII Seminário Nacional de Distribuição de Energia Elétrica. [05] Albrecht, S., Busch, J., Kloppenburg, M., Metze, F. and Tavan, P. (2000) Generalized radial basis function networks for classification and novelty detection: Selforganization of optimal bayesian decision. In Neural Networks, Vol. 13, No. 10, pp. 1075–1093. [06] Alejo, R.; Garcia, V.; Sotoca, J.; Mollineda, R. and Sanchez, J. (2006). Improving the classification accuracy of RBF and MLP neural networks trained with imbalanced samples. In Intelligent Data Engineering and Automated Learning IDEAL 2006 , vol. 4224 of Lecture Notes in Computer Science, 464–471, Springer Berlin / Heidelberg. 87 / 101 [07] Almeida, P. E. M.; Meireles, M. R. G.; Simões, M. G. (2003). A Comprehensive Review for Industrial Applicability of Artificial Neural Networks. In IEEE Transactions on Industrial Electronics, New York, NY, v. 50, n. 3, p. 585-601. [08] Angelov, P. and Zhou, X. (2006). Evolving fuzzy systems from data streams in real-time. In International Symposium on Evolving Fuzzy Systems, pages 29–35. [09] Baranauskas, J. A., Monard, M. C. and Horst, P. S. (1999). Evaluation of CN2 Induced Rules Using Feature Selection. In Argentine Symposium on Artificial Inteligence (ASAI/JAIIO/SADIO), Buenos Aires, Argentina, pp. 141-154. [10] Barandela, R., Valdovinos, R.M., Sanchez, J. S. and Ferri, F.J. (2004) The imbalanced training sample problem: Under or over sampling? In Structural, Syntactic, and Statistical Pattern Recognition, vol. 3138 of Lecture Notes in Computer Science, 806–814, Springer Berlin / Heidelberg, 2004 [11] Barnett, V. and Lewis, T. (1994). Outliers in Statistical Data. New York, NY: John Wiley and Sons. [12] Basu, S.; Bilenko, M. and Raymond, J. M. (2004). Integrating Constraints and Metric Learning in Semi-Supervided Clustering. In Proceedings of the 21st International Conference on Machine Learning. ICML-2004, pp. 81-88. [13] Batista, G.E.A.P.A., Prati, R.C. and Monard, M.C. (2004). A study of the behavior of several methods for balancing machine learning training data. In SIGKDD Explor. Newsl., 6, 20–29. [14] Batista, G.E.A.P.A and Monard, M.C. (2002). A Study of K-Nearest Neighbour as an Imputation Method. In A. Abrahan, J. R. del Solar, and M. Koppen (eds.), Soft Computing Systems: Design, Management and Applications, Santiago, Chile, pp. 251- 260. IOS Press. [15] Berger, J. (1985). Statistical Decision Theory and Bayesian Analysis. Springer, 2nd. 88 / 101 [16] Bishop, C. M. (2006). Pattern Recognition and Machine Learning (Information Science and Statistics), Springer. [17] Bishop, C. M. (1994). Novelty detection and neural network validation, In IEEE Proceedings on Vision, Image and Signal Processing, Vol. 141, No. 4, pp. 217–222. [18] Blake, C. L., and Merz, C. J. (1998). UCI repository of machine learning databases, University of California, Irvine, CA . www.ics.uci.edu/∼mlearn/MLRepository.html [19] Bloedorn, E. and Michalski, R. S. (1998). Data-Driven Construtive Induction. In IEEE Intelligent Systems 13(2), 30-37. [20] Blum, A. L. and Mitchell, T. M. (1998) Combining labeled and unlabeled data with cotraining. In Proceedings of the Eleventh Annual Conference on Computational Learning Theory pages 92–100, New York, USA, ACM Press. [21] Blum, A. L. and Langley, P. (1997). Selection of Relevant Features and Examples in Machine Learning. Artificial Intelligence 97, 245-271. [22] Boley, D. L. (1997) Principal direction divisive partitioning. Tech. Rep. TR-97056, University of Minnesota, Minneapolis, MN. [23] Bouchachia, A.; Gabrys, B.; Sahel, Z. (2007). Overview of some incremental learning algorithms. In IEEE International Fuzzy Systems Conference, pp: 1-6 [24] Bratko, I. (1990). Prolog Programming for Artificial Intelligence. Addison-Wesley. [25] Breiman, L.; Friedman, J.; Olshen, R. and Stone, C. (1984). Classification and Regression Trees. Pacific Grove, CA: Wadsworth and Books. [26] Brodley, C. E. and Friedl, M. A. (1999). Identifying Mislabeled Training Data. In Journal od Artificial Intelligence Research 11. 131-167. 89 / 101 [27] Bruce, R. (2001) A bayesian approach to semi-supervised learning. In Mitsuru Ishizuka and Abdul Satter, editors, Proceedings of the Sixth Natural Language Processing Pacific Rim Symposium — NLPRS-2001, pages 57– 64, Tokyo, Japan, Springer Verlag. [28] Bunkhumpornpat, C.; Sinapiromsaran, K.; Lursinsap, C. (2003) Safe-LevelSynthetic Minority Over-Sampling Technique for handling the class impalanced problem. Department of Mathematics, Faculty of Science, Chulalongkorn University. [29] Chawla, N.V., Bowyer, K.W. and Kegelmeyer, P.W. (2002). Smote: Synthetic minority over-sampling technique. Journal of Artificial Intelligence Research, 16, 321– 357. [30] Chawla, N. V., Japkowicz, N. and Kotcz, A. (2003) Procedings of the ICML’2003 Workshop on Learning from Imbalanced Data Sets. [31] Chawla, N. V., Japkowicz, N. and Kotcz, A. (2002) Special issues on Learning from Imbalanced Data Sets. ACM SIGKDD Explorations, V.6, p.1-6. [32] Chawla, N. V., Bowyer, K. W., Hall, L. O., and Kegelmeyer, W. P. (2002). Smote: Synthetic minority over-sampling technique. In Journal of Artificial Intelligence Research, 16:321–357. [33] Cherkassky, V. and Mulier, F. (2007). Learning from data. In John Wiley and Sons, 2nd. [34] Ciaccia, P., Patella, M., Zezula, P. (1997). M-Tree: Na Efficient Access Method for Similarity Search in Metric Spaces. In International Conference on Very Large Data Bases, pp. 426-435 [35] Cover, T. M. and Hart, P. E. (1967). Nearest neighbor pattern classification. In IEEE Transactions on Information Theory, 13(1):21-27. 90 / 101 [36] Davis, J. and Goadrich, M. (2006) The Relationship between Precision-Recall and ROC Curves, In Proc. Int’l Conf. Machine Learning, pp. 233-240. [37] Demsar, J. (2006). Statistical comparisons of classifiers over multiple data sets. In Journal of Machine Learning Research, 7, 1–30 [38] Dietterich, T. G. (1997a). Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms. In Neural Computation, 10(7):1895–1924. [39] Domingos, P. (1999). MetaCost: A General Method for Making Classifiers CostSensitive. In Knowledge Discovery and Data Mining, pp. 155-164. [40] Dougherty, J., Kohavi, R. and Sahami, M. (1995). Supervised and Unsupervised Discretization of Continuous Features. In A. Priedits and Russell (Eds.), In XII International Conference in Machine Learning, San Francisco, CA, pp. 194-202. Morgan Kaufmann. [41] Drummond, C. and Holte, R. (2003). C4.5, class imbalance, and cost sensitivity: Why under-sampling beats over-sampling. In Working Notes of the ICML Workshop Learning from Imbalanced Data Sets [42] Duda, R. O.; Hart, P. E. and Stork, D. G. (2001). Pattern Classification (2nd Edition). Wiley-Interscience. [43] Durães, R. L. (2009) Validação de Modelos Baseados em RNA Utilizando Análise estatística de Dados e Lógica Fuzzy. Dissertação apresentada ao Programa de PósGraduação em Modelagem Matemática e Computacional do CEFET-MG, Belo Horizonte – MG. [44] Elkan, C. (2001). The foundations of cost-sensitive learning. In Proceedings of the Seventeenth International Joint Conference on Artificial Intelligence, IJCAI , 973–978. [45] Fayyad, U.; Piatetsky-Shapiro, G. and Smyth, P. (1996). From Data Mining to Knowledge Discovery in Databases. In AI Maganize, pp. 37-54. 91 / 101 [46] Fawcett, T. (2006). An introduction to ROC analysis. Pattern Recogn. Lett., 861– 874. [47] Fawcett, T. (2004). ROC Graphs: Notes and Practical Considerations. Machine Learning. [48] Fawcett, T. and Provost, F. J. (1997). Adaptive Fraud Detection. Data Mining and Knowledge Discovery 1(3), 291-316. [49] Filho, J. A. S. (2006) Utilização de redes neurais artificiais em classificação autônoma de peças metálicas empregando imagens radiográficas aplicáveis a sistemas IVA. Dissertação apresentada ao Programa de Pós-Graduação em Modelagem Matemática e Computacional do CEFET-MG, Belo Horizonte – MG, 2006. [50] Freund, Y. and Schapire, R. E. (1997). A decision-theoretic generalization of online learning and an application to boosting. In Journal Computing Systems Science 55(1):119-139. [51] Friedman, M. (1940). A comparison of alternative tests of significance for the problem of m rankings. In The Annals of Mathematical Statistics, 11, 86–92. [52] Friedman, M. (1937). The use of ranks to avoid the assumption of normality implicit in the analysis of variance. In Journal of the American Statistical Association, pp. 675–701. [53] Furnkranz, J. (1999). Separate-and-conquer Rule Learning. Artificial Intelligence. Review 13(1), pp 3-54. [54] Garnett, R.; Roberts, S. J. (2008). Learning from Data Streams with Concept Drift. Technical Report PARG-08-01, Dept. of Engineering Science, University of Oxford, Jun., 64p. [55] Goldberg, D. E. (1989) Genetic Algorithms in Search, Optimization, and Machine Learning. EUA: Addison-Wesley. 92 / 101 [56] Han, H., Wang, W. Y. and Mao, B. H. (2005). Borderline-smote: A new oversampling method in imbalanced data sets learning. In Advances in Intelligent Computing, vol. 3644 of Lecture Notes in Computer Science, 878–887, Springer Berlin, Heidelberg. [57] Hand, D. & Till, R. (2001). A simple generalisation of the area under the ROC curve for multiple class classification problems. In Machine Learning., 45, 171–186. [58] Hall, M.; Frank, E.; Holmes, G.; Pfahringer, B.; Reutemann, P.; Witten, I. H. (2009). The WEKA Data Mining Software: An Update. SIGKDD Explorations, volume 11, Issue 1. [59] Hart, P. E. (1968). The condensed nearest neighbor rule. In IEEE Transactions on Information Theory. IT-14:515-516. [60] Haykin, S. (1998). Neural Networks: A Comprehensive Foundation. Prentice Hall, 2nd edition. [61] He, H. and Garcia, E.A. (2009). Learning from imbalanced data. IEEE Transactions on Knowledge and Data Engineering, 21, 1263–1284. [62] Holland, J. H. (1975). Adaptation in natural and artificial systems. The University of Michigan Press, Ann Arbor, MI, USA. [63] Hosmer, D. W. and Lemeshow, S. (1989) Applied Logistic Regression, John Wiley & Sons Inc. [64] Holte, R. C. and Drummond, C. (2006) Cost Curves: An Improved Method for Visualizing Classifier Performance, In Machine Learning, vol. 65, no. 1, pp. 95-130. [65] Holte, R. C. and Drummond, C. (2005) Cost-Sensitive Classifier Evaluation, In Proc. Int’l Workshop Utility-Based Data Mining, pp. 3-9. 93 / 101 [66] Hopfield, J. J. (1982). Neural Networks and Physical Systems with Emergent Collective Computational Abilities. National Academy of Sciences of the USA, pp. 2554-2558. [67] Huang, Y.M., Hung, C.M. and Jiau, H.C. (2006). Evaluation of neural networks and data mining methods on a credit assessment task for class imbalance problem. Nonlinear Analysis: Real World Applications, 7, 720 – 747. [68] Hulse, J. V.; Khoshgoftaar, T. M.; Napolitano, A. (2007) Experimental Perspectives on Learning from Imbalanced Data. In Proceedings of the 24th International Conference on Machine Learning, Corvallis, OR. [69] Japkowicz, N. (2000). Learning from imbalanced data sets: A comparison of various strategies. In AAAI Conference on Artificial Intelligence, 10–15, AAAI Press. [70] Japkowicz, N., Myers, C., Gluck, M. (1995) A novelty detection approach to classification, In: Proceedings of 14th IJCAI Conference, Montreal, Canada, pp. 518– 523. [71] Japkowicz, N. and Stephen, S. (2002). The class imbalance problem: A systematic study. Intelligent Data Analysis, 6(5):429–449. [72] John, G., Kohavi, R. and Pfleger, K. (1994). Irrelevant Features and the Subset Selection Problem. In M. Kaufmann (ed.), In Proceedings of the Eleventh International Conference on Machine Learning, San Francisco, CA, pp. 167-173. [73] Jr., C. T., Traina, A., Seeger, B. and Faloutsos, C. (2000). Slim-trees: High Performance Metric Tress Minimizing Overlap Between Nodes. In Conference on Extending Database Technology. EDBT’2000, pp. 51-65 [74] Khoshgoftaar, T. M.; Hulse, J.V. and Napolitano, A. (2010). Supervised neural network modeling: An empirical investigation into learning from imbalanced data with labeling errors. IEEE Trans. on Neural Networks, 21, 813–830. 94 / 101 [75] Kibler, D. and Langley, P. (1998). Machine Learning as an Experimental Science. Machine Learning 3(1),5-8. [76] Klinkenberg, R. (2004). Learning drifting concepts: Example selection vs. example weighting. Intelligent Data Analysis, Special Issue on Incremental Learning Systems Capable of Dealing with Concept Drift, 8(3):281–300. [77] Kohavi, R. (1997). Wrappers for Feature Subset Selection. Artificial Intelligence 97, 273-324. [78] Kohavi, R. and Sahami, M. (1996). Error-Based and Entropy-Based Discretization of Continuous Features. In Second International Conference on Knowledge Discovery and Data Mining (KDD-96), Portland, OR, pp. 114-119. American Association for Artificial Intelligence. [79] Koza, J. R.. (1992) Genetic Programming: On the Programming of Computers by Means of Natural Selection. [S.l.]: MIT Press, 1992. [80] Kubat, M. and Matwin, S. (1997). Addressing the curse of imbalanced training sets: one-sided selection. In Proc. 14th International Conference on Machine Learning, 179–186, Morgan Kaufmann. [81] Kubat, M., Holte, R. C., and Matwin, S. (1998). Machine learning for the detection of oil spills in satellite radar images. In Machine Learning, 30(2-3):195–215. [82] Lan, J., Hu, M.Y., Patuwo, E. and Zhang, G.P. (2010). An investigation of neural network classifiers with unequal misclassification costs and group sizes. Decis. Support Syst., 48, 582–591. [83] Laurikkala, J. (2001). Improving Identification of Difficult Small Classes by Balancing Class Distribution. University of Tampere. 95 / 101 [84] Lee, H. D., Monard, M. C. and Baranauskas, J. A. (1999). Empirical Comparison of Wrapper and Filter Approaches for Feature Subset Selection. Technical Report 94, ICMC-USP. [85] Leite, D. F.; Costa Jr., P.; Gomide, F. A. C. (2009). Evolving Granular Classification Neural Networks. In International Joint Conference on Neural Networks, 1:1736-1743. [86] Leite, D. F.; Costa Jr., P.; Gomide, F. A. C. (2010). Evolving Granular Neural Networks for Semisupervised Data Stream Classification. In World Congress on Computational Intelligence (submitted), 2010. [87] Li, Y.; Xu, L. G.; Morphett, J. and Jacobs, R. (2003). On incremental and robust subspace learning. Pattern Recognition, 37:1509–1518. [88] Ling, C. X. and Li, C. (1998). Data Mining for Direct Mining: Problems and Solutions. In Forth International Conference on Knownledge Discovery and Data Mining, pp. 73-79. [89] Liu, X.Y., Wu, J. & Zhou, Z.H. (2009). Exploratory undersampling for class imbalance learning. IEEE Trans. on Sys. Man Cyber. Part B, 39, 539–550. [90] Luenberger, D. (1984). Linear and Nonlinear Programming. Addison-Wesley, Reading, 2nd edn. [91] Lughofer, E. (2008). Extensions of vector quantization for incremental clustering. Pattern Recognition, 41(3):995 – 1011. Part Special issue: Feature Generation and Machine Learning for Robust Multimodal Biometrics. [92] Markou, M. e Singh, S. (2003) Novelty detection: A review, part i: Statistical approaches, In Signal Processing, No. 83, pp. 2481–2497. [93] Markou, M. e Singh, S. (2003) Novelty detection: A review, part ii: Neural network based approaches”, In Signal Processing, No. 83, pp. 2499–2521. 96 / 101 [94] Marsland, S. (2003) Novelty detection in learning systems, In Neural Computing Surveys, No. 3, 2003, pp. 157–195. [95] Matlab (2008). Version 8.10.0 (R2008a). The MathWorks Inc., Natick, Massachusetts. [96] Mazurowski, M. A., Habas, P. A., Zurada, J. M., Lo, J. Y., Baker, J. A. & Tourassi, G. D. (2008). Training neural network classifiers for medical decision making: The effects of imbalanced datasets on classification performance. Neural Networks, 21, 427– 436. [97] Monard, M. and Batista, G. E. A. P. A. (2002). Learning with skewed class distribution. In Advances in Logic, Artificial Intelligence and Robotics, 173–180, IOS Press. [98] Mease, D.; Wyner, A.J. and Buja, A. (2007). Boosted classification trees and class probability/quantile estimation. J. Mach. Learn. Res., 8, 409–439. [99] Michalski, R. S.; Mozetic, I.; Hong, J. and Lavrac, N. (1986). The Multi-purpose Incremental Learning System AQ15 and its Testing Application to Three Medical Domains. In Fifth Annual National Conference on Artificial Intelligence, pp 1041-1045. [100] Michalski, R. S.; Carbonell, J. G. and Mitchell, T. M. (1983). Machine Learning: An Artificial Intelligence Approach. Tioga Publishing Company. [101] Michalski, R. S. (1978). Pattern Recognition as Knowledge-Guided Computer Induction. Technical Report 927, Department of Computer Science, University of Illinois, Urbana-Champaign. [101] Minsky, M. L. and Papert, S. A. (1969). Perceptrons. MIT Press. [102] Mitchell, T. (1997). Machine Learning. McGraw Hill. 97 / 101 [103] Morgan, J. and Messenger, R. (1973). THAID: A Sequential Search Program for the Analysis of Nominal Scale Dependent Variables. Technical report, Institute for Social Research, University of Michigan. [104] Nemenyi, P. (1963). Distribution-free multiple comparisons. Ph.D. thesis, Princeton University. [105] Nickerson, A.; Japkowicz, N & Millos, E. (2001). Using Unsupervised Learning to Guide Rezampling in Imbalanced Data Sets. In Proceedings of the 8th Internacional Workshop on AI and Statistics. Key West, p. 261-265 [106] Norvig, P. and Russel, S. (1986) Artificial Intelligence: A Modern Aproach. Upper Saddle River, NJ, EUA: Prentice Hall, 1995. [107] Ozawa, S., Pang, S., Kasabov, N. (2008). Incremental Learning of Chunk Data for Online Pattern Classification Systems. In IEEE Trans. on Neural Networks, 19(6): 1061-1074. [108] Parzen, E. (1962). On the estimation of a probability density function and mode. In Annals of Mathematical Statistics, 33:1065-1076. [109] Pazzani, M., Merz, C., Murphy, P., Ali, K., Hume, T. and Brunk, C. (1994). Reducing Misclassification Costs. In XI International Conference in Machine Learning, pp. 217-225. [110] Pednault, E. P. D., Rosen, B. K. and Apte, C. (2000). Handling Imbalanced Data Sets in Insurance Risk Modeling. Technical Report RC-21731, IBM Research Report. [111] Pila, A. D. and Monard, M. C. (2002). Rules Induced by Symbolic Learning Algorithms Using Rough Sets Reducts for Selecting Features: An Empirical Comparison with other Filters. In A. Zapico and J. M. Santos (Eds.), In Proceedings Argentine Symposium on Artificial Intelligence, ASAI’2002, Santa Fé, Argentina, pp. 206-217. 98 / 101 [112] Prati, R.C., Batista, G.E.A.P.A., Monard, M.C. (2004) Class imbalance versus class overlaping: An analysis of a learning system behaviour. In Mexican International Conference on Artificial Intelligence (MICAI'2004), volume 2972 of LNAI., Mexico City (Mexico), Springer, pp. 312-321. [113] Pyle, D. (1998). Data Preparation for Data Mining. Morgan Kaufmann Publishers, Inc. [114] Quinlan, J. R. (1986). Induction of Decision Trees. Machine Learning. 81-106. Readings in Machine Learning. [115] Quinlan, J. R. (1987a). Generating Production Rules from Decisions Trees. In Proceedings of the Tenth International Joint Conference on Artificial Intelligence, Italy, pp 304-307 [116] Quinlan, J. R. (1987b). Simplifying Decision Trees. In International Journal of Man-Machine Studies, pp 221-23427. [117] Rosenblatt, F. (1958). The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain. Psycological Review. [118] Rumelhart, D.E., J.L. McClelland and the PDP Research Group (1986). Parallel Distributed Processing: Explorations in the Microstructure of Cognition. Volume 1: Foundations, Cambridge, MA: MIT Press. [119] Russel, S. and Norvig, P. (2003). Artificial Intelligence: A Modern Approach (2 ed.). Prentice Hall. [120] Shaw, M. J. and Gentry, J. A. (1990). Inductive Learning for Risk Classification. IEEE Expert: Intelligent Systems and Their Applications 5(1), 47-53 [121] Sheskin, D.J. (2007). Handbook of Parametric and Nonparametric Statistical Procedures. Chapman & Hall/CRC, 4th edn. 99 / 101 [122] Stanfill, C. and Waltz, D. (1986). Instance-based learning algorithms. In Communications of the ACM 12, 1213-1228. [123] Sun, Y., Kamel, M.S., Wong, A.K.C. & Wang, Y. (2007). Cost-sensitive boosting for classification of imbalanced data. Pattern Recognition, 40, 3358–3378. [124] Tan, P.N., Steinbach, M. & Kumar, V. (2005). Introduction to Data Mining, (First Edition). Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. [125] Tax, D. M. J. (2001). One-class classification - Concept-learning in the absence of counterexamples. PhD thesis, Delf University of Technology, Faculty of Information Technology and Systems. [126] Tomek, I. (1976). Two modifications of CNN. In IEEE Trans. Systems, Man, and Cybernetics, 6, 769–772. [127] Van Gestel, T., Suykens, J.A.K., Baesens, B., Viaene, S., Vanthienen, J., Dedene, G., De Moor, B. and Vandewalle, J. (2004). Benchmarking least squares support vector machine classifiers. In Machine Learning, 54, 5–32. [128] Vapnik, V. (1998). Statistical Learning Theory. Wiley-Interscience. [129] Vapnik, V.N. (1995). The nature of statistical learning theory. Springer-Verlag New York, Inc. [130] Wagstaff, K.; Cardie, C.; Rogers, S. and Schroedl, S. (2001) Constrained k-means clustering with background knowledge. In Proceedings of the Eighteenth International Conference on Machine Learning, ICML-2001, pages 577–584, Williamstown, MA, USA. [131] Weiss, S. M. (2004). Mining with rarity: a unifying framework. SIGKDD Explor. Newsl., 6, 7–19. 100 / 101 [132] Weiss, S. M. and Provost, F. (2001). The Effect of Class Distribution on Classifier Learning: An Empirical Study. Technical Report ML-TR-44, Rutgers University, Department of Computer Science. [133] Weiss, S. M. and Kulikowski, C. A. (1991). Predictive Data Mining: A Practical Guide. San Francisco, CA: Morgan Kaufmann. [134] Wilson, D. (1972). Asymptotic properties of nearest neighbor rules using edited data. IEEE Trans. Systems, Man, and Cybernetics, 2, 408–421. [135] Wong, M.L.D., Jack, L.B., Nandi, A.K. (2005) Modified self-organising map for automated novelty detection applied to vibration signal monitoring. In Signal Processing and Communications Group, Department of Electrical Engineering and Electronics, The University of Liverpool, Brownlow Hill, Liverpool, UK. [136] Ypma, A. e Duin, R. P. W. (200) Novelty detection using Self-Organizing Maps. In Pattern Recognition Group, 2000, Faculty of Applied Physics Delft University of Technology. [137] Zhang, J. & Mani, I. (2003). Knn approach to unbalanced data distributions: A case study involving information extraction. In Proceedings of the ICML’2003 workshop on learning from imbalanced datasets. [138] Zhou, Z.H. and Liu, X.Y. (2006). Training cost-sensitive neural networks with methods addressing the class imbalance problem. In IEEE Transactions on Knowledge and Data Engineering, 18, 63–77. [139] Zorriassatine, F.; Al-Habaibeh, A.; Parkin, R. M.; Jackson, M. R. and Coy, J. (1995) Novelty detection for practical pattern recognition in condition monitoring of multivariate processes: a case study, In Springer-Verlag London Limited, vol. 25, pp. 954–963. 101 / 101