Técnicas de Programação Genética para Detecção de Fraudes em

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