Técnicas de Programação Genética para Detecção de Fraudes em Transações Eletrônicas

Tamanho: px
Começar a partir da página:

Download "Técnicas de Programação Genética para Detecção de Fraudes em Transações Eletrônicas"

Transcrição

1 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

2 C376m Assis, Carlos Alberto Silva de. Técnicas de Programação Genética para Detecção de Fraudes em Transações Eletrônicas./ Carlos Alberto Silva de Assis 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

3 Dedico este trabalho à minha esposa Karine, aos meus lhos Lucas e Guilherme em especial a minha mãe Maria Helena. iii

4 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

5 "A vida me ensinou a nunca desistir. Nem ganhar, nem perder mas procurar evoluir." Alexandre Magno Abrão (Chorão) v

6 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 detecção de fraudes (charge back) nas transações eletrônicas, mais especicamente nas 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 Online, Web, Detecção e Prevenção de Fraudes, Computação Evolucionária. vi

7 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

8 Sumário 1 Introdução Motivação Objetivo geral e especícos Contribuições Organização da dissertação Fundamentação teórica Cartões de Crédito Fraudes em Transações Eletrônicas Fraudes com Cartões de Crédito Prevenção e detecção Modelos supervisionados e não supervisionados Processo de Descoberta de Conhecimento em Banco de Dados Classicação de Dados Otimização Computação Evolucionária Programação Genética Indivíduo Operadores Genéticos SPEA2 - Strenght Pareto Evolutionary Algorithm Cálculo do tness Seleção e truncamento Considerações nais Trabalhos relacionados Detecção de fraudes em transações eletrônicas com cartão de crédito Programação Genética para Classicação Considerações nais Metodologia Etapas da Metodologia Pré-processamento Programação Genética Indivíduo Geração da população inicial Avaliação da Função Fitness Seleção viii

9 4.3.5 Operadores Genéticos Geração da nova População Multi-objetivo Predição Score de Fraude Eciência Econômica Ranking Considerações nais Experimentos e Resultados UOL PagSeguro UCI Machine Learning Datasets utilizados Preparação dos dados Aplicação do Framework Resultados Resultados datasets UOL Resultados datasets UCI Análises Considerações nais Conclusão Trabalhos futuros Produção bibliográca durante o Mestrado A O Framework 62 Referências biliográcas 63 ix

10 Lista de Tabelas 4.1 Exemplo de um ranking Datasets UOL PagSeguro Datasets UCI Divisão treino e teste Datasets de fraude para treinamento Datasets de fraude para teste Congurações do Framework Resultados datasets UOL PagSeguro Resultado Dataset 1 com Programação Genética Multi-objetivo Resultadas do Dataset 1 UOL Resultados da Programação Genética com Datasets UCI Comparação Iris 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

11 Lista de Figuras 1.1 Mapa mental da estrutura da dissertação Visão geral das etapas que compõem o processo KDD. Fonte: (Fayyad et al., 1996b) Conjunto de soluções factíveis com população de seis soluções Sub-áreas da Computação Evolucionária. Baseado em: (Castro, 2001) Fluxograma do funcionamento básico de um Programa Genético Exemplo de indivíduo na Programação Genética Exemplo de cruzamento na Programação Genética Exemplo de mutação na Programação Genética Fluxo SPEA Metodologia de detecção de fraudes em transações eletrônicas Exemplo de indivíduo representando um predicado lógico SQL Geração de população inicial Matriz de Confusão Cruzamento Mutação Sub-etapas da etapa de predição Fluxo de preparação dos dados Fluxo de execução do Framework Comparação das técnicas desenvolvidas Comparação das técnicas desenvolvidas com as outras técnicas Comparação estatística das técnicas desenvolvidas com as outras técnicas Comparação estatística entre as técnicas desenvolvidas Comparação estatística entre as técnicas desenvolvidas para Iris Dataset Comparação estatística entre as técnicas desenvolvidas para Hepatitis Dataset Comparação estatística entre as técnicas desenvolvidas para Cancer Dataset A.1 Diagrama de classe do algoritmo de Programação Genética A.2 Diagrama de classe da estrutura de árvore do indivíduo A.3 Estrutura nós terminais A.4 Estrutura nós funções A.5 Diagrama de classe do algoritmo classicador xi

12 Lista de Acrônimos AG Algoritmo Genético KDD Knowledge Discovery in Databases PG Programação Genética SPEA2 Strenght Pareto Evolutionary Algorithm 2 RBF Radial Basis Function SVM Support Vector Machine G3PARM Grammar Guided Genetic Programming for Association Rule Mining DMGeo Niched Genetic Programming Algorithm Data Mining in Geographic Databases NSGA2 Non Sorting Genetic Algorithm II UOL Universo Online xii

13 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. Os dados foram apresentados na 27 a 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 1

14 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. No Brasil, segundo a CyberSource, o número de compradores online 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. A empresa 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 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.

15 1.3 Introdução 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; Avaliar o desempenho das implementações do framework proposto; Aplicar e validar o framework em cenários reais; Melhorar a identicação de perdas comerciais através de uma busca por padrões que indiquem a possibilidade de fraude. 1.3 Contribuições A principal contribuição deste trabalho é uma metodologia que incorpora um framework baseado em Programação Genética para a detecção de fraudes em transações eletrônicas 2. 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 SPEA2. A adaptação sugerida permite o cálculo do tness assignment por nicho, a m de se obter as melhores regras de classicação para as n 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 UCI Machine Learning, validando a aplicabilidade do framework também à outros domínios. 2

16 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 Programa 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 oportunidades 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 classi- cados 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.

17 1.4 Introdução 5 Figura 1.1: Mapa mental da estrutura da dissertação

18 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. Serão apresentados os principais tópicos sobre Programação Genética (PG) e do Strenght Pareto Evolutionary Algorithm 2 (SPEA2), um algoritmo multiobjetivo 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

19 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 BankAmericard do Bank of America. Este sistema iniciou suas atividades operando apenas no estado da Califórnia em 1959 e passou a operar nos demais estados americanos em 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- nidos envolvidos em seu funcionamento: Portador (Card Holder), Estabelecimento (Merchant), Adquirente (Acquire), Bandeira(Brand), Emissor (Issuer). A seguir, são brevemente descritos cada um destes agentes: 1. Portador (Card Holder): Pessoa que tem como objetivo adquirir bens ou contratar 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 serviços e receber o pagamento dos seus clientes por meio do cartão de crédito. Aqui é representado pelos sites de pagamentos online; 3. Adquirente (Acquirer): 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.

20 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 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

21 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 de inexistência de fundos no momento do lançamento do estorno 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 divulgaçã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. Nesta dissertação, estão sendo tratados modelos supervisionados. 1

22 2.4 Fundamentação teórica 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 desenvolvedores 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 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

23 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 tarefa e o que é uma técnica de mineração de dados. A 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: classicação, análise de associação, agrupamento, entre outras. A técnica 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

24 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 mono-objetivo e multiobjetivo. 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 apresentação da Expressão 2.1 (Deb e Kalyanmoy, 2001). As funções f m (x), para os objetivos m = 1, 2,..., M, são minimizadas ou maximizadas a partir das restrições g j (x) 0, j = 1, 2,..., J e h k (x) = 0, k = 1, 2,..., K. A solução X é o vetor com n variáveis de decisão X = (x 1, x 2,..., x n ) T, tal que x i está contido no espaço de decisão D denido pelos respectivos limites inferiores e superiores x (I) i e x (S) i. Minimizar f m (x), m = 1, 2,..., M; sujeito à g j (x) 0, j = 1, 2,..., J; (2.1) x (I) i h k (x) = 0, k = 1, 2,..., K; x i x (S) i, i = 1, 2,..., n; A otimização multiobjetivo, conforme denida na Equação 2.1, contempla J restrições de desigualdade e K restrições de igualdade. A solução candidata X que atende às J + K restrições é denominada solução factível. Casos onde as restrições de igualdade e desigualdade não são satisfeitas, X é denominada solução infactível.

25 2.6 Fundamentação teórica 13 O espaço de decisão D n-dimensional constituído por x (I) i as solução candidatas no espaço objetivo Z M-dimensional. x i x (S) i mapeia Como o espaço de objetivo possui dimensão M, a otimização multiobjetivo também é referenciada como otimização do vetor de objetivos X M. Para espaços Z unidimensionais (M = 1), 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 i e j. Denota-se i j quando a solução i domina j. Particularmente, uma solução i domina uma solução j se duas condições são satisfeitas: A solução i não é pior que j em nenhum dos objetivos. A solução i é estritamente melhor que a solução j 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 f 1 e f 2. Nesse exemplo, os casos de dominação são relacionados: z (2) domina z (1) ; z (3) domina z (1), z (4) e z (5) ; z (6) domina z (4) e z (5) ; z (4) domina z (5) ; e z (1) e z (5) 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.

26 2.7 Fundamentação teórica 14 Denição 2.1 (Dominância:) Para um problema de maximização, considere x 1 e x 2 dois pontos quaisquer do espaço de variáveis X. Tem-se que x 1 x 2, ou seja, x 1 domina x 2, se f(x 1 ) f(x 2 ) e f(x 1 ) f(x 2 ). De forma equivalente, diz-se que f(x 1 ) domina f(x 2 ). Denição 2.2 (Solução Pareto-Ótima:) x F x é uma solução Pareto-Ótima do problema de otimização multiobjetivo se não existe qualquer outra solução x F x tal que f(x) f(x ) e f(x) f(x ), ou seja, se x não é dominado por nenhum outro ponto factível do problema. Onde F x é 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á realizar, no contexto da computação evolucionária, o processo de otimização multiobjetivo do problema pesquisado. O detalhamento do SPEA2 é apresentado na Seção Computação Evolucionária A Computação Evolucionária (EC - Evolutionary Computation) é um dos ramos da Inteligência Computacional que propõe um paradigma para a solução de problemas inspirado na seleção natural. A EC baseia-se na teoria da evolução proposta por Charles Darwin em 1858 em seu livro A Origem das Espécies e compreende um conjunto 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.

27 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. Na etapa de avaliação (função tness), cada indivíduo é executado e um valor de qualidade do indivíduo é determinado. 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 e

28 2.8 Fundamentação teórica 16 Figura 2.4: Fluxograma do funcionamento básico de um Programa Genético 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-

29 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 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 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 função tness. Função tness 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,

30 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 p i é a probabilidade do individuo i ser escolhido pela roleta e f i é 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. p i = f i fi (2.2) Adicionalmente, a seleção pode ser implementada por torneio e elitismo. No torneio, os indivíduos podem ser postos em n-uplas 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 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 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:

31 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.

32 2.9 Fundamentação teórica 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 contagem, 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 SPEA2, uma população inicial é gerada, um arquivo vazio é criado e o tness 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 tness associado com cada indivíduo. Todos os indivíduos com 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 e 2.9.2, apresentam os principais passos do SPEA Cálculo do tness O cálculo do tness é feito em dois passos: Primeiro, em uma geração t, para cada indivíduo i na população externa P t e na população P t é atribuído um valor S(i), conforme a Equação 2.3, representando o

33 2.9 Fundamentação teórica 21 número de soluções dominadas pela solução i. P t é o conjunto das melhores soluções encontradas entre as gerações. Onde j também é uma solução. S(i) = {j tal que j P t + P t i j} (2.3) Onde. a cardinalidade do conjunto, + representa a união dos conjuntos (população e arquivo externo), t é a geração atual e o símbolo corresponde a relação de dominância de Pareto, onde i j indica que uma solução i domina j. Segundo, o tness R(i) de um indivíduo i é determinado pelo número de soluções que dominam i em P t e P t conforme a Equação 2.4. Isto signica que R(i) é a soma dos S(i) das soluções j que dominam i em P t e P t. R(i) = S(j) (2.4) j P t+p t,j i 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. Nesse caso, foi incorporado a informação de densidade D(i) 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) = 1 σ k i + 2 (2.5) Onde, o valor da densidade, para cada indivíduo i, é dado pela distância (no espaço objetivo) de todos os indivíduos j no arquivo e na população, e armazenado em uma lista. Esta lista é ordenada em ordem crescente e a distância procurada é dada pelo k-ésimo elemento, denotado por σ k i. No denominador, é adicionado 2, para garantir que seu valor seja maior que zero e que D(i) < 1. Recomenda-se que o k seja feito pela Equação 2.6, onde N é o tamanho da população e N o tamanho da população externa. k = N + N (2.6) Assim o tness total de um indivíduo i é dado pela Equação 2.7. F (i) = R(i) + D(i) (2.7) Seleção e truncamento O primeiro passo do método de seleção é copiar todos os indivíduos não dominados de P t e de P t para a população externa da próxima geração P t + 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.

34 2.10 Fundamentação teórica 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 SPEA 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.

35 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

36 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 ) e redes neurais articiais (RNA), para investigar o problema de fraude variável no tempo. Os desempenhos de ANN 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 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 Arti- ciais (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

37 3.2 Trabalhos relacionados 25 o comportamento do usuário. 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 random forest, redes neurais, SVM 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. O algoritmo proposto, foi comparado com um algoritmo genético e com C4.5. 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

38 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 descobrir regras de associação. Os autores zeram uma comparação entre o algoritmo G3PARM e dois algoritmos multiobjetivo frequentemente utilizado na literatura conhecido 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 ferramenta 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 (C4.5), Support Vector Machine (SVM) e Radial Basis Function (RBF). O algoritmo foi utilizado para classicar os dados em seis diferentes problemas. O algoritmo proposto superou os outros em todos os casos testados.

39 3.3 Trabalhos relacionados 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 Sharma e Panigrahi (2012) pesquisaram 45 artigos sobre o assunto publicados entre 1995 e 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 identicando suas características, são eles: O ECJ 1, é um framework desenvolvido em Java que possui um modulo de Programaçã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. JGAP 2, 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. BEAGLE 3, é 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, poré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 tness adaptável; versão multi-objetivo adaptada baseada no SPEA2 ; 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. 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 eclab/projects/ecj/ 2 3 https://code.google.com/p/beagle/

40 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

41 4.3 Metodologia de Pesquisa 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 undersampling durante o processo de carga dos dados. Undersampling é 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.

42 4.3 Metodologia de Pesquisa 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 SQL 1, 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: os tipos implementados são booleano (lógico) ou numérico (real); Parâmetros: 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. 1 Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional

43 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 n-ária. Uma árvore 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 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 na geração de arvores irregulares. A diferença, é que o método grow varia a profundidade da árvore e como a árvore do indivíduo proposta é n-aria, o que varia portanto é o número de nós. O método é ilustrado na Figura 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:

44 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 ); Cálculo da função tness (Seção ) 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: (T P +T N) ; (T P +T N+F P +F N) Sensibilidade: (T P ) ; (T P +F N) Especicidade: (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

45 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 Cálculo da Função Fitness O cálculo da função tness utiliza os valores de acurácia, sensibilidade e especicidade medidos para cada indivíduo. A fórmula utilizada nesse trabalho é: f 1 (I, X) = Acurácia(I, X) Sensibilidade(I, X) Especificidade(I, X). Onde f(i, X) é o valor de tness e I é o indivíduo que identica padrões pertencentes à classe X 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 Seleção O método de seleção utilizado nesse trabalho é o torneio, conforme o mesmo já foi denido na Seção 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.

46 4.3 Metodologia de Pesquisa 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 realizaçã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: p c, p m, hist, max, taxa. Respectivamente representam a probabilidade inicial de cruzamento, probabilidade 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: p c, p m, hist, max, taxa 2 p cinitial p c 3 p minitial p m 4 gersemmelhora 0 5 se hist melhorou 6 p c p cinitial 7 p m p minitial 8 gersemm elhora 0 9 else 10 gersemm elhora gersemm elhora m-se 12 se gersemmelhora >= max 13 p c p c + taxa 14 p m p m + taxa 15 m-se 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 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.

47 4.3 Metodologia de Pesquisa 35 Figura 4.5: Cruzamento Mutação O algoritmo proposto para este projeto utiliza as quatro categorias que foram citadas na Seção É 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.

48 4.3 Metodologia de Pesquisa 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 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 simples, ela conserva os n e melhores indivíduos da população atual, copiando-os para a próxima geração sem nenhuma alteração. Os outros n n e indivíduos da população 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) 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 ) e o outro, a minimização do tamanho de cada uma das regras, conforme a função: f 2 (I, X) = (QtdMaxNos 0, 5 QtdNos(I, X) 0, 5)/(QtdMaxNos 1). Onde, 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 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: [ ] f1 (I, X) Maximizar : f 2 (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

49 4.3 Metodologia de Pesquisa 37 original do SPEA2 proposta por (Zitzler et al., 2002). A diferença da solução proposta 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 strength tness, raw tness e consequentemente de tness assignment; A complexidade do algoritmo aumenta consideravelmente, pois para cada classe existente no problema de classicação é feito um novo calculo do tness assignment; 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 registros. O Pseudocódigo 2, apresenta as modicações propostas no algoritmo SPEA2. O algoritmo SPEA2 foi adotado como implementação, pois a solução proposta permite utilizar mais de duas funções objetivo. Segundo Zitzler et al. (2002) o SPEA2 apresenta vantagens em comparação a outras abordagens multi-objetivo quando aplicado a uma dimensão alta de objetivos.

50 4.4 Metodologia de Pesquisa 38 Algoritmo 2: Pseudocódigo do 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 (S i População) 7 Si objetivos calculateobjetivos(s i ) 8 m-para 9 União população + populaçãoexterna 10 para cada nicho 11 para (S i União) 12 Si raw calcularawfitness(s i, União, nicho) 13 Si densidade calculadensidade(s i, União, nicho) 14 Si fitness Si raw + Si densidade 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.

51 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 = T P T P + F P (4.1) T P Revocacao, r = (4.2) T P + F N A Medida F1 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. F 1 = 2rp r + p = 2T P (4.3) 2T P + F P + F N Cabe destacar que Precisão, Revocação e Medida F1 são calculadas por classe Score de Fraude Os classicadores selecionados podem fornecer como resultado um score de um registro 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.

52 4.4 Metodologia de Pesquisa 40 Esta pontuação (score) é realizada através de um algoritmo de contagem de votos. 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 score. O algoritmo possui dois parâmetros de entrada: melhoresregrasf e melhoresregrasn F, representando as melhores regras de fraude e não fraude respectivamente. 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: PG Mono-objetivo: as dez melhores regras, de acordo com o tness; 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 scorenf 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 - não devem haver duas regras que sejam disparadas pelo mesmo registro; (2) Regras Completas - cada registro deve ser coberto por pelo menos uma regra. Muitos classicadores baseados em regras não possuem tais propriedades. 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 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

53 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 resultados 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 matriz de confusão. O cálculo de Eciência Econômica (EE) é apresentado na Equação 4.4. EE = n (G j gr L j lr) (4.4) j=1 Onde n representa o número de transações existentes, G j, representa o valor nanceiro da transação verdadeira negativa (TN), ou seja, aquela que foi aceita corretamente, gr é o percentual de ganho da empresa em uma transação bem sucedida, L j, é 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 (EE_Max), onde o termo (L lr) da Equação 4.4 é igual a 0, 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. O segundo limite consiste na Eciência Econômica Real (EE_Real), 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 (EE_Min), onde o termo (G gr) da Equação 4.4 é igual a 0, 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. EE_Max = EE_Min = n (G j gr) (4.5) j=1 n ( L j lr) (4.6) 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) e 0% o cenário real (EE_Real). EE EE_Real EE Relativa = (4.7) EE_Max EE_Real Na seção seguinte será apresentada como é utilizada a medida desempenho dos modelos. j=1

54 4.5 Metodologia de Pesquisa 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 ID é o identicador de transação, P é a pontuação de fraude, Real é o rótulo verdadeiro da transação, P red é o rótulo previsto, V é o valor da transação, EE é a eciência econômica da transação e EE S é 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 EE S % F F R$ 601,00 R$ 0,00 0, % NF NF R$ 500,00 R$ 15,00 15, % NF NF R$ 466,00 R$ 13,98 28, % NF NF R$ 600,00 R$ 18,00 46, % NF NF R$ 500,00 R$ 15,00 61, % NF NF R$ 1.000,00 R$ 30,00 91, % NF NF R$ 1.100,00 R$ 33,00 124, % F NF R$ 800,00 R$ -776,00-651, % 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 framework desenvolvido.

55 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 Learning. 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. 5.1 UOL PagSeguro 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 Web empresas que buscam fornecer soluções para pagamentos online 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 online, que garante a segurança de quem compra e de quem vende na Web. Quem faz uma compra com UOL PagSeguro 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 1. Em Janeiro de 2007 o UOL 2 adquiriu a BRpay. Em Abril de 2007 a BRpay foi escolhida pela InfoExame 3 como a melhor solução para pagamentos online. Em Ju- 1 https://pagseguro.uol.com.br/sobre_o_pagseguro.jhtml

56 5.3 Experimentos e Resultados 44 lho de 2007, o UOL lançou o 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 A 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 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 datasets do UCI: total de registros, quantidade de atributos. 4 https://pagseguro.uol.com.br/ 5 https://pagseguro.uol.com.br/sobre_o_pagseguro.jhtml

57 5.3 Experimentos e Resultados 45 Tabela 5.1: Datasets UOL PagSeguro. ID Total Registros Número Atributos Tipo dos Atributos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Numéricos e Categóricos Tabela 5.2: Datasets UCI. Dataset Total Registros Número Atributos Iris Hepatitis Cancer (Original)

58 5.4 Experimentos e Resultados 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 numé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; 5. Etapa 5: por último, é realizado a criação dos datasets, realizando a divisão em treinamento e teste. Em alguns casos, foi aplicado a técnica de undersampling. 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.

59 5.4 Experimentos e Resultados 47 Tabela 5.3: Divisão treino e teste. Quantidade Percentual ID Treino Teste Treino Teste ,814 24, ,643 96, ,717 31, ,652 97, ,032 86, ,871 25, ,731 96, ,569 82, ,514 95, ,000 40, ,514 95, ,000 40, ,729 95, ,000 40, ,729 95, ,000 40, ,255 94, ,000 40, ,255 94, ,000 40,000

60 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 dataset foi aplicado 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. Quantidade Tabela 5.4: Datasets de fraude para treinamento. Treino Percentual ID Não Fraude Fraude Total Registros Não Fraude Fraude Undersampling ,397 0,603 Não ,000 50,000 Sim 1/ ,380 0,620 Não ,000 50,000 Sim 1/ ,909 9,091 Sim 1/ ,350 0,650 Não ,000 50,000 Sim 1/ ,909 9,091 Sim 1/ ,909 9,091 Sim 1/ ,714 0,287 Não ,909 9,091 Sim 1/ ,714 0,287 Não ,909 9,091 Sim 1/ ,699 0,301 Não ,909 9,091 Sim 1/ ,699 0,301 Não ,909 9,091 Sim 1/ ,664 0,336 Não ,909 9,091 Sim 1/ ,664 0,336 Não 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.

61 5.4 Experimentos e Resultados 49 Tabela 5.5: Datasets de fraude para teste. Quantidade Teste Percentual ID Não Fraude Fraude Total Registros Não Fraude Fraude ,349 0, ,349 0, ,434 0, ,434 0, ,434 0, ,374 0, ,374 0, ,374 0, ,686 0, ,686 0, ,686 0, ,686 0, ,703 0, ,703 0, ,703 0, ,703 0, ,726 0, ,726 0, ,726 0, ,726 0,274

62 5.5 Experimentos e Resultados Aplicação do Framework O uxo de execução do 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 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%

63 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 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 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 dataset. Os resultados são apresentados na Tabela 5.7, onde EFR é 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 inviabilizou os testes nos outros datasets de fraude. Portanto foi decidido que os testes seriam realizados apenas no Dataset 1. O resultado é apresentado na Tabela 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 datasets de fraude, o dataset selecionado foi o Dataset 1, os motivos dessa escolha foram: 1. No início do desenvolvimento desta dissertação, foi elaborado um estudo mais amplo utilizando o Dataset 1, que inclusive gerou o artigo, "Using genetic programming to detect fraud in electronic transactions" (Assis et al., 2013); 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).

64 5.6 Experimentos e Resultados 52 Tabela 5.7: Resultados datasets UOL PagSeguro 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% Tabela 5.8: Resultado Dataset 1 com Programação Genética Multi-objetivo. Código EFR 1 17,75% Tabela 5.9: Resultadas do Dataset 1 UOL. PG Multi PG Mono MLP Random Forest SVM Média 17,75% 17,6% 15,30% 14,51% 0,71% Desvio Padrão 0,084 0,179 0,00 0,00 0,00

65 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 sobrelinhados (ou sublinhados), em conjunto, isto signica que não há nenhuma evidência estatística que tais algoritmos são diferentes.

66 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 5- SVM. 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 Resultados datasets UCI O framework também foi submetido a experimentos em datasets conhecidos da literatura, são eles: Breast Cancer Wisconsin, Hepatitis e Iris. O experimento completo para o cenário dos datasets de UCI foi realizado seguindo 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 calculadas 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 datasets. Durante os testes nos 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 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

67 5.6 Experimentos e Resultados 55 Tabela 5.10: Resultados da Programação Genética com Datasets UCI. Dataset Versão PG Iris 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 96,00 PG Multi-objetivo 94,6 PG Mono-objetivo 94,00 JRIP Classier 94,00 PART Classier 94,00 RIDOR Classier 94,00 OneR Classier 94,00 Decision Table Classier 92,67 DTNB Classier 92,00 Conjunctive Rule Classier 66,67 ZeroR Classier 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 apresentados 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.

68 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 89,6 15NN, stand. Euclidean 89 FSM without rotations 88,5 PG Multi-objetivo 86,9 LDA 86,4 Naïve Bayes and seminb 86,3 PG Mono-objetivo 86,0 IncNet 86 QDA, quadratic discriminant analysis 85,8 1NN 85,3 Tabela 5.13: Comparação Cancer Dataset. Baseado em: (Salama et al., 2012). Técnica Acurácia SMO 97,715 Linear discreet analysis 96,8 PG Multi-objetivo 96,3 PG Mono-objetivo 96,0 Hybrid Approach 95,96 Supervised fuzzy clustering 95,57 Neuron-fuzzy 95,06 C4.5 94,74 CART with feature selection (Chisquare) 92,61

69 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: Comparação estatística entre as técnicas desenvolvidas para Cancer Dataset 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 atributos diferentes. Para alguns datasets foi utilizado o algoritmo InfoGain do pacote Weka 6. 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

70 5.7 Experimentos e Resultados 58 A versão multi-objetivo (SPEA2 ) da Programação Genética pode gerar resultados melhores que a mono-objetivo: os resultados estatísticos mostram que nos datasets de fraude testados, a versão multi-objetivo gera resultados melhores, já nos 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.

71 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

72 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 SPEA2, onde o cálculo do tness assignment 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 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 datasets de um caso real e também outros 3 datasets conhecidos da literatura. Além disso, também foram feitas algumas comparações com alguns algoritmos consagrados. Os resultados apresentados para os datasets de fraude demonstraram-se superiores ao cenário real da empresa. Para os datasets de UCI Machine Learning Repository, 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 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.

73 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 NoSQL, permitindo a integração com problemas direcionados a BigData. 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 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, DOI: / 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 CE- FET/MG, Resumo expandido. Carlos Assis, Adriano Pereira, Marconi Pereira, Eduardo Carrano. A genetic programming approach for fraud detection in electronic transactions. Artigo a ser submetido.

74 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 eletrô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 quais podem ser alterados, dependendo do problema que o framework deve solucionar, essas partes são chamadas de hot spots. As partes imutáveis, que constituem o núcleo do framework, são chamadas frozen spots. 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 de Gerenciamento de Banco de Dados e o tipo da árvore do indivíduo (n-ária ou 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

75 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: monoobjetivo 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 é a versão mono-objetivo e o ProjetoMestrado é 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(). Os requisitos técnicos necessários para o funcionamento são: o JDK 1.5+ e o banco de dados MySQL Nada impede a integração com outros bancos de dados, basta para isso adicionar o driver corresponde do banco de dados instalado e alterar o método PoolConexaoBancoDados.getConnection(). Neste capítulo, foi apresentado o framework construído e suas características, que será utilizado nos experimentos do próximo capítulo https://code.google.com/p/data-mining-genetic-programming

76 Referências Bibliográcas 64 Figura A.1: Diagrama de classe do algoritmo de Programação Genética.

77 Referências Bibliográcas 65 Figura A.2: Diagrama de classe da estrutura de árvore do indivíduo. Figura A.3: Estrutura nós terminais.

78 Referências Bibliográcas 66 Figura A.4: Estrutura nós funções. Figura A.5: Diagrama de classe do algoritmo classicador.

Complemento IV Introdução aos Algoritmos Genéticos

Complemento IV Introdução aos Algoritmos Genéticos Complemento IV Introdução aos Algoritmos Genéticos Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações e

Leia mais

Você sabia que... O pagamento numa loja virtual. Guia #6 Como as formas de pagamento podem interferir nas minhas vendas

Você sabia que... O pagamento numa loja virtual. Guia #6 Como as formas de pagamento podem interferir nas minhas vendas Guia #6 Como as formas de pagamento podem interferir nas minhas vendas Você sabia que... Hoje, 77% dos brasileiros já utilizam cartão de crédito, aponta estudo do Serviço de Proteção ao Crédito (SPC Brasil)

Leia mais

3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS

3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS 3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS 3.1 - Conceitos Básicos Entendemos como algoritmo um conjunto predeterminado e bem definido de regras

Leia mais

Conteúdo 1. FRAUDES... 2 1.1. A história das fraudes na Indústria de Cartões... 2 1.2. O que o estabelecimento deve fazer para vender de forma segura

Conteúdo 1. FRAUDES... 2 1.1. A história das fraudes na Indústria de Cartões... 2 1.2. O que o estabelecimento deve fazer para vender de forma segura Conteúdo 1. FRAUDES... 2 1.1. A história das fraudes na Indústria de Cartões... 2 1.2. O que o estabelecimento deve fazer para vender de forma segura pela Internet?... 3 1.3. Como a Cielo pode ajudar seu

Leia mais

Pontifícia Universidade Católica do Paraná Programa de Pós-Graduação em Informática Aplicada. Computação Evolutiva. Luiz Eduardo S. Oliveira, Ph.D.

Pontifícia Universidade Católica do Paraná Programa de Pós-Graduação em Informática Aplicada. Computação Evolutiva. Luiz Eduardo S. Oliveira, Ph.D. Pontifícia Universidade Católica do Paraná Programa de Pós-Graduação em Informática Aplicada Computação Evolutiva Luiz Eduardo S. Oliveira, Ph.D. 2005 Sumário 1 Introdução 1 2 Algoritmos Genéticos 3 2.1

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 04 Algoritmos Genéticos Introdução Algoritmos genéticos são bons para abordar espaços de buscas muito grandes e navegálos

Leia mais

Fraudes No Varejo Virtual: O Que Aprendemos na Submarino - Maio/04

Fraudes No Varejo Virtual: O Que Aprendemos na Submarino - Maio/04 Fraudes No Varejo Virtual: O Que Aprendemos na Submarino - Maio/04 - Tópicos Características da Internet Prevenção de fraudes pelos comerciantes Sistemas de detecção Ferramentas Processos Pessoas Compromisso

Leia mais

- Computação Evolutiva -

- Computação Evolutiva - - Computação Evolutiva - Prof. Dr. Cícero Garrozi DEINFO - UFRPE PPGIA@UFRPE cicerog@gmail.com Site da disciplina: http://cicerog.blogspot.com Sumário Situando a Computação Evolucionária Metáfora principal

Leia mais

Prof. Msc. Paulo Muniz de Ávila

Prof. Msc. Paulo Muniz de Ávila Prof. Msc. Paulo Muniz de Ávila O que é Data Mining? Mineração de dados (descoberta de conhecimento em bases de dados): Extração de informação interessante (não-trivial, implícita, previamente desconhecida

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos UNIVERSIDADE PRESBITERIANA MACKENZIE Laboratório de Computação Natural LCoN I ESCOLA DE COMPUTAÇÃO NATURAL Algoritmos Genéticos Rafael Xavier e Willyan Abilhoa Outubro/2012 www.computacaonatural.com.br

Leia mais

SAIBA COMO SE PREVENIR DAS FRAUDES E EVITAR PREJUÍZOS NAS VENDAS PELA INTERNET

SAIBA COMO SE PREVENIR DAS FRAUDES E EVITAR PREJUÍZOS NAS VENDAS PELA INTERNET Conteúdo 1. FRAUDES... 2 1.1. A história das fraudes na Indústria de Cartões... 2 1.2. O que o estabelecimento deve fazer para vender de forma segura pela Internet?... 2 1.3. Como a Cielo pode ajudar seu

Leia mais

ALGORITMO HÍBRIDO PARA SISTEMAS DE RECOMENDAÇÃO UTILIZANDO FILTRAGEM COLABORATIVA E ALGORITMO GENÉTICO

ALGORITMO HÍBRIDO PARA SISTEMAS DE RECOMENDAÇÃO UTILIZANDO FILTRAGEM COLABORATIVA E ALGORITMO GENÉTICO ALGORITMO HÍBRIDO PARA SISTEMAS DE RECOMENDAÇÃO UTILIZANDO FILTRAGEM COLABORATIVA E ALGORITMO GENÉTICO Renan de Oliveira Yamaguti Faculdade de Engenharia de Computação / CEATEC renan.yamaguti@terra.com.br

Leia mais

KDD UMA VISAL GERAL DO PROCESSO

KDD UMA VISAL GERAL DO PROCESSO KDD UMA VISAL GERAL DO PROCESSO por Fernando Sarturi Prass 1 1.Introdução O aumento das transações comerciais por meio eletrônico, em especial as feitas via Internet, possibilitou as empresas armazenar

Leia mais

Aprendizagem de Máquina

Aprendizagem de Máquina Aprendizagem de Máquina Professor: Rosalvo Ferreira de Oliveira Neto Disciplina: Inteligência Artificial Tópicos 1. Definições 2. Tipos de aprendizagem 3. Paradigmas de aprendizagem 4. Modos de aprendizagem

Leia mais

IMPLEMENTAÇÃO DE UM ALGORITMO DE PADRÕES DE SEQUÊNCIA PARA DESCOBERTA DE ASSOCIAÇÕES ENTRE PRODUTOS DE UMA BASE DE DADOS REAL

IMPLEMENTAÇÃO DE UM ALGORITMO DE PADRÕES DE SEQUÊNCIA PARA DESCOBERTA DE ASSOCIAÇÕES ENTRE PRODUTOS DE UMA BASE DE DADOS REAL Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM IMPLEMENTAÇÃO DE UM ALGORITMO DE PADRÕES DE SEQUÊNCIA PARA DESCOBERTA DE ASSOCIAÇÕES

Leia mais

OTIMIZAÇÃO VETORIAL. Formulação do Problema

OTIMIZAÇÃO VETORIAL. Formulação do Problema OTIMIZAÇÃO VETORIAL Formulação do Problema Otimização Multiobjetivo (também chamada otimização multicritério ou otimização vetorial) pode ser definida como o problema de encontrar: um vetor de variáveis

Leia mais

ADM041 / EPR806 Sistemas de Informação

ADM041 / EPR806 Sistemas de Informação ADM041 / EPR806 Sistemas de Informação UNIFEI Universidade Federal de Itajubá Prof. Dr. Alexandre Ferreira de Pinho 1 Sistemas de Apoio à Decisão (SAD) Tipos de SAD Orientados por modelos: Criação de diferentes

Leia mais

KDD. Fases limpeza etc. Datamining OBJETIVOS PRIMÁRIOS. Conceitos o que é?

KDD. Fases limpeza etc. Datamining OBJETIVOS PRIMÁRIOS. Conceitos o que é? KDD Conceitos o que é? Fases limpeza etc Datamining OBJETIVOS PRIMÁRIOS TAREFAS PRIMÁRIAS Classificação Regressão Clusterização OBJETIVOS PRIMÁRIOS NA PRÁTICA SÃO DESCRIÇÃO E PREDIÇÃO Descrição Wizrule

Leia mais

Como aumentar as vendas do seu e-commerce. Marcos Bueno Fundador e CEO Akatus Meios de Pagamento

Como aumentar as vendas do seu e-commerce. Marcos Bueno Fundador e CEO Akatus Meios de Pagamento Como aumentar as vendas do seu e-commerce Marcos Bueno Fundador e CEO Akatus Meios de Pagamento 2013 O e-commerce se prepara para um crescimento histórico 2000 Banda larga chega ao Brasil. É lançado no

Leia mais

Problemas Multi-modais e Distribuições Espaciais em Algoritmos Genéticos.

Problemas Multi-modais e Distribuições Espaciais em Algoritmos Genéticos. Problemas Multi-modais e Distribuições Espaciais em Algoritmos Genéticos. Thiago da Mota Souza Coordenação de Pós-Graduação e Pesquisa de Engenharia Centro de Tecnologia Universidade Federal do Rio de

Leia mais

Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan

Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan 1 Unidade 4.5 2 1 BI BUSINESS INTELLIGENCE BI CARLOS BARBIERI

Leia mais

Conceitos Básicos de Algoritmos Genéticos: Teoria e Prática

Conceitos Básicos de Algoritmos Genéticos: Teoria e Prática Conceitos Básicos de Algoritmos Genéticos: Teoria e Prática Thatiane de Oliveira Rosa 1, Hellen Souza Luz 2 1 Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Caixa

Leia mais

Introdução às Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais Introdução às Redes Neurais Artificiais Treinamento via Algoritmos Genéticos Prof. João Marcos Meirelles da Silva http://www.professores.uff.br/jmarcos Departamento de Engenharia de Telecomunicações Escola

Leia mais

Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka

Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka 1 Introdução A mineração de dados (data mining) pode ser definida como o processo automático de descoberta de conhecimento em bases de

Leia mais

Algoritmos Genéticos em Mineração de Dados. Descoberta de Conhecimento. Descoberta do Conhecimento em Bancos de Dados

Algoritmos Genéticos em Mineração de Dados. Descoberta de Conhecimento. Descoberta do Conhecimento em Bancos de Dados Algoritmos Genéticos em Mineração de Dados Descoberta de Conhecimento Descoberta do Conhecimento em Bancos de Dados Processo interativo e iterativo para identificar padrões válidos, novos, potencialmente

Leia mais

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1

Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Aula 4 Introdução aos Sistemas Biométricos 1. Identificação, Autenticação e Controle

Leia mais

Figura 1.1: Exemplo de links patrocinados no Google

Figura 1.1: Exemplo de links patrocinados no Google 1 Links Patrocinados 1.1 Introdução Links patrocinados são aqueles que aparecem em destaque nos resultados de uma pesquisa na Internet; em geral, no alto ou à direita da página, como na Figura 1.1. Figura

Leia mais

APLICAÇÃO DE MINERAÇÃO DE DADOS PARA O LEVANTAMENTO DE PERFIS: ESTUDO DE CASO EM UMA INSTITUIÇÃO DE ENSINO SUPERIOR PRIVADA

APLICAÇÃO DE MINERAÇÃO DE DADOS PARA O LEVANTAMENTO DE PERFIS: ESTUDO DE CASO EM UMA INSTITUIÇÃO DE ENSINO SUPERIOR PRIVADA APLICAÇÃO DE MINERAÇÃO DE DADOS PARA O LEVANTAMENTO DE PERFIS: ESTUDO DE CASO EM UMA INSTITUIÇÃO DE ENSINO SUPERIOR PRIVADA Lizianne Priscila Marques SOUTO 1 1 Faculdade de Ciências Sociais e Aplicadas

Leia mais

Pós-Graduação em Engenharia Elétrica Inteligência Artificial

Pós-Graduação em Engenharia Elétrica Inteligência Artificial Pós-Graduação em Engenharia Elétrica Inteligência Artificial João Marques Salomão Rodrigo Varejão Andreão Inteligência Artificial Definição (Fonte: AAAI ): "the scientific understanding of the mechanisms

Leia mais

Quem Somos. www.stone.com.br

Quem Somos. www.stone.com.br Manual E-commerce ÍNDICE 03 04 05 05 06 07 08 09 10 11 12 Quem Somos Como funciona O que é um Gateway? Gateways parceiros Cancelamento de uma transação Chargebacks Portal de Serviços Conciliação Dicas

Leia mais

Tutorial do Lojista. www.cielo.com.br/ecommerce. Em caso de dúvidas, entre em contato com o nosso Suporte e-commerce (Atendimento 7 dias por

Tutorial do Lojista. www.cielo.com.br/ecommerce. Em caso de dúvidas, entre em contato com o nosso Suporte e-commerce (Atendimento 7 dias por Tutorial do Lojista Em caso de dúvidas, entre em contato com o nosso Suporte e-commerce (Atendimento 7 dias por semana, 24 horas por dia): E-mail: cieloecommerce@cielo.com.br Telefones: Capitais: 4002

Leia mais

Revisão Inteligência Artificial ENADE. Prof a Fabiana Lorenzi Outubro/2011

Revisão Inteligência Artificial ENADE. Prof a Fabiana Lorenzi Outubro/2011 Revisão Inteligência Artificial ENADE Prof a Fabiana Lorenzi Outubro/2011 Representação conhecimento É uma forma sistemática de estruturar e codificar o que se sabe sobre uma determinada aplicação (Rezende,

Leia mais

MINERAÇÃO DE DADOS PARA DETECÇÃO DE FRAUDES EM TRANSAÇÕES ELETRÔNICAS

MINERAÇÃO DE DADOS PARA DETECÇÃO DE FRAUDES EM TRANSAÇÕES ELETRÔNICAS MINERAÇÃO DE DADOS PARA DETECÇÃO DE FRAUDES EM TRANSAÇÕES ELETRÔNICAS JOSÉ FELIPE JÚNIOR MINERAÇÃO DE DADOS PARA DETECÇÃO DE FRAUDES EM TRANSAÇÕES ELETRÔNICAS Dissertação apresentada ao Programa de Pós-Graduação

Leia mais

SUMÁRIO. por: tayara Correa nunes

SUMÁRIO. por: tayara Correa nunes SUMÁRIO 1. INtRODUÇÃO 2. HISTÓRIA DO CARTÃO 3. CARÁCTERISTICAS DO CARTÃO 4. COMO USAR - passo a passo 5. BENEFÍCIOS E VANTAGENS 6. POR QUE USAR O CARTÃO E NÃO O DINHEIRO Utilização do E-BOOK OBS.. O autor

Leia mais

Algoritmos Genéticos (GA s)

Algoritmos Genéticos (GA s) Algoritmos Genéticos (GA s) 1 Algoritmos Genéticos (GA s) Dado um processo ou método de codificar soluções de um problema na forma de cromossomas e dada uma função de desempenho que nos dá um valor de

Leia mais

Informações da empresa e do mercado de meios de pagamento eletrônicos

Informações da empresa e do mercado de meios de pagamento eletrônicos Informações da empresa e do mercado de meios de pagamento eletrônicos Por que olhar para o mercado de pagamentos eletrônicos? Incremento do comércio Aumento do ticket médio em R$ 12 (débito), R$ 51 (crédito)

Leia mais

Introdução. Capítulo 1

Introdução. Capítulo 1 Capítulo 1 Introdução Em computação, muitos problemas são resolvidos por meio da escrita de um algoritmo que especifica, passo a passo, como resolver um problema. No entanto, não é fácil escrever um programa

Leia mais

SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos

SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos Fredson Vieira Costa 1, Fábio Silveira Vidal 1, Claudomiro Moura Gomes André 1 1 Curso de Bacharelado em Ciência da Computação

Leia mais

Proposta de Parceria. Documento Confidencial

Proposta de Parceria. Documento Confidencial Proposta de Parceria Quem Somos Uma empresa criada em 2011 com objetivo de prestar serviços e oferecer produtos para o mercado financeiro e de meios eletrônicos de pagamento. Criada por executivos de larga

Leia mais

Computação BioInspirada

Computação BioInspirada Computação BioInspirada Os Engenheiros da Natureza Fabrício Olivetti de França The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore

Leia mais

A SOLUTION OF N-QUEENS PROBLEM BY GENETIC ALGORITHMS

A SOLUTION OF N-QUEENS PROBLEM BY GENETIC ALGORITHMS UMA SOLUÇÃO DO PROBLEMA DAS N RAINHAS ATRAVÉS DE ALGORITMOS GENÉTICOS A SOLUTION OF N-QUEENS PROBLEM BY GENETIC ALGORITHMS Eliane Vendramini de Oliveira Mestre em Engenharia Elétrica UNESP/ Ilha Solteira

Leia mais

DINHEIRO DE PLÁSTICO- CARTÕES DE DÉBITO E CRÉDITO

DINHEIRO DE PLÁSTICO- CARTÕES DE DÉBITO E CRÉDITO DINHEIRO DE PLÁSTICO- CARTÕES DE DÉBITO E CRÉDITO Os cartões de débito e crédito facilitam o dia a dia e proporcionam maior segurança tanto para o cliente pessoa física quanto para as empresas que se utilizam

Leia mais

Concepção e Elaboração

Concepção e Elaboração UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Análise e Projeto Orientado a Objetos Concepção e Elaboração Estudo

Leia mais

Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento a partir de bases de dados

Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento a partir de bases de dados Universidade Federal de Pernambuco Graduação em Ciência da Computação Centro de Informática 2006.2 Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento

Leia mais

Otimização de Recuperação de Informação usando Algoritmos Genéticos

Otimização de Recuperação de Informação usando Algoritmos Genéticos Otimização de Recuperação de Informação usando Algoritmos Genéticos Neide de Oliveira Gomes, M. Sc., nog@inpi.gov.br Prof. Marco Aurélio C. Pacheco, PhD Programa de Doutorado na área de Métodos de Apoio

Leia mais

PERGUNTAS FREQUENTES

PERGUNTAS FREQUENTES PERGUNTAS FREQUENTES SERVIÇO MB WAY O que é o MB WAY? O MB WAY é a primeira solução interbancária que permite fazer compras e transferências imediatas através de smartphone ou tablet. Basta aderir ao serviço

Leia mais

Perguntas mais frequentes

Perguntas mais frequentes Perguntas mais frequentes CARACTERÍSTICAS DO PRODUTO Quais as vantagens do Multi Moeda Cash Passport em relação a Cheques de Viagem e ao Cartão de Crédito? Os cartões de crédito aplicam a Variação Cambial,

Leia mais

Um Processo para Modelagem e Aplicação de Técnicas Computacionais para Detecção de Fraudes em Transações Eletrônicas. Gabriel Preti Santiago

Um Processo para Modelagem e Aplicação de Técnicas Computacionais para Detecção de Fraudes em Transações Eletrônicas. Gabriel Preti Santiago Um Processo para Modelagem e Aplicação de Técnicas Computacionais para Detecção de Fraudes em Transações Eletrônicas Gabriel Preti Santiago Dissertação apresentada ao Instituto de Matemática e Estatística

Leia mais

Gerenciamento de Qualidade

Gerenciamento de Qualidade UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Gerenciamento de Qualidade Engenharia de Software 2o. Semestre de

Leia mais

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Planejamento Estratégico de TI. Prof.: Fernando Ascani Planejamento Estratégico de TI Prof.: Fernando Ascani Data Warehouse - Conceitos Hoje em dia uma organização precisa utilizar toda informação disponível para criar e manter vantagem competitiva. Sai na

Leia mais

Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse

Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse Definição escopo do projeto (departamental, empresarial) Grau de redundância dos dados(ods, data staging) Tipo de usuário alvo (executivos, unidades) Definição do ambiente (relatórios e consultas préestruturadas

Leia mais

SISTEMAS INTELIGENTES DE APOIO À DECISÃO

SISTEMAS INTELIGENTES DE APOIO À DECISÃO SISTEMAS INTELIGENTES DE APOIO À DECISÃO As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas

Leia mais

SISTEMAS DE APRENDIZADO PARA A IDENTIFICAÇÃO DO NÚMERO DE CAROÇOS DO FRUTO PEQUI LEARNING SYSTEMS FOR IDENTIFICATION OF PEQUI FRUIT SEEDS NUMBER

SISTEMAS DE APRENDIZADO PARA A IDENTIFICAÇÃO DO NÚMERO DE CAROÇOS DO FRUTO PEQUI LEARNING SYSTEMS FOR IDENTIFICATION OF PEQUI FRUIT SEEDS NUMBER SISTEMAS DE APRENDIZADO PARA A IDENTIFICAÇÃO DO NÚMERO DE CAROÇOS DO FRUTO PEQUI Fernando Luiz de Oliveira 1 Thereza Patrícia. P. Padilha 1 Conceição A. Previero 2 Leandro Maciel Almeida 1 RESUMO O processo

Leia mais

Cartões de Crédito A Visão do Comércio Varejista. Fecomercio

Cartões de Crédito A Visão do Comércio Varejista. Fecomercio Cartões de Crédito A Visão do Comércio Varejista Fecomercio SOBRE A FECOMERCIO Principal entidade sindical paulista dos setores de comércio e serviços Congrega 152 sindicatos patronais, que abrangem mais

Leia mais

1.Introdução. 2. Posicionamento

1.Introdução. 2. Posicionamento 1.Introdução 1.1 Finalidade Este documento tem o objetivo de demonstrar as necessidades e problemas que a rede de clínicas de vacinação IMUNIZA encontra em seu dia a dia, propondo após um levantamento

Leia mais

BackOffice do Lojista. Versão 1.24.1

BackOffice do Lojista. Versão 1.24.1 BackOffice do Lojista Versão 1.24.1 1 INTRODUÇÃO... 3 1.1 Cinemática das transações... 4 2 BACKOFFICE... 5 2.1 Login... 5 2.2 Código da primeira conexão... 6 2.3 Dados de Acesso... 7 2.4 Plataforma...

Leia mais

DWARF DATAMINER: UMA FERRAMENTA GENÉRICA PARA MINERAÇÃO DE DADOS

DWARF DATAMINER: UMA FERRAMENTA GENÉRICA PARA MINERAÇÃO DE DADOS DWARF DATAMINER: UMA FERRAMENTA GENÉRICA PARA MINERAÇÃO DE DADOS Tácio Dias Palhão Mendes Bacharelando em Sistemas de Informação Bolsista de Iniciação Científica da FAPEMIG taciomendes@yahoo.com.br Prof.

Leia mais

VEÍCULO: VALOR ECONÔMICO SEÇÃO: VAREJO DATA: 22.02.2011

VEÍCULO: VALOR ECONÔMICO SEÇÃO: VAREJO DATA: 22.02.2011 VEÍCULO: VALOR ECONÔMICO SEÇÃO: VAREJO Valor Econômico - SP 22/02/2011-08:39 Fraude migra de cartão para web 'Internet banking' responde por 22% dos prejuízos com crimes eletrônicos Da Redação "Prezado

Leia mais

apresentação iagente shop

apresentação iagente shop apresentação iagente shop Rua Sport Clube São José, 54 506. Porto Alegre Rio Grande do Sul CEP: 91030-510 Fone: (51) 3398.7638 e-mail: www.iagenteshop.com.br www.iagente.com.br Data: 01 de Abril de 2009

Leia mais

O USO DA FERRAMENTA SOLVER DO EXCEL NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR

O USO DA FERRAMENTA SOLVER DO EXCEL NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR O USO DA FERRAMENTA SOLVER DO EXCEL NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR João Batista de Jesus FATEC-JAHU Célio Favoni 2 FATEC-JAHU Resumo Este trabalho expõe de maneira sintetizada as funcionalidades

Leia mais

Técnicas de Seleção de Atributos utilizando Paradigmas de Algoritmos Disciplina de Projeto e Análise de Algoritmos

Técnicas de Seleção de Atributos utilizando Paradigmas de Algoritmos Disciplina de Projeto e Análise de Algoritmos Técnicas de Seleção de Atributos utilizando Paradigmas de Algoritmos Disciplina de Projeto e Análise de Algoritmos Theo Silva Lins, Luiz Henrique de Campos Merschmann PPGCC - Programa de Pós-Graduação

Leia mais

Inteligência Computacional [2COP229]

Inteligência Computacional [2COP229] Inteligência Computacional [2COP229] Mestrado em Ciência da Computação Sylvio Barbon Jr barbon@uel.br (2/24) Tema Aula 1 Introdução ao Reconhecimento de Padrões 1 Introdução 2 Componentes clássicos da

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

Leia mais

3 Metodologia de Previsão de Padrões de Falha

3 Metodologia de Previsão de Padrões de Falha 3 Metodologia de Previsão de Padrões de Falha Antes da ocorrência de uma falha em um equipamento, ele entra em um regime de operação diferente do regime nominal, como descrito em [8-11]. Para detectar

Leia mais

Exemplo de Aplicação do DataMinig

Exemplo de Aplicação do DataMinig Exemplo de Aplicação do DataMinig Felipe E. Barletta Mendes 19 de fevereiro de 2008 INTRODUÇÃO AO DATA MINING A mineração de dados (Data Mining) está inserida em um processo maior denominado Descoberta

Leia mais

Técnicas de Programação Genética para Descoberta de Fraudes em Transações de Comércio Eletrônico

Técnicas de Programação Genética para Descoberta de Fraudes em Transações de Comércio Eletrônico Técnicas de Programação Genética para Descoberta de Fraudes em Transações de Comércio Eletrônico Carlos A. S. Assis 1, Adriano C. M. Pereira 2, Marconi A. Pereira 3, Eduardo G. Carrano 4 1 Centro Federal

Leia mais

Conhecendo os Processos de Cobrança

Conhecendo os Processos de Cobrança Conhecendo os Processos de Cobrança 03 Processos de Cobrança Entenda a Fatura Ferramentas de Suporte Consulta de Extratos 05 09 11 16 Consumo Consciente 02 Processos de Cobrança conheça os processos de

Leia mais

André Criação e Atendimento. Edson E-commerce e Atendimento. Juciellen Web Design e Programação. Talita Planejamento e Projeto

André Criação e Atendimento. Edson E-commerce e Atendimento. Juciellen Web Design e Programação. Talita Planejamento e Projeto Integrantes André Criação e Atendimento Edson E-commerce e Atendimento Juciellen Web Design e Programação Talita Planejamento e Projeto Vanessa Criação e Conteúdo Briefing Histórico da Empresa - Características

Leia mais

Utilização de Técnicas de Mineração de Dados como Auxílio na Detecção de Cartéis em Licitações Carlos Vinícius Sarmento Silva Célia Ghedini Ralha

Utilização de Técnicas de Mineração de Dados como Auxílio na Detecção de Cartéis em Licitações Carlos Vinícius Sarmento Silva Célia Ghedini Ralha WCGE II Workshop de Computação Aplicada em Governo Eletrônico Utilização de Técnicas de Mineração de Dados como Auxílio na Detecção de Cartéis em Licitações Carlos Vinícius Sarmento Silva Célia Ghedini

Leia mais

Apostila. Comércio Eletrônico. e-commerce. Professor: Edson Almeida Junior. Comércio Eletrônico

Apostila. Comércio Eletrônico. e-commerce. Professor: Edson Almeida Junior. Comércio Eletrônico Apostila Comércio Eletrônico e-commerce Professor: Edson Almeida Junior Material compilado por Edson Almeida Junior Disponível em http://www.edsonalmeidajunior.com.br MSN: eajr@hotmail.com E-Mail: eajr@hotmail.com

Leia mais

Recuperação de imagens por conteúdo baseada em realimentação de relevância e classicador por oresta de caminhos ótimos

Recuperação de imagens por conteúdo baseada em realimentação de relevância e classicador por oresta de caminhos ótimos Recuperação de imagens por conteúdo baseada em realimentação de relevância e classicador por oresta de caminhos ótimos André Tavares da Silva Orientador: Léo Pini Magalhães Co-orientador: Alexandre Xavier

Leia mais

CARTÃO DE CRÉDITO CARTÃO DE DÉBITO

CARTÃO DE CRÉDITO CARTÃO DE DÉBITO TIPOS DE CARTÃO CARTÃO DE CRÉDITO Instrumento de pagamento que possibilita ao portador adquirir bens e serviços nos estabelecimentos credenciados mediante um determinado limite de crédito. O cliente poderá

Leia mais

Como Vender Mais sem Gastar Mais Processos e Funcionalidades

Como Vender Mais sem Gastar Mais Processos e Funcionalidades Como Vender Mais sem Gastar Mais Processos e Funcionalidades Meet Magento 2014 22/10/14 Experiencia do usuário em relação ao pagamento Facilite as coisas para que seu cliente possa comprar com você! 22/10/14

Leia mais

SISTEMAS DE APOIO À DECISÃO SAD

SISTEMAS DE APOIO À DECISÃO SAD SISTEMAS DE APOIO À DECISÃO SAD Conceitos introdutórios Decisão Escolha feita entre duas ou mais alternativas. Tomada de decisão típica em organizações: Solução de problemas Exploração de oportunidades

Leia mais

Programa do Curso de Pós-Graduação Lato Sensu MBA em Business Intelligence (BI)

Programa do Curso de Pós-Graduação Lato Sensu MBA em Business Intelligence (BI) Programa do Curso de Pós-Graduação Lato Sensu MBA em Business Intelligence (BI) Apresentação O programa de Pós-graduação Lato Sensu em Business Intelligence Inteligência Competitiva tem por fornecer conhecimento

Leia mais

Luiz Fernando Fernandes de Albuquerque. Avaliação de algoritmos online para seleção de links patrocinados. Dissertação de Mestrado

Luiz Fernando Fernandes de Albuquerque. Avaliação de algoritmos online para seleção de links patrocinados. Dissertação de Mestrado Luiz Fernando Fernandes de Albuquerque Avaliação de algoritmos online para seleção de links patrocinados Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de

Leia mais

GUIA DOS MEIOS DE PAGAMENTO VERSÃO 1.6

GUIA DOS MEIOS DE PAGAMENTO VERSÃO 1.6 GUIA DOS MEIOS DE PAGAMENTO VERSÃO 1.6 DETALHES DO DOCUMENTO Documento: Guia dos Meios de Pagamento Versão: 1.6 Data: 17/10/2011 Autores: Equipe Comercial CobreDireto PÚBLICO-ALVO O conteúdo desse manual

Leia mais

Apresentação final do Trabalho de Conclusão -Novembro 2002. Autenticação On-line de assinaturas utilizando Redes Neurais. Milton Roberto Heinen

Apresentação final do Trabalho de Conclusão -Novembro 2002. Autenticação On-line de assinaturas utilizando Redes Neurais. Milton Roberto Heinen Apresentação final do Trabalho de Conclusão -Novembro 2002 Autenticação On-line de assinaturas utilizando Redes Neurais Milton Roberto Heinen miltonrh@ig.com.br Motivação Falta de segurança dos sistemas

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas Departamento de Ciências

Leia mais

Otimização Aplicada à Engenharia de Processos

Otimização Aplicada à Engenharia de Processos Otimização Aplicada à Engenharia de Processos Aula 1: Introdução Felipe Campelo http://www.cpdee.ufmg.br/~fcampelo Programa de Pós-Graduação em Engenharia Elétrica Belo Horizonte Março de 2013 Antes de

Leia mais

Pós-Graduação "Lato Sensu" Especialização em Análise de Dados e Data Mining

Pós-Graduação Lato Sensu Especialização em Análise de Dados e Data Mining Pós-Graduação "Lato Sensu" Especialização em Análise de Dados e Data Mining Inscrições Abertas Início das Aulas: 24/03/2015 Dias e horários das aulas: Terça-Feira 19h00 às 22h45 Semanal Quinta-Feira 19h00

Leia mais

Verificação de Impressões Digitais usando Algoritmos Genéticos

Verificação de Impressões Digitais usando Algoritmos Genéticos 1. Introdução Verificação de Impressões Digitais usando Algoritmos Genéticos Matheus Giovanni Pires, Fernando Vieira Duarte, Adilson Gonzaga Escola de Engenharia de São Carlos Universidade de São Paulo

Leia mais

2 Auto-sintonia de Bancos de Dados e Agentes de Software

2 Auto-sintonia de Bancos de Dados e Agentes de Software 2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO

FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO @ribeirord FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO Rafael D. Ribeiro, M.Sc,PMP. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br Lembrando... Aula 4 1 Lembrando... Aula 4 Sistemas de apoio

Leia mais

Banco do Brasil S.A. Consulta ao Mercado - RFP - Request for Proposa Aquisição de Ferramenta de Gestão de Limites Dúvida de Fornecedor

Banco do Brasil S.A. Consulta ao Mercado - RFP - Request for Proposa Aquisição de Ferramenta de Gestão de Limites Dúvida de Fornecedor 1. Em relação ao módulo para Atribuição de Limites, entendemos que Banco do Brasil busca uma solução para o processo de originação/concessão de crédito. Frente a essa necessidade, o Banco do Brasil busca

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas e técnicas

Leia mais

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms.

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. Mauricio Duarte 2 Centro Universitário Euripides de Marilia UNIVEM FATEC Faculdade de

Leia mais

Informações sobre o Cartão de Débito MasterCard do DUA

Informações sobre o Cartão de Débito MasterCard do DUA Informações sobre o Cartão de Débito MasterCard do DUA O Department of Unemployment Assistance (DUA ou Departamento de Assistência ao Desemprego) de Massachusetts irá parar de emitir cheques para os benefícios

Leia mais

Informações da empresa e do mercado de meios de pagamento eletrônicos

Informações da empresa e do mercado de meios de pagamento eletrônicos 52275_FOLHETO_RV.pdf 1 de 12 Informações da empresa e do mercado de meios de pagamento eletrônicos 29/02/2016 23:20 52275_FOLHETO_RV.pdf 2 de 12 29/02/2016 23:20 52275_FOLHETO_RV.pdf 3 de 12 Por que olhar

Leia mais

Mineração de Dados: Introdução e Aplicações

Mineração de Dados: Introdução e Aplicações Mineração de Dados: Introdução e Aplicações Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br Apresentação Luiz Merschmann Engenheiro

Leia mais

Documento de Requisitos

Documento de Requisitos UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO Documento de Requisitos Sistema Gerenciador de Atendimento de Chamados Técnicos Grupo: Luiz Augusto Zelaquett

Leia mais

2 - Quais as vantagens do Confidence Travel Card em relação ao Cheques de Viagem e o Cartão de Crédito?

2 - Quais as vantagens do Confidence Travel Card em relação ao Cheques de Viagem e o Cartão de Crédito? Perguntas frequentes Confidence Travel Card Sobre o Cartão Confidence Travel Card 1 - Eu posso adquirir e recarregar um Confidence Travel Card nas Bandeiras Visa e Mastercard? Para Compra: Na bandeira

Leia mais

Estudo de Caso Sistema de Caixa Automático

Estudo de Caso Sistema de Caixa Automático Estudo de Caso Sistema de Caixa Automático Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Notas de Aula Ulrich Schiel Notas de Aula Ariadne

Leia mais

TÍTULO: SEGURANÇA VERSUS PRIVACIDADE - O USO DE IMPRESSÕES DIGITAIS EM UMA INSTITUIÇÃO DE ENSINO SUPERIOR

TÍTULO: SEGURANÇA VERSUS PRIVACIDADE - O USO DE IMPRESSÕES DIGITAIS EM UMA INSTITUIÇÃO DE ENSINO SUPERIOR TÍTULO: SEGURANÇA VERSUS PRIVACIDADE - O USO DE IMPRESSÕES DIGITAIS EM UMA INSTITUIÇÃO DE ENSINO SUPERIOR CATEGORIA: CONCLUÍDO ÁREA: CIÊNCIAS EXATAS E DA TERRA SUBÁREA: COMPUTAÇÃO E INFORMÁTICA INSTITUIÇÃO:

Leia mais

Unidade III PLANEJAMENTO ESTRATÉGICO DE. Prof. Daniel Arthur Gennari Junior

Unidade III PLANEJAMENTO ESTRATÉGICO DE. Prof. Daniel Arthur Gennari Junior Unidade III PLANEJAMENTO ESTRATÉGICO DE TECNOLOGIA DA INFORMAÇÃO Prof. Daniel Arthur Gennari Junior Sobre esta aula Gestão do conhecimento e inteligência Corporativa Conceitos fundamentais Aplicações do

Leia mais

1. Método Simplex. Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção. Pesquisa Operacional II Profa. Dra. Lílian Kátia de Oliveira

1. Método Simplex. Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção. Pesquisa Operacional II Profa. Dra. Lílian Kátia de Oliveira Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção. Método Simple.. Solução eata para os modelos de Programação Linear O modelo de Programação Linear (PL) reduz um sistema real a um conjunto

Leia mais

2 Business to Consumer

2 Business to Consumer 2 Business to Consumer Business to consumer (B2C) é o segmento dentro do comércio eletrônico que abrange qualquer transação em que uma companhia ou organização vende seus produtos ou serviços para as pessoas

Leia mais

TREINAMENTO BRADESCARD. Lojas BP

TREINAMENTO BRADESCARD. Lojas BP TREINAMENTO BRADESCARD Lojas BP 1 Cartão BradesCard O BradesCard facilita a realização dos seus clientes de forma prática e flexível. Especializado no Varejo, oferece um portfólio completo de produtos

Leia mais