CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Diretoria de Pesquisa e Pós-Graduação Programa de Pós-Graduação em Modelagem Matemática e Computacional Técnicas de Programação Genética para Detecção de Fraudes em Transações Eletrônicas Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Modelagem Matemática e Computacional, como parte dos requisitos exigidos para a obtenção do título de Mestre em Modelagem Matemática e Computacional. Aluno: Carlos Alberto Silva de Assis Orientador: Prof. Dr. Adriano César Machado Pereira Co-Orientador: Prof. Dr. Marconi de Arruda Pereira Belo Horizonte - MG Janeiro de 2014 Assis, Carlos Alberto Silva de. C376m Técnicas de Programação Genética para Detecção de Fraudes em Transações Eletrônicas./ Carlos Alberto Silva de Assis. 2014. 125 f. il. Orientador: Prof. Dr. Adriano César Machado Pereira. Co-orientador: Prof. Dr. Marconi de Arruda Pereira. Dissertação (mestrado) Centro Federal de Educação Tecnológica de Minas Gerais. Programa de Pós-Graduação em Modelagem Matemática e Computacional. 1. Fraude. 2. Computação Evolutiva. 3. Inteligência computacional. I. Pereira, Adriano César Machado. II. Pereira, Marconi de Arruda. III. Título CDD: 006.3 Dedico este trabalho à minha esposa Karine, aos meus lhos Lucas e Guilherme em especial a minha mãe Maria Helena. iii Agradecimentos Agradeço primeiramente a Deus. Agradeço aos ensinamentos de Algebra de Dayanne Gouveia. Destaco a total colaboração, incentivo, paciência e aprendizado oferecido pelos meus eternos orientadores, Adriano César Machado Pereira, Marconi de Arruda Pereira e Eduardo Gontijo Carrano. iv "A vida me ensinou a nunca desistir. Nem ganhar, nem perder mas procurar evoluir." Alexandre Magno Abrão (Chorão) v Resumo O volume de transações on-line aumentou muito nos últimos anos, principalmente devido à popularização do e-commerce. Consequentemente, o número de casos de fraude tem aumentado consideravelmente, levando a perdas de bilhões de dólares por ano em todo o mundo. Portanto, é importante e necessário desenvolver e aplicar técnicas que podem auxiliar na detecção de fraudes, que é a motivação principal desta pesquisa. Este trabalho propõe o uso de Programação Genética (PG), uma abordagem de Computação Evolutiva, para modelar e resolver o problema de de- charge back ) nas transações eletrônicas, mais especicamente nas tecção de fraudes ( operações que utilizam cartão de crédito. A m de avaliar a técnica, foi realizado um estudo de caso utilizando-se um conjunto de dados reais de um dos maiores sistemas de pagamento eletrônico latino-americano. Resultados mostram o bom desempenho na técnica desenvolvida na detecção de fraudes, apresentando ganhos de até 35% por cento em relação ao cenário real da empresa, que serve de linha-de-base comparativa. PALAVRAS-CHAVE: Programação Genética, Transações ção e Prevenção de Fraudes, Computação Evolucionária. vi Online, Web, Detec- Abstract The amount of online transactions has raised a lot in last years, mainly due to the popularization of e-commerce, such as Web retailers. Consequently, the number of fraud cases has increased considerably, leading to billion of dollars losses each year worldwide. Therefore, it is important and necessary to developed and apply techniques that can assist in fraud detection, which is the main motivation of this research. This work proposes the use of Genetic Programming (GP), an Evolutionary Computation approach, to model and detect fraud (charge back) in electronic transactions, more specically in credit card operations. In order to evaluate the technique, it has been performed a case study using a real dataset of one of the largest Latin American electronic payment systems. The results show good performance in fraud detection, presenting gains up to 35% compared to the baseline, which is the actual scenario of the company. Keywords: Genetic Programming, Online Transactions, Web, Fraud Detection and Prevention, Evolutionary Computing. vii Sumário 1 Introdução 1 1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Objetivo geral e especícos . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Organização da dissertação . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Fundamentação teórica 6 2.1 Cartões de Crédito 2.2 Fraudes em Transações Eletrônicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 . . . . . . . . . . . . . . . . . . . 8 2.2.1 Fraudes com Cartões de Crédito . . . . . . . . . . . . . . . . . 8 2.2.2 Prevenção e detecção . . . . . . . . . . . . . . . . . . . . . . . 2.3 Modelos supervisionados e não supervisionados . . . . . . . . . . . . 2.4 Processo de Descoberta de Conhecimento em Banco de Dados 2.5 Classicação de Dados 2.6 Otimização 9 9 . . . . 10 . . . . . . . . . . . . . . . . . . . . . . . . . . 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.7 Computação Evolucionária . . . . . . . . . . . . . . . . . . . . . . . . 14 2.8 Programação Genética . . . . . . . . . . . . . . . . . . . . . . . . . . 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.9 2.8.1 Indivíduo 2.8.2 Operadores Genéticos . . . . . . . . . . . . . . . . . . . . . . . 17 SPEA2 - Strenght Pareto Evolutionary Algorithm . . . . . . . . . . . 20 2.9.1 Cálculo do tness . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.9.2 Seleção e truncamento . . . . . . . . . . . . . . . . . . . . . . 21 2.10 Considerações nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3 Trabalhos relacionados 23 3.1 Detecção de fraudes em transações eletrônicas com cartão de crédito . 23 3.2 Programação Genética para Classicação . . . . . . . . . . . . . . . . 25 3.3 Considerações nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4 Metodologia 28 4.1 Etapas da Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.2 Pré-processamento 29 4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3.1 Programação Genética Indivíduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.3.2 Geração da população inicial . . . . . . . . . . . . . . . . . . . 31 4.3.3 Avaliação da Função . . . . . . . . . . . . . . . . . . . 31 4.3.4 Seleção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Fitness viii 4.4 4.5 4.3.5 Operadores Genéticos . . . . . . . . . . . . . . . . . . . . . . . 34 4.3.6 Geração da nova População . . . . . . . . . . . . . . . . . . . 36 4.3.7 Multi-objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Predição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Score 38 4.4.1 de Fraude . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.4.2 Eciência Econômica . . . . . . . . . . . . . . . . . . . . . . . 40 4.4.3 Ranking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Considerações nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5 Experimentos e Resultados 43 5.2 UOL PagSeguro . . . . UCI Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.3 Datasets utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.4 Preparação dos dados . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.5 Aplicação do . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.6 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.6.1 Resultados UOL . . . . . . . . . . . . . . . . . . . . . 51 5.6.2 Resultados UCI . . . . . . . . . . . . . . . . . . . . . 54 5.6.3 Análises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Considerações nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.1 5.7 . . . . . . . . . . . . . . . . . . . . . . . . . . Framework datasets datasets 6 Conclusão 43 59 6.1 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.2 Produção bibliográca durante o Mestrado . . . . . . . . . . . . . . . 61 A O Framework 62 Referências biliográcas 63 ix Lista de Tabelas 4.1 Exemplo de um ranking. . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.2 Datasets Datasets 5.3 Divisão treino e teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.4 Datasets de fraude para treinamento. . . . . . . . . . . . . . . . . . . 48 5.5 Datasets de fraude para teste. . . . . . . . . . . . . . . . . . . . . . . 49 5.6 Congurações do Framework . . . . . . . . . . . . . . . . . . . . . . . 50 Resultados . . . 52 5.1 5.7 5.8 UOL PagSeguro. . . . . . . . . . . . . . . . . . . . . . . . . 45 UCI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 datasets UOL PagSeguro . . . . . . . . . . . . . . . Resultado Dataset 1 com Programação Genética Multi-objetivo. Resultadas do Dataset 1 UOL. . . . . . . . . . . . . . . . . . . . . . . 52 . . . 52 5.10 Resultados da Programação Genética com Datasets UCI. . . . . . . . 55 5.11 Comparação Iris . . 55 5.12 . . 56 . . 56 . . . . . . . . . . . . . . . . . . . . . . . . 63 5.9 5.13 Dataset. Baseado em: (Devasena et al., 2011). . Comparação Hepatitis Dataset. Baseado em: (Jilani et al., 2011). Comparação Cancer Dataset. Baseado em: (Salama et al., 2012). . A.1 Parâmetros do framework x Lista de Figuras 1.1 Mapa mental da estrutura da dissertação . . . . . . . . . . . . . . . . 2.1 Visão geral das etapas que compõem o processo KDD. Fonte: 5 (Fayyad et al., 1996b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Conjunto de soluções factíveis com população de seis soluções. 13 2.3 Sub-áreas da Computação Evolucionária. Baseado em: (Castro, 2001). 15 2.4 Fluxograma do funcionamento básico de um Programa Genético. . . . 16 2.5 Exemplo de indivíduo na Programação Genética. . . . . . . . . . . . 17 2.6 Exemplo de cruzamento na Programação Genética. . . . . . . . . . . 19 2.7 Exemplo de mutação na Programação Genética. . . . . . . . . . . . . 19 2.8 Fluxo SPEA2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.1 Metodologia de detecção de fraudes em transações eletrônicas. . . . . 28 4.2 Exemplo de indivíduo representando um predicado lógico . . . 30 4.3 Geração de população inicial. . . . . . . . . . . . . . . . . . . . . . . 32 4.4 Matriz de Confusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.5 Cruzamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.6 Mutação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.7 Sub-etapas da etapa de predição. . . . . . . . . . . . . . . . . . . . . 39 5.1 Fluxo de preparação dos dados. . . . . . . . . . . . . . . . . . . . . . 46 . . . . . . . . . . . . . . . . . . . . 50 Framework. . . . . SQL. . 5.2 Fluxo de execução do 5.3 Comparação das técnicas desenvolvidas. . . . . . . . . . . . . . . . . 53 5.4 Comparação das técnicas desenvolvidas com as outras técnicas. . . . . 53 5.5 Comparação estatística das técnicas desenvolvidas com as outras técnicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.6 Comparação estatística entre as técnicas desenvolvidas. . . . . . . . . 54 5.7 Comparação estatística entre as técnicas desenvolvidas para Iris 5.8 5.9 taset. Da- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Comparação estatística entre as técnicas desenvolvidas para Hepatitis Dataset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Comparação estatística entre as técnicas desenvolvidas para Cancer Dataset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 A.1 Diagrama de classe do algoritmo de Programação Genética. . . . . . . 64 A.2 Diagrama de classe da estrutura de árvore do indivíduo. . . . . . . . . 65 A.3 Estrutura nós terminais. A.4 Estrutura nós funções. A.5 Diagrama de classe do algoritmo classicador. . . . . . . . . . . . . . . . . . . . . . . . . . 65 . . . . . . . . . . . . . . . . . . . . . . . . . . 66 xi . . . . . . . . . . . . . 66 Lista de Acrônimos AG Algoritmo Genético KDD PG Knowledge Discovery in Databases Programação Genética SPEA2 Strenght Pareto Evolutionary Algorithm 2 RBF Radial Basis Function SVM Support Vector Machine G3PARM DMGeo Grammar Guided Genetic Programming for Association Rule Mining Niched Genetic Programming Algorithm Data Mining in Geographic Da- tabases NSGA2 UOL Non Sorting Genetic Algorithm II Universo Online xii Capítulo 1 Introdução A quantidade de fraudes em cartões de crédito em instituições nanceiras não é muito divulgada, pois tal situação poderia comprometer a credibilidade destas instituições. Porém, em pesquisa apresentada pela CyberSource durante o e-Commerce Summit, em São Paulo em 2012, mostra que o índice de fraudes no comércio eletrô- nico, no Brasil e no mundo, gira em torno de 1,2% do total das receitas do setor. Esse estudo foi intitulado Online Fraud Report (Digital, 2013). O comércio eletrônico brasileiro faturou R$ 22,5 bilhões em 2012, um crescimento de 20% em relação ao ano anterior. a Os dados foram apresentados na 27 edição do relatório (Webshoppers, 2013), realizado pela e-bit 1 com o apoio da Câmara Brasileira de Comércio Eletrônico. Atualmente no Brasil, 42,2 milhões de pessoas já zeram, pelo menos uma vez, uma compra online (Globo.com, 2013). Porém esse percentual poderia ser ainda maior, pois o medo de fraudes é justamente o que mais afasta o consumidor do comércio eletrônico. Em uma pesquisa realizada pela (Fecomercio, 2013) no ano de 2011, 52,69% dos entrevistados citam o medo de fraude como razão para não aderir às compras pela Web. No cenário internacional, há países que evitam transacionar com outros, segundo pesquisa da empresa americana CyberSource (Digital, 2013), devido aos altos índices de fraudes. Há, inclusive, um ranking de países menos seguros, liderado pela Nigéria, no qual o Brasil gura em sétimo lugar. As fraudes no mundo, segundo essa pesquisa, estão em torno de US$ 10 bilhões ao ano e representam aproximadamente US$500 milhões no Brasil. Comerciantes no mundo real já lidam com fraudes no seu dia a dia, tais como cheques e cartões de crédito roubados, cheques sem fundo, etc. No caso do comércio virtual, há muitos desses riscos e alguns outros, devido ao fato de não haver certeza com relação à identidade do comprador e à veracidade das informações fornecidas. Esse é o tipo de fraude mais comum, ou seja, a compra de um bem ou serviço, através de um meio de pagamento eletrônico, principalmente com cartões de crédito. É possível perceber que as fraudes no meio eletrônico tem aumentado drasticamente e representam perdas signicativas para os negócios. Dessa forma, a prevenção e a detecção de fraude têm se mostrado essenciais. 1 http://www.ebit.com.br/ 1 1.2 Introdução 2 O combate à fraude envolve um elevado número de problemas a serem enfrentados e um deles é o grande volume de dados associados e sua estrutura. As vendas realizadas pela Internet, tanto no Brasil quanto no mundo envolvem milhões de transações por dia. compradores online No Brasil, segundo a CyberSource, o número de foi de 23 milhões em 2010 e isso representou um crescimento de 35% em relação ao ano anterior. O volume de vendas nesse período foi de R$ 14,3 bilhões, sendo que 64% dessas vendas foram feitas com cartão de crédito. Barclaycard apresenta cerca de 350 milhões de transações por ano só no Reino Unido. O Royal Bank of Scotland, que tem o maior mercado de cartão de A empresa crédito na Europa, possui mais de um bilhão de transações por ano. Esse grande volume de informação torna inviável a análise de cada uma das transações com o objetivo de decidir, de forma rápida, se ela é ou não fraudulenta. Além do mais, este claramente não é um problema de classicação fácil de resolver. Classicar os dados signica construir modelos com base em um conjunto de treinamento e nos valores (rótulos) do atributo classicador. Além do grande volume de dados envolvidos, as transações de fraude não ocorrem com frequência. Há uma necessidade de teorias computacionais e ferramentas para ajudar os seres humanos nessa tarefa não trivial de classicação. Deste modo, esta dissertação investiga a técnica de Programação Genética para evoluir regras de classicação de operações de cartão de crédito com "suspeita" e "não-suspeita" de fraude, com principal objetivo de obter modelos capazes de predizer transações como fraude e minimizar as perdas nanceiras. Como estudo de caso, este trabalho aplica dados reais para validação da metodologia proposta. 1.1 Motivação São motivações para este trabalho: • Necessidade de prevenir fraudes, diminuindo as perdas nanceiras é de grande importância para as organizações e as pessoas que utilizam esse meio de pagamento; • Grande diculdade em classicar informações com alto grau de desbalanceamento; • Tratar dados reais para validação; • Todos os trabalhos identicados na literatura para detecção de fraudes em transações eletrônicas em cartões de crédito utilizam técnicas diferentes da que será apresentada. Nessa perspectiva, o presente trabalho permite que a metodologia proposta também seja adotada no processo de classicação de outras áreas importantes. Por m, a utilização de dados reais para a concepção, desenvolvimento e validação da metodologia é fator motivador neste projeto de pesquisa. 1.3 Introdução 3 1.2 Objetivo geral e especícos Como objetivo geral, este trabalho visa: • Propor e disseminar uma nova metodologia para o processo de detecção de fraudes em transações eletrônicas. Os objetivos especícos constituem em: • Conceber e desenvolver um framework utilizando a técnica de Programação Genética para detecção de padrões em fraudes eletrônicas; framework • Avaliar o desempenho das implementações do • Aplicar e validar o • Melhorar a identicação de perdas comerciais através de uma busca por pa- framework proposto; em cenários reais; drões que indiquem a possibilidade de fraude. 1.3 Contribuições A principal contribuição deste trabalho é uma metodologia que incorpora um fra- mework baseado em Programação Genética para a detecção de fraudes em transações 2 eletrônicas . Além disso, esse trabalho proporciona as seguintes contribuições: • Aprimoramento das técnicas hoje usadas na detecção de fraudes em transações eletrônicas; • Exploração cientíca da Programação Genética como ferramenta para descoberta de conhecimento no domínio de detecção de fraudes em transações eletrônicas; • Versão adaptada do algoritmo multi-objetivo de permite o cálculo do tness assignment regras de classicação para as • n SPEA2. A adaptação sugerida por nicho, a m de se obter as melhores classes do problema; Proposta de um modelo de representação do indivíduo como árvore n-ária. A representação proposta faz com que os nós da árvore do indivíduo quem todos na mesma profundidade. Assim, a busca destes nós durante os operadores de seleção, cruzamento e mutação é otimizada, melhorando o desempenho computacional do algoritmo; • Operadores genéticos de cruzamento e mutação adaptativos. O mecanismo de ajuste de taxas de mutação e cruzamento ao longo das gerações, possibilita uma maior exploração do espaço de busca durante a execução do algoritmo de forma controlada; • Resultados do método aplicado a bases reais de fraude e ning, validando a aplicabilidade do framework UCI Machine Lear- também à outros domínios. 2 http://data-mining-genetic-programming.googlecode.com/ 1.4 Introdução 4 Esta metodologia pode ser vista como um modelo genérico, podendo ser aplicado em outras áreas que necessitem de classicação e predição de informações. As etapas do processo estão descritas a seguir: • Pré-processamento : o conjunto de dados que é usado para gerar os modelos é carregado nesta etapa. Os passos executados são: obtenção dos dados de produção, seleção dos atributos mais relevantes, limpeza dos dados, criação em um banco de dados local dividindo os dados em treinamento e testes, am torná-los disponíveis aos algoritmos propostos; • Programação Genética : para a geração dos modelos, cada indivíduo do Pro- grama Genético representa uma regra de classicação. Uma população inicial é criada consistindo de regras geradas aleatoriamente. Cada regra é avaliada para atribuir a sua aptidão. Regras que têm alta aptidão, têm mais opor- tunidades para sobreviver, e de serem submetidas aos operadores genéticos para a produção de novas regras, que são posteriormente colocadas na nova população usando algum modelo de substituição. A geração de novas regras é repetido até que um número regras na população satisfaça um limiar de aptidão pré-determinado ou o número máximo de gerações é atingido; • Predição : um dos passos de extração de dados é a predição, que utiliza os modelos gerados para predizer a classe de objetos que não tenham sido classicados em um conjunto de dados de teste. 1.4 Organização da dissertação O restante deste trabalho está organizado da seguinte forma. O Capítulo 2 apresenta a fundamentação teórica dos tópicos essenciais para este trabalho, entre eles: cartões de crédito, fraudes em transações eletrônicas, prevenção e detecção de fraudes, Computação Evolucionária e Programação Genética. O Capítulo 3 expõe alguns trabalhos sobre detecção de fraudes e Programação Genética. A metodologia de pesquisa é discutida e apresentada no Capítulo 4. O Capítulo 5 contempla a contextualização e descrição geral do estudo de caso, assim como a apresentação dos resultados e análises da solução proposta. A conclusão do trabalho e discussão de trabalhos futuros estão descritos no Capítulo 6. A Figura 1.1 sintetiza a estrutura da dissertação, através do mapa mental apresentado. 1.4 Introdução Figura 1.1: Mapa mental da estrutura da dissertação 5 Capítulo 2 Fundamentação teórica Nesta seção será feita a revisão teórica dos tópicos pertinentes a esta pesquisa. Inicialmente será descrito um breve histórico sobre cartão de crédito, seguida de uma discussão sobre os fundamentos de fraude. Em seguida, uma breve descrição sobre classicação de dados, além da introdução dos conceitos relativos à computação evolutiva. (PG) e do Serão apresentados os principais tópicos sobre Programação Genética Strenght Pareto Evolutionary Algorithm 2 (SPEA2), um algoritmo multi- objetivo que pode ser aplicado à técnica evolutiva de Programação Genética. 2.1 Cartões de Crédito Os cartões de crédito nasceram nos Estados Unidos da América, na década de 1920, quando empresas privadas, redes de hotéis e empresas petroleiras começaram a emitir cartões para permitir que seus clientes comprassem a crédito nos próprios estabelecimentos (Moraes, 2008). O número de cartões de crédito vem crescendo substancialmente nesses últimos tempos, substituindo o uso de cheques, cédulas e moedas. Instituições nanceiras, bancos e um crescente número de lojas oferecem a seus clientes cartões que podem ser usados na compra de um grande número de bens e serviços, inclusive em lojas virtuais. Os cartões não são dinheiro real, simplesmente registram a intenção de pagamento do consumidor, mediante sua assinatura e demais vericações, que em determinada data terá de pagar as despesas com o cartão, em débito automático, espécie ou ainda em cheque. Desta forma, o cartão é uma forma imediata de crédito (Moraes, 2008). Em 1950, Frank MacNamara e alguns executivos nanceiros da cidade de Nova York saíram para jantar e só quando receberam a conta perceberam que não tinham como pagar, pois haviam esquecido o dinheiro e o talão de cheque. Depois de alguma discussão, o dono do restaurante permitiu que MacNamara pagasse a conta em outro dia, mediante a sua assinatura na nota de despesas. Depois desse episódio, o executivo concebeu e criou o primeiro cartão de crédito. Esse cartão foi denominado de Diners Club Card, que passou a ser aceito como meio de pagamento em vinte e sete restaurantes daquele país e usado por importantes executivos, como uma maneira prática de pagar suas despesas de viagens tanto a trabalho quanto em lazer (Moraes, 2008). 6 2.1 Fundamentação teórica 7 Em 1951, também nos Estados Unidos da América, foram desenvolvidos os sistemas de cartões de crédito bancários. O primeiro banco a utilizar este sistema foi o Franklin National Bank (em Nova Iorque), introduzindo o primeiro cartão de crédito bancário. Com este sistema, os bancos creditavam à conta do comerciante assim que recebessem os comprovantes assinados pelos clientes e cobravam destes em uma única conta mensal, acrescentando juros e outros custos (Moraes, 2008). O primeiro sistema a operar em todos os estados dos Estados Unidos foi o kAmericard Bank of America. do Ban- Este sistema iniciou suas atividades operando apenas no estado da Califórnia em 1959 e passou a operar nos demais estados americanos em 1966. Em 1976 o BankAmericard mudou de nome e passou a se chamar Visa (Moraes, 2008). O Brasil teve como percursor dos cartões de crédito o empresário tcheco Hanus Tauber, que comprou nos Estados Unidos, em 1954, a franquia do Diners Club, propondo sociedade no cartão com o empresário Horácio Klabin. Em 1956 foi então lançado no Brasil o cartão Diners Club (Moraes, 2008). Em 1968 surge no Brasil o primeiro cartão de crédito de banco nacional, intitulado como ELO e criado pelo Banco Bradesco. Em 1983 foi lançado o primeiro cartão de débito e em 1984 a Credicard comprou o Diners Club no Brasil (Moraes, 2008). Para Gadi e Lago (2006), o cartão de crédito moderno tem cinco agentes bem de- Card Holder ), Estabelecimento Bandeira(Brand ), Emissor (Issuer ). A seguir, nidos envolvidos em seu funcionamento: Portador ( Merchant ), ( Acquire ), Adquirente ( são brevemente descritos cada um destes agentes: 1. Portador (Card Holder) : Pessoa que tem como objetivo adquirir bens ou con- tratar serviços realizando o pagamento por meio do cartão de crédito. Essa pessoa pode ser o titular da conta ou apenas portador de um cartão adicional; 2. Estabelecimento (Merchant) : Empresa cujo interesse é vender ou prestar ser- viços e receber o pagamento dos seus clientes por meio do cartão de crédito. Aqui é representado pelos sites de pagamentos 3. Adquirente (Acquirer) : online ; Empresa que tem como responsabilidade a comunica- ção da transação entre o estabelecimento e a bandeira. Essas empresas alugam e mantêm os equipamentos usados pelos estabelecimentos como, por exemplo, o Point of Sales (POS). As maiores adquirentes no Brasil são Redecard, Cielo (antiga Visanet Brasil), Hipercard e Getnet; 4. Bandeira (Brand) : Empresa que tem como responsabilidade a comunicação da transação entre o adquirente e o emissor do cartão de crédito. Algumas bandeiras no Brasil são Visa, MasterCard e Hipercard; 5. Emissor (Issuer) : É a instituição nanceira, tipicamente um banco, que emite o cartão de crédito, dene limite de compras, decide se as transações são aprovadas, emite fatura para pagamento, cobra os titulares em caso de inadimplência e oferece produtos atrelados ao cartão como seguro, cartões adicionais e plano de recompensas. Ela também é chamada de empresa administradora do cartão. 2.2 Fundamentação teórica 8 Gadi e Lago (2006) ressaltam que, quando um cliente utiliza seu cartão de crédito, no mesmo instante é transmitido um sinal para o adquirente que repassa este sinal para a bandeira. Esta, por sua vez, envia o sinal para o emissor do cartão, que através de critérios próprios de crédito (como por exemplo, a disponibilidade de limite, cliente em atraso ou apontamento no sistema de detecção de fraude) decide por aprovar, negar ou referir a transação. As transações referidas são aquelas em que se pede para o cliente entrar em contato com o emissor ou bandeira, dependendo da localidade, para a conrmação de seus dados. Após a conrmação, o emissor ou bandeira decide o que deve ser feito com a transação e emite uma resposta ao estabelecimento, retornando ao ciclo. Todo esse ciclo deve ocorrer em um limite de tempo pré-denido, que em média é de 10 segundos. 2.2 Fraudes em Transações Eletrônicas O fenômeno da fraude é cada vez mais uma questão transversal nas organizações, uma vez que o seu impacto chega a praticamente todos os setores de atividade. Com o aumento do interesse por parte dos consumidores nas transações virtuais e a crescente diversidade na oferta de produtos na Web, o comércio eletrônico convive, na mesma medida, com a intensicação do emprego de táticas sosticadas de fraudes praticadas pelos ciber-criminosos. O tema desperta cada vez mais a atenção dos varejistas eletrônicos que investem em segurança da informação. As fraudes em pagamentos online com cartão de crédito causam, a cada ano, prejuízos nanceiros da ordem de bilhões de dólares, o que ressalta a necessidade da criação de meios ecazes para combatê-las. Para que isso seja possível, é necessário o entendimento de como essas fraudes ocorrem e as formas de prevenção utilizadas atualmente pelos comerciantes online. Este Capítulo busca contextualizar o leitor com relação ao funcionamento dos cartões de crédito, assim como, as fraudes associadas a esse meio de pagamento. O foco desta dissertação são as fraudes associadas a vendas online com cartão de crédito, dessa forma é feita uma análise detalhada dos meios de prevenção e é descrito o processo de gestão de fraude adotado pelos comerciantes da Web. 2.2.1 Fraudes com Cartões de Crédito Para Ngai et al. (2011), fraude com cartão de crédito é denida como uso não autorizado do cartão, transação com comportamento pouco usual ou transações com cartões inativos. Já Phua et al. (2010) denem fraude como a utilização indevida do sistema de uma companhia sem que necessariamente haja uma consequência legal direta. Fraudes com cartão de crédito são essencialmente de dois tipos, por falsidade ideológica ou de subscrição (Bolton e Hand, 2001). Nas fraudes de subscrição, indivíduos, fornecendo dados falsos ou de outras pessoas aos emissores, obtêm novos cartões de crédito e gastam o máximo possível em um curto espaço de tempo. A fraude por falsidade ideológica, por sua vez, pode ocorrer através de três meios principais: cartão de crédito roubado, falsicado/clonado e fraude com cartão não presente. É esta última que interessa a essa dissertação de mestrado e pode ser 2.4 Fundamentação teórica 9 denida como a obtenção ilegal de dados de cartões legítimos, que são então utilizados para a realização de compras em que não há a necessidade de apresentação do cartão, como no e-commerce ou televendas. Através desses canais, apenas detalhes do cartão são necessários para que se possa efetivar a transação (Freitas, 2013). Um dos grandes riscos na venda com cartão é o chargeback. Trata-se de um dos maiores temores dos comerciantes de lojas virtuais e muitas vezes podem causar o seu fechamento. Chargeback pode ser denido como o cancelamento de uma venda feita com cartão de débito ou crédito, que pode acontecer por dois motivos: não reconhecimento da compra por parte do titular do cartão e a transação não obedece às regulamentações previstas nos contratos, termos, aditivos e manuais editados pelas administradoras. Resumindo, o lojista vende e depois descobre que o valor da venda não será creditado porque a compra foi considerada inválida. Se o valor já tiver sido creditado ele será imediatamente estornado ou lançado a débito no caso 1 de inexistência de fundos no momento do lançamento do estorno . 2.2.2 Prevenção e detecção Prevenção de fraude consiste em tomar medidas para evitar que ocorram fraudes antes do término de uma transação. A prevenção é feita normalmente durante a fase de autenticação de um usuário, tradicionalmente utilizando senhas, frases secretas, dispositivos de geração de códigos secretos ( tokens ), entre outros artifícios. A detecção de fraudes entra em ação quando a prevenção não consegue evitar a fraude. Ela consiste em identicar uma fraude o mais rápido possível assim que ela ocorrer. Tanto prevenção quanto detecção de fraudes são disciplinas que estão em constante evolução, pois sempre que um novo método é implantado, os criminosos adaptam suas estratégias de ataque ou tentam outras. E em consequência disso, novos métodos para detecção de fraudes são elaborados e o ciclo se repete (Bolton e Hand, 2001). Existe uma grande diculdade em desenvolver novos métodos de detecção em virtude da pouca troca de informações nesta área. Isto vem do fato de que a di- vulgação detalhada das técnicas de detecção fornece, ao mesmo tempo, informações que os fraudadores precisam para burlar a detecção (Bolton e Hand, 2001). 2.3 Modelos supervisionados e não supervisionados Os métodos de detecção de fraude podem ser supervisionados ou não supervisionados (Bolton e Hand, 2001). Os supervisionados utilizam uma base histórica de transações, com identicação das fraudes para treinamento, e buscam separar comportamentos fraudulentos dos não fraudulentos para identicar fraudes futuras. Métodos não supervisionados buscam identicar aquelas contas, clientes, transações ou outros atributos que são signicativamente distintos dos demais como potenciais candidatos a serem fraudes, para serem analisados com maior detalhe. dissertação, estão sendo tratados modelos supervisionados. 1 http://www.cursodeecommerce.com.br/blog/chargeback/ Nesta 2.4 Fundamentação teórica 10 2.4 Processo de Descoberta de Conhecimento em Banco de Dados Para a extração de informações e transformação destas em conhecimento, a Descoberta de Conhecimento em Banco de Dados (KDD) consiste em um conjunto de etapas de processamento que devem ser seguidas pelos prossionais quando executam um projeto de descoberta de conhecimento. Segundo Fayyad (1996) KDD é um processo não trivial, interativo e iterativo, para a identicação de padrões compreensíveis, válidos, novos e potencialmente úteis a partir de grandes conjunto de dados. É possível perceber que o KDD, é um processo cooperativo onde os desenvolve- dores irão projetar as bases de dados, descrever os problemas e denir os objetivos, enquanto os computadores irão processar os dados a procura de padrões que coincidam com os objetivos estabelecidos. A Figura 2.1 mostra o processo KDD segundo Fayyad et al.. A seguir é feita uma descrição de cada uma das etapas exibidas na Figura 2.1. 1. Seleção dos dados: É feita uma seleção de um conjunto de dados em que a descoberta de conhecimento será executada. 2. Pré-processamento: É feita a limpeza e pré-processamento dos dados. As informações selecionadas na etapa anterior podem apresentar problemas como dados redundantes, ruidosos, incompletos e imprecisos. Com o intuito de resolver esses problemas, são denidas estratégias para tratamento desses dados. 3. Transformação: Os dados podem ser transformados e/ou reduzidos. Os dados são efetivamente trabalhados onde são utilizadas técnicas de agregação, amostragem, redução de dimensionalidade, discretização, binarização, dentre outras. 4. Mineração de dados: É feita a busca pelos padrões nos dados. Nela é denida a tarefa de mineração a ser executada (classicação, regressão, agrupamento, dentre outras), denidos os algoritmos a serem utilizados e é realizada a mineração propriamente dita. 5. Interpretação dos resultados: Os resultados gerados pela mineração de dados são visualizados, interpretados e avaliados se possuem alguma validade para o problema. Neste trabalho, será dada uma foco maior atenção a etapa de mineração de dados, visto que nosso foco do trabalho está nesta etapa. Segundo Fayyad et al. (1996b), os objetivos básicos da mineração de dados são a previsão e a descrição. A previsão envolve o uso de dados existentes no banco de dados para prever valores desconhecidos ou futuros. A descrição se concentra em encontrar padrões interpretáveis pelo usuário que descrevam os dados. Embora a fronteira entre previsão e descrição não seja nítida (alguns dos modelos preditivos podem ser descritivos, na medida em que eles são compreensíveis e vice-versa), a distinção é útil para a compreensão do objetivo da descoberta de conhecimento. No 2.5 Fundamentação teórica 11 Figura 2.1: Visão geral das etapas que compõem o processo KDD. Fonte: (Fayyad et al., 1996b). contexto de fraude, técnicas que sejam preditivas e descritivas são mais interessantes uma vez que deixam claro os padrões utilizados para a sua previsão. Além do mais, essa pode ser uma importante ferramenta para entendimento dos padrões associados à fraude. É nesta etapa que é denida a tarefa de mineração de dados e as técnicas a serem utilizadas. De acordo com Amo (2004), é importante distinguir o que é uma e o que é uma técnica de mineração de dados. A tarefa tarefa consiste na especicação do que se pretende fazer com os dados, ou seja, qual o objetivo do processo. Dentre as tarefas pode-se citar: outras. A técnica classicação, análise de associação, agrupamento, entre consiste na escolha de métodos ou algoritmos que permitam que esses objetivos sejam alcançados. Dentre as técnicas existentes será aplicada neste trabalho a Programação Genética. Várias tarefas de mineração de dados possuem contribuições signicativas no processo de detecção de fraude. Entretanto, cada uma dessas tarefas envolve pesquisas especícas nas suas áreas do conhecimento. A realização de pesquisas em cada uma dessas tarefas demandam esforços que vão além do escopo deste trabalho. Sendo assim, este trabalho se limita à tarefa de classicação, pois envolve a construção de modelos para previsão de registros fraudulentos. Esta seção apresentou uma visão geral sobre o processo de descoberta do conhecimento já que ele é base para a metodologia proposta. As sequências de passos denidas nesse processo serão utilizadas pela metodologia, uma vez que permitem nortear a tarefa de detecção de fraude. 2.5 Classicação de Dados Para Fayyad et al. (1996b), classicação é o processo de encontrar um modelo (ou conjunto de funções) que descreve e distingue classes ou conceitos de dados. De posse deste modelo, é possível identicar objetos cuja classe ainda não é conhecida. O modelo derivado dos dados é baseado na análise do conjunto de treinamento, ou seja, o conjunto de dados cuja classicação já é conhecida previamente. Este modelo pode ser representando por diversas formas. Normalmente, a classicação é utilizada 2.6 Fundamentação teórica 12 para se inferir a qual classe um objeto pertence. Entretanto, em algumas aplicações o usuário pode tentar predizer alguns dados que tenham sido perdidos ou que não estejam disponíveis em alguns objetos que já estejam classicados previamente. A essa estratégia dá-se o nome de predição. Classicação e predição devem ser precedidas por uma análise de relevância, cujo objetivo é tentar identicar atributos que não contribuem com o processo de classicação e predição. Esses atributos podem ser excluídos. Assim, os métodos de classicação e predição procuram identicar os atributos que apresentam maior ganho de informação a m de rotular os dados em classes ou inferir informações sobre o banco. Segundo Pereira (2012), existem hoje muitos métodos que auxiliam a atividade de extração de regras (ou modelos) de classicação a partir de bancos de dados, tais como árvores de decisão, redes neurais articiais e métodos evolucionários, como por exemplo, Algoritmos Genéticos e Programação Genética. Cabe destacar a simplicidade, robustez e eciência que os métodos evolucionários apresentam. Em particular, este tipo de método vem sendo utilizado cada vez mais pela comunidade de classicação de dados. 2.6 Otimização O processo de otimização baseia-se em técnicas analíticas ou heurísticas para a obtenção de valores máximos ou mínimos de um determinado problema. A busca desses valores ótimos devem atender a um objetivo somente, ou a vários objetivos. Essa perspectiva dene, respectivamente, a otimização como objetivo. mono-objetivo e multi- No âmbito da modelagem matemática, um problema pode ser abordado com um único objetivo por questão de simplicação do problema. Entretanto, para grande parte dos problemas reais, a otimização atende a vários objetivos. A consideração do número de objetivos a serem otimizados, ou até mesmo a redução a um problema mono objetivo, deve analisar a representatividade do modelo e o custo para aplicação dos métodos de otimização. O problema de otimização multiobjetivo pode ser formalizado conforme apreAs funções fm (x), para os m = 1, 2, . . . , M , são minimizadas ou maximizadas a partir das restrições gj (x) > 0, j = 1, 2, . . . , J e hk (x) = 0, k = 1, 2, . . . , K . A solução X é o vetor T com n variáveis de decisão X = (x1 , x2 , . . . , xn ) , tal que xi está contido no espaço (I) (S) de decisão D denido pelos respectivos limites inferiores e superiores xi e xi . M inimizar fm (x), m = 1, 2, . . . , M ; sujeito à gj (x) > 0, j = 1, 2, . . . , J; (2.1) hk (x) = 0, k = 1, 2, . . . , K; (I) (S) xi 6 xi 6 xi , i = 1, 2, . . . , n; sentação da Expressão 2.1 (Deb e Kalyanmoy, 2001). objetivos A otimização multiobjetivo, conforme denida na Equação 2.1, contempla restrições de desigualdade e atende às J +K K restrições de igualdade. A solução candidata restrições é denominada solução factível. de igualdade e desigualdade não são satisfeitas, X X J que Casos onde as restrições é denominada solução infactível. 2.6 Fundamentação teórica O espaço de decisão 13 D n-dimensional constituído por as solução candidatas no espaço objetivo objetivo possui dimensão M, Z M -dimensional. (S) 6 xi 6 xi mapeia Como o espaço de a otimização multiobjetivo também é referenciada como otimização do vetor de objetivos 1), (I) xi XM . Para espaços Z unidimensionais (M = o processo de obtenção de valores ótimos consiste na otimização mono-objetivo. Na otimização multiobjetivo, dado que as soluções candidatas do problema estão dispostas em um conjunto de soluções factíveis, a comparação entre duas soluções é feita a partir da denição de solução dominada. Sejam duas soluções particulares e j. Denota-se ij quando a solução Particularmente, uma solução i i domina i j. domina uma solução j se duas condições são satisfeitas: • A solução i • A solução i é estritamente melhor que a solução j não é pior que j em nenhum dos objetivos. em pelo menos um objetivo. O conceito de ótimo de Pareto foi formulado por Vilfredo Pareto, no século XIX (Coello, 2000) e tem como denição: Dado um conjunto de soluções para um problema de otimização multi-objetivo, são denominadas ótimos de Pareto aquelas que, entre si, só é possível melhorar um objetivo causando um detrimento simultâneo em outro, e são melhores que as demais em pelo menos um objetivo. As soluções que atendem ao conceito de ótimo de Pareto são não-dominadas e quando dispostas no espaço de funções-objetivo, denem a fronteira Pareto. Logo, o conjunto ótimo de Pareto é o conjunto de todas as soluções não-dominadas do espaço de busca das soluções factíveis (Deb e Kalyanmoy, 2001). A Figura 2.2 ilustra um conjunto de soluções factíveis hipotético com seis soluções para as funções objetivos f1 e f2 . Nesse exemplo, os casos de dominação são (2) (1) (3) (1) (4) (5) (6) (4) (5) relacionados: z domina z ; z domina z , z e z ; z domina z e z ; (4) (5) (1) (5) z domina z ; e z e z não domina nenhuma solução. Figura 2.2: Conjunto de soluções factíveis com população de seis soluções. Todos esses conceitos são formalizados nas denições 2.1, 2.2 e 2.3. 2.7 Fundamentação teórica 14 Denição 2.1 (Dominância:) Para um problema de maximização, considere x1 e x2 dois pontos quaisquer do espaço de variáveis X . Tem-se que x1 x2 , ou seja, x1 domina x2 , se f (x1 ) ≥ f (x2 ) e f (x1 ) 6= f (x2 ). De forma equivalente, diz-se que f (x1 ) domina f (x2 ). Denição 2.2 (Solução Pareto-Ótima:) x∗ ∈ Fx é uma solução Pareto-Ótima do problema de otimização multiobjetivo se não existe qualquer outra solução x ∈ Fx tal que f (x) ≥ f (x∗ ) e f (x) 6= f (x∗ ), ou seja, se x∗ não é dominado por nenhum outro ponto factível do problema. Onde Fx é a região factível de um problema. Denição 2.3 (Fronteira Pareto-Ótimo:) O conjunto de todas as soluções Pareto Ótimo do problema no espaço dos objetivos é denominado de Conjunto ou Fronteira Pareto-Ótimo. Em um problema de otimização multi-objetivo, duas metas devem ser atingidas para que o conjunto de soluções não-dominadas encontrado seja considerado satisfatório: que suas soluções estejam tão próximas quanto possível da fronteira de Pareto e que suas soluções sejam tão diversicadas quanto possível. A primeira meta é similar à desejada na otimização de um único objetivo, a qual se dedica a encontrar o ótimo global do sistema, enquanto que a segunda é especíca para otimização multi-objetivo, e é requerida para que seja garantida a diversidade de soluções de compromisso entre todos os objetivos. O algoritmo de Programação Genética que utiliza a técnica de SPEA2 irá rea- lizar, no contexto da computação evolucionária, o processo de otimização multiobjetivo do problema pesquisado. O detalhamento do SPEA2 é apresentado na Seção 2.9. 2.7 Computação Evolucionária EC - Evolutionary Computation ) é um dos ramos da A Computação Evolucionária ( Inteligência Computacional que propõe um paradigma para a solução de problemas inspirado na seleção natural. A EC Charles Darwin em 1858 em seu livro baseia-se na teoria da evolução proposta por A Origem das Espécies e compreende um con- junto de técnicas de busca e otimização onde indivíduos reproduzem-se e competem pela sobrevivência ao longo das gerações (Vriesmann, 2006). Os princípios da Teoria da Evolução são usados para pesquisar soluções aproximadas para a solução de problemas usando o computador. O principal requisito para a aplicação da EC é que a qualidade da possível solução possa ser calculada. Assim, poderia ser possível classicar algumas possíveis soluções visando à qualidade da solução e se a solução resolve o problema (Eggermont, 2005). A Figura 2.3 exemplica as sub-áreas da Computação Evolucionária. Esta dissertação terá foco em Programação Genética, a qual faz parte do objeto de estudo. 2.8 Fundamentação teórica 15 Figura 2.3: Sub-áreas da Computação Evolucionária. Baseado em: (Castro, 2001). 2.8 Programação Genética A PG é um método da Computação Evolucionária que aplica os conceitos da biologia genética, baseados na teoria da seleção natural. O paradigma da PG foi desenvolvido por (Koza, 1992) na década de 90 com base na técnica de Algoritmo Genético (AG), desenvolvida por (Holland, 1975) e aplicada por (Goldberg, 1989). Banzhaf et al. (1998), também apresenta diversas aplicações de PG. Segundo (Pereira, 2012), a diferença principal entre o AG e a PG está na representação dos indivíduos: enquanto o AG codica os indivíduos em código binário, real, ou outro, enquanto a PG codica os indivíduos na forma de uma árvore. Essa codicação dos indivíduos da PG gera alterações signicativas nos operadores genéticos, além de possibilitar grandes benefícios, tais como conter não somente valores de variáveis, mas também funções. O algoritmo básico de Programação Genética é apresentado na Figura 2.4. O primeiro procedimento cria uma população de indivíduos. (função tness ), é determinado. Na etapa de avaliação cada indivíduo é executado e um valor de qualidade do indivíduo Caso o critério de parada seja satisfeito, o processo de evolução é nalizado. Caso contrário, indivíduos de melhor qualidade são selecionados com maior probabilidade para serem submetidos aos operadores genéticos, gerando novas soluções. Estas novas soluções irão compor uma nova população de indivíduos, a qual será submetida aos mesmos procedimentos, com exceção do primeiro que cria a população inicial. A execução iterativa desses procedimentos permite a emergência de boas soluções a cada geração. O detalhamento de todo este uxo será descrito nas subseções 2.8.1 e 2.8.2. 2.8 Fundamentação teórica 16 Figura 2.4: Fluxograma do funcionamento básico de um Programa Genético. 2.8.1 Indivíduo O indivíduo é um ponto no espaço de otimização, isto é, é o conjunto de valores das variáveis candidatas a otimizar a função objetivo. Representa uma solução candidata para o problema e sua codicação tem formato de árvore como já mencionado. Para Koza (1992) o fato do indivíduo na PG ser representado na forma de árvore possibilita a esse indivíduo conter não somente valores de variáveis, mas também funções. Segundo (Koza, 1992) o conjunto das funções que compõem o indivíduo é chamado de conjunto de funções. Montana (1994) considera que o termo que melhor se aplica a esse conjunto é conjunto não terminal, uma vez que o conjunto de nós terminais pode conter funções que não recebem parâmetros. Esse texto utilizará o termo conjunto de funções, por ser o mais utilizado na literatura, devido à grande inuência exercida pelo livro de (Koza, 1992). A Figura 2.5 ilustra um exemplo de individuo da PG. Nesta representação, operadores e operandos estão dispostos em nós de uma árvore. A execução de um dado programa pode ser realizada de duas formas: percorrendo os nós em pós-ordem ou em pré-ordem. No primeiro caso, o programa é executado percorrendo os nós das extremidades até o nó raiz, ou seja, visitando primeiramente os operandos e em seguida, os operadores. No segundo caso, é realizado o processo inverso. Parte-se da raiz e para cada ramo, os nós são visitados até che- 2.8 Fundamentação teórica 17 Figura 2.5: Exemplo de indivíduo na Programação Genética. gar aos nós folha. Esta última abordagem tem a vantagem de economizar recursos computacionais na existência de nós condicionais, uma vez que só serão executados os nós da subárvore associada à condição satisfeita. Para Koza (1992) o indivíduo da PG deve satisfazer pelo menos duas propriedades: 1. Suciência: garante a convergência do sistema, fazendo com que os conjuntos de nós funções e nós terminais sejam capazes de representar uma solução viável para o problema em questão. 2. Fechamento: garante que qualquer função do conjunto de nós funções deve ser capaz de operar com todos os valores recebidos como entrada. Isso garante que sejam geradas árvores sintaticamente viáveis. Segundo Pereira (2012), na prática, obedecer à propriedade de fechamento pode ser uma tarefa muito difícil. Entretanto, não observar essa propriedade leva a situações que geram indivíduos inconsistentes, ou seja, não faz sentido existir operações entre atributos de domínios diferentes. Certamente essa é uma das maiores diculdades dos projetistas de algoritmos baseados em PG, principalmente na aplicação das operações de mutação e cruzamento. O conjunto de indivíduos é denominado população e a geração inicial, na maioria das vezes, é feita de forma aleatória. A quantidade de indivíduos da população é um parâmetro de entrada do PG. 2.8.2 Operadores Genéticos Nas próximas seções serão descritas os três operadores genéticos utilizados, são eles: seleção, cruzamento e mutação as quais são usadas para modicar estruturas sob adaptação em PG. 2.8.2.1 Seleção No processo evolutivo, a seleção de indivíduos é realizada pelo conceito de aptidão. Em PG, a aptidão é avaliada a partir dos valores obtidos da tness função tness. Função consiste na mensuração da aptidão de cada indivíduo a partir da função objetivo que representa o problema. No problema do caixeiro viajante, por exemplo, 2.8 Fundamentação teórica 18 uma função objetivo simples poderia ser o inverso da distância total percorrida. Desta forma, as rotas mais curtas teriam uma aptidão maior. No processo de seleção, a técnica de roulette wheel realiza a escolha dos indivíduos proporcionalmente a sua respectiva aptidão. A Equação 2.2 modela a probabilidade de cada indivíduo ser selecionado. Onde pi é a probabilidade do individuo i ser escolhido pela roleta e fi é a tness do individuo. Esse procedimento de seleção é realizado uma única vez para cada indivíduo, o que representa o problema da seleção privilegiar indivíduos que possuam maior aptidão. fi pi = P fi (2.2) Adicionalmente, a seleção pode ser implementada por torneio e elitismo. torneio, os indivíduos podem ser postos em n-uplas No aleatoriamente e então através de uma probabilidade o indivíduo é escolhido. Maiores detalhes sobre roulette wheel e torneio podem ser vistos em (Goldberg, 1989). Já a técnica de elitismo, consiste em manter o indivíduo mais apto para as gerações seguintes. O indivíduo mais apto é aquele que possui maior valor da função tness. 2.8.2.2 Cruzamento Segundo Pereira (2012), a operação de cruzamento na PG, consiste na troca de material genético entre os indivíduos pais. Uma característica bastante signicativa da operação de cruzamento é a sua capacidade de alterar os tamanhos dos indivíduos durante a execução do algoritmo. A operação de cruzamento, em relação ao conceito biológico, corresponde ao processo de reprodução sexuada. Dois indivíduos são selecionados e recombinados para gerar outros dois indivíduos a partir de seus valores de tness. Um ponto aleatório de cruzamento é escolhido em cada indivíduo-pai e as árvores abaixo destes pontos são trocadas. A probabilidade dos indivíduos-pais cruzarem, é um parâmetro de entrada do PG. Um exemplo de cruzamento pode ser visualizado na Figura 2.6. 2.8.2.3 Mutação O operador de mutação na PG não é simples de ser implementado. Primeiramente, é necessário ter certeza de que a árvore do indivíduo se mantém válida após a mutação, isto é, o operador de mutação não pode substituir um nó (ou sub-árvore) por um nó de tipo de dado diferente (Pereira, 2012). O operador de mutação consiste na troca de um nó (terminal ou não) por outro nó (terminal ou uma sub-árvore) gerado. É notório que aqui, assim como no cruzamento, os indivíduos podem aumentar ou diminuir de tamanho (Pereira, 2012). A probabilidade do indivíduo sofrer mutação, é um parâmetro de entrada do PG. Freitas (2002) classica a operação de mutação em quatro categorias principais, baseadas na capacidade de alteração de tamanho da árvore: 2.9 Fundamentação teórica 19 Figura 2.6: Exemplo de cruzamento na Programação Genética. 1. Mutação de Ponto: Consiste na troca de um nó externo por outro nó externo; 2. Mutação de Colapso: Um nó externo substitui um nó interno (sub-árvore). Nessa caso, a árvore diminui sua altura; 3. Mutação de Expansão: Um nó interno (sub-árvore) substitui um nó externo. Nesse caso, a árvore aumenta sua altura; 4. Mutação de sub-árvore: Um nó interno substitui outro nó interno. Nesse caso a árvore pode aumentar ou diminuir sua altura ou ainda não ter seu tamanho alterado. Um exemplo de mutação por expansão pode ser visualizado na Figura 2.7. Figura 2.7: Exemplo de mutação na Programação Genética. 2.9 Fundamentação teórica 20 2.9 SPEA2 - Strenght Pareto Evolutionary Algorithm O SPEA2 (Zitzler et al., 2002), é uma versão atualizada de seu antecessor SPEA, pois foram eliminados potenciais pontos fracos incorporando ao algoritmo: um programa melhorado de atribuição de tness, que considera a cada indivíduo na con- tagem, quantos indivíduos dominam e por quantos é dominado; uma técnica de estimativa de densidade utilizando o vizinho mais próximo, que permite uma melhor orientação durante o processo de busca; um novo método de truncamento de arquivo que garante a preservação de soluções de fronteira. Finalmente, outra diferença do SPEA2 é que somente membros do arquivo participam do processo de seleção de cruzamento. No algoritmo e o tness SPEA2, uma população inicial é gerada, um arquivo vazio é criado da população calculado. A seleção dos indivíduos é feita pelo operador torneio binário. O novo arquivo é preenchido de acordo com o valor do associado com cada indivíduo. Todos os indivíduos com tness tness menor do que 1 (um) completam o arquivo e se o tamanho do arquivo for menor do que o préestabelecido, o arquivo é preenchido com indivíduos dominados da solução corrente. Se excede, alguns indivíduos são removidos pelo operador de truncamento, este uxo pode ser visualizado na Figura 2.8. Figura 2.8: Fluxo SPEA2. As Seções 2.9.1 e 2.9.2, apresentam os principais passos do SPEA2. 2.9.1 Cálculo do tness O cálculo do tness é feito em dois passos: Primeiro, em uma geração t, para cada indivíduo população Pt é atribuído um valor S(i), i na população externa Pt0 e na conforme a Equação 2.3, representando o 2.9 Fundamentação teórica 21 número de soluções dominadas pela solução i. encontradas entre as gerações. Onde j Pt0 é o conjunto das melhores soluções também é uma solução. S(i) =| {j tal que j ∈ Pt + Pt0 ∧ i j} | Onde |.| a cardinalidade do conjunto, pulação e arquivo externo), t Segundo, o S(i) dos representa a união dos conjuntos (po- é a geração atual e o símbolo ij de dominância de Pareto, onde indica que uma solução corresponde a relação i domina j. tness R(i) de um indivíduo i é determinado pelo número de soluções i em Pt e das soluções j que dominam + (2.3) Pt0 conforme a Equação 2.4. Isto signica que 0 que dominam i em Pt e Pt . X R(i) = S(j) R(i) é a soma (2.4) j∈Pt +Pt0 ,ji Embora a atribuição de um tness R(i) ordene as soluções baseadas no conjunto de indivíduos não dominados, pode existir problemas em populações com elevado número de soluções não-dominadas. densidade D(i) Nesse caso, foi incorporado a informação de entre os indivíduos com valor idêntico de R(i). Este procedimento possibilita um espalhamento das soluções ao longo da fronteira. A técnica proposta é uma adaptação do método do k-ésimo vizinho mais próximo, conforme a Equação 2.5. D(i) = σik 1 +2 Onde, o valor da densidade, para cada indivíduo espaço objetivo) de todos os indivíduos j (2.5) i, é dado pela distância (no no arquivo e na população, e armazenado em uma lista. Esta lista é ordenada em ordem crescente e a distância procurada é k dada pelo elemento, denotado por σi . No denominador, é adicionado 2, para garantir que seu valor seja maior que zero k-ésimo e que D(i) < 1. Recomenda-se que o k seja feito pela Equação 2.6, onde N 0 o tamanho da população externa. N é o tamanho da população e k= Assim o tness √ N + N0 total de um indivíduo i (2.6) é dado pela Equação 2.7. F (i) = R(i) + D(i) (2.7) 2.9.2 Seleção e truncamento O primeiro passo do método de seleção é copiar todos os indivíduos não dominados 0 0 de Pt e de Pt para a população externa da próxima geração Pt + 1. Assim podem acontecer três situações: 1. O número de indivíduos no conjunto não dominado ser o mesmo da população externa. 2.10 Fundamentação teórica 22 2. O número de indivíduos no conjunto não dominado ser menor do que a população externa. 3. O número de indivíduos no conjunto não dominado ser maior do que a população externa. No primeiro caso o processo de seleção naliza. No segundo, os melhores indivíduos dominados são copiados para a nova população externa. No terceiro caso, deve ser feito um truncamento da população externa, ou seja o indivíduo que apresentar a menor distância euclidiana em relação a outro indivíduo é selecionado para ser removido, até que a população externa esteja com a quantidade de indivíduos prevista, lembrando que o tamanho da população externa é um parâmetro de entrada do SPEA2. 2.10 Considerações nais Neste Capítulo a apresentação detalhada sobre cartões de crédito e detecção de fraudes contribuiu para o entendimento da problemática do tema abordado. O estudo de Programação Genética, composto pelos operadores de seleção, cruzamento e mutação, torna-se etapa fundamental para o entendimento da metodologia e do framework proposto. A apresentação do SPEA2 é fundamental para implementação de uma versão multi-objetivo da Programação Genética. Capítulo 3 Trabalhos relacionados Este capítulo apresenta publicações referentes à detecção de fraudes em cartão de crédito e Programação Genética. Cabe ressaltar que, durante a busca de trabalho correlatos, não foram encontrados artigos e pesquisas que abordam, diretamente, a detecção de fraudes em transações eletrônicas com cartão de crédito utilizando Programação Genética. 3.1 Detecção de fraudes em transações eletrônicas com cartão de crédito Alguns trabalhos relacionados à detecção de fraudes em operações de cartão de crédito são descritas ao longo desta seção. Ghosh (1994) criou um detector de fraude baseado em redes neurais. A rede foi treinada usando exemplos de cartões perdidos, cartões roubados, cartões falsicados e com fraude em correspondências. A rede detectou signicativamente a quantidade de fraudes, com uma baixa taxa de falsos positivos. O sistema foi instalado em um IBM 3090 no Mellon Bank. Sternberg e Reynolds (1997) desenvolveram um algoritmo cultural para detecção de fraudes, dado que a re-engenharia desse tipo de sistema, que é dinâmico, torna-se muito complexa. Este algoritmo provê a capacidade de auto-adaptação em sistemas dinâmicos. Para representar o ambiente, foram utilizados quatro objetivos de aplicação diferentes. Os objetivos foram caracterização de reivindicações fraudulentas, reivindicações não fraudulentas, reivindicações não fraudulentas ditas anteriormente como fraudulentas e reivindicações fraudulentas ditas anteriormente como não fraudulentas. Os resultados indicam que algoritmos culturais pode produzir informações necessárias para responder ao ambiente de sistema dinâmico e fornecer uma resposta automatizada para mudanças ambientais. Aleskerov et al. (1997) desenvolveram um sistema chamado CARDWATCH, um sistema de mineração de dados utilizado para a detecção de fraudes de cartão de crédito. O sistema foi baseado em redes neurais e fornece uma interface para uma variedade de bases de dados comerciais e possui uma interface gráca bem confortável. Os resultados dos testes obtidos para os dados do cartão de crédito sinteticamente gerados, mostram taxas de detecção de fraude muito bem-sucedidas, que chegam a 85% de acerto. No entanto, os conjuntos de dados reais não foram utilizados para 23 3.1 Trabalhos relacionados 24 validação. Bolton e Hand (2001) propuseram uma técnica de detecção de não-supervisionada usando análise de ponto de interrupção para identicar mudanças no comportamento de gastos. Um ponto de interrupção é uma observação ou do tempo em que se detecta o comportamento anômalo. Um exemplo de anomalia, é o aumento repentino no número de transações, isto pode indicar o comportamento fraudulento. Uma vantagem deste algoritmo é não ser necessário o uso de dados com periodicidade xa. O resultados foram bons. Os autores pretendem continuar incorporando informações mais relevantes que simplesmente o valor gasto. Chen et al. (2005) aplicaram duas técnicas, máquinas de vetores de suporte SVM ) RNA), para investigar o problema de fraude vaANN e SVM foram comparados. Os resultados mostraram que ANN e SVM são podem ser efetivos para detecção de fraudes. ANN supera SVM em termos de precisão no treinamento. No entanto, SVM pode oferecer ( e redes neurais articiais ( riável no tempo. Os desempenhos de melhor performance quando a quantidade de informação é menor. Guo (2008) apresenta uma forma de modelar uma sequência de operações no processamento de transações em cartão de crédito usando uma rede neural combinada com nível de conança. Este modelo é baseado no padrão de comportamento do cliente. O desvio do padrão de comportamento habitual do cliente é a informação utilizada para criar os modelos. A rede neural é treinada com dados inicialmente sintéticos. Se uma transação de cartão de crédito tem baixo valor de conança, é considerada fraudulenta. Seu trabalho mostra como o valor da conança pode ser utilizado com sucesso para realizar a detecção de fraude de cartão de crédito. Brabazon et al. (2010) investigaram a ecácia de Sistemas Imunológicos Articiais ( SIA) para a detecção de fraude de cartão de crédito através de um grande conjunto de dados obtidos a partir de um grande varejista on-line. O algoritmo de SIA foi implementado e seu desempenho foi comparado com um modelo de regressão logística. Os resultados sugeriram que o algoritmo de SIA têm grande potencial para ser aplicado em sistemas de detecção de fraude. Como trabalho futuro os autores pretendem aplicar Programação Genética. Duman e Ozcelik (2011) desenvolveram um método com uma combinação de duas abordagens de metaheurística bem conhecidas, os algoritmos genéticos e a busca dispersa. O método foi aplicado a dados reais de um banco e os resultados foram muito bem sucedidos em comparação com a prática atual. Para Pun e Lawryshyn (2012), uma das questões que os sistemas de detecção de fraude em cartão de crédito enfrentam é que uma percentagem signicativa das transações identicadas como fraudulentas são de fato legítimas. Assim esses alarmes falsos retardam a detecção de transações fraudulentas e pode causar problemas desnecessários para os clientes e empresas. Dessa forma, os autores apresentam um modelo meta-classicador, que foi aplicado às operações depois de ser analisado pelo um algoritmo de detecção de fraude existente. Este modelo de meta-classicador consiste em três classicadores: árvore de decisão, rede bayesianas, e k-vizinhos mais próximos. Os resultados desta pesquisa mostram que quando o meta-classicador foi utilizado em conjunto com o algoritmo de detecção de fraudes existentes, é possível melhorar os resultados em cerca de 28%. Soltani et al. (2012) apresentaram um novo modelo baseado em Sistemas Imunológicos Articiais para detecção de fraudes de cartão de crédito que considera 3.2 Trabalhos relacionados o comportamento do usuário. 25 O modelo reúne duas metodologias de detecção de fraudes, ou seja, monitorar o comportamento da conta e limite geral. Foram obtidos bons resultados, embora SIA apresentou um longo tempo de treinamento. Os autores sugeriram que a implementação do modelo em sistemas de computação em nuvem poderia reduzir esse tempo. Caldeira et al. (2012) aplicaram técnicas de inteligência computacional para detectar fraudes em transações eletrônicas. As técnicas utilizadas foram redes neurais, SVM random forest, e sistemas imunológicos articiais. Dados reais do UOL Pag- Seguro, foram utilizados para fazer a classicação. Para comparar os modelos, os autores utilizaram o conceito eciência econômica. A técnica que obteve melhores resultados, foi a rede neural. Além disso a técnica apresentou ganhos superiores ao praticado pela corporação atualmente. Porém, o trabalho mostra que as classes desbalanceadas, impactam diretamente a qualidade de predição. Como trabalhos futuros os autores pretendem aplicar técnicas que melhoram este problema. O único trabalho identicado na literatura que utiliza como parte da solução a Programação Genética para detecção de fraudes em transações de cartão de crédito, foi publicado por (Bentley et al., 2000). A abordagem apresentada, mostrou ter alta precisão e produziu um baixo número de alarmes falsos. A base de dados utilizada possuía 4000 transações nanceiras, dessas 985 eram fraudulentas, o que permite dizer que o desbalanceamento não era tão alto, o que possivelmente explica o nível de precisão do algoritmo. 3.2 Programação Genética para Classicação Alguns trabalhos relacionados à Programação Genética são descritas ao longo desta seção. Falco et al. (2002) criaram uma ferramenta de Programação Genética para extração de regras. A ferramenta foi testada em bancos de dados disponíveis publicamente. O algoritmo proposto foi comparado com abordagens baseadas em redes neurais e com outras técnicas baseadas em Programação Genética. Os resultados experimentais demonstraram a ecácia da abordagem proposta em fornecer o usuário com as regras de classicação compactos e compreensíveis e sua robustez em termos de baixo desvio padrão. Apesar dos resultados serem ecientes, um cenário real não foi utilizado para validação da ferramenta. Como trabalho futuro, os autores pretendem aplicar nichos para avaliar possíveis ganhos. Bojarczuk et al. (2004) construíram um sistema com Programação Genética para a descoberta de regras de classicação compreensíveis. comparado com um algoritmo genético e com C4.5. O algoritmo proposto, foi Os resultados obtidos foram muito promissores. Em geral, o algoritmo descobriu conjuntos de regras que são mais precisos e mais simples do que os conjuntos de regras descobertas pelo algoritmo genético e o C4.5. No futuro os autores pretendem aplicar o algoritmo proposto para outros conjuntos de dados, para validar ainda mais os resultados apresentados. Xu e Liu (2008) propuseram uma nova abordagem de Programação Genética para lidar com as tarefas de seleção e classicação, para os conjuntos de dados de microarranjos de multiclasse. O problema multiclasse é dividido em vários problemas de duas classes. Em seguida, fundindo esses conjuntos, um indivíduo é construído 3.3 Trabalhos relacionados 26 para lidar com o problema multiclasse diretamente. Os resultados experimentais mostram que a abordagem pode atingir altas precisões e que o método proposto implementa efetivamente as tarefas de seleção de características e classicação. Porém os autores não aplicaram a solução em dados reais para validação. Pappa e Freitas (2009) apresentaram sistema multi-objetivo de Programação Genética baseada em gramática para indução de regras, o que por sua vez produzem modelos precisos e compactos. O sistema foi comparado com três outros algoritmos de indução de regras. No total, 20 conjuntos de dados foram usados para testar os algoritmos. Experimentos mostraram que em geral, o algoritmo proposto possui precisão de previsão competitiva. Luna et al. (2010) apresentaram o Grammar Guided Genetic Programming for Association Rule Mining (G3PARM), um algoritmo Programação Genética para des- cobrir regras de associação. Os autores zeram uma comparação entre o algoritmo G3PARM e dois algoritmos multiobjetivo frequentemente utilizado na literatura co- nhecido como NSGA2 e SPEA2. Apesar dos resultados serem ecientes, o algoritmo não foi aplicado a cenários onde possuem conjuntos de itens raros. Pereira et al. (2010) propôs um algoritmo de Programação Genética, Niched Genetic Programming Algorithm Data Mining in Geographic (DMGeo), capaz de lidar com bancos de dados compostos por dados híbridos, em particular dados geográcos. O algoritmo foi aplicado com sucesso tanto em bancos convencionais quanto em bancos compostos por dados híbridos. Os resultados mostraram que a ferra- menta foi capaz de aproveitar a heterogeneidade do banco, apresentando um melhor desempenho quando os dados geográcos e convencionais associados inuenciam a classicação. O algoritmo foi comparado a outros métodos relevantes da literatura, apresentando um resultado superior nos casos estudados. Bhowan et al. (2011) mostraram uma abordagem de Programação Genética multi-objetivo que avalia a ecácia de duas estratégias populares baseadas em Pareto, o SPEA2 e Non Sorting Genetic Algorithm II (NSGA2). As duas estratégias foram testadas em bases desbalanceadas e obtiveram bons resultados. Como trabalhos futuros os autores pretendem avaliar essa abordagem em conjuntos de dados mais desequilibradas. Gayathri e Malathi (2013) investigam cinco diferentes técnicas de classicação que foram mais utilizados na detecção fraudes em cartões de crédito, são elas: Redes Neurais, Árvore de Decisão, K-NN, Naive Bayes e máquina de vetor de suporte. Os resultados mostram que estes métodos apresentam certa incerteza na identicação de fraude, quando aplicado em conjunto de dados reais. Pereira et al. (2014) propuseram um algoritmo multi-objetivo baseado em Programação Genética para extrair regras de classicação em bases de dados híbridas. A ecácia do algoritmo foi comparada com três outros métodos amplamente utilizados para classicação: Árvore de decisão e Radial Basis Function (RBF). (C4.5), Support Vector Machine (SVM) O algoritmo foi utilizado para classicar os dados em seis diferentes problemas. O algoritmo proposto superou os outros em todos os casos testados. 3.3 Trabalhos relacionados 27 3.3 Considerações nais Existem também alguns trabalhos que apresentaram análises abrangentes sobre o tema detecção de fraudes. Ngai et al. (2011) analisaram 49 artigos cientícos publicados entre 1997 e 2008. Sharma e Panigrahi (2012) pesquisaram 45 artigos sobre o assunto publicados entre 1995 e 2011. Espejo et al. (2010) mostraram inúmeras aplicações de Programação Genética para classicação. Alguns frameworks de computação evolutiva existentes foram analisados e iden- ticando suas características, são eles: • 1 O ECJ , é um framework desenvolvido em Java que possui um modulo de Pro- gramação Genética bem amplo com extensões multi-objetiva, possivelmente um dos mais usados (Ross, 2013). Muito usado para resolução de problemas em regressão simbólica. • 2 JGAP , foi desenvolvido em Java, possui um módulo de Programação Genética e outro de Algoritmos Genéticos, foi aplicado com sucesso em um complexo problema de competição de robôs, chamado Robocode. • 3 BEAGLE , é um framework open-source desenvolvido em C++, da suporte as técnicas evolucionárias de Programação Genética e Algoritmos Genéticos, é muito usado para resolução de problemas em regressão simbólica. Todos esses frameworks apresentam características individuais interessantes, po- rém: nenhum deles representam os indivíduos como instrução SQL; não fazem acesso a banco de dados relacional; necessitam de uma preparação dos dados para o formato a ser interpretado; além desses pontos, não foi identicado nenhum trabalho que usa essas soluções em detecção de fraudes eletrônicas. Esta dissertação é complementar a todos os trabalhos relacionados citados. Dessa forma, é proposto um framework baseado em Programação Genética para detecção de fraudes em transações eletrônicas com as seguintes características: • a utilização de nichos de encontrar vários pontos ótimos; • função • versão multi-objetivo adaptada baseada no • representação do indivíduo como árvore n-ária; • operadores genéticos de cruzamento e mutação adaptativos; • acoplável á vários bancos de dados relacionais. tness adaptável; SPEA2 ; Após uma extensa pesquisa, não foi encontrado uma solução para detecção de fraudes em transações eletrônicas, que combinasse todas essas características. 1 http://www.cs.gmu.edu/ eclab/projects/ecj/ 2 http://jgap.sourceforge.net/ 3 https://code.google.com/p/beagle/ Capítulo 4 Metodologia Este capítulo descreve o método proposto para o processo de detecção de fraudes em transações eletrônicas em cartões de crédito, com o objetivo de criar modelos de classicação que auxiliem na identicação de transações fraudulentas. A metodologia apresentada tem como base o Processo de Descoberta de Conhecimento em Banco de Dados - Knowledge Discovery in Databases (KDD). Entretanto, o foco maior será dado na etapa de mineração de dados, que possui maior importância para o objetivo deste trabalho. As próximas seções apresentam uma descrição detalhada de cada uma das etapas da metodologia aplicada. 4.1 Etapas da Metodologia Esta seção apresenta a metodologia adotada neste trabalho. A Figura 4.1 ilustra de forma esquemática as etapas que serão descritas nas próximas seções. Figura 4.1: Metodologia de detecção de fraudes em transações eletrônicas. 28 4.3 Metodologia de Pesquisa 29 4.2 Pré-processamento O objetivo desta etapa é permitir a criação de uma base de dados, em que cada registro contenha todas as informações de uma transação realizada. Uma vantagem particular é que a criação dessa fonte de dados única fornece uma maior facilidade de acesso aos dados, além de tornar mais performático o algoritmo, visto que o excesso de junções em bancos de dados relacionais, pode trazer perdas de performance ao algoritmo, dependendo da modelagem do banco de dados. Além disso, possuir uma base de dados única, é conveniente para muitos algoritmos de mineração de dados. Assim, uma fonte de dados é recebida e inserida em um banco de dados local, para isto, alguns passos são feitos: seleção de atributos, caracterização e particionamento dos dados em treino e teste. Para a carga dos dados, foi criado um software utilitário que faz leitura da fonte de dados, normalmente em formato .csv, onde a primeira linha do arquivo consiste nos nomes das colunas. Essa informação será base para a criação da tabela alvo. Um dos grandes desaos do trabalho é o grande desbalanceamento das classes do problema de fraudes em transações eletrônicas. De fato, transações fraudulentas ocorrem em menor número que as legítimas. Sendo assim, há um número desproporcional de instâncias que pertencem a cada classe. Comumente, a classe não fraude possui a grande maioria das amostras. Em contrapartida, a classe fraude possui muito poucos exemplares. Apesar disso, uma classicação correta da classe rara possui um valor maior do que uma classicação correta da classe majoritária. No entanto, a maioria dos classicadores tendem a focar a classicação nos exemplos majoritários o que pode causar a completa falha do classicador em relação ao objetivo desejado. Assim, em alguns datasets foram aplicados à técnica de o processo de carga dos dados. Undersampling undersampling durante é uma técnica simples para lidar com o desequilíbrio de classe, elimina os exemplos da classe majoritária para criar conjuntos de dados balanceados, e portanto, pode descartar dados úteis que são importantes para o processo de detecção de fraudes. Finalizada a carga dos dados, o próximo passo é a mineração dos dados propriamente dita, através da técnica de Programação Genética. 4.3 Programação Genética Durante o desenvolvimento do trabalho, duas versões de Programação Genética foram construídas: mono-objetivo e multi-objetivo, ambas utilizam uma técnica de nicho e elitismo. Ao longo desta seção será apresentado o mono-objetivo e posteriormente, na Seção 4.3.7, serão apresentadas as particularidades do multi-objetivo. 4.3 Metodologia de Pesquisa 30 4.3.1 Indivíduo O indivíduo foi modelado, de tal forma a representar um predicado lógico, denido da mesma maneira que uma cláusula WHERE da SQL1 , conforme pode ser visto na Figura 4.2. Figura 4.2: Exemplo de indivíduo representando um predicado lógico SQL. Basicamente, existem duas formas principais de representar um indivíduo em tarefas de classicação em mineração de dados (Freitas, 2002), a saber: • Abordagem Michigan: cada indivíduo representa uma única regra de classicação; • Abordagem Pittsburgh: cada indivíduo representa um conjunto de regras de classicação. Na prática, a este trabalho utiliza a abordagem Michigan. Dessa forma, essa abordagem será considerada nas discussões feitas a partir deste ponto. Os operadores lógicos, nomes de atributos e restrições são combinadas de maneira a formar uma cláusula ltro. É importante notar que a árvore representa as restrições e condições para classicar a amostra, entretanto, o indivíduo armazena a classe predita (esperada) fora da árvore, ou seja, a classe predita não é um nó da árvore. Os nós da árvore podem ser dos seguintes tipos: • Nós Funções: são formados por funções que, nesta implementação, possui exatamente um parâmetro e forma o conjunto possível de nós internos. • Nós Terminais: o conjunto de nós terminais é formado por valores gerados aleatoriamente ou por atributos do banco de dados. Os nós da árvore incluem as seguintes informações: • Tipo: • Parâmetros: os tipos implementados são booleano (lógico) ou numérico (real); caso o corpo do nó seja uma chamada de função, esse nó deverá receber parâmetro, isto é, qual a função a ser representada. Caso trate-se de um nó terminal, ele receberá três parâmetros, o atributo o qual ele representa e o intervalos máximos e mínimos do atributo. Query Language, ou Linguagem de Consulta Estruturada ou SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional 1 Structured 4.3 Metodologia de Pesquisa 31 O conjunto de nós funções é composto por funções (ou operadores) convencionais, tais como =, <, >, >=, <= e AND. A originalidade do trabalho neste ponto está na representação da árvore do indivíduo. É possível visualizar na Figura 4.2 que a árvore não é binária, como desenvolvido por (Koza, 1992) e sim Uma árvore n-ária n-ária. é tal que em cada nó da mesma há um número arbitrário, limitado pela ordem da árvore, de lhos (Esakov e Weiss, 1989). Normalmente uma árvore n-ária é entendida como um superconjunto de árvores binárias. O ganho desta representação está na complexidade da busca dos nós da arvore, neste formato todos os nós estão na mesma profundidade, ou seja, trata-se de uma arvore balanceada, o que otimiza o desempenho computacional na criação, alteração e exclusão dos nós. Por consequência, otimiza os operadores genéticos de seleção, cruzamento e mutação. Essa representação de arvore n-ária é permitida, pois neste trabalho foi utilizado apenas a função AND do SQL como nó função, assim o nó raiz sempre será o mesmo. Para (Pereira, 2012), cabe destacar que uma regra não precisa conter necessariamente todos os atributos disponíveis do problema. Idealmente, procura-se pelo menor conjunto de regras que possuam somente aqueles atributos mais signicativos. 4.3.2 Geração da população inicial Conforme já descrito na Seção 2.8.1, a geração da população inicial, na maioria das vezes, é feita de forma aleatória e neste trabalho também é assim, respeitando as propriedades de fechamento e suciência. Nesta seção será apresentado como é feito este mecanismo. A partir de uma tabela alvo, ou seja uma tabela de treinamento, é feito a leitura de todos os metadados. Dentre as informações retornadas, estão: nome da tabela, quantidade de registros, nome de todos os atributos (colunas), tipo de todos os atributos, valores máximos e mínimos de cada atributo, quantidade de registros distintos por atributo, nome do atributo classe e as classes do problema. Essas informações de metadados são utilizadas para popular as informações dos nós da árvore de cada indivíduo. O método utilizado nesse trabalho é similar ao método grow, onde os nós são selecionados aleatoriamente nos conjuntos de nós funções e terminais, isso implica grow varia a pron-aria, o que varia na geração de arvores irregulares. A diferença, é que o método fundidade da árvore e como a árvore do indivíduo proposta é portanto é o número de nós. O método é ilustrado na Figura 4.3. 4.3.3 Avaliação da Função Fitness A função tness é responsável por mensurar a efetividade de cada indivíduo. O algoritmo procurará por indivíduos que apresentem maior efetividade. Entende-se como "efetividade" de cada indivíduo, a sua capacidade de classicar corretamente o maior número de padrões (ou registros) de um banco de dados (Pereira, 2012). O cálculo da função tness é baseado em consultas SQL, submetidas ao banco de dados. O cálculo se refere a somente um indivíduo (regra de classicação) por vez e pode ser dividida em duas partes: 4.3 Metodologia de Pesquisa 32 Figura 4.3: Geração de população inicial. • Determinação dos coecientes da matriz de confusão (Seção 4.3.3.1); • Cálculo da função tness (Seção 4.3.3.2). 4.3.3.1 Cálculo dos Coecientes da Matriz de Confusão Segundo (Pereira, 2012), existem diversas formas de se medir a efetividade de uma regra de classicação. As mais comuns se baseiam em cálculos realizados a partir dos coecientes da matriz de confusão, conforme Figura 4.4. Figura 4.4: Matriz de Confusão. Os coecientes da matriz, são calculados considerando cada uma das classes do problema. Esses coecientes, permitem o cálculo de algumas métricas de efetividade dos classicadores para cada uma das classes. Dentre essas métricas, pode-se citar: acurácia, sensibilidade e especicidade, onde: • Acurácia: • Sensibilidade: • Especicidade: (T P +T N ) ; (T P +T N +F P +F N ) (T P ) ; (T P +F N ) (T N ) . (T N +F P ) O número de verdadeiros positivos (TP) para cada indivíduo é o número de tuplas selecionadas utilizando o predicado nas quais as respectivas classes coincidem com a classe predita pelo indivíduo. O valor de verdadeiros negativos (TN) é calculado 4.3 Metodologia de Pesquisa 33 contando-se o número de tuplas que não são cobertas pelo predicado do indivíduo e que não pertençam à classe do indivíduo. O número de falsos positivos (FP) é identicado contando-se as tuplas obtidas pelo indivíduo que não pertençam à classe predita. Analogamente, o número de falsos negativos (FN) é calculado contando-se o número de tuplas que não são obtidas pelo indivíduo, mas que pertencem à classe esperada pelo indivíduo. 4.3.3.2 Cálculo da Função Fitness O cálculo da função tness utiliza os valores de acurácia, sensibilidade e especici- dade medidos para cada indivíduo. A fórmula utilizada nesse trabalho é: • f1 (I, X) = Acurácia(I, X) ∗ Sensibilidade(I, X) ∗ Especif icidade(I, X). Onde f(I, X) é o valor de tness e I X. é o indivíduo que identica padrões pertencentes à classe 4.3.3.3 Nichos A técnica de nichos consiste na divisão da população em espécies (que reúnem indivíduos com características semelhantes) para reduzir a competição por recursos e criar subpopulações estáveis, cada uma delas concentrada em uma parte do espaço de busca (Pappa, 2002). Métodos de nichos são conhecidos por sua capacidade de criar e manter populações diversas. A utilização desta técnica visa evitar a obtenção de um único ponto ótimo. Existem problemas que podem apresentar mais de um ponto ótimo. Assim, pode-se desejar conhecer uma maior variedade de pontos que minimizam a função objetivo em um problema de minimização. (Goldberg, 1989) propôs a utilização da técnica de nicho, a m de se obter as melhores regras de classicação para as n classes do problema a cada execução do algoritmo. Com utilização de técnicas de nicho permite-se um maior compartilhamento dos indivíduos no espaço de busca. A implementação proposta utiliza nichos por cada classe do problema, neste estudo de fraude, as transações fraudulentas representam um nicho e as não fraudulentas o outro nicho. 4.3.4 Seleção O método de seleção utilizado nesse trabalho é o torneio, conforme o mesmo já foi denido na Seção 2.8.2.1. A implementação é feita da seguinte forma: 1. Selecione dois indivíduos aleatoriamente; 2. Compare os indivíduos, considerando o valor de tness ; 3. Retorne o indivíduo vencedor no passo anterior. Para (Linden, 2008) a vantagem deste método é a impossibilidade de alguns indivíduos dominarem a população, o que levaria a uma rápida convergência. 4.3 Metodologia de Pesquisa 34 4.3.5 Operadores Genéticos A originalidade desenvolvida nos operadores genéticos foi um mecanismo de ajuste de taxas de mutação e cruzamento. O Algoritmo 1 apresenta os passos para re- alização desse mecanismo. Esta abordagem visa aumentar as taxas de mutação e de cruzamento ao longo das gerações, quando o algoritmo estabiliza na busca de melhores soluções. Os parâmetros de entrada do algoritmo são: taxa. pc , pm , hist, max, Respectivamente representam a probabilidade inicial de cruzamento, probabi- lidade inicial de mutação, histórico de quantas gerações o algoritmo não encontrou soluções melhores, número máximo de gerações permitido sem melhora, multiplicador que dene quais serão os percentuais de cruzamento e mutação. A saída do algoritmo são as probabilidades de cruzamento e mutação alteradas. Algoritmo 1: Pseudocódigo para cruzamento e mutação adaptativos Adaptativo() 1 Entrada: pc , pm , hist, max, taxa 2 pcInitial ← pc 3 pmInitial ← pm 4 gerSemM elhora ← 0 5 se hist melhorou 6 pc ← pcInitial 7 pm ← pmInitial 8 gerSemM elhora ← 0 9 else 10 gerSemM elhora ← gerSemM elhora + 1 11 m-se 12 se gerSemM elhora >= max 13 pc ← pc + taxa 14 pm ← pm + taxa 15 m-se 4.3.5.1 Cruzamento O operador de cruzamento utilizado para o trabalho é baseado na implementação clássica desse operador na Programação Genética, que foi descrito na Seção 2.8.2.2. Os passos básicos do operador são listados a seguir: 1. Selecione dois indivíduos; 2. Gere uma cópia de cada um desses indivíduos; 3. Selecione aleatoriamente um no de um dos indivíduos; 4. Selecione um outro nó, com o mesmo tipo do primeiro, dessa vez proveniente do segundo indivíduo; 5. Troque os dois nós selecionados entre os indivíduos. A Figura 4.5 ilustra esses passos do processo. 4.3 Metodologia de Pesquisa 35 Figura 4.5: Cruzamento 4.3.5.2 Mutação O algoritmo proposto para este projeto utiliza as quatro categorias que foram citadas na Seção 2.8.2.3. É importante destacar que, independente da categoria da mutação, este operador trabalha da seguinte forma: 1. Seleciona-se aleatoriamente um nó (terminal ou função); 2. Gera-se outro nó (simples ou uma sub-árvore) do mesmo tipo do nó selecionado do passo 1; 3. Substitui-se o nó selecionado pelo novo nó gerado. A Figura 4.6 ilustra os passos desse processo. Figura 4.6: Mutação. 4.3 Metodologia de Pesquisa 36 4.3.6 Geração da nova População Após cada geração, são escolhidos os melhores indivíduos que serão avaliados mais adiante na fase de validação. São escolhidos também, dentre os melhores indivíduos, aqueles nos quais são aplicados os operadores genéticos, comumente cruzamento e mutação, a m de que seja gerada a nova população de indivíduos da próxima geração. O processo evolutivo continua até ser atingido o critério denido para terminação, geralmente um número máximo de gerações. 4.3.6.1 Elitismo Visando preservar e utilizar nas próximas gerações as melhores soluções encontradas na geração atual, decidiu-se por utilizar a estratégia de elitismo. Em sua versão mais ne melhores indivíduos da população atual, copiando-os para a próxima geração sem nenhuma alteração. Os outros n−ne indivíduos da população simples, ela conserva os são gerados normalmente, através do método de seleção e posterior aplicação dos operadores genéticos. Assim, as melhores soluções não são apenas passadas de uma geração para outra, mas também participam da criação dos novos membros da nova geração (Pappa, 2002). 4.3.7 Multi-objetivo A grande diferença que a versão multi-objetivo de Programação Genética incorpora está na fase de avaliação do indivíduo. Nesse ponto, onde o algoritmo passa a considerar mais de um objetivo. Em nosso trabalho, um deles continua sendo maximização da efetividade dos classicadores gerados (Seção 4.3.3.2) e o outro, a minimização do tamanho de cada uma das regras, conforme a função: • f2 (I, X) = (QtdM axN os − 0, 5 ∗ QtdN os(I, X) − 0, 5)/(QtdM axN os − 1). QtdMaxNos é o número máximo de nós que uma árvore de um indivíduo pode ter e a QtdNos, é o número de nós de uma árvore de um indivíduo. O valor da Onde, equação diminui até o seu valor mínimo de 0,5, que é produzido quando o número de nós é igual ao máximo permitido. A razão para denir o limite inferior a 0,5 é penalizar os indivíduos de tamanho grande, sem forçá-los a desaparecer da população (Bojarczuk et al., 2004). Assim, o principal objetivo da modelagem é gerar boas regras de classicação e com baixa complexidade (tamanho pequeno), uma vez que regras menores são mais simples de serem entendidas e tendem a evitar overtting (Pereira, 2012). A partir desse ponto, o indivíduo passa a ter um vetor de objetivos: M aximizar : f1 (I, X) f2 (I, X) Esse vetor de objetivos é usado para calcular um tness global do indivíduo, baseado no conceito de dominância de Pareto. A originalidade de implementação algorítmica deste trabalho está na versão multi-objetivo de Programação Genética. Na Seção 2.9, apresentamos a versão 4.3 Metodologia de Pesquisa original do SPEA2 37 proposta por (Zitzler et al., 2002). A diferença da solução pro- posta para a versão original está no cálculo do tness assignment, onde passa a ser calculado por nicho, o que causa alguns impactos: • O indivíduo passa a implementar um vetor de consequentemente de • tness assignment ; strength tness, raw tness A complexidade do algoritmo aumenta consideravelmente, pois para cada classe existente no problema de classicação é feito um novo calculo do ness assignment ; • e t- O tamanho da população externa passa a ser divido pela quantidade de nichos, gerando assim o número de fronteiras de pareto de acordo com a quantidade de classes. Esta abordagem simula um SPEA2 paralelo, apresentando uma vantagem e uma desvantagem: • Vantagem: A exploração do espaço de busca por nichos permite a obtenção de vários pontos ótimos, a m de se obter as melhores regras de classicação para as • n classes do problema. Desvantagem: Quanto maior a complexidade do algoritmo, maior o tempo de execução, o que torna inviável para datasets de grande volume, ou seja, com quantidade superiores a 100.000 registros. O Pseudocódigo 2, apresenta as modicações propostas no algoritmo O algoritmo SPEA2 permite utilizar mais de duas funções objetivo. SPEA2 SPEA2. foi adotado como implementação, pois a solução proposta Segundo Zitzler et al. (2002) o apresenta vantagens em comparação a outras abordagens multi-objetivo quando aplicado a uma dimensão alta de objetivos. 4.4 Metodologia de Pesquisa Algoritmo 2: Pseudocódigo do 38 SPEA2 proposto SPEA-II() 1 Entrada: tamanhoPopulação, tamanhoPopulaçãoExterna, taxaCruzamento, taxaMutaçao, tamanhoMaxIndivíduos 2 Saída: populaçãoExterna 3 população ← inicialização(tamanhoPopulação, tamanhoMaxIndivíduos) 4 populaçãoExterna ← ∅ 5 enquanto (¬ condiçãoParada()) 6 para (Si ∈ População) 7 Siobjetivos ← calculateObjetivos(Si ) 8 m-para 9 União ← população + populaçãoExterna 10 para cada nicho 11 para (Si ∈ União) 12 Siraw ← calculaRawFitness(Si , União, nicho) 13 Sidensidade ← calculaDensidade(Si , União, nicho) 14 Sif itness ← Siraw + Sidensidade 15 m-para 16 m-para 17 populaçãoExterna ← obtemNãoDominadosPorNicho(União) 18 se (tamanho(populaçãoExterna) < tamanhoPopulaçãoExterna 19 complementa(União, populaçãoExterna, tamanhoPopulaçãoExterna) 20 senão se (tamanho(populaçãoExterna) > tamanhoPopulaçãoExterna 21 trunca(populaçãoExterna, tamanhoPopulaçãoExterna) 22 m-se 23 para cada nicho 24 selecionados ← seleção(populaçãoExterna, tamanhoPopulação, nicho) 25 população ← cruzamentoEmutação(selecionados, taxaCruzamento, taxaMutação) 26 m-para 27 m-enquanto 28 retorna (obtemNãoDominadosPorNicho(populaçãoExterna)) 4.4 Predição Esta é uma etapa adicional ao processo, onde a partir dos modelos (regras), é possível realizar a predição da classe da transação. As sub-etapas dessa etapa, podem ser melhor visualizadas na Figura 4.7. Esta etapa de predição consiste em interpretar e avaliar os padrões obtidos na mineração de dados, neste caso a Programação Genética. Os modelos gerados são analisados para vericar o quão bem eles atendem aos objetivos do processo. Este passo pode envolver também a visualização dos padrões extraídos, que permite que os analistas explorem os dados e os resultados da mineração, a partir de uma diversidade de pontos de vista. O usuário também pode denir medidas para avaliar os padrões extraídos baseadas no conhecimento sobre o domínio da aplicação por exemplo, no caso da detecção de fraude pode-se criar medidas para calcular o montante de dinheiro economizado. Algumas medidas de avaliação do modelo são: validação cruzada, matriz de confusão, precisão, revocação, medida F1, acurácia, taxa de erro, eciência econômica. No caso de detecção de fraude, as classes possuem uma distribuição desbalanceada sendo assim, poderão ser descritas algumas das medidas para esse tipo de problema. 4.4 Metodologia de Pesquisa 39 Figura 4.7: Sub-etapas da etapa de predição. Precisão e Revocação são duas métricas amplamente usadas em aplicações onde a detecção bem sucedida de uma classe é considerada mais signicativa do que a de outra classe. A precisão, calculada conforme Equação 4.1, determina a fração de registros que realmente são positivos no grupo que o classicador declarou como classe positiva. A revocação, calculada conforme Equação 4.2, mede a fração de exemplos positivos previstos corretamente pelo classicador. P recisao, p = Revocacao, r = A Medida F1 TP TP + FP (4.1) TP TP + FN (4.2) representa a média harmônica entre precisão e revocação. Sendo assim, um valor alto da medida F1 assegura que tanto a precisão quanto a revocação sejam razoavelmente altas. A Equação 4.3 representa sua denição formal. F1 = 2rp 2T P = r+p 2T P + F P + F N (4.3) Cabe destacar que Precisão, Revocação e Medida F1 são calculadas por classe. 4.4.1 Score de Fraude Os classicadores selecionados podem fornecer como resultado um score de um regis- tro ser fraudulento ou não. Dessa forma, foi criada uma ferramenta de pontuação do risco de fraude. Essa ferramenta gera uma pontuação numérica indicando se uma transação pode ser fraudulenta: quanto maior a pontuação, mais risco de fraude possui a transação. 4.4 Metodologia de Pesquisa score ) Esta pontuação ( votos. 40 é realizada através de um algoritmo de contagem de A amostra é rotulada com a classe indicada pelo maior número de regras geradas. Por exemplo, se um registro é selecionado por três regras da classe A, duas regras da classe B e uma regra da classe C, então a amostra é classicada como A. O Algoritmo 3 apresenta como é realizado o cálculo do sui dois parâmetros de entrada: melhoresRegrasF e score. O algoritmo pos- melhoresRegrasN F , sentando as melhores regras de fraude e não fraude respectivamente. repre- A saída do algoritmo é a pontuação de cada transação ser fraude. As melhores regras de cada classe são escolhidas da seguinte forma: tness ; • PG Mono-objetivo: as dez melhores regras, de acordo com o • PG Multi-objetivo: a população externa, ou seja, os indivíduos não dominados. Algoritmo 3: Pseudocódigo do cálculo de score Score() 1 Entrada: melhoresRegrasF, melhoresRegrasN F 2 Saída: pontuacao 3 numRegrasF ← regrasCorrespondentes(melhoresRegrasF ) 4 numRegrasN F ← regrasCorrespondentes(melhoresRegrasN F ) 5 scoreF ← numRegrasF/melhoresRegrasF.quantidade() 6 scoreN F ← numRegrasN F /melhoresRegrasN F .quantidade() 7 pontuacao ← scoreF − scoreN F 8 retorna pontuacao Um classicador baseado em regras, classica um registro de teste baseado na regra disparada pelo registro. Duas são as propriedades importantes do conjunto de regras gerado por um classicador: (1) Regras Mutuamente Excludentes devem haver duas regras que sejam disparadas pelo mesmo registro; (2) Completas - cada registro deve ser coberto por pelo menos uma regra. classicadores baseados em regras não possuem tais propriedades. - não Regras Muitos Neste caso, se um conjunto de regras não for completo uma regra padrão deve ser adicionada e disparada quando todas as outras falham. A classe atribuída por essa regra padrão é conhecida como classe padrão que geralmente é a classe majoritária. Caso as regras não sejam mutuamente excludentes, há duas formas de resolver o problema: (1) Regras Ordenadas - as regras são ordenadas de forma decrescente de prioridade, que pode ser de diversas maneiras, por exemplo, precisão, cobertura, ordem que foi gerada dentre outras; (2) Regras Não Ordenadas - permite que um registro dispare múltiplas regras de classicação e considera cada uma como um voto (ponderado ou não) para uma determinada classe, ao nal, o registro recebe a classe que tiver o maior número de votos (Júnior, 2012). Na seção seguinte será apresentada como é calculada a medida desempenho dos modelos usada neste trabalho. 4.4.2 Eciência Econômica No contexto da fraude, existem perdas nanceiras associadas a erros de classicação. Assim, não só a cobertura da fraude deve ser levada em consideração, mas também 4.4 Metodologia de Pesquisa 41 a eciência econômica do resultado. O conceito de Eciência Econômica diz respeito a avaliação nanceira dos resul- tados obtidos, a partir da utilização de um determinado modelo ou um conjunto de modelos. Dessa forma, é utilizada uma função proposta por (Lima e Pereira, 2012). Esta fórmula é baseada na contabilização dos ganhos e das perdas nanceiras de acordo com os estados denidos na (EE) Econômica matriz de confusão. O cálculo de Eciência é apresentado na Equação 4.4. n X EE = (Gj ∗ gr − Lj ∗ lr) (4.4) j=1 Onde n representa o número de transações existentes, nanceiro da transação verdadeira negativa retamente, gr Gj , representa o valor (TN), ou seja, aquela que foi aceita cor- é o percentual de ganho da empresa em uma transação bem sucedida, Lj , é o valor nanceiro da transação falsa negativa (FN) e lr é o percentual de perda da empresa em uma transação de fraude classicada como não fraude. Aplicando esta fórmula para a classicação fornecida pela técnica, é possível vericar o lucro ou prejuízo obtido com o algoritmo. Para que seja possível uma melhor avaliação do resultado obtido com a Eciência Econômica (EE), são denidos três limites a serem comparados. O primeiro limite é a Eciência Econômica Máxima é igual a 0, (EE_Max), onde o termo (L ∗ lr) da Equação 4.4 que representa o ganho máximo a ser obtido pela empresa, caso todas a fraudes sejam detectadas e nenhuma transação legítima seja considerada fraude. A Equação 4.5 representa esse cálculo. Econômica Real (EE_Real), O segundo limite consiste na Eciência que consiste no cálculo da Eciência Econômica (EE) considerando a eciência real existente. Neste caso, para que a técnica traga algum benefício econômico, é necessário que seus resultados quem acima deste limite. O último limite consiste na Eciência Econômica Mínima (G ∗ gr) da Equação 4.4 é igual a 0, (EE_Min), onde o termo que representa a pior situação possível, em que todas as transações legítimas foram consideradas fraudes e as transações de fraudes foram consideradas legítimas (Júnior, 2012). A Equação 4.6 representa esse cálculo. n X (Gj ∗ gr) (4.5) n X (−Lj ∗ lr) EE _M in = (4.6) EE _M ax = j=1 j=1 Para avaliar o percentual de ganho obtido em relação ao ganho máximo possível deve-se utilizar Equação 4.7. Elas fornecem o ganho relativo em que 100% representa o ganho máximo possível (EE_Max) EERelativa = e 0% o cenário real (EE_Real). EE − EE _Real EE _M ax − EE _Real (4.7) Na seção seguinte será apresentada como é utilizada a medida desempenho dos modelos. 4.5 Metodologia de Pesquisa 42 4.4.3 Ranking Como forma de maximizar os resultados obtidos com o classicador, é proposta a geração de um ranking, considerando a probabilidade do registro ser fraudulento. Assim, a Eciência Econômica deverá ser analisada ao longo do ranking de forma a encontrar um ponto onde os resultados são maximizados. A Tabela 4.1, exemplica a proposta de classicação para um conjunto hipotético de 10 transações. Onde, o valor cobrado pela empresa para processar a transação (gr ) é de 3%. O objetivo é encontrar o ponto de máximo de eciência econômica ao longo deste ranking. A coluna de fraude, Real ID é o identicador de transação, é o rótulo verdadeiro da transação, valor da transação, EE P red P é a pontuação é o rótulo previsto, é a eciência econômica da transação e EES V é o é o somatório das eciências ao longo do rank. Tabela 4.1: Exemplo de um ranking. Rank ordenado pela pontuação de fraude ID P Real Pred V EE EES 124 20% F F R$ 601,00 R$ 0,00 0,00 56777 10% NF NF R$ 500,00 R$ 15,00 15,00 6668 9% NF NF R$ 466,00 R$ 13,98 28,98 8456 8% NF NF R$ 600,00 R$ 18,00 46,98 123 8% NF NF R$ 500,00 R$ 15,00 61,98 1455 7% NF NF R$ 1.000,00 R$ 30,00 91,98 2678 6% NF NF R$ 1.100,00 R$ 33,00 124,98 3000988 5% F NF R$ 800,00 R$ -776,00 -651,02 42233 5% NF NF R$ 790,00 R$ 23,70 -627,32 5 5% F F R$ 100,00 R$ 0,00 -627,32 Analisando a Tabela 4.1, verica-se que o ponto do ranking da transação de ID 2678 foi detectada uma fraude corretamente e é o ponto que se obtêm a maior eciência. Se analisássemos somente se a transação é fraude ou não fraude, sem considerar o ponto de eciência econômica, iríamos detectar duas fraudes, porém a eciência econômica, seria bem inferior. Essa proposta se demonstra ser muito interessante, pois possibilita maximizar os resultados, diminuindo as perdas nanceiras. 4.5 Considerações nais Este capítulo apresentou uma metodologia para detecção de fraude em transações eletrônicas. Essa metodologia, possui três etapas principais: pré-processamento, Programação Genética e predição. O Capítulo A apresentará o volvido. framework desen- Capítulo 5 Experimentos e Resultados Os capítulos anteriores permitiram uma ampla compreensão dos conceitos abordados neste trabalho. As fraudes em transações com cartão de crédito foram amplamente discutidas, juntamente com toda a metodologia adotada. Para a aplicação e validação da metodologia apresentada, serão utilizados dois cenários de validação com dados reais: • Um conjunto de datasets de transações eletrônicas, que foram obtidos através de um projeto de cooperação com o Universo Online (UOL); • Três datasets conhecidos da literatura, disponibilizados pela UCI Machine Le- arning. O presente capítulo fará uma uma breve apresentação das aplicações utilizadas neste trabalho como estudo de caso, a apresentação dos datasets que foram adotados e por m, a apresentação dos resultados obtidos. UOL PagSeguro 5.1 No Capítulo 2, foi apresentado o conceito de chargeback e como ele afeta cada uma das partes envolvidas na transação. Dessa forma, devido aos prejuízos causados pelas fraudes, surgiram na online Web empresas que buscam fornecer soluções para pagamentos com o objetivo de tornar as transações de compra e venda na Internet mais seguras. O UOL PagSeguro possui uma solução completa para pagamentos garante a segurança de quem compra e de quem vende na pra com UOL PagSeguro Web. online, que Quem faz uma com- tem a garantia de produto ou serviço entregue ou receberá seu dinheiro de volta. O objetivo é fomentar o comércio eletrônico, eliminando as barreiras que dicultam a concretização de negociações. O principal desao da instituição é aumentar a conança e segurança nas transações, eliminando o medo e a insegurança dos compradores Em Janeiro de 2007 o escolhida pela InfoExame 1 . UOL2 3 adquiriu a BRpay. Em Abril de 2007 a BRpay foi como a melhor solução para pagamentos online. Em Ju- 1 https://pagseguro.uol.com.br/sobre_o_pagseguro.jhtml 2 http://www.uol.com.br/ 3 http://info.abril.com.br/ 43 5.3 Experimentos e Resultados lho de 2007, o UOL lançou o 44 PagSeguro 4 , dobrando a oferta de meios de pagamento, acrescentando parcelamento em todos os cartões, diminuindo as taxas e adicionando a central de atendimento telefônico. Em 2007, o PagSeguro fechou o ano com pouco mais de 100 parceiros de desenvolvimento, 8 mil lojas e 1 milhão de compradores. Em Novembro 2008 o PagSeguro foi escolhido pelos leitores da revista InfoExame como o site do ano na categoria comércio eletrônico, e terminou o ano com mais de 500 parceiros de desenvolvimento, 20 mil lojas ativas e 3 milhões de compradores . UCI Machine Learning 5.2 A 5 UCI Machine Learning Repository é uma coleção de bancos de dados que são utilizados pela comunidade de aprendizado de máquina para a análise empírica de algoritmos de aprendizado de máquina. O arquivo foi criado por David Aha e colegas de pós-graduação na Universidade da Califórnia em Irvine. Desde então, tem sido amplamente utilizado por estudantes, educadores e pesquisadores de todo o mundo, como uma das principais fontes de conjuntos de dados para aprendizagem de máquina. Foi citado mais de 1.000 vezes, tornando-se um dos top papers mais citados em toda a ciência da computação. A versão atual do site foi projetada em 2007 por Arthur Assunção e David Newman. Este projeto é em colaboração com Rexa.info na Universidade de Massachusetts Amherst. 5.3 Datasets utilizados Para validação do trabalho foram utilizados 20 datasets de fraude e outros 3 da literatura. Os datasets de fraudes foram gerados considerando períodos de tempo, portanto os mesmos não possuem registros iguais. A diferença entre eles está na composição dos atributos, número de registros, balanceamento das classes, além disso alguns datasets foram gerados através de análise histórica dos dados, am de permitir uma melhor classicação. A Tabela 5.1 apresenta algumas informações dos datasets do UOL Pagseguro: total de registros, tipo e quantidade de atributos. Dentre os atributos, temos: informações da transação (p. ex., valor, número de parcelas do pagamento, hora), do comprador (p. ex., idade, localidade), do cartão de crédito (p. ex., operadora) e do vendedor (p. ex., categoria do produto que vende). Não serão apresentados todos os atributos, pois o conjunto ultrapassa os 300 atributos, além existir um termo de acordo para garantir a condencialidade de algumas informações, pois estamos tratando de informações nanceiras. A Tabela 5.2 apresenta algumas informações dos gistros, quantidade de atributos. 4 https://pagseguro.uol.com.br/ 5 https://pagseguro.uol.com.br/sobre_o_pagseguro.jhtml datasets do UCI: total de re- 5.3 Experimentos e Resultados Tabela 5.1: 45 Datasets UOL PagSeguro. ID Total Registros Número Atributos Tipo dos Atributos 1 950.379 12 Numéricos e Categóricos 2 238.551 12 Numéricos e Categóricos 3 1.069.548 50 Numéricos e Categóricos 4 343.701 50 Numéricos e Categóricos 5 384.723 50 Numéricos e Categóricos 6 899.951 50 Numéricos e Categóricos 7 234.917 50 Numéricos e Categóricos 8 274.355 50 Numéricos e Categóricos 9 418.909 5 Numéricos e Categóricos 10 1.000.000 5 Numéricos e Categóricos 11 418.909 85 Numéricos e Categóricos 12 1.000.000 85 Numéricos e Categóricos 13 419.855 5 Numéricos e Categóricos 14 1.000.000 5 Numéricos e Categóricos 15 419.855 85 Numéricos e Categóricos 16 1.000.000 85 Numéricos e Categóricos 17 422.187 5 Numéricos e Categóricos 18 1.000.000 5 Numéricos e Categóricos 19 422.187 85 Numéricos e Categóricos 20 1.000.000 85 Numéricos e Categóricos Tabela 5.2: Dataset Iris Hepatitis Cancer (Original) Datasets UCI. Total Registros Número Atributos 150 155 699 4 19 10 5.4 Experimentos e Resultados 46 5.4 Preparação dos dados Esta fase dos experimentos consiste na aplicação da primeira etapa da metodologia, conforme apresentado na Seção 4.2. O uxo detalhado de preparação dos dados pode ser visto na Figura 5.1. Figura 5.1: Fluxo de preparação dos dados. A seguir apresentamos uma breve descrição de cada etapa realizada. 1. Etapa 1: dado um arquivo com as informações das transações, através de uma ferramenta, é realizada a leitura deste arquivo e assim gerado os scripts para carga no banco de dados; 2. Etapa 2: gerados os scripts, é feita a criação da estrutura do banco de dados e realizada a inserção dos registros brutos; 3. Etapa 3: neste momento, é feito a categorização, ou seja, aqueles que eram atributos cujos tipos eram string ou data/hora foram transformados em nu- méricos; 4. Etapa 4: nesta etapa, é realizada a seleção dos atributos, ou seja, aqueles mais atributos mais relevantes para o cenário a ser vericado; datasets, realizando a divisão em Em alguns casos, foi aplicado a técnica de undersampling. 5. Etapa 5: por último, é realizado a criação dos treinamento e teste. A Tabela 5.3 apresenta informações de quantidade e percentuais da divisão de treinamento e teste dos datasets do UOL. O motivo dessa divisão é devido aos dados de fraude serem temporais, assim uma divisão utilizado a técnica de validação cruzada não permitiria a reprodução do cenário real da empresa que adotamos para a aplicação da metodologia. 5.4 Experimentos e Resultados 47 Tabela 5.3: Divisão treino e teste. Quantidade ID Treino Teste Percentual Treino Teste 1 720.518 229.861 75,814 24,186 2 8.690 229.861 3,643 96,357 3 734.963 334.585 68,717 31,283 4 9.116 334.585 2,652 97,348 5 50.138 334.585 13,032 86,968 6 673.798 226.153 74,871 25,129 7 8.764 226.153 3,731 96,269 8 48.202 226.153 17,569 82,431 9 18.909 400.000 4,514 95,486 10 600.000 400.000 60,000 40,000 11 18.909 400.000 4,514 95,486 12 600.000 400.000 60,000 40,000 13 19.855 400.000 4,729 95,271 14 600.000 400.000 60,000 40,000 15 19.855 400.000 4,729 95,271 16 600.000 400.000 60,000 40,000 17 22.187 400.000 5,255 94,745 18 600.000 400.000 60,000 40,000 19 22.187 400.000 5,255 94,745 20 600.000 400.000 60,000 40,000 5.4 Experimentos e Resultados 48 A Tabela 5.4 apresenta informações dos dados de treinamento: quantidade de registros e percentuais de fraude e não fraude, além de informar se no aplicado dataset foi undersampling, caso positivo é apresentada também a proporção atribuída. Por exemplo, a simbologia 1/10, quer dizer, para cada fraude foi incluída uma não fraude de forma aleatória sem repetição. Tabela 5.4: Datasets de fraude para treinamento. Treino Quantidade Percentual ID Não Fraude Fraude Total Registros Não Fraude Fraude Undersampling 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 716.173 4.345 730.405 4.558 45.580 669.416 4.382 438.20 17.190 598.281 17.190 598.281 18.050 598.195 18.050 598.195 20.170 597.983 20.170 597.983 4.345 4.345 4.558 4.558 4.558 4.382 4.382 4.382 17.19 1.719 1.719 1.719 1.805 1.805 1.805 1.805 2.017 2.017 2.017 2.017 720.518 8.690 734.963 9.116 50.138 673.798 8.764 48.202 18.909 600.000 18.909 600.000 19.855 600.000 19.855 600.000 22.187 600.000 22.187 600.000 99,397 50,000 99,380 50,000 90,909 99,350 50,000 90,909 90,909 99,714 90,909 99,714 90,909 99,699 90,909 99,699 90,909 99,664 90,909 99,664 0,603 50,000 0,620 50,000 9,091 0,650 50,000 9,091 9,091 0,287 9,091 0,287 9,091 0,301 9,091 0,301 9,091 0,336 9,091 0,336 Não Sim Não Sim Sim Não Sim Sim Sim Não Sim Não Sim Não Sim Não Sim Não Sim Não 1/1 1/1 1/10 1/1 1/10 1/10 1/10 1/10 1/10 1/10 1/10 A Tabela 5.5 apresenta informações dos dados de testes: quantidade de registros e percentuais de fraude e não fraude. Para o cenário de UCI, cada dataset foi dividido em 10 folds. Este método divide o conjunto de dados em 10 partições mutuamente exclusivas mantendo a proporção de classes dos dados originais. Finalizado todo esse uxo de preparação dos dados, o framework desenvolvido tem a capacidade de gerar modelos (regras) para a classicação dos registros de dados. 5.4 Experimentos e Resultados 49 Tabela 5.5: Datasets de fraude para teste. Teste Quantidade Percentual ID Não Fraude Fraude Total Registros Não Fraude Fraude 1 228.364 1.497 229.861 99,349 0,651 2 228.364 1.497 229.861 99,349 0,651 3 332.690 1.895 334.585 99,434 0,566 4 332.690 1.895 334.585 99,434 0,566 5 332.690 1.895 334.585 99,434 0,566 6 224.738 1.415 226.153 99,374 0,626 7 224.738 1.415 226.153 99,374 0,626 8 224.738 1.415 226.153 99,374 0,626 9 398.743 1.257 400.000 99,686 0,314 10 398.743 1.257 400.000 99,686 0,314 11 398.743 1.257 400.000 99,686 0,314 12 398.743 1.257 400.000 99,686 0,314 13 398.811 1.189 400.000 99,703 0,297 14 398.811 1.189 400.000 99,703 0,297 15 398.811 1.189 400.000 99,703 0,297 16 398.811 1.189 400.000 99,703 0,297 17 398.904 1.096 400.000 99,726 0,274 18 398.904 1.096 400.000 99,726 0,274 19 398.904 1.096 400.000 99,726 0,274 20 398.904 1.096 400.000 99,726 0,274 5.5 Experimentos e Resultados 5.5 Aplicação do O uxo de execução do 50 Framework framework é apresentado na Figura 5.2. Figura 5.2: Fluxo de execução do Framework. 1. Etapa 1: consiste na geração dos modelos através do algoritmo de Programação Genética desenvolvido, conforme apresentado na Seção 4.3; 2. Etapa 2: através do classicador desenvolvido, é feita a predição, conforme apresentado na Seção 4.4; 3. Etapa 3: por último, é realizado a geração dos resultados, conforme apresentado na Seção 4.4.2. Durante os experimentos com os datasets apresentados na Seção 5.3, o framework proposto foi congurado com os seguintes parâmetros descritos na Tabela 5.6: TM, é a taxa de mutação; TC, a taxa de cruzamento; NG, o número de gerações; TP, o tamanho da população. Tabela 5.6: Congurações do Framework ID TM TC NG TP 1 2,50% 75% 100 500 5.6 Experimentos e Resultados 51 Alguns testes preliminares foram feitos com outros valores de parâmetro. Porém, os valores que melhor atenderam a necessidade foram estes apresentados na Tabela 5.6. 5.6 Resultados Esta etapa consiste na apresentação e avaliação dos resultados obtidos na etapa de execução do algoritmo proposto. Para isso, conforme mostrado no Capítulo 4, são utilizadas algumas métricas para indicar a qualidade dos resultados. 5.6.1 Resultados datasets UOL Para o caso de fraude, os resultados obtidos são mostrados, onde o ponto no ranking de probabilidade de fraude dos resultados são maximizados. O experimento completo para o cenário de fraude foi realizado da seguinte forma: o algoritmo foi executado 20 vezes para cada na Tabela 5.7, onde EFR dataset. Os resultados são apresentados é a Eciência Econômica Relativa. Para facilitar a identicação, o melhor resultado é destacado em negrito. Lembrando que a EFR apresentada é gerada no melhor ponto do ranking. Em sua versão multi-objetivo, a Programação Genética, apesar de apresentar um resultado um pouco melhor, demonstrou-se com um desempenho computacional muito ruim, onde, em média, ultrapassou 48 horas de execução, o que praticamente datasets de fraude. Portanto foi decidido que os no Dataset 1. O resultado é apresentado na Tabela inviabilizou os testes nos outros testes seriam realizados apenas 5.8. Para o cenário de fraude, a solução proposta foi comparada com as seguintes técnicas: MLP, Random Forest e SVM. Esta comparação foi realizada em apenas um dos selecionado foi o datasets Dataset 1, os motivos dessa escolha foram: de fraude, o dataset 1. No início do desenvolvimento desta dissertação, foi elaborado um estudo mais Dataset 1, que inclusive gerou o artigo, "Using genetic programming to detect fraud in electronic transactions" (Assis et al., 2013); amplo utilizando o 2. As bases de dados são bastante volumosas, o que aumentaria o tempo de execução do algoritmo, causando assim a necessidade de mais prazo; O resultado desta comparação é apresentado na Tabela 5.9. A Figura 5.3 apresenta a comparação dos métodos desenvolvidos ao longo das execuções realizadas. Mostra que ao longo das execuções a versão multi-objetivo foi superior a mono-objetivo. A Figura 5.4 apresenta a comparação dos métodos desenvolvidos com as outras técnicas testadas ao longo das execuções realizadas. Mostra que ao longo das execuções as técnicas desenvolvidas foram superiores a outras técnicas. A m de obter uma comparação mais criteriosa do ponto de vista estatístico, utilizou-se uma abordagem de comparação proposta por (Carrano et al., 2011). 5.6 Experimentos e Resultados 52 Tabela 5.7: Resultados Tabela 5.8: Resultado datasets Código EFR 1 17,6% 2 15,69% 3 30,40% 4 29,70% 5 25,83% 6 33,49% 7 35,36% 8 35,72% 9 6,33% 10 0,14% 11 8,63% 12 1,25% 13 3,08% 14 0,05% 15 6,66% 16 0,00% 17 4,87% 18 4,76% 19 4,90% 20 3,75% Dataset 1 com Programação Genética Multi-objetivo. Código EFR 1 17,75% Tabela 5.9: Resultadas do Média Desvio Padrão UOL PagSeguro PG Multi PG Mono Dataset 1 MLP UOL. Random Forest SVM 17,75% 17,6% 15,30% 14,51% 0,71% 0,084 0,179 0,00 0,00 0,00 5.6 Experimentos e Resultados 53 Figura 5.3: Comparação das técnicas desenvolvidas. Figura 5.4: Comparação das técnicas desenvolvidas com as outras técnicas. Estes testes geram uma ordenação dos métodos, a qual é validada utilizando testes de permutação. O resultado nal do procedimento é uma ordenação estatisticamente embasada dos esquemas de entradas e o p-valor relacionado com cada uma das classicações. Todos os algoritmos são comparados entre si. Uma vez que o valor de conança adotado é de 95%, p-valores menores que 5% sugerem que os métodos são estatisticamente diferentes. De posse dos p-valores entre os algoritmos, é possível classicar os algoritmos. Um algoritmo que é estatisticamente melhor do que os outros sempre se encontra na primeira posição, um algoritmo que só é superado pela primeira ocupa a segunda posição e assim por diante. Quando dois (ou mais) algoritmos estão sobrelinha- dos (ou sublinhados), em conjunto, isto signica que não há nenhuma evidência estatística que tais algoritmos são diferentes. 5.6 Experimentos e Resultados 54 A notação adotada para representar os resultados alcançados após as comparações entre os algoritmos é apresentada nas Figuras 5.5 e 5.6. Para o entendimento da notação é necessário associar os algoritmos da seguinte forma: 1-PG Multi-objetivo, 2-PG Mono-objetivo, 3-MLP, 4-Random Forest e 5SVM. A Figura 5.5 mostra que estatisticamente os algoritmos desenvolvidos são superiores aos outros, quando aplicada ao conjunto de dados de fraude. Figura 5.5: Comparação estatística das técnicas desenvolvidas com as outras técnicas. A Figura 5.6 mostra que estatisticamente o PG multi-objetivo é superior ao mono-objetivo quando aplicado ao conjunto de dados de fraude. Figura 5.6: Comparação estatística entre as técnicas desenvolvidas. 5.6.2 Resultados datasets UCI O framework datasets conhecidos Breast Cancer Wisconsin, Hepatitis e Iris. completo para o cenário dos datasets de UCI foi realizado também foi submetido a experimentos em literatura, são eles: O experimento da se- guindo também a metodologia proposta. A execução do algoritmo foi realizada 1 vez para cada partição do dataset, garantindo assim a validação cruzada. A execução é repetida até que todas as partições tenham sido testadas. Todo experimento foi repetido 3 vezes. Totalizando 30 resultados para cada dataset. As métricas são cal- culadas considerando uma média dos resultados obtidos em cada partição de teste. A medida utilizada nestes cenários é a acurácia, visto que a maioria dos trabalhos da literatura usam esta medida para estes avaliarem estes Durante os testes nos datasets datasets. de UCI, a versão multi-objetivo da Programação Genética se demonstrou viável. Os melhores resultados das duas versões são apresentados na Tabela 5.10. Para efeito de comparação serão apresentados alguns trabalhos que utilizaram os mesmos datasets e a mesma medida de avaliação. Para facilitar a identicação, os resultados obtidos pelas técnicas propostas serão destacados em negrito. A Tabela 5.11 mostra uma comparação entre acurácia da classicação dos algoritmos propostos com outros métodos da literatura para Iris Dataset. Com base nos resultados, PG multi-objetivo tem a segunda posição no ranking, seguido pelo 5.6 Experimentos e Resultados 55 Tabela 5.10: Resultados da Programação Genética com Datasets UCI. Versão PG Iris Dataset Hepatitis Cancer Mono-objetivo 94,00 86,00 96,00 Multi-objetivo (SPEA2) 94,6 86,9 96,3 PG-Mono. Entre 11 algoritmos comparados, o PG multi-objetivo foi melhor do que 10. Tabela 5.11: Comparação Iris Dataset. Baseado em: (Devasena et al., 2011). Técnica Acurácia NNGE Classier PG Multi-objetivo PG Mono-objetivo JRIP Classier PART Classier RIDOR Classier OneR Classier Decision Table Classier DTNB Classier Conjunctive Rule Classier ZeroR Classier 96,00 94,6 94,00 94,00 94,00 94,00 94,00 92,67 92,00 66,67 33,33 A Tabela 5.12 mostra uma comparação entre acurácia da classicação dos algoritmos propostos com outros métodos da literatura para Hepatite Dataset. Com base nos resultados, o PG multi-objetivo tem a quarta posição no ranking. Embora a abordagem proposta não apresenta melhor resultado, o algoritmo mostra competitiva com outras técnicas. Entre 10 algoritmos comparados, os resultados do PG multi-objetivo foi melhor do que 6. A Tabela 5.13 mostra uma comparação entre acurácia da classicação dos algoritmos propostos com outros métodos da literatura para o Cancer Dataset. Com base nos resultados, PG multi-objetivo tem a terceira posição no ranking. Muito perto do segundo algoritmo, onde a diferença na acurácia é de apenas 0,05%. Entre 9 algoritmos de comparados, o PG multi-objetivo foi melhor do que 6. Da mesma forma como apresentado para o dataset de fraude, serão apresenta- dos nas Figuras 5.7, 5.8 e 5.9, os resultados estatísticos para os datasets de UCI. Estes resultados é a comparação entre os métodos desenvolvidos apenas. A comparação estatística entre os outros métodos não foi possível uma vez que utilizamos informações da literatura. A Figura 5.7 mostra que as técnicas desenvolvidas não possuem nenhuma diferença estatística para o conjunto de dados Iris. A Figura 5.8 mostra que as técnicas desenvolvidas não possuem nenhuma diferença estatística para o conjunto de dados Hepatitis. 5.6 Experimentos e Resultados 56 Tabela 5.12: Comparação Hepatitis Dataset. Baseado em: (Jilani et al., 2011). Técnica Acurácia PCA-ANN 15NN, stand. Euclidean FSM without rotations PG Multi-objetivo LDA Naïve Bayes and semiNB PG Mono-objetivo IncNet QDA, quadratic discriminant analysis 1NN 89,6 89 88,5 Tabela 5.13: Comparação Cancer Dataset. 86,9 86,4 86,3 86,0 86 85,8 85,3 Baseado em: (Salama et al., 2012). Técnica Acurácia SMO Linear discreet analysis PG Multi-objetivo PG Mono-objetivo Hybrid Approach Supervised fuzzy clustering Neuron-fuzzy C4.5 CART with feature selection (Chisquare) 97,715 96,8 96,3 96,0 95,96 95,57 95,06 94,74 92,61 5.6 Experimentos e Resultados 57 Figura 5.7: Comparação estatística entre as técnicas desenvolvidas para Iris Dataset. Figura 5.8: Comparação estatística entre as técnicas desenvolvidas para Hepatitis Dataset. A Figura 5.9 mostra que as técnicas desenvolvidas não possuem nenhuma diferença estatística para o conjunto de dados Cancer. Figura 5.9: Dataset. Comparação estatística entre as técnicas desenvolvidas para Cancer 5.6.3 Análises Após a realização desses experimentos, pode-se avaliar algumas hipóteses realizadas em relação à metodologia aplicada e a sua ecácia na resolução do problema. Essas hipóteses serão discutidas a seguir: • A seleção dos atributos é bastante relevante para a detecção de fraude: nos resultados apresentados, é possível analisar que em determinados casos, houve datasets que obtiveram ganhos bem superiores, quando avaliados com atri- butos diferentes. Para alguns pacote • Weka 6 datasets foi utilizado o algoritmo InfoGain do . Melhorar a distribuição das classes minoritárias pode gerar regras de classicação de melhor qualidade: é possível perceber que na maioria dos casos onde foi aplicado undersampling, houve ganhos em relação às bases onde a distribuição era real. • A eciência econômica permite avaliar a qualidade dos resultados, no contexto de fraude: uma vantagem competitiva de empresas que estão sujeitas fraude é a diminuição das perdas nanceiras, logo, quando a qualidade é avaliada com esta medida, permite-se realmente conhecer as perdas e ganhos. • Com os resultados obtidos dos datasets de UCI, os algoritmos demonstraram uma generalidade, podendo ser aplicados domínios diferentes ao de fraude; 6 http://www.cs.waikato.ac.nz/ml/weka/ 5.7 Experimentos e Resultados • A versão multi-objetivo ( 58 SPEA2 ) da Programação Genética pode gerar resul- tados melhores que a mono-objetivo: os resultados estatísticos mostram que nos datasets lhores, já nos de fraude testados, a versão multi-objetivo gera resultados me- datasets de UCI apesar da versão multi-objetivo ter apresentado uma média levemente superior, não foi detectada diferença estatística entre as amostras. Porém durante os experimentos, ca claro que quando submetido a volumes grandes de registros o algoritmo perde muita performance, dessa forma é necessário investigar técnicas para otimização. • O framework proposto é ecaz na detecção de fraude: os resultados mostram ganhos de eciência de até 35,72%. Suas grandes vantagens: (a) acoplável á vários banco de dados relacionais, (b) código aberto, (c) a linguagem de programação que foi desenvolvido é livre, (d) pode ser utilizado para classicação de datasets de outros domínios, (e) se comporta muito bem com datasets desbalanceados. 5.7 Considerações nais Este capítulo descreveu a experimentação e resultados obtidos, onde foi executada a metodologia proposta no Capítulo 4. Para a validação do processo de detecção de fraude foi utilizado um conjunto de dados real de uma das maiores empresas no Brasil de serviços de pagamentos eletrônicos. As etapas da metodologia proposta foram todas seguidas: o conjunto de dados foi recebido, assim foi realizado uma carga inicial dos dados, os atributos menos relevantes foram excluídos, aqueles atributos que necessitavam de tratamento, foram transformados, formando assim um conjunto de 20 datasets, que foram utilizados para execução da técnica de Programação Genética e posteriormente classicados. Os resultados obtidos com a técnica mostra ganhos em relação ao que a corporação obteve com seu processo interno de detecção de fraude. Além disso, os resultados mostram que a metodologia sugerida é eciente para geração de regras de classicação e para o processo de detecção de fraude. O framework também foi submetido a outros datasets conhecidos e os resultados apresentados são compatíveis em termos de acurácia com as técnicas utilizadas na literatura. O próximo capítulo irá apresentar uma visão geral sobre trabalhando realizado, além das conclusões e trabalhos futuros. Capítulo 6 Conclusão No Brasil e no mundo, as perdas com fraudes em comércio eletrônico atingem índices elevados. Em consequência disso as perdas nanceiras chegam a bilhões de dólares todos os anos. Este trabalho propôs uma metodologia, na qual incorpora um framework que utiliza a técnica de Programação Genética para detecção de fraudes em transações eletrônicas. Para que fosse possível o entendimento da problemática do estudo e a criação da técnica proposta, no Capítulo 2 foi apresentado uma ampla discussão sobre a história, funcionamento, entidades envolvidas e as fraudes em cartões de crédito. Também foi discutido tópicos sobre otimização e classicação de dados, além da apresentação de duas versões implementadas da técnica de Programação Genética. O primeiro algoritmo proposto neste trabalho foi a versão mono-objetivo da técnica, que serviu de base para o desenvolvimento da versão multi-objetivo, incorporando o algoritmo SPEA2 ao framework desenvolvido. A estrutura teórica necessária à implementação da solução proposta foi apresentada no Capítulo 2. No Capítulo 3 foram apresentados diversos trabalhos relacionados ao tema. A partir da análise destes trabalhos, não foi possível identicar nenhum trabalho que contemplasse os objetivos propostos neste trabalho que apresentasse uma proposta de Programação Genética para detecção de fraudes em transações eletrônicas com todas as características construídas. A metodologia foi detalhada no Capítulo 4, anal o trabalho proposto tem como alvo esta etapa. Na sequência foram discutidas as etapas necessárias para a implementação do trabalho, cujas etapas principais da metodologia são: pré- processamento (preparação dos dados), Programação Genética (mineração e geração de regras) e predição (classicação e analise dos resultados). Neste trabalho foram apresentadas algumas novidades implementadas para a solução proposta: • Uma estrutura em árvore n-ária para o indivíduo. Essa modicação traz uma grande otimização para o desempenho computacional para criação dos indivíduos e para os operadores genéticos, visto que a complexidade algorítmica na busca pelos nós do indivíduo diminui consideravelmente. • A elaboração de uma função adaptativa para os operadores genéticos. Essa adaptação permite alterar as taxas de cruzamento e mutação ao longo das 59 6.1 Conclusão 60 gerações, quando as soluções se estabilizam em nível de qualidade, fazendo com que o espaço de busca seja melhor explorado. • A criação de uma nova versão do algoritmo multi-objetivo de cálculo do tness assignment SPEA2, onde o passa a ser calculado por nicho. Esta estraté- gia apresentou uma grande vantagem na exploração do espaço de busca, pois permite a obtenção de vários pontos ótimos. Porém, a versão multi-objetivo proposta apresentou uma desvantagem que deve ser investigada. A complexidade do algoritmo aumentou, o que torna inviável para datasets de grande volume, ou seja, superiores a 100.000 registros. O Anexo A detalha o framework proposto. Por m, o Capítulo 5 apresenta a experimentação e resultados obtidos. Nesta etapa foram realizados experimentos nas duas versões da Programação Genética, em 20 outros 3 datasets conhecidos da literatura. datasets de um caso real e também Além disso, também foram feitas algumas comparações com alguns algoritmos consagrados. Os resultados apresentados para os ores ao cenário real da empresa. pository, datasets de fraude demonstraram-se superidatasets de UCI Machine Learning Re- Para os os resultados apresentam-se competitivos comparados a outros métodos relevantes da literatura. Portanto, deve-se considerar que os objetivos do trabalho foram atingidos. A técnica proposta possui alguns aspectos a serem considerados: possui integração com vários banco de dados; capacidade de lidar bem com grandes volumes de informação (versão mono-objetivo); código aberto e livre; fácil adaptação da função tness, podendo assim trabalhar com outras medidas de avaliação das regras; e a capacidade de lidar com datasets desbalanceados, visto que a maioria dos problemas reais possui desbalanceamento, o que faz da ferramenta proposta não só relevantes do ponto de vista cientíco, quanto do ponto de vista prático. 6.1 Trabalhos futuros Muitas características do algoritmo podem ser implementadas para atingir resultados melhores, são elas: • A versão multi-objetivo apresentou resultados melhores que a mono-objetivo, uma vez que em quando comparado estatisticamente, foi melhor em dois testes e nos outros testes não houve diferença. Porém, a versão multi-objetivo proposta não apresentou uma performance aceitável para datasets volumosos, ou seja, com quantidade de registros superiores a 100.000. Desta forma é necessário investigar técnicas para redução da complexidade computacional do algoritmo, visando a aceleração do método. • Foram utilizados poucos bancos de dados da literatura. Assim, sugere-se que se aplique os algoritmos em mais bases de dados conhecidas. • A predição é realizada através de um algoritmo de contagem de votos, para um nível de acerto melhor do classicador, pode ser investigado uma outra técnica. 6.2 Conclusão • 61 Durante o trabalho, houve pouca variação dos parâmetros utilizados na Programação Genética, assim, sugere-se testes com uma combinação maior de parâmetros. • Adaptar o algoritmo para acesso a banco de dados tegração com problemas direcionados a BigData. NoSQL, permitindo a in- 6.2 Produção bibliográca durante o Mestrado O desenvolvimento dessa dissertação teve como produção bibliográca os seguintes trabalhos: Periódicos: Carlos Assis, Adriano Pereira, Marconi Pereira, Eduardo Carrano. A multiobjective genetic programming based approach for fraud detection in credit card transactions. Information Sciences. Artigo submetido. Conferências: Carlos Assis, Adriano Pereira, Marconi Pereira, Eduardo Carrano. 2013. Using genetic programming to detect fraud in electronic transactions. In Proceedings of the 19th Brazilian symposium on Multimedia and the web (WebMedia '13). ACM, New York, NY, USA, 337-340. DOI: 10.1145/2526188.2526221 Carlos Assis, Adriano Pereira, Marconi Pereira, Eduardo Carrano. Detecção de fraude em transações eletrônicas com cartões de crédito utilizando Programação Genética. In: IX Semana de Ciência & Tecnologia do CEFET/MG, 2013, Belo Horizonte. Anais da IX Semana de Ciência & Tecnologia do CEFET/MG, 2013. Resumo expandido. Carlos Assis, Adriano Pereira, Marconi Pereira, Eduardo Carrano. A genetic programming approach for fraud detection in electronic transactions. Artigo a ser submetido. Apêndice A O Framework A solução desenvolvida consiste de duas fases, a primeira diz respeito a construção do algoritmo de Programação Genética para descoberta de regras de classicação. E a segunda, a construção de um algoritmo classicador, que usa as regras geradas para predição das fraudes. Os algoritmos foram desenvolvidos utilizando a linguagem de programação Java 1 . O algoritmo apresentado na Seção 4.3 foi desenvolvido de maneira a compor um framework de classicação de padrões para detecção de fraudes em transações ele- trônicas, especicamente em cartões de crédito. Segundo (Markiewicz, 2000), um framework é um componente de software que se destina a resolver uma categoria de problemas semelhantes. Esse componente possui partes extensíveis ou exíveis, os framework deve soluciohot spots. As partes imutáveis, que constituem o núcleo do framework, são chamadas frozen spots. quais podem ser alterados, dependendo do problema que o nar, essas partes são chamadas de Como existe grande exibilidade de conguração e parametrização desse algoritmo, o framework ajudará a determinar combinações coerentes e alternativas de conguração adequadas a cada situação de uso. Assim, os hot spots a serem con- gurados são: tamanho da população, número de gerações, taxa de mutação, taxa de cruzamento, tabela alvo, conjunto de funções e terminais, e caso a versão multiobjetivo do algoritmo esteja sendo executado, é necessário enviar o tamanho da população externa. Os frozen spots são: função tness, acoplamento a o Sistema n-ária ou de Gerenciamento de Banco de Dados e o tipo da árvore do indivíduo ( binária ). A Figura A.1 mostra o desenho do núcleo do algoritmo de Programação Genética. Esse é o modulo main do algoritmo e é através dele que todo o processo é iniciado. A Figura A.2 mostra o desenho da estrutura de árvore projetada para o indivíduo. Dentro dessa estrutura é permitida a extensão das árvores. Assim os indivíduos podem ser projetados com várias estrutura de dados em árvore, o que torna a representação mais exível. A Figura A.3 mostra o desenho da estrutura dos nós terminais. A Figura A.4 mostra o desenho da estrutura dos nós funções. Para compor a etapa de predição da metodologia, conforme apresentado na Seção 4.4, foi construído um algoritmo que recebe os seguintes parâmetros: o nome do dataset de testes e o caminho de origem dos modelos gerados. Existem dois classi- 1 http://www.oracle.com/java/ 62 Referências biliográcas 63 cadores. O primeiro classicador é responsável pela predição dos datasets de fraude, esse tem como saída a Eciência Econômica. O segundo classicador é responsável pela predição das bases de UCI Machine Learning Repository 2 , este tem como saída a acurácia. A Figura A.5 mostra o diagrama de classe do algoritmo. Conforme apresentado, a solução foi implementada em duas versões: mono- objetivo e multi-objetivo. As versões estão disponíveis em um repositório público disponível através da Web 3 . A versão denominada ProjetoMestrado-3.0.0 é a versão mono-objetivo e o ProjetoMestrado-4.0.0 é a versão multi-objetivo. Para utilizar o framework, é necessário congurar os parâmetros na classe ConstantesProgramaGenetico. Estes parâmetros são apresentados na Tabela A.1. Tabela A.1: Parâmetros do framework Parâmetro Descrição Tipo TAMANHO_POPULACAO Tamanho da população Numérico TAMANHO_POPULACAO_EXTERNA Tamanho da população externa, quando a execução do PG multi-objetivo Numérico NUMERO_GERACOES Número de gerações Numérico TAXA_MUTACAO Taxa de mutação Numérico TAXA_CRUZAMENTO Taxa de cruzamento Numérico TABELA_ORIGEM_DADOS Tabela alvo Texto COLUNA_CLASSE Atributo classe da tabela alvo Texto Para instanciá-lo, é necessário executar o método ProgramacaoGenetica().executa(). JDK 1.5+ e o Os requisitos técnicos necessários para o funcionamento são: o banco de dados MySQL 5.1.56+. Nada impede a integração com outros bancos de driver corresponde do banco de dados instalado PoolConexaoBancoDados.getConnection(). capítulo, foi apresentado o framework construído e suas características, dados, basta para isso adicionar o e alterar o método Neste que será utilizado nos experimentos do próximo capítulo. 2 http://archive.ics.uci.edu/ml/ 3 https://code.google.com/p/data-mining-genetic-programming Referências Bibliográcas Figura A.1: Diagrama de classe do algoritmo de Programação Genética. 64 Referências Bibliográcas Figura A.2: Diagrama de classe da estrutura de árvore do indivíduo. Figura A.3: Estrutura nós terminais. 65 Referências Bibliográcas Figura A.4: Estrutura nós funções. Figura A.5: Diagrama de classe do algoritmo classicador. 66 Referências Bibliográcas Aleskerov, E.; Freisleben, B. e Rao, B. (1997). Cardwatch: a neural network based Computational Intelligence for Financial Engineering (CIFEr), 1997., Proceedings of the IEEE/IAFE, p. 220 database mining system for credit card fraud detection. 226, (1997). doi: 10.1109/CIFER.1997.618940. Amo, Sandra. (2004). Técnicas de mineração de dados. dade Brasileira de Computação. XXIV Congresso da Socie- Assis, Carlos; Pereira, Adriano; Pereira, Marconi e Carrano, Eduardo. (2013). Using genetic programming to detect fraud in electronic transactions. 19th Brazilian Symposium on Multimedia and the Web, Proceedings of the WebMedia '13, p. 337 340, New York, NY, USA. ACM. ISBN 978-1-4503-2559-2. doi: 10.1145/2526188. 2526221. Banzhaf, Wolfgang; Francone, Frank D.; Keller, Robert E. e Nordin, Peter. (1998). Genetic Programming: An Introduction: on the Automatic Evolution of Computer Programs and Its Applications. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA. ISBN 1-55860-510-X. Bentley, Peter J.; Kim, Jungwon; Jung, Gil H. e Choi, Jong U. Darwinian Detection of Credit Card Fraud. Korean Information Processing Society, (2000). Fuzzy 14th Annual Falll Symposium of the (2000). URL staff/P.Bentley/BEKIJUCHC1.pdf. http://www.cs.ucl.ac.uk/ Bhowan, Urvesh; Johnston, Mark e Zhang, Mengjie. (2011). Evolving ensembles in Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation, multi-objective genetic programming for classication with unbalanced data. GECCO '11, p. 13311338, New York, NY, USA. ACM. ISBN 978-1-4503-0557-0. doi: 10.1145/2001576.2001756. Bojarczuk, Celia C.; Lopes, Heitor S.; Freitas, Alex A. e Michalkiewicz, Edson L. January(2004). A constrained-syntax genetic programming system for discovering classication rules: Application to medical data sets. Artif. Intell. Med., v. 30, n. 1, p. 2748. ISSN 0933-3657. doi: 10.1016/j.artmed.2003.06.001. Bolton, Richard J. e Hand, David J. methods for fraud detection. September(2001). Unsupervised proling Conference on Credit Scoring and Credit Control. Brabazon, Anthony; Cahill, Jane; Keenan, Peter e Walsh, Daniel. tifying online credit card fraud using articial immune systems. Evolutionary Computation, p. 17, (2010). 67 (2010). Iden- IEEE Congress on Referências Bibliográcas 68 Caldeira, Evandro; Brandao, Gabriel; Campos, Hudson e Pereira, Adriano. (2012). Characterizing and evaluating fraud in electronic transactions. tin American, v. 0, p. 115122. Web Congress, La- doi: http://doi.ieeecomputersociety.org/10.1109/ LA-WEB.2012.16. Carrano, E.G.; Wanner, E.F. e Takahashi, R. H C. (2011). A multicriteria statistical based comparison methodology for evaluating evolutionary algorithms. Computation, IEEE Transactions on, v. 15, n. 6, p. 848870. Evolutionary ISSN 1089-778X. doi: 10.1109/TEVC.2010.2069567. Otimização de Estruturas com Multi-objetivos Via Algoritmos Genéticos de Pareto. PhD thesis, Universidade Federal do Rio de Janeiro, Castro, Rodrigo Evangelista de. Agosto(2001). URL www.lania.mx/~ccoello/EMOO/thesis_castro.pdf.gz. Chen, Rong-Chang; Luo, Shu-Ting; Liang, Xun e Lee, Vincent C S. (2005). Per- Neural Networks and Brain, 2005. ICNN B '05. International Conference on, volume 2, p. sonalized approach based on svm and ann for detecting credit card fraud. 810815, (2005). doi: 10.1109/ICNNB.2005.1614747. Coello, Carlos A. June(2000). An updated survey of ga-based multiobjective optimization techniques. ACM Comput. Surv., v. 32, n. 2, p. 109143. ISSN 0360-0300. doi: 10.1145/358923.358929. Deb, Kalyanmoy e Kalyanmoy, Deb. Evolutionary Algorithms. (2001). Multi-Objective Optimization Using John Wiley & Sons, Inc., New York, NY, USA. ISBN 047187339X. Devasena, C Lakshmi; Sumathi, T; Gomathi, VV e Hemalatha, M. (2011). Ef- fectiveness evaluation of rule based classiers for the classication of iris data set. Bonfring International Journal of Man Machine Interface, v. 1, n. Special http://www.journal.bonfring.org/papers/mmi/volume1/ BIJMMI-01-1002.pdf. Issue, p. 0509. URL Digital, Convergencia, Janeiro(2013). com.br/. URL http://convergenciadigital.uol. Acesso em: 15 janeiro 2013. Duman, Ekrem e Ozcelik, M. Hamdi. September(2011). Detecting credit card fraud by genetic algorithm and scatter search. Expert Syst. Appl., v. 38, n. 10, p. 13057 13063. ISSN 0957-4174. doi: 10.1016/j.eswa.2011.04.110. Eggermont, Jeroen. Symbolic Regression. Data Mining using Genetic Programming: Classication and PhD thesis, Institute for Programming research and Al- gorithmics, Leiden Institute of Advanced Computer Science, Faculty of Mathematics & Natural Sciences, Leiden University, The Netherlands, 14 Septem- https://openaccess.leidenuniv.nl/dspace/bitstream/1887/ 3393/1/proefschriftppi-eggermont.pdf. ber(2005). URL Esakov, Jerey e Weiss, Tom. Using C. (1989). Data Structures: An Advanced Approach Prentice-Hall, Inc., Upper Saddle River, NJ, USA. ISBN 0-13-198847-6. Referências Bibliográcas 69 Espejo, P.G.; Ventura, S. e Herrera, F. (2010). A survey on the application of genetic Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions on, v. 40, n. 2, p. 121144. ISSN 1094-6977. doi: programming to classication. 10.1109/TSMCC.2009.2033566. Falco, I De; Cioppa, A Della e Tarantino, E. (2002). Discovering interesting classication rules with genetic programming. Applied Soft Computing, v. 1, n. 4, p. 257 269. ISSN 1568-4946. doi: 10.1016/S1568-4946(01)00024-2. Fayyad, Usama M. October(1996). Data mining and knowledge discovery: Making sense out of data. IEEE Expert: Intelligent Systems and Their Applications, v. 11, p. 2025. ISSN 0885-9000. Fayyad, Usama M.; Piatetsky-Shapiro, Gregory e Smyth, Padhraic. (1996)a. Advances in knowledge discovery and data mining. Capítulo From data mining to knowledge discovery: an overview, p. 134. American Association for Articial Intelligence, Menlo Park, CA, USA. Fayyad, Usama M.; Piatetsky-Shapiro, Gregory e Smyth, Padhraic. (1996)b. From data mining to knowledge discovery in databases. Fecomercio Janeiro(2013). URL AI Magazine, v. 17, n. 3, p. 3754. http://www.fecomercio.com.br/. Acesso em: 15 janeiro 2013. Freitas, Alex A. (2002). Algorithms. Data Mining and Knowledge Discovery with Evolutionary Springer-Verlag New York, Inc., Secaucus, NJ, USA. ISBN 3540433317. Freitas, Marcos Aurélio de. (2013). Falsidade ideológica em compras com cartão não presente e comparação entre modelos de prevenção. Master's thesis, Escola de Economia de São Paulo. Gadi, M. F. A. e Lago, A. P. (2006). Tópicos em ciência da computação monograa. (2006). Gayathri, R. e Malathi, A. November(2013). Investigation of data mining techniques in fraud detection: Credit card. International Journal of Computer Applications, v. 82, n. 9, p. 1215. Published by Foundation of Computer Science, New York, USA. System Sciences, 1994. Proc. of the 27th Hawaii International Conference on, volume 3, p. Ghosh, S. Jan(1994). Credit card fraud detection with a neural-network. 621630, Jan(1994). Globo.com Janeiro(2013). URL http://revistapegn.globo.com. Acesso em: 15 janeiro 2013. Goldberg, David E. (1989). chine Learning. Genetic Algorithms in Search, Optimization and Ma- Addison-Wesley Longman Publishing Co., Inc., New York, NY, USA. Guo, Tao. July(2008). Neural data mining for credit card fraud detection. tional Conf. on Machine Learning and Cybernetics, volume 7, July(2008). Interna- Referências Bibliográcas Holland, J. H. (1975). 70 Adaptation in Natural and Articial Systems. University of Michigan Press, Ann Arbor, MI, USA. Jilani, Tahseen A.; Yasin, Huda e Yasin, Madiha Mohammad. Article: Pca-ann for classication of hepatitis-c patients. Computer Applications, February(2011). International Journal of v. 14, n. 7, p. 16. Published by Foundation of Computer Science. Júnior, José Felipe. Março(2012). Mineração de dados para detecção de fraudes em transações eletrônicas. Master's thesis, Universidade Federal de Minas Gerais. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA. ISBN 0-262-11170-5. Koza, John R. (1992). Lima, Rafael Alexandre França e Pereira, Adriano Cesar Machado. (2012). Fraud Proceedings of the 18th Brazilian symposium on Multimedia and the web, WebMedia '12, p. 273280, New York, NY, USA. ACM. ISBN detection in web transactions. 978-1-4503-1706-1. doi: 10.1145/2382636.2382695. Linden, R. Algoritmos Genéticos (2a edição). (2008). 9788574523736. URL BRASPORT. ISBN http://books.google.com.br/books?id=it0kv6UsEMEC. Luna, J.M.; Romero, J.R. e Ventura, S. (2010). G3parm: A grammar guided genetic programming algorithm for mining association rules. (CEC), 2010 IEEE Congress on, p. 18, (2010). Evolutionary Computation doi: 10.1109/CEC.2010.5586504. Markiewicz, C.J.P.M.; Lucena. October(2000). Understanding object-oriented framework engineering. URL 00_38_markiewicz.pdf. Montana, David J. ftp://ftp.inf.puc-rio.br/pub/docs/techreports/ (1994). Strongly typed genetic programming. Computation, v. 3, p. 199230. Evolutionary Moraes, Dalila de. Agosto(2008). Modelagem de fraude em cartão de crédito. Master's thesis, Universidade Federal de São Carlos. Ngai, E.W.T.; Hu, Yong; Wong, Y.H.; Chen, Yijun e Sun, Xin. (2011). The application of data mining techniques in nancial fraud detection: framework and an academic review of literature. A classication Decision Support Systems, v. 50, n. 3, p. 559 569. ISSN 0167-9236. doi: http://dx.doi.org/10.1016/j.dss.2010.08.006. Pappa, Gisele L. e Freitas, Alex A. (2009). Evolving rule induction algorithms with multi-objective grammar-based genetic programming. Systems, v. 19, n. 3, p. 283309. Knowledge and Information ISSN 0219-1377. doi: 10.1007/s10115-008-0171-1. Pappa, Gisele Lobo. (2002). Seleção de atributos utilizando algoritmos genéticos multiobjetivos. Master's thesis, Universidade Católica do Paraná. Pereira, Marconi; Júnior, Clodoveu Augusto Davis; Carrano, Eduardo Gontijo e deVasconcelos, João Antônio. (2014). A niching genetic programming-based multiobjective algorithm for hybrid data classication. Neurocomputing, , n. 0, p. . 0925-2312. doi: http://dx.doi.org/10.1016/j.neucom.2013.12.048. ISSN Referências Bibliográcas 71 Pereira, Marconi Arruda; Davis Júnior, Clodoveu Augusto e Vasconcelos, João Antônio. (2010). A niched genetic programming algorithm for classication rules dis- covery in geographic databases. of LNCS, Simulated Evolution and Learning, p. 260269. Springer Berlin Heidelberg. volume 6457 ISBN 978-3-642-17297-7. doi: 10.1007/978-3-642-17298-4_27. Pereira, Marconi de Arruda. Evolucionários. Classicação de Dados Híbridos Através de Algoritmos PhD thesis, Universidade Federal de Minas Gerais, (2012). Phua, Clifton; Lee, Vincent C. S.; Smith-Miles, Kate e Gayler, Ross W. A comprehensive survey of data mining-based fraud detection research. (2010). CoRR, v. abs/1009.6119. Pun, Joseph e Lawryshyn, Yuri. October(2012). Article: Improving credit card fraud detection using a meta-classication strategy. Applications, v. 56, n. 10, p. 4146. International Journal of Computer Published by Foundation of Computer Science, New York, USA. Ross, Brian J. Genetic programming implementations, September(2013). URL http://www.cosc.brocku.ca/Offerings/5P71/. Salama, Gouda I; Abdelhalim, MB e Zeid, Magdy Abd-elghany. (2012). cancer diagnosis on three dierent datasets using multi-classiers. Journal of Computer and Information Technology, International v. 32, n. 569, p. 2. URL //ijcit.com/archives/volume1/issue1/Paper010105.pdf. Breast http: Sharma, Anuj e Panigrahi, Prabin Kumar. February(2012). Article: A review of nancial accounting fraud detection based on data mining techniques. Journal of Computer Applications, International v. 39, n. 1, p. 3747. Published by Foundation of Computer Science, New York, USA. Soltani, N.; Akbari, M.K. e Javan, M.S. (2012). A new user-based model for credit 6th CSI International Symposium on Articial Intelligence and Signal Processing (AISP), p. 029033, (2012). card fraud detection based on articial immune system. doi: 10.1109/AISP.2012.6313712. Sternberg, M. e Reynolds, R.G. (1997). Using cultural algorithms to support reengineering of rule-based expert systems in dynamic performance environments: a case study in fraud detection. Evolutionary Computation, IEEE Transactions on, v. 1, n. 4, p. 225243. ISSN 1089-778X. doi: 10.1109/4235.687883. Vriesmann, Leila Maria. Março(2006). Boosting e estratégias evolucionárias na tarefa de regressão para a mineração de dados temporais. Master's thesis, Universidade Federal do Paraná. Webshoppers Janeiro(2013). URL http://www.webshoppers.com.br/. Acesso em: 15 janeiro 2013. Xu, Chun-Gui e Liu, Kun-Hong. (2008). tion of multiclass microarray datasets. A gp based approach to the classica- Huang, De-Shuang; Wunsch, IIDonaldC.; Referências Bibliográcas 72 Advanced Intelligent Computing Theories and Applications. With Aspects of Articial Intelligence, volume 5227 of Lecture Notes in Computer Science, p. 340346. Springer Berlin Heidelberg. ISBN 978-3- Levine, DanielS. e Jo, Kang-Hyun, editors, 540-85983-3. doi: 10.1007/978-3-540-85984-0_42. Zitzler, E.; Laumanns, M. e Thiele, L. (2002). SPEA2: Improving the Strength Pareto Evolutionary Algorithm for Multiobjective Optimization. Giannakoglou, K.C. Evolutionary Methods for Design, Optimisation and Control with Application to Industrial Problems (EUROGEN 2001), p. 95100. International Cene others editors, ter for Numerical Methods in Engineering (CIMNE), (2002).