escuela profesional de ciencia de la computaci on an

51
FACULTAD DE INGENIER ´ IA Y COMPUTACI ´ ON Escuela Profesional de Ciencia de la Computaci´ on An´ alisis Comparativo de T´ ecnicas de Aprendizaje Autom´ atico para Detectar Fraude en Tarjetas de Cr´ edito Presentado por: Luis Tong Chabes Para Optar por el Grado Acad´ emico de Bachiller en: CIENCIA DE LA COMPUTACI ´ ON Asesor: Prof Dr. Jose Eduardo Ochoa Luna Arequipa, Diciembre de 2019

Upload: others

Post on 16-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Escuela Profesional de Ciencia de la Computaci on An

FACULTAD DE INGENIERIA Y COMPUTACION

Escuela Profesional de Ciencia de laComputacion

Analisis Comparativo de Tecnicas deAprendizaje Automatico para Detectar

Fraude en Tarjetas de Credito

Presentado por:

Luis Tong Chabes

Para Optar por el Grado Academico de Bachiller en:

CIENCIA DE LA COMPUTACI ON

Asesor: Prof Dr. Jose Eduardo Ochoa Luna

Arequipa, Diciembre de 2019

Page 2: Escuela Profesional de Ciencia de la Computaci on An

A mi madre, padre, hermanos para con-tribuirles toda la confianza que deposi-taron en mı

Page 3: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 3

Palabras Claves

ML Aprendizaje Automatico

XgBoost Extreme Gradiente Boost

SVM Maquinas de Vectores de Soporte

BR Regularizacion Bayesiana

GDA Gradiente de Descenso Adaptativo

NBC Clasificador Bayesiano Ingenuo

KNN K vecinos mas cercanos

RF Bosques Aleatorios

ANN Red Neuronal

LR Regresion Logıstica

TB Impulso del arbol

PCA Analisis de Componentes Principales

TP Verdadero Positivo

TN Verdadero Negativo

FP Falso Positivo

FN Falso Negativo

Universidad Catolica San Pablo 3

Page 4: Escuela Profesional de Ciencia de la Computaci on An

Agradecimientos

En primer lugar deseo agradecer a Dios por haberme guiado a lo largo de estos cinco anosde estudio.

Agradezco a mi madre, padre y hermanos por el apoyo brindado para forjarme como unprofesional, ya que siempre confiaron en mi.

Agradezco a la universidad, mi alma matter, facultad de Ciencia de la computacion porhaberme cobijado y brindado la formacion necesaria que ahora me permitira ayudar aconstruir una mejor sociedad.

Agradezco de forma muy especial a mi orientador Prof. Dr. Jose Ochoa Luna por habermeguiado en esta tesis, darme las observaciones y orientaciones necesarias para lograr esteobjetivo.

Page 5: Escuela Profesional de Ciencia de la Computaci on An

Resumen

Este estudio resalta la importancia de llevar un control para detectarfraudes en tarjetas de credito para prevenir diferentes riesgos hacia nuestrosbienes. Las tecnicas de Aprendizaje Automatico han demostrado ser la solucionpara aprendizaje supervisado. Este trabajo identifica tecnicas como Maquinasde Vectores de Soporte, Clasificador Bayesiano Ingenuo, Bosques Aleatorios,Red Neuronal y Extreme Gradiente Boost como las mejores tecnicas segun lostrabajos relacionados. Este trabajo se enfoco en realizar todo el proceso queaborda un proyecto como este, es decir ingenierıa de caracterısticas, prepararlos datos, lidiar con el desbalance de datos, entre otros. Se uso como herramien-ta de evaluacion de rendimiento la validacion cruzada k-fold para encontrar lamejor parametrizacion de cada una de estas tecnicas, que son evaluadas conmetricas de desempeno como exactitud y puntaje f1. Y finalmente hacer unacomparacion de estos resultados agregando pruebas estadısticas como t de es-tudiante para obtener la tecnica ganadora.

Page 6: Escuela Profesional de Ciencia de la Computaci on An

Abstract

This study highlights the importance of keeping track of credit card fraudto prevent different risks to our assets. Machine Learning techniques have pro-ven to be the solution for supervised learning. This paper identifies techniquessuch as Support Vector Machine, Naive Bayes Classifier, Random Forest, Ar-tificial Neural Network and Extreme Gradient Boost as the best techniquesaccording to the related work. This work focused on carrying out the entirepipeline that addresses a project such as this one, i.e. feature engineering, datapreparation, dealing with data imbalance, among others. The cross validationk-fold was used as a performance evaluation tool to find the best parameteri-zation of these techniques, which are measured with performance metrics suchas accuracy and F1-score. And finally make a comparison of these results byadding t-test statistical tests to obtain the winning technique.

Page 7: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion i

Indice general

1. Introduccion 1

1.1. Motivacion y Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Planteamiento del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3.1. Objetivos Especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4. Organizacion de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2. Marco Teorico 5

2.1. Trabajos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2. Marco Teorico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.1. Deteccion de anomalıas . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.2. La Clasificacion de Tecnicas de Deteccion de Anomalıas . . . . . . 8

2.2.3. Clasificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.4. Tecnicas de Deteccion de Anomalıas . . . . . . . . . . . . . . . . . 9

2.2.5. Seleccion de Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2.6. Tratando con Datos Desbalanceados . . . . . . . . . . . . . . . . . 22

2.2.7. Metricas de Desempeno . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2.8. Evaluacion del Modelo y Refinamiento . . . . . . . . . . . . . . . . 24

2.2.9. Comparacion de Modelos . . . . . . . . . . . . . . . . . . . . . . . . 24

3. Analisis Comparativo de tecnicas de Aprendizaje Automatico para de-tectar Fraude en Tarjetas de Credito 28

Universidad Catolica San Pablo i

Page 8: Escuela Profesional de Ciencia de la Computaci on An

ii Escuela Profesional de Ciencia de la Computacion

3.1. Definicion de Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.1.1. Conjuntos de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.1.2. Entorno de Trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.1.3. Seleccion de Parametros (GridSearchCV) . . . . . . . . . . . . . . . 30

3.1.4. Red Neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.1.5. Extreme Gradiente Boost . . . . . . . . . . . . . . . . . . . . . . . . 31

3.1.6. Maquinas de Vectores de Soporte . . . . . . . . . . . . . . . . . . . 32

3.1.7. Bosques Aleatorios . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.1.8. Clasificador Bayesiano Ingenuo . . . . . . . . . . . . . . . . . . . . 33

3.1.9. Comparacion de Modelos . . . . . . . . . . . . . . . . . . . . . . . . 33

4. Resultados 35

4.1. Conjunto de datos Kaggle de deteccion de fraude en tarjetas de credito . . 35

5. Conclusiones y Trabajos Futuros 38

5.1. Problemas encontrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.2. Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.3. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Bibliografıa 41

ii Universidad Catolica San Pablo

Page 9: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion iii

Indice de cuadros

3.1. Descripcion del Conjunto de datos Kaggle . . . . . . . . . . . . . . . . . . 29

3.2. Descripcion del Conjunto de datos UCSD DMC 2009 . . . . . . . . . . . . 30

Universidad Catolica San Pablo iii

Page 10: Escuela Profesional de Ciencia de la Computaci on An

iv Escuela Profesional de Ciencia de la Computacion

Indice de figuras

1.1. Tasa Total Actual de Fraude en Tarjetas por Paıs [13] . . . . . . . . . . . . 2

2.1. Maquinas de Vectores de Soporte [2] . . . . . . . . . . . . . . . . . . . . . 11

2.2. Bosques Aleatorios [5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3. Arquitectura de la Red Neuronal [18] . . . . . . . . . . . . . . . . . . . . . 14

2.4. XgBoost Ejemplo 1 [11] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.5. XgBoost Ejemplo 2 [11] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.6. El proceso estandar para un proyecto de Aprendizaje Automatico [3] . . . . 19

iv Universidad Catolica San Pablo

Page 11: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 1

Capıtulo 1

Introduccion

El principal objetivo de este capıtulo es brindar una vision general del trabajo deinvestigacion, que consta de tres secciones: Motivacion y Contexto, Planteamiento delProblema y Objetivos. Se finaliza con un panorama sobre cada capıtulo mostrando deuna forma general del contenido del documento.

1.1. Motivacion y Contexto

La globalizacion ha hecho que el uso de internet sea muy necesario, actualmenterealizamos actividades diarias como comprar en lınea. Como bien se sabe, este es uno delos medios que cuenta con mas peligros para nuestro bienestar economico, algo muy vistoson los delincuentes informaticos, quienes nos despojan de nuestro dinero depositado enalguna cuenta bancaria de una tarjeta de credito o debito.

A este acontecimiento que comunmente se le conoce como delito, se le denominafraude, que tiene como objetivo suplantar la identidad cuando se presenta a una entidadfinanciera y se hace validar por otra persona.

Sin embargo, en la actualidad estos ataques se cometen en lınea, siendo mas comunesy peligrosos, debido que se puede obtener datos sensibles de usuarios mediante diferentestecnicas contra la seguridad del usuario. Hoy en dıa podemos encontrar muchas de estasvulnerabilidades al alcance de nuestras manos.

Ademas algunos usuarios no tienen el conocimiento suficiente para salvaguardar susdatos, haciendo mas accesible el acceso a estos delincuentes.

Por lo expuesto, es muy atractivo cometer este tipo de fraude por delincuentesinformaticos. Muchos usuarios e identidades bancarias han sufrido numerosas perdidas.Es decir, un estudio muestra en la Figura 1.1 [13] que en los anos 2012, 2014 y 2016 en untotal de 20 paıses, se observa el porcentaje de encuestados que han experimentado fraudede tarjetas de credito y debito.

Observamos que paıses cercanos al nuestro como Mexico, existe un gran incremento

Universidad Catolica San Pablo 1

Page 12: Escuela Profesional de Ciencia de la Computaci on An

2 Escuela Profesional de Ciencia de la Computacion

en estos anos de 44 % en 2012 a 56 % en 2016, tambien en Brasil de 33 % en 2012 a 49 %en 2016.

Analizando mas detenidamente el estudio, podemos confirmar que se esta dando unagran perdida de dinero a pesar que ya se ha empezado a combatir esta problematica dedetectar esta gran cantidad de fraude. Sin embargo, no esta siendo tan certero como sedesea pues todavıa se incurre en el problema de falsos positivos.

Debido a esta problematica es que en los ultimos avances se ha incorporado datoscon cierto comportamiento de los usuarios. Gracias a esto se puede detectar desviacionesde estas caracterısticas y confirmar cierto grado de certeza que es fraude.

Figura 1.1: Tasa Total Actual de Fraude en Tarjetas por Paıs [13]

Esta area de deteccion de fraude en tarjetas de credito es realmente estudiada.Existen tecnicas de Aprendizaje Automatico que estan divididas en supervisados y nosupervisados. En el primer caso, se necesita un conjunto de transacciones basadas en

2 Universidad Catolica San Pablo

Page 13: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 3

fraudes o legıtimas, mientras que los no supervisados, una transaccion inusual debe serclasificada como fraudulenta o no. En este trabajo se planteo el uso de cinco tecnicasde Aprendizaje Automatico como son: la Red Neuronal, el Extreme Gradiente Boost ,los Bosques Aleatorios, el Clasificador Bayesiano Ingenuo y las Maquinas de Vectoresde Soporte ya que son los que han dado mejores resultados en los recientes trabajosrelacionados.

Aunque la deteccion de fraude tiene algunos problemas de investigacion debido a lafalta de disponibilidad de datos del mundo real sobre los cuales los investigadores puedenrealizar experimentos, se han desarrollado muchos modelos de deteccion de fraude conbuenos resultados.

Se puede encontrar algunas aplicaciones exitosas de varias tecnicas de AprendizajeAutomatico, siendo [7], [9], [15], [12],y [14] las tecnicas mas poderosas y recientes en lostrabajos relacionados.

1.2. Planteamiento del Problema

Las tarjetas de credito se han vuelto un modo popular de pago, lo que lleva aaumentar las transacciones de fraude. Por este motivo se requiere un proceso eficaz dedeteccion de fraude para mantener la fiabilidad del sistema de pago.

Existen varias tecnicas de Aprendizaje Automatico que ayudan a clasificar las tran-sacciones como fraude o normal. Sin embargo, entre todas estas tecnicas, ¿cual se debeusar?, la respuesta no es tan sencilla, debe realizarse varios procesos para identificar latecnica ganadora.

1.3. Objetivos

Identificar la mejor tecnica de Aprendizaje Automatico para detectar fraude entarjetas de credito mediante un analisis comparativo.

1.3.1. Objetivos Especıficos

Realizar el procesamiento estandar en un proyecto de Aprendizaje Automatico.

Modelar tecnicas como: la Red Neuronal, los Bosques Aleatorios, el Extreme Gra-diente Boost , los Maquinas de Vectores de Soporte y el Clasificador Bayesiano In-genuo, con el fin de recibir un conjunto de datos de entrenamiento y que devuelvala clasificacion como 1 si es fraudulenta o 0 si es legıtima.

Encontrar los mejores parametros para cada una de las tecnicas usando validacioncruzada (GridSearchCV).

Universidad Catolica San Pablo 3

Page 14: Escuela Profesional de Ciencia de la Computaci on An

4 Escuela Profesional de Ciencia de la Computacion

Validar los resultados de cada modelo mediante metricas como exactitud y puntajef1.

Comparar los resultados obtenidos por cada tecnica usando prueba estadıstica t deestudiante.

Obtener las ventajas y desventajas de las tecnicas de Aprendizaje Automatico em-pleadas.

Obtener la tecnica ganadora.

1.4. Organizacion de la tesis

Este trabajo esta organizado de la siguiente forma:

En el Capıtulo 2 se exponen las nociones basicas del area de investigacion de de-teccion de fraude en tarjetas de credito, como el proceso estandar que se debe seguir enproyectos de esta categorıa, tambien la exploracion de datos, el modelado de las tecnicas,las metricas de desempeno, etc. Ademas se muestra el estado del arte donde se describenvarias tecnicas de Aprendizaje Automatico, que los autores han usado para resolver esteproblema.

En el Capıtulo 3 se describen los experimentos realizados: el analisis comparativode las tecnicas de Aprendizaje Automatico, las herramientas utilizadas como validacioncruzada, metricas de desempeno y pruebas estadısticas.

En el Capıtulo 4 se muestra los resultados y comparacion de cada una de las tecnicasevaluadas.

4 Universidad Catolica San Pablo

Page 15: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 5

Capıtulo 2

Marco Teorico

En este capıtulo, se da una vision general del problema presentado, describiendoalgunas terminaciones que son importantes a tener en cuenta, ademas se muestran lostrabajos relacionados.

Con el fin de proporcionar una imagen completa, se exploran gran cantidad defuentes de informacion como las anomalıas, la deteccion supervisada, la deteccion no su-pervisada, los tipos de clasificaciones, las tecnicas de aprendizaje automatico, las metricasde desempeno, la evaluacion y comparacion de los modelos usando pruebas estadısticas.

2.1. Trabajos Relacionados

Ahora se presenta los trabajos relacionados:

N. Demla y A. Aggarwal, estos autores aplicaron las Maquinas de Vectores de Sopor-te que tienen como principal ventaja un metodo que se ha utilizado en varios problemasreales como deteccion de rostro, extraccion de informacion, entre otros. Ademas es consi-derado atractivo debido a su gran capacidad de generalizacion y de manejar gran cantidadde dimensiones. Propusieron que en este caso como no es posible separar de forma lineal,es conveniente el uso de tecnicas de maximizacion de margenes para permitir el grado deerror. Tambien hicieron la comparacion con metodos boosting llegando a la conclusion queeste ultimo metodo es mejor que las Maquinas de Vectores de Soporte.

C. Mishra, D. Laly R. Singh, aplican la Red Neuronal e hicieron uso del ClasificadorBayesiano Ingenuo para identificar actividades fraudulentas. Emplear la red con numerode neuronas en capa de entrada igual a 20. Ademas calculan la exactitud mediante la com-paracion de la produccion real dada en el conjunto de datos y la produccion pronosticadadel modelo de red despues de realizar la simulacion. Definieron dos fases, en la primeraes la validacion de la transicion y en la segunda fase, donde se encarga de detectar sies fraudulenta o no. A diferencia del anterior, este documento trabaja con datos realesque fueron tomados por el repositorio de UCI que contenıa 20 atributos para cada fila.Llegaron a la conclusion que esta metodo es mas eficiente que los arboles de decision, lasMaquinas de Vectores de Soporte, etc. Discutieron tres tipos de tecnicas de aprendizaje

Universidad Catolica San Pablo 5

Page 16: Escuela Profesional de Ciencia de la Computaci on An

6 Escuela Profesional de Ciencia de la Computacion

Regularizacion Bayesiana, Gradiente de Descenso Adaptativo y Aprendizaje Automaticopara entrenar la red neuronal. Donde llegaron a la conclusion que Regularizacion Baye-siana es mejor tecnica que las otras dos. Su trabajo tambien puede ser usado en cualquierproblema de clasificacion.

M. Zareapoor y P. Shamsul Moali, hicieron la comparacion de los metodos masusados como es las Maquinas de Vectores de Soporte, el Clasificador Bayesiano Ingenuoy los K vecinos mas cercanos con el clasificador bagging basados en arbol de decision, quees un metodo ensemble. Vemos que este ultimo metodo esta relacionado con boosting, elcual vimos en otro trabajo anterior relacionado. Este procedimiento consiste en combinarclasificaciones de la generacion de conjuntos de datos al alzar para formar una prediccionfinal. Este metodo es muy usado debido a su facil implementacion y por poder mejorar laexactitud. Eligen este tipo de metodo ensemble con motivo que sus datos son altamentedesbalanceados. Estos datos son reales, lo obtuvieron de UCSD-FICO Competicion de laUniversidad de California San Diego con 100000 registros de transacciones. En conclusion,demostraron que este metodo es mejor a los otros tres.

I. Sohony, R. Pratap y U. Nambiar, presentaron el metodo en la combinacion deArboles Aleatorios y Redes Neuronales. En primer lugar indican el proposito de cadauno de estos metodos, es decir para el primer metodo lo usan debido que son buenospara clasificar las transacciones correctas, ya que es usado en datos desbalanceados, yen este trabajo tienen el numero de arboles de decision entre 300 y 400; y el segundometodo con el motivo que son buenos clasificando transacciones fraudulentas, usa 3 redesprealimentadas, esta acepta multiples entradas, que activa una funcion no lineal parapredecir o para dar paso a la siguiente capa. Sin embargo no clasifica las transaccionesnormales. A diferencia de trabajos anteriores, ellos si preparan los datos antes de usarun metodo. Tambien hicieron el uso de Regresion Logıstica Binomial para estudiar elcomportamiento fraudulento. Tienen como resultado que este metodo es superior a lasdemas populares, aunque tiene limitaciones a datos no numericos como texto.

S. Manlangit, S. Azam, B. Shanmugam, K. Kanno Patti, M. Jonkman y A. Ba-lasubramaniam, compararon cuatros algoritmos de clasificacion: los Bosques Aleatorios,los K vecinos mas cercanos, el Clasificador Bayesiano Ingenuo y la Regresion Logıstica.Tambien usan tecnica sobremuestreo que consiste en eliminar muestras al azar hasta quecada clase tenga el mismo numero, pero al eliminar datos, puede haber informacion im-portante. Tambien hace uso de la tecnica de sobremuestreo de minorıa sintetica SMOTEes un enfoque de sobremuestreo que crea muestras sinteticas en lugar de sobremuestreocon reemplazos. El efecto sobre los arboles decision hace que se generalicen mejor. Este esel segundo trabajo relacionado que prepara los datos antes de ser usados. El conjunto dedatos reales son obtenidos de Kaggle. Llegan a al conclusion que estos cuatros metodosde muestreo junto a sobremuestreo y SMOTE muestran un gran aumento de capacidadpara detectar el fraude. Ademas mencionan que los K vecinos mas cercanos es superiorcomo mejor metodo exactitud de recuperacion que los otros tres.

6 Universidad Catolica San Pablo

Page 17: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 7

2.2. Marco Teorico

2.2.1. Deteccion de anomalıas

La deteccion de anomalıas es una tecnica utilizada para identificar patrones inusualesque no se ajustan al comportamiento esperado, llamados valores atıpicos. Tiene muchasaplicaciones en el negocio, desde la deteccion de intrusos, identificando patrones extranosen el trafico de la red que podrıan senalar un atacante, ası como el monitoreo de la saluddel sistema, detectando un tumor maligno mediante un escaner, otro caso observable esla deteccion de fraude en transacciones de tarjetas de credito ademas de la deteccion defallas en entornos operativos.[10]

En este trabajo se enfoco en la deteccion de fraude de tarjetas de credito.

Debemos definir que el fraude con tarjeta de credito se divide en dos tipos: fraudefuera de lınea y fraude en lınea. El fraude fuera de lınea o sin conexion se comete medianteel uso de una tarjeta fısica robada. En la mayorıa de los casos, la institucion que emite latarjeta puede bloquearla antes de que se use de manera fraudulenta.

El fraude en lınea se comete a traves de la web, compras telefonicas o tarjeta nopresente. Solo se necesitan los detalles de la tarjeta, y no se requiere una firma manual niuna impresion de la tarjeta al momento de la compra.

Anomalıas

Las anomalıas pueden clasificarse en general como [10]:

Anomalıas puntuales: Una sola instancia de datos es anomala si esta demasiadolejos del resto. Por ejemplo: Detectar el fraude de tarjetas de credito basado en lacantidad gastada.

Anomalıas contextuales: La anormalidad es especıfica del contexto. Este tipo deanomalıa es comun en los datos de series temporales. Por ejemplo: Gastar $100 encomida todos los dıas durante la temporada de fiestas es normal, pero puede serextrano de otra manera.

Anomalıas colectivas: Un conjunto de instancias de datos ayuda colectivamentea detectar anomalıas. Por ejemplo: Alguien esta intentando copiar datos de unamaquina remota a un host local de forma inesperada, una anomalıa que se etiquetaracomo un posible ataque cibernetico.

La deteccion de anomalıas es similar a la eliminacion de ruidos y a la deteccionde novedades, aunque no totalmente identica. La deteccion de novedades se refiere a laidentificacion de un patron no observado en nuevas localizaciones no incluidas en los datosde formacion. La eliminacion de ruido es el proceso de eliminar el ruido de una senal quede otra manera serıa significativa.

Universidad Catolica San Pablo 7

Page 18: Escuela Profesional de Ciencia de la Computaci on An

8 Escuela Profesional de Ciencia de la Computacion

2.2.2. La Clasificacion de Tecnicas de Deteccion de Anomalıas

La mayorıa de las tecnicas de deteccion de anomalıas utilizan etiquetas para deter-minar si la instancia es normal o anomala como decision final. Obtener de informacionetiquetada, que sea precisa y representativa de todos los tipos de conductas es bastantedifıcil y costoso [10].

Las tecnicas de deteccion de anomalıas se pueden dividir en tres modos segun ladisponibilidad de las etiquetas:

Deteccion Supervisada

Este tipo de tecnicas de deteccion de anomalıas asumen que el conjunto de datos deentrenamiento con etiquetas precisas y representativas para casos normales y anomalıasesta disponible. En tales casos, el enfoque habitual es desarrollar un modelo predictivopara clases normales y anomalas. Cualquier instancia de datos de prueba se calcula eneste modelo y se determina a que clases pertenecen [10].

Deteccion Semi Supervisadas

Este tipo de tecnica asume que los datos del tren han marcado instancias solo parala clase normal. Como no piden etiquetas para la anomalıa, son ampliamente aplicables alas tecnicas supervisadas [10].

Deteccion No Supervisadas

Estas tecnicas no necesitan un conjunto de datos de formacion y, por lo tanto,son las mas utilizadas. Los metodos no supervisados de deteccion de anomalıas pueden”pretender”que todo el conjunto de datos contiene la clase normal y desarrollar un modelode los datos normales y considerar las desviaciones del modelo normal como anomalıas.

Para el presente trabajo esta basado en la deteccion de anomalıas supervisadas.

2.2.3. Clasificacion

La clasificacion pertenece a la categorıa de aprendizaje supervisado, donde los obje-tivos tambien se proporcionan con los datos de entrada. Existen diversas aplicaciones enla clasificacion en muchos campos, como la aprobacion de creditos, el diagnostico medico,el marketing de destino, etc [16].

La clasificacion es el proceso de predecir la clase de puntos de datos dados. Las clasesse denominan a veces como objetivos/etiquetas o categorıas. El modelado predictivo de

8 Universidad Catolica San Pablo

Page 19: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 9

clasificacion es la tarea de aproximar una funcion de mapeo (f) de las variables de entrada(X) a las variables de salida discretas (y).

Hay dos tipos de estudiantes en la clasificacion [16]:

Estudiantes perezosos

Los alumnos perezosos simplemente almacenan los datos de la capacitacion y esperanhasta que aparezcan los datos de la prueba. Cuando lo hace, la clasificacion se realiza enbase a los datos que tienen mayor relacion en los datos de entrenamiento almacenados. Encomparacion con los estudiantes ansiosos, los estudiantes perezosos tienen menos tiempode capacitacion pero mas tiempo para predecir.

Aprendices ansiosos

Los estudiantes ansiosos construyen un modelo de clasificacion basado en los datosde capacitacion dados antes de recibir los datos para la clasificacion. Debe ser capaz decomprometerse con una unica hipotesis que cubra todo el espacio de instancia. Debido ala construccion del modelo, los estudiantes ansiosos tardan mucho tiempo en capacitarsey menos en predecir. Por ejemplo Arbol de Decision, Clasificador de Bayes Ingenuo, RedesNeurales Artificiales, etc.

2.2.4. Tecnicas de Deteccion de Anomalıas

En esta seccion mostramos algunos definiciones de las tecnicas usadas en el estadodel arte [10].

Metodos Estadısticos Simples

El metodo mas sencillo para identificar irregularidades en los datos es marcar lospuntos de datos que se desvıan de las propiedades estadısticas comunes de una distri-bucion, incluyendo la media, la mediana, la moda, etc. Entonces, podemos decir que ladefinicion de un punto de datos anomalo es aquel que se desvıa por una cierta variacionen la media. Atravesar los datos de series de tiempo no es exactamente trivial, ya queno es estatico. Necesitarıa una ventana rodante para calcular el promedio de los puntosde datos. Tecnicamente, a esto se le llama promedio movil, y su objetivo es suavizar lasvariaciones a corto plazo y resaltar las de largo plazo.

Los Desafıos con Metodos Estadısticos Simples

El filtro de paso bajo le permite identificar anomalıas en casos de uso simples, peroexisten determinadas situaciones en las que esta tecnica no funcionara. A continuacionmostramos algunas de ellas:

Universidad Catolica San Pablo 9

Page 20: Escuela Profesional de Ciencia de la Computaci on An

10 Escuela Profesional de Ciencia de la Computacion

Los datos contienen ruido que puede ser similar al comportamiento anormal debidoa que el lımite entre el comportamiento normal y el anormal a menudo no es muypreciso.

La definicion de anormal o normal puede cambiar con frecuencia, ya que los atacantesmaliciosos se adaptan constantemente. Por lo tanto, el lımite basado en la mediamovil puede no ser siempre aplicable.

El patron se basa en la temporalidad. Esto implica metodos mas sofisticados, co-mo descomponer los datos en multiples tendencias para identificar el cambio en latemporalidad.

Tecnicas basadas en el Aprendizaje Automatico

A continuacion se presenta la descripcion general de las tecnicas populares basadasen el aprendizaje automatico para la deteccion de anomalıas [16].

Densidad

La deteccion de anomalıas basada en la densidad se centra en el algoritmo k vecinomas cercano. Es decir, que los puntos de datos normales ocurren alrededor de un vecindariodenso y las anormalidades estan muy lejos [16].

Entonces el conjunto de puntos de datos mas cercano se evalua utilizando una pun-tuacion, que podrıa ser la distancia de Euclides o una medida similar dependiendo deltipo de datos.

Podrıan clasificarse en dos algoritmos:

Vecino mas cercano: k-nn es una tecnica de aprendizaje simple, no parametricay perezosa que se utiliza para clasificar datos basados en similitudes en metricas dedistancia como Euclidean, Manhattan, Minkowski, o distancia Hamming.

Densidad relativa de los datos: mas conocido como factor de atıpico local (LOF).Este concepto se apoya en una metrica de distancia, tambien llamada distancia dealcanzabilidad.

Agrupamiento El concepto de agrupamiento es uno de las definiciones mas popularesen el ambito del aprendizaje no supervisado [16].

Es decir que los puntos de datos que son similares tienden a pertenecer a agrupa-ciones similares, segun lo determinado por su distancia de los centroides locales.

K-means es un algoritmo de agrupamiento ampliamente utilizado. Crea agrupacio-nes de puntos de datos similares a ′k′. Las instancias de datos que caen fuera de estosagrupaciones podrıan ser marcadas como anomalıas.

10 Universidad Catolica San Pablo

Page 21: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 11

Clasificador Bayesiano Ingenuo

Se basa en el llamado teorema bayesiano y es particularmente adecuada cuando ladimensionalidad de las entradas es alta. A pesar de su simplicidad, a menudo puedensuperar a los metodos de clasificacion mas sofisticados [10].

P (y|X) = P (X|y)P (y)P (X)

donde, X = (x1, x2, x3, ...., xn)

Usando el teorema de Bayes, podemos encontrar la probabilidad de que suceda y,dado que X ha ocurrido. Aquı, X es la evidencia y y es la hipotesis. La suposicion que sehace aquı es que las caracterısticas son independientes. La presencia de una caracterısticaparticular no afecta a la otra. Es por lo antes mencionado, que se le atribuye el nombrede ingenuo.

Cuando los predictores toman un valor continuo y no son discretos, asumimos queestos valores son muestreados de una distribucion gaussiana.

El entrenamiento es rapido, ya que solo guarda los valores de las pruebas listadasanteriormente, no es necesario instalar ningun coeficiente mediante procedimientos deoptimizacion.

La complejidad algorıtmica para entrenamiento es O(n ∗ nf ), todo lo que se tieneque hacer es calcular la frecuencia de cada valor de caracterıstica nf para cada clase conn tamano del conjunto de datos.

La complejidad algorıtmica para predecir es O(c∗nf ) ya que tiene que recuperar losvalores de caracterıstica nf para cada una de las clases c.

Maquinas de Vectores de Soporte

Es un clasificador discriminatorio formalmente definido por un hiperplano de se-paracion. En otras palabras, dada la etiqueta de datos de entrenamiento, el algoritmoproduce un hiperplano optimo que categoriza los nuevos ejemplos. En un espacio de dosdimensiones, este hiperplano es una lınea que divide un plano en dos partes donde cadaclase se ubica a un lado de la linea [10].

Figura 2.1: Maquinas de Vectores de Soporte [2]

Universidad Catolica San Pablo 11

Page 22: Escuela Profesional de Ciencia de la Computaci on An

12 Escuela Profesional de Ciencia de la Computacion

En casos como el ejemplo mostrado es facil de identificar el hiperplano, pero existenotros mas complejos donde surgen terminos de regularizacion, gamma y kernel para evitarque demore mucho tiempo en lograr una considerable lınea de clasificacion lineal o no linealen un lapso de tiempo mas razonable.

Kernel El aprendizaje del hiperplano en las Maquinas de Vectores de Soporte linealse realiza transformando el problema usando algo de algebra lineal. Aquı es dondeel kernel juega un papel importante [10].

En cuanto al nucleo lineal, la ecuacion para la prediccion de una nueva entradautilizando el producto de puntos entre la entrada (x) y cada vector de apoyo (xi) secalcula de la siguiente manera:

f(x) = B(0) +∑

(ai ∗ (x, xi))

Existen varios tipos de modelos de kernel, el mas usado para clasificacion es elGaussiano de la siguiente forma:

k(x, y) = exp(−||x− y||2

2σ2)

Regularizacion Indica a la optimizacion de las Maquinas de Vectores de Soportecuanto desea evitar clasificar erroneamente los datos del conjunto de entrenamiento.

Si tenemos valores grandes, la optimizacion elegira un hiperplano de menor margen,si ese hiperplano puede mejorar el trabajo para clasificar correctamente todos lospuntos de entrenamiento. Por el contrario, se toma un valor pequeno que hara queel optimizador busque un hiperplano separador de mayor margen, incluso si esehiperplano clasifica mal los demas puntos [10].

Gamma Define hasta donde llega la influencia de un ejemplo de entrenamiento, convalores bajos que significan lejos y valores altos que significan cerca. Es decir, unagama baja, los puntos alejados de la lınea de separacion plausible se consideran enel calculo de la lınea de separacion. Y para una alta gama significa que los puntoscercanos a la lınea plausible son considerados en el calculo [10].

Margen Un margen es una separacion de lınea a los puntos mas cercanos de laclase. Un buen margen se refiere a la separacion es mayor para ambas clases, ademaspermite que los puntos esten en sus respectivas clases sin pasar a otra clase [10].

La complejidad de las Maquinas de Vectores de Soporte depende del correcto usodel kernel.

En este caso el entrenamiento tiene una complejidad de tiempo de O(n2 ∗ nf ) conn numero de muestras de entrenamiento y nf el numero de sus caracterısticas ovariables.

La complejidad de la prediccion es O(nf ∗ nsv) con nsv son el numero de vectoresde soporte.

12 Universidad Catolica San Pablo

Page 23: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 13

Figura 2.2: Bosques Aleatorios [5]

Bosques Aleatorios

Es un metodo que combina una cantidad grande de arboles de decision independien-tes probados sobre conjuntos de datos aleatorios con igual distribucion [10].

La fase de aprendizaje trata de crear bastantes arboles de decision independientes,que se forman con datos de entrada ligeramente distintos.

Primero, se elige aleatoriamente cierto porcentaje de los datos de la muestra total.Tambien se puede incluir un segundo nivel de aleatoriedad, esta para los atributos, encada nodo, al seleccionar la particion optima, tenemos en cuenta solo una porcion de losatributos, elegidos al azar en cada ocasion [10].

Despues de obtener el bosque de arboles, cada arbol se evalua independientemente,y el valor de la prediccion del bosque sera el promedio del valor de todos los arboles.

La complejidad algorıtmica para el entrenamiento es O(n2 ∗ nf ∗ ntrees).

La complejidad algorıtmica para la prediccion es O(nf ∗ ntrees).

Donde n es el conjunto de datos de entrenamiento, nf el numero de caracterısticas,ntrees el numero de arboles.

Red Neuronal

Es un modelo computacional que se inspira en la manera en que las redes neuronalesdel cerebro humano procesan la informacion [10].

La unidad basica en la neurona, recibe datos de una fuente externa o de otros nodos

Universidad Catolica San Pablo 13

Page 24: Escuela Profesional de Ciencia de la Computaci on An

14 Escuela Profesional de Ciencia de la Computacion

para hallar una respuesta. Cada entrada tiene un peso asociado w, que se le asigna debidoa su importancia con otras entradas.

El nodo aplica una funcion f la suma ponderada de sus entradas [10].

Y = f(w1.x1 + w2.x2 + ...wn.xn + sesgo)

La funcion principal del sesgo es proporcionar a cada nodo un valor constante entrenable(ademas de las entradas normales que recibe el nodo).

La funcion f no es lineal y se denomina Funcion de activacion. El proposito de lafuncion de activacion es introducir la no linealidad en la salida de una neurona.

Figura 2.3: Arquitectura de la Red Neuronal [18]

Cada funcion de activacion toma un solo numero y realiza una determinada opera-cion matematica fija sobre el. Existen varias funciones de activacion que puede encontrarseen la practica:

Sigmoide: toma una entrada de valor real y la aplica para que oscile entre 0 y 1.(x) = 1/(1 + exp(−x))

tanh: toma una entrada de valor real y la aplica hasta el rango[-1, 1]. tanh(x) =2(2x)− 1

ReLU : significa Unidad Lineal Rectificada. Toma una variable de entrada de valorreal y la limita a cero. f(x) = max(0, x)

14 Universidad Catolica San Pablo

Page 25: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 15

La red neuronal de retroalimentacion fue el mas sencillo tipo de red neuronal artificialideada. Contiene multiples neuronas dispuestas en capas. Los nodos de capas adyacentestienen conexiones o bordes entre ellos. Todas estas conexiones tienen pesos asociados [10].

Una red neuronal de retroalimentacion puede consistir en tres tipos de nodos:

Nodos de entrada: proporcionan informacion del mundo exterior a la red y se deno-minan conjuntamente. Solo pasan la informacion a los nodos ocultos.

Nodos ocultos: realizan calculos y transfieren informacion desde los nodos de entradaa los nodos de salida. Puede tener cero o varias capas ocultas.

Nodos de salida: son responsables de los calculos y la transferencia de informacionde la red al mundo exterior.

En una red prealimentada la informacion va en en una sola direccion, esto permiteque no haya ciclos o bucles. Por otro lado, en la red neuronal recurrente, se pueden apreciaruna conexion en los diferentes nodos, generado ciclos que ayuda a ajustar el proceso dedatos [10].

Hay dos ejemplos de redes de retroalimentacion:

Perceptron de una sola capa, esta es la red neuronal de alimentacion mas simple yno contiene ninguna capa oculta, mientras tanto, el perceptron de varias capas, incluyeuna o mas capas ocultas.

Debido a la limitacion practica de la red de una sola capa en el problema linealseparable, se introdujo la red neural profunda para resolver un problema de clasificacionarbitrario.

Cada neurona en capas ocultas o salida realiza dos operaciones. Una es calcular lafuncion de activacion diferenciable en los vectores y pesos de entrada y repartir la salidaa traves de las capas ocultas. La segunda operacion es calcular el gradiente de error conrespecto a los pesos conectados a las entradas de esa neurona, que fluye hacia atras atraves de la red.

La capa de entrada consiste en los componentes de un vector de caracterıstica aclasificar. Cada capa oculta de neuronas procesa en un conjunto diferente de caracterısticasque son producidas por la capa anterior. Cuantas mas capas ocultas tenga la red, mascomplicadas seran las caracterısticas que puedan ser detectadas por las neuronas, ya querecogen y combinan la informacion generada por la capa anterior.

El proceso por el que aprende un Perceptron de varias capas se denomina algoritmode retropropagacion. Es una de las varias maneras en las que una red neuronal artificialpuede ser entrenada. Es un esquema de formacion supervisada, es decir, aprender de loserrores [10].

El Algoritmo inicia todos los pesos que se asignan aleatoriamente. Entonces, portodas las entradas del conjunto de datos de entrenamiento, se activa la red y se observasu salida. Esta salida se compara con la salida esperada, y el error se propaga de vuelta

Universidad Catolica San Pablo 15

Page 26: Escuela Profesional de Ciencia de la Computaci on An

16 Escuela Profesional de Ciencia de la Computacion

a la capa anterior y ası sucesivamente, se anota el error y los pesos se ajustan en conse-cuencia. Este proceso se repite hasta que el error de salida este por debajo de un umbralpredeterminado.

Una vez finalizado el algoritmo anterior, disponemos de una red aprendida que, anuestro juicio, esta lista para trabajar con otras entradas. Se dice que esta red ha aprendidode varios ejemplos (datos etiquetados) y de sus errores (propagacion de errores).

Algoritmo de retropropagacion es uno de los metodos mas simples y mas utilizadospara el entrenamiento de redes neuronales supervisadas en el calculo del gradiente de lafuncion de perdida. El gradiente es la pendiente de la funcion de perdida en el espaciode pesas que muestra como varıa la funcion de perdida a medida que cambian las pesas.La funcion de perdida (error) producida por los pesos actuales, se propaga hacia atras,a traves de la red para actualizar los pesos. A medida que la red aprende de sus erroresen cada iteracion de entrenamiento, ajusta los pesos de manera iterativa para reducir lafuncion de perdida [10].

Hay dos tipos de transmision de informacion diferentes cuando se aplica el algoritmode retropropagacion: hacia delante y hacia atras. En el paso de hacia adelante, el vectorde entrada combinado con los pesos ingresa en la primera capa oculta. En el paso haciaatras la salida se transfiere a la segunda capa como entrada [10].

Taza de aprendizaje refleja el tamano de los cambios en las ponderaciones. El menorritmo de aprendizaje da un menor cambio de pesos entre las iteraciones, lo que resulta enuna trayectoria de movimiento mas suave en el espacio de las pesos. Esto, sin embargo,da un tiempo de entrenamiento mas largo para alcanzar el mınimo local en la superficiede error. La mayor velocidad de aprendizaje da un resultado inestable de la red.

La complejidad algorıtmica para la prediccion es O(nf ∗ nl1 + nl2 + nl3 + ...).

Donde n es el conjunto de datos de entrenamiento, nf el numero de caracterısticas,ntrees el numero de arboles, nli el numero de neuronas en la capa i de una red neuronal,tenemos las siguientes aproximaciones.

Extreme Gradiente Boost

Es un metodo similar a bagging que agrupa varios modelos debiles en un modelofuerte. La diferencia con bagging es que no se crean muestras aleatorias con repeticion,sino que se incrementa la exactitud del modelo de forma progresiva, haciendo que losmodelos debiles se enfoquen mas en las instancias mal clasificadas de los clasificadoresanteriores [11].

Gradient boosting modela el problema de clasificacion como un funcion de perdidaque debe ser minimizada. Cada nuevo clasificador debil es un paso mas en la direccionnegativa de la gradiente, con lo que se minimiza el error. Esta tecnica es susceptible desufrir sobre ajuste [11].

Extreme Gradiente Boost consiste en un conjunto de arboles de clasificacion y re-gresion, por ejemplo el tıpico ejemplo que deseamos clasificar la preferencia hacia los vi-

16 Universidad Catolica San Pablo

Page 27: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 17

deojuegos, entonces tenemos como entrada las caracterısticas de las personas como; edad,genero, ocupacion, entre otros. Esto se resuelve generando varios subarboles por cada ca-racterıstica, pero Extreme Gradiente Boost usa una puntuacion real que esta asociada concada una de las hojas, lo que nos da una mejor interpretacion.

Esto tambien permite un enfoque preciado y unificado para la optimizacion, ya quepor lo general, un solo arbol no es lo suficientemente fuerte en la practica. Lo que se usaes el modelo, que suma la prediccion de varios arboles juntos.

Figura 2.4: XgBoost Ejemplo 1 [11]

Figura 2.5: XgBoost Ejemplo 2 [11]

Un hecho importante es que los dos arboles intentan complementarse entre sı. Ma-tematicamente, podemos escribir nuestro modelo en la forma. yi =

∑fk(xi), fk ∈ F [11].

Donde k es el numero de arboles, f es una funcion en el espacio funcional F . Ahorapara entrenar el modelo, necesitamos definir la funcion objetivo para medir que tan biense ajusta el modelo a los datos de entrenamiento que constan de dos partes: perdida decapacitacion y termino de regularizacion : obj(θ) = L(θ) + ω(θ).

Para nuestro caso el objetivo a optimizar esta dada por: obj(θ) =∑L(yi, yi) +∑

ω(fk) [11].

Entonces los Bosques Aleatorios Tree Ensemble son en realidad los mismos mode-los. La diferencia surge de como los entrenamos. El Impulso del arbol tiene como fun-cion objetivo que contiene la perdida de entrenamiento y la regularizacion es:obj(θ) =∑L(yi, y

ti) +

∑ω(fi) [11].

Aprender la estructura del arbol es mucho mas difıcil que el problema de optimiza-cion tradicional, donde se puede simplemente tomar el gradiente. Es intratable aprender

Universidad Catolica San Pablo 17

Page 28: Escuela Profesional de Ciencia de la Computaci on An

18 Escuela Profesional de Ciencia de la Computacion

todos los arboles a la vez. En su lugar, utilizamos una estrategia aditiva: corregir lo quehemos aprendido y agregar un nuevo arbol a la vez. Escribimos el valor de prediccion enel paso t como y(t). Entonces quedarıa.yti =

∑fk(xi) = yt−1 + fi(xi)[11].

Y despues estarıamos agregando el arbol que optimiza nuestro objetivo y aplicandoformas amigables de MSE, expansion de Taylor y reemplazando gi y hi, tendrıa estaformula.

∑[gift(xi) + 1

2hif

2t (xi)] + ω(ft) [11].

Esto se convierte en nuestro objetivo de optimizacion para el nuevo arbol. Unaventaja importante de esta definicion es que el valor de la funcion objetivo solo dependede gi y hi . Ası es como XGBoost admite funciones de perdida personalizadas.

Para calcular las puntuaciones para una estructura de arbol dada, empujamos lasestadısticas gi y hi a las hojas a las que pertenecen, sumamos las estadısticas y usamos la

formula obj = 12

∑ G2j

Hj+λ+ yT , donde Ij = i|q(xi) = j es el conjunto de ındices de puntos

de datos asignados a la hoja j, Gj =∑i∈Ij gi y Hj =

∑i∈Ij hi para calcular que tan bueno

es el arbol. Esta puntuacion es como la medida de impureza en un arbol de decision,excepto que tambien tiene en cuenta la complejidad del modelo [11].

Ahora que tenemos una manera de medir que tan bueno es un arbol, idealmente,enumeramos todos los arboles posibles y escogemos el mejor. En la practica, esto esintratable, por lo que intentaremos optimizar un nivel del arbol a la vez. Especıficamente,tratamos de dividir una hoja en dos hojas.

Para calcular este nuevo puntaje debemos usar la formula anterior que tiene elsiguiente criterio, primero la puntuacion en la nueva hoja izquierda, segundo la puntuacionen la nueva hoja derecha, tercero la puntuacion en la hoja original, cuarto regularizacionen la hoja adicional. Podemos ver un hecho importante aquı: si la ganancia es menor quey, harıamos mejor en no agregar esa rama.

Para datos de valor real, generalmente queremos buscar una division optima. Parahacerlo de manera eficiente, colocamos todas las instancias en orden.

La complejidad algorıtmica para el entrenamiento es O(n ∗ nf ∗ ntrees).

La complejidad algorıtmica para la prediccion es O(nf ∗ ntrees). Donde n es el con-junto de datos de entrenamiento, nf el numero de caracterısticas, ntrees el numero dearboles.

2.2.5. Seleccion de Modelo

En primer lugar para desarrollar un proyecto de Aprendizaje Automatico se debeseguir ciertos pasos como mostramos a continuacion:

Se empezo con algunos pasos para tratar la data, despues se preparo los datosmediante la ingenierıa de caracterısticas, que finalmente con regularizacion de esteconjunto, se obtiene datos que los modelos sean capaces de procesar.

18 Universidad Catolica San Pablo

Page 29: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 19

Figura 2.6: El proceso estandar para un proyecto de Aprendizaje Automatico [3]

Segundo se eligio los mejores modelos segun el problema presentado soportado conconjunto de datos, para despues establecer la mejor composicion para nuestros mo-delos.

Finalmente se exploro los modelos para conocer cual es mejor aplicando validacioncruzada con metricas para comparar su rendimiento, como exactitud y puntaje f1.

Preparacion de Datos

En esta fase se planeo una serie de pasos como: visualizar la el conjunto de datos paraconocer que datos se procesan, dependiendo de la fuente, en una se tiene datos cualitativoso cuantitativos, se puede aplicar LabelEnconder para convertir este tipo de datos de textocategorico en datos numericos comprensibles con el modelo. Aquı tambien se presentancampos con datos vacıos, por lo que se puede llenar con valores como la media, moda, etc.

Tambien se aplica seleccion de caracterısticas con el fin de eliminar atributos queno proveen informacion util. Ası como ingenierıa de caracterısticas para agregar nuevasdatos que nos ayuden a optimizar el modelo. La mayorıa de las veces, su conjunto de datoscontendra caracterısticas altamente variables en magnitudes, unidades y rango. Entoncesse aplica estandarizacion como en este caso.

Supongamos que estamos tratando de seleccionar entre varios modelos diferentespara un problema de aprendizaje, esta seccion nos ayuda a establecer los valores que sedan en una hipotesis para obtener el menor valor del error, entonces ası podemos decidirentre todos las tecnicas no supervisadas [17].

Validacion Cruzada

La validacion cruzada es un metodo estadıstico utilizado para estimar la habilidadde los modelos de aprendizaje automatico. Se emplea comunmente en el aprendizaje apli-cado de maquinas para comparar y seleccionar un modelo para un problema de modeladopredictivo dado, porque es facil de entender e implementar, y da como resultado esti-

Universidad Catolica San Pablo 19

Page 30: Escuela Profesional de Ciencia de la Computaci on An

20 Escuela Profesional de Ciencia de la Computacion

maciones de habilidades que generalmente tienen un sesgo mas bajo que otros metodos[17].

k-Fold Validacion cruzada

La validacion cruzada es un procedimiento de muestreo utilizado para evaluar mode-los de aprendizaje automatico en una muestra de datos limitada que tiene un parametrok, que es el numero de agrupaciones en los que se debe dividir una muestra de datos [17].

La validacion cruzada se utiliza principalmente en el aprendizaje automatico aplica-do para evaluar un modelo sobre datos no usados con el fin de estimar un valor esperadomediante una funcion de elacion del modelo en general cuando se utiliza para hacer pre-dicciones sobre datos no utilizados durante la fase de entrenamiento.

Es un metodo popular porque es facil de entender y porque generalmente resulta enuna estimacion menos sesgada o menos optimista de la habilidad del modelo que otrosmetodos, como una simple division tren/prueba.

El procedimiento general es el siguiente [17]:

Dividir el conjunto de datos en agrupaciones k.

Para cada agrupacion unica:

• Tomar el agrupacion como un conjunto de datos de reserva o de prueba.

• Tomar las agrupaciones restantes como un conjunto de datos de entrenamiento.

• Ajuste un modelo en el equipo de entrenamiento y evalue en el equipo deprueba.

• Retener la puntuacion de la evaluacion y descartar el modelo

Resumir la habilidad del modelo utilizando la muestra de las puntuaciones de eva-luacion del modelo.

Seleccion de Caracterısticas

Un caso especial e importante de seleccion de modelos se llama seleccion de carac-terısticas. Para motivar esto, imagina que tienes un problema de aprendizaje supervisadodonde el numero de caracterısticas n es muy grande, pero sospechas que solo hay unpequeno numero de caracterısticas que son relevantes para la tarea de aprendizaje. Elsuperposicion serıa un problema potencial a menos que el conjunto de entrenamiento seabastante grande [17].

En esta configuracion, se puede aplicar un algoritmo para reducir el numero de ca-racterısticas. Por ejemplo: dadas las n caracterısticas, hay 2n posibles subconjuntos decaracterısticas, ya que cada una de las n caracterısticas puede ser incluida o excluida delsubconjunto, y por lo tanto la seleccion de estas puede ser planteada como un problema

20 Universidad Catolica San Pablo

Page 31: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 21

de seleccion de modelo sobre 2n modelos posibles, que suele ser demasiado caro enumerary comparar explıcitamente los 2n modelos, por lo que normalmente se utiliza algun proce-dimiento de busqueda heurıstica para encontrar un buen subconjunto de caracterısticas.

Mediante la validacion cruzada, se encuentra las caracterısticas de la siguiente ma-nera.

Inicializamos el Conjunto de Caracterısticas finales con F = vacıo.

Repetir para cada uno de las n caracterısticas

• si la caracterıstica no esta en F, entonces Fi = F + i

• Mediante validacion cruzada evaluamos la caracterıstica Fi, es decir entrenamosel algoritmo de aprendizaje usando solo las caracterısticas en Fi.

• Estimamos su error de generalizacion.

• Entonces el conjunto F es el mejor subconjunto de caracterısticas que se en-cuentra en este paso.

Seleccione y edite el mejor subconjunto de caracterısticas que se evaluo durante todoel proceso de busqueda.

Por ultimo como debemos definir el numero de caracterısticas k a elegir, nuevamen-te podemos usar la validacion cruzada para seleccionar entre los valores posibles de k,para obtener un subconjunto que nos ayuda a alcanzar buenos valores en las metricas deevaluacion.

Una buena forma de seleccionar las caracterısticas, ya que es intratable por el nu-mero de veces que se deben de procesar, es por eso que otra alternativa es mediante lavisualizacion de datos, donde con ayuda del computador podemos notar algunos com-portamientos que podemos identificar para considerar si es o no relevante, por ejemplo:Eliminar caracterısticas colineales, as como eliminar caracterısticas con mas de un porcen-taje de umbral de valores perdidos, Mantener solo las funciones mas relevantes utilizandolas importaciones de funciones de un modelo.

Tecnicas generales

Hay muchas maneras de obtener caracterısticas de ingenierıa combinando atributosbrutos en datos tabulares, eligiendo indicadores especıficos de contexto en datos de texto,encontrando estructuras relevantes en datos. A continuacion se examinan algunos ejemplosmas usados [17].

Binarizacion para descomponer cualquier tipo de atributo en dos agrupaciones.Por ejemplo, atributos categoricos en dos clases (azul/rojo/desconocido en color/sincolor), cantidades numericas en dos intervalos (arriba/abajo X), con el caso especialde frecuencias (positivo/0).

Combinacion de caracterısticas mediante cualquier tipo de operacion como adicion oproducto, como en la regresion lineal polinomica. Tambien podemos combinar carac-terısticas categoricas, tratando un par de caracterısticas tomadas en conjunto como

Universidad Catolica San Pablo 21

Page 32: Escuela Profesional de Ciencia de la Computaci on An

22 Escuela Profesional de Ciencia de la Computacion

una sola caracterıstica, es decir, caracterıstica C = (caracterıstica A, caracterısticaB).

Cuantizacion es la transformacion de valores numericos continuos en categorıas. Lasenal (pesos, conteo de vistas) se descompone en un numero finito de intervalos.Tenga en cuenta que el caso especial de dos intervalos corresponde a la binarizacion.Los contenedores pueden tener un tamano de ancho fijo o ser adaptables.

El proceso de las caracterısticas de ingenierıa suele ser iterativo: aplicar cualquiertecnica posteriormente evaluar el modelo para ver si las nuevas caracterısticas ayudaban.

2.2.6. Tratando con Datos Desbalanceados

La mayorıa de los algoritmos de aprendizaje automatico funcionan mejor cuandoel numero de instancias de cada clase es aproximadamente igual. Cuando el numero deinstancias de una clase supera con creces a la otra, surgen problemas [16].

Esto se puede resolver aproximadamente en tres categorıas [16]:

Sobremuestreo, agregando mas de la clase minoritaria para que tenga mas efecto enel algoritmo de aprendizaje automatico

Submuestreo, eliminando parte de la clase mayoritaria para que tenga menos efectoen el algoritmo de aprendizaje automatico.

Hıbrido, una mezcla de sobremuestreo y submuestreo.

2.2.7. Metricas de Desempeno

Una vez que haya construido su modelo, la pregunta mas importante que surge es¿que tan bueno es su modelo? Por lo tanto, la evaluacion de su modelo es la tarea masimportante en el proyecto que delinea que tan buenas son sus predicciones [16].

Una matriz de confusion es una tabla que se utiliza a menudo para describir elrendimiento de un modelo de clasificacion en un conjunto de datos de prueba cuyos valoresreales se conocen.

Verdadero Positivo: Estos son los valores positivos correctamente predichos, lo quesignifica que el valor de la clase real es sı y el valor de la clase pronosticada estambien sı. Por ejemplo, si el valor real de la clase indica que el pasajero sobrevivioy la clase prevista le dice lo mismo.

Verdadero Negativo: Estos son los valores negativos correctamente predichos, lo quesignifica que el valor de la clase real es no y el valor de la clase predichos tambienes no. Por ejemplo, si la clase real dice que este pasajero no sobrevivio y la claseprevista le dice lo mismo.

22 Universidad Catolica San Pablo

Page 33: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 23

Falso Positivo y Falso Negativo estos valores ocurren cuando su clase real contradicea la clase predicha.

Falso Positivo: Cuando la clase real es no y la clase pronosticada es sı. Por ejemplo,si la clase real dice que este pasajero no sobrevivio, pero la clase pronosticada ledice que este pasajero sobrevivira.

Falso Negativo: Cuando la clase real es sı, pero la clase pronosticada en no. Porejemplo, si el valor real de la clase indica que el pasajero sobrevivio y la clasepronosticada le indica que el pasajero morira.

Ahora, podremos calcular la exactitud, la precision, la recuperacion y el puntaje f1.

Exactitud

La exactitud es la medida de rendimiento mas intuitiva y es simplemente una relacionentre la observacion correctamente predicha y las observaciones totales. Uno puede pensarque, si tenemos una alta exactitud, entonces nuestro modelo es el mejor. Sı, la exactitudes una gran medida, pero solo cuando se dispone de conjuntos de datos simetricos en losque los valores de falsos positivos y falsos negativos son casi los mismos. Por lo tanto,usted tiene que mirar otros parametros para evaluar el rendimiento de su modelo.

Exactitud =V P + V N

V P + FP + FN + V N

Precision

La precision es la relacion entre las observaciones positivas correctamente predichasy el total de observaciones positivas predichas. La pregunta de que esta respuesta metricaes de todos los pasajeros que fueron etiquetados como sobrevivientes, ¿cuantos realmentesobrevivieron? La alta exactitud se relaciona con la baja tasa de falsos positivos.

Precision =V P

V P + FP

Recuperacion

Recuperacion es la relacion entre las observaciones positivas correctamente predichasy todas las observaciones en la clase real, sı. La respuesta a la pregunta de recordar es:De todos los pasajeros que realmente sobrevivieron, ¿cuantos etiquetamos?

Recuperacion =P

V P + FN

Universidad Catolica San Pablo 23

Page 34: Escuela Profesional de Ciencia de la Computaci on An

24 Escuela Profesional de Ciencia de la Computacion

Puntaje f1

El puntaje f1 es el promedio ponderado de exactitud y recuperacion Por lo tanto,esta puntuacion tiene en cuenta tanto los falsos positivos como los falsos negativos. Intui-tivamente no es tan facil de entender como la exactitud, pero puntaje f1 suele ser mas utilque el exactitud, especialmente si tiene una distribucion de clases desigual. La exactitudfunciona mejor si los falsos positivos y los falsos negativos tienen un costo similar. Si elcosto de los falsos positivos y falsos negativos es muy diferente, es mejor mirar tanto aexactitud como a recuperacion.

Puntajef1 = 2 ∗ (recuperacion ∗ exactitud)

(recuperacion+ exactitud)

2.2.8. Evaluacion del Modelo y Refinamiento

Se ha definido la validacion cruzada como una de nuestras metricas mas importantespara obtener la mejor configuracion ya sea en la etapa de ingenierıa de caracterısticas,para los parametros del modelo, o para conocer su comportamiento en el entrenamientoy prediccion del conjunto de datos tomando varios subconjuntos de datos; y ası, podercomparar los resultados mediante las metricas de evaluacion como exactitud y puntaje f1.

Sabemos el objetivo final del Aprendizaje Automatico es crear un sistema de ma-quinas que pueda construir modelos automaticamente a partir de los datos sin requerir laparticipacion humana. Entonces, una de las dificultades que se tiene es que en las tecnicaspresentadas se requiere establecer parametros antes de usar los modelos o al menos queestablezca restricciones sobre esos parametros. La forma de establecer esos parametrospuede depender de una gran cantidad de factores.

Entonces, nuestro objetivo por lo es establecer esos parametros en valores tan opti-mos que le permitan completar una tarea de aprendizaje de la mejor manera posible. Ası,afinar un algoritmo o una tecnica puede ser considerado simplemente como un procesopor el que se optimizan los parametros que impactan en el modelo para permitir que elalgoritmo funcione de la mejor manera.

2.2.9. Comparacion de Modelos

Prueba de la diferencia de proporciones

Existen diversos marcos de prueba de hipotesis estadısticas diferentes que se estanutilizando en la practica para comparar el rendimiento de los modelos de clasificacion,incluyendo metodos convencionales como la diferencia de dos proporciones.

Realizar una prueba puntaje z para dos proporciones de poblacion es sin duda laforma mas sencilla de comparar con los modelos, pero no la mejor: En pocas palabras, silos intervalos de confianza del 95 % de las precisiones de dos modelos no se superponen,

24 Universidad Catolica San Pablo

Page 35: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 25

podemos rechazar la hipotesis nula de que el rendimiento de ambos clasificadores es iguala un nivel de confianza de = 0, 05 [8].

No obstante, en aras de la exhaustividad, y dado que se trata de un metodo de usocomun en la practica, el procedimiento general se describe a continuacion (que tambiense aplica en general a las diferentes pruebas de hipotesis que se presentan mas adelante):

Formular la hipotesis a probar (por ejemplo, la hipotesis nula que indica que lasproporciones son las mismas; en consecuencia, la hipotesis alternativa de que lasproporciones son diferentes, si utilizamos una prueba de dos colas);

Decidir sobre un umbral de significacion (por ejemplo, si la probabilidad de observaruna diferencia mas extrema que la observada es superior al 5 %, entonces planeamosrechazar la hipotesis nula);

Analizar los datos, calcular la estadıstica de la prueba (aquı: puntaje z) y compa-rar su valor p asociado (probabilidad) con el umbral de significacion previamentedeterminado;

Basado en el valor p y el umbral de significacion, aceptar o rechazar la hipotesisnula en el nivel de confianza dado e interpretar los resultados.

El puntaje z se calcula como la diferencia observada dividida por la raız cuadradapara sus varianzas combinadas.

Comparacion de dos modelos con la prueba de McNemar

La prueba de McNemar es una prueba estadıstica no parametrica para comparacio-nes emparejadas que se puede aplicar para comparar el rendimiento de dos clasificadoresde Aprendizaje Automatico.

A menudo, la prueba de McNemar se aplica a datos nominales emparejados basadosen una version de la matriz de confusion 2x2 a veces tambien llamada tabla de contingencia2x2 que compara las predicciones de dos modelos entre sı, no se debe confundir conlas tıpicas matrices de confusion que se encuentran en el aprendizaje automatico, yaexplicados anteriormente.

Valores p Exactos mediante el Test Binomial

Mientras que la prueba de McNemar se aproxima razonablemente bien a los valoresp, existen casos donde para se usa una prueba binomial computacionalmente mas costosapara calcular los valores p exactos si los valores son relativamente pequenos, ya que elvalor chi-cuadrado de la prueba de McNemar puede no estar bien aproximado por ladistribucion chi-cuadrada [8].

Los valores p de la version corregida de continuidad de la prueba de McNemar soncasi identicos a los valores p de una prueba binomial.

Universidad Catolica San Pablo 25

Page 36: Escuela Profesional de Ciencia de la Computaci on An

26 Escuela Profesional de Ciencia de la Computacion

Prueba t Emparejada y Remuestreada

El procedimiento de la prueba t emparejada con la remuestreo es un metodo popularpara comparar el rendimiento de dos modelos; sin embargo, este metodo tiene muchosinconvenientes y no se recomienda su uso en la practica.

Para explicar como funciona este metodo, consideremos dos clasificadores C1 y C2.Ademas, tenemos un conjunto de datos con la etiqueta D. En el metodo de retencioncomun, normalmente se divide el conjunto de datos en dos partes: un conjunto de entre-namiento y un conjunto de pruebas.[8]

En el procedimiento de prueba t emparejado y remuestreado, repetimos este proce-dimiento de division (con tıpicamente 2/3 de datos de entrenamiento y 1/3 de datos deprueba) k veces. En cada iteracion, colocamos C1 y C2 en el mismo equipo de entrena-miento y los evaluamos en el mismo equipo de prueba. Luego, calculamos la diferencia derendimiento entre C1 y C2 en cada iteracion para obtener medidas de diferencia de k.

Ahora, haciendo la suposicion de que estas diferencias que fueron dibujadas inde-pendientemente y siguen una distribucion aproximadamente normal, podemos calcular lasiguiente estadıstica t con k − 1 grados de libertad segun la prueba t de estudiante, bajola hipotesis nula de que los modelos C1 y C2 tienen el mismo rendimiento:

Una vez calculada la estadıstica t, podemos calcular el valor p y compararlo connuestro nivel de significacion elegido, por ejemplo, = 0,05. Si el valor p es menor que ,rechazamos la hipotesis nula y aceptamos que hay una diferencia significativa entre losdos modelos.

K-Fold Validacion Cruzada Emparejada Prueba t

Tenemos dos clasificadores A y B y conjunto de datos denominado D. En el metodode retencion comun, usualmente dividimos el conjunto de datos en dos partes: un con-junto de entrenamiento y un conjunto de pruebas. En el procedimiento de prueba K-fold,dividimos el conjunto de prueba en k partes de igual tamano, y cada una de estas partesse utiliza para la prueba, mientras que el resto de las partes k − 1 unidas entre sı para laformacion de un clasificador.[8]

En cada iteracion de validacion cruzada de K-fold, calculamos la diferencia de rendi-miento entre A y B en cada una de ellas para obtener medidas de diferencia de k. Ahora,haciendo la suposicion de que estas diferencias que fueron dibujadas independientementey siguen una distribucion aproximadamente normal, podemos calcular la siguiente esta-dıstica t con grados de libertad k − 1 de acuerdo con la prueba t de estudiante, bajo lahipotesis nula de que los modelos A y B tienen el mismo rendimiento:

t =p√k

√∑ (pi−p)2

k−1

Donde p(i) calcula la diferencia entre las prestaciones del modelo en la iteracion i,

26 Universidad Catolica San Pablo

Page 37: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 27

p(i) = pA−pB y p representa la diferencia media entre los rendimientos de los clasificadores,p = 1

k

∑p(i)

Una vez calculada la estadıstica t, podemos calcular el valor p y compararlo conel nivel de significacion elegido, por ejemplo y el valor mas comun usado = 0, 05. Si elvalor de p es menor que rechazamos la hipotesis nula y aceptamos que hay una diferenciasignificativa entre los dos modelos.

Universidad Catolica San Pablo 27

Page 38: Escuela Profesional de Ciencia de la Computaci on An

28 Escuela Profesional de Ciencia de la Computacion

Capıtulo 3

Analisis Comparativo de tecnicas deAprendizaje Automatico paradetectar Fraude en Tarjetas deCredito

3.1. Definicion de Pruebas

Es habitual que uno de los principales obstaculos para este tipo de situaciones, sea lafalta de disponibilidad de datos reales. Sin embargo, existen algunas fuentes de informacioncon los que se pueden realizar los experimentos requeridos por los investigadores. Es poresta razon que en el documento se utilizan dos conjuntos de datos que son consideradosde gran relevancia en esta area de investigacion.

3.1.1. Conjuntos de Datos

El primero es obtenido del sitio web Kaggle que le pertenece a Google y que esusado por muchos investigadores para proponer soluciones a varias competencias que sepresentan. Es decir, que este repositorio es actualmente la principal fuente de informacionde datos mas usada en esta area de investigacion .

El segundo conjunto de datos utilizado es del concurso organizado por la Universidadde California, San Diego (UCSD) y FICO, una importante firma de analisis y apoyo ala toma de decisiones en 2009. Esta universidad siempre ha promovido el desarrollo deconcursos para resolver problematicas reales con el apoyo de instituciones interesadas.Cabe destacar que es tambien uno de los conjuntos de datos mas usados segun los trabajosrelacionados.

28 Universidad Catolica San Pablo

Page 39: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 29

Competicion de Kaggle

El conjunto de datos contiene transacciones realizadas con tarjetas de credito enseptiembre de 2013 por titulares de tarjetas europeos. Este conjunto de datos presentalas transacciones que ocurrieron en dos dıas, donde se tiene 492 fraudes de 284807 tran-sacciones. El conjunto de datos es altamente desequilibrado, la clase positiva (fraudes)representa el 0,172 % de todas las transacciones.

Contiene solo variables de entrada numericas que son el resultado de una transforma-cion del Analisis de Componentes Principales. Desafortunadamente, debido a problemasde confidencialidad, no se puede acceder a las caracterısticas originales y otra informa-cion sobre los datos. Las caracterısticas V 1, V 2, ... V 28 son los principales componentesobtenidos con el Analisis de Componentes Principales. Las unicas caracterısticas que nose han transformado con el Analisis de Componentes Principales son Tiempo y Cantidad.La caracterıstica Tiempo contiene los segundos transcurridos entre cada transaccion. Lacaracterıstica Cantidad es la cantidad de la transaccion. La caracterıstica Clase es la va-riable de respuesta y toma el valor 1 en caso de fraude y 0 en caso contrario [4].

Time V1 V2 V3 y V4 ... Monto ClassCantidad 284.807.000.000 2,85E+11 2,85E+11 2,85E+11 2,85E+11 ... 284.807.000.000 284.807.000.000media 94.813.859.575 3,92E-09 5,69E-10 -8,77E-09 2,78E-09 ... 88.349.619 1.727std 47.488.145.955 1,96E+06 1,65E+06 1,52E+06 1,42E+06 ... 250.120.109 41.527min 0 -5,64E+07 -7,27E+07 -4,83E+07 -5,68E+06 ... 0 025 % 54.201.500.000 -9,20E+05 -5,99E+05 -8,90E+05 -8,49E+05 ... 5.600.000 050 % 84.692.000.000 1,81E+04 6,55E+04 1,80E+05 -1,98E+04 ... 22.000.000 075 % 139.320.500.000 1,32E+06 8,04E+05 1,03E+06 7,43E+05 ... 77.165.000 0max 172.792.000.000 2,45E+06 2,21E+07 9,38E+06 1,69E+07 ... 25.691.160.000 1.000.000

Cuadro 3.1: Descripcion del Conjunto de datos Kaggle

Concurso UCSD Data Mining Contest 2009

El conjunto de datos contiene datos reales de los truncamientos financieros de una or-ganizacion de comercio electronico. El organizador del concurso proporciono dos versionesdiferentes del conjunto de datos para los participantes: facil y difıcil. En esta investigacionse toma la version difıcil del conjunto de datos, esta se compone de 100000 instancias ycada instancia se compone de 20 caracterısticas.

Igualmente se muestra que el conjunto de datos esta muy desequilibrado, lo quesignifica que el 3 % de las transacciones son fraudulentas, mientras que el otro 97 % sonlegıtimas. Ademas, las caracterısticas del conjunto de datos son anonimas, ya que se trata,por supuesto, de informacion sensible. A pesar de esto, se tiene algunas caracterısticascomo el monto, cantidad, tiempo, entre otras [1].

Cabe resaltar que la diferencia para cada conjunto de datos es en el numero decaracterısticas, siendo para Kaggle 37 y UCSD 20.

Universidad Catolica San Pablo 29

Page 40: Escuela Profesional de Ciencia de la Computaci on An

30 Escuela Profesional de Ciencia de la Computacion

monto hora1 total flag3 flag4cantidad 94.682.000.000 94.682.000.000 94.682.000.000 ... 94.682.000.000 94.682.000.000mean 25.635.312 13.864.726 25.626.179 ... 401.185 19.888std 14.190.485 5.263.233 14.198.761 ... 490.141 139.615min 0 0 0 ... 0 025 % 12.950.000 10.000.000 12.950.000 ... 0 050 % 25.900.000 14.000.000 25.900.000 ... 0 075 % 38.850.000 18.000.000 38.850.000 ... 1.000.000 0max 95.400.000 23.000.000 95.400.000 ... 1.000.000 y 1.000.000

Cuadro 3.2: Descripcion del Conjunto de datos UCSD DMC 2009

3.1.2. Entorno de Trabajo

La herramienta utilizada para este trabajo fue Ipython Notebook que anade el modointeractivo, ejecutada en una laptop Intel core i3 de quinta generacion.

3.1.3. Seleccion de Parametros (GridSearchCV)

Para entrenar cualquier modelo de aprendizaje automatico se requieren de parame-tros de ajuste, tambien llamados hiperparametros que se dan durante la fase de entrena-miento.

Entonces, la seleccion de un valor puede afectar de forma significativa a los resulta-dos. GridSearchCV es una de las herramientas que permiten seleccionar los parametrosmas adecuados para un modelo, dado un conjunto de datos utilizando la tecnica de vali-dacion cruzada [6].

Siendo uno de los mas simples y faciles de utilizar, consiste en indicarle ciertosparametros como el modelo instanciado: los valores a probar y el numero de conjuntos enel que se dividen los datos. Esto se realiza mediante los siguientes parametros:

Estimator: el modelo que se ha de evaluar.

Param grid: un diccionario en que se indica los parametros a evaluar como clavey el conjunto elementos como valor.

Cv: el numero de conjuntos en los que se divide los datos para la validacion cruzada.

Finalmente despues de todas las iteraciones, nos devolvera el mejor modelo con susrespectivos hiperparametros. Con esta herramienta se alcanza el mejor refinado de cadauno de las tecnicas establecidas mediante la definicion de valores para los hiperparametros.

A continuacion se detalla algunos de los hiperparametros que son evaluados por cadamodelo.

30 Universidad Catolica San Pablo

Page 41: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 31

3.1.4. Red Neuronal

En primer lugar hace uso de Tensorflow, que es una librerıa de codigo abierto pararealizar calculos de alto rendimiento para CPU y GPU.

Se aplico la division de datos para entrenamiento y prueba mediante la validacioncruzada K-fold igual a 10.

En la fase de entrenamiento de la Red Neuronal se define el numero de nodos deentrada con 37, 2 nodos en la capa de salida y en capas ocultas, la segunda capa tieneuna dependencia de la capa anterior multiplicado por 1,5, igual que la tercera capa.

Para este trabajo se manejaron 3 datos para la capa de salida 18, 30 y 70, buscandola relacion de la mitad, igualdad y doble cantidad de la capa de entrada. El porcentaje dedesercion de neuronas es 0,9. La la primera y segunda capa hace el procesamiento pasalos valores con la funcion de activacion sigmoidal ; en la tercera capa, ademas de realizarla funcion de activacion, se realizo la desercion de neuronas, en la cuarta Capa no aplicarla funcion de activacion, ya que es la ultima y debe realizar la normalizacion mediantesoftmax.

Tambien para equilibrar los datos la red neuronal usa un radio que es el tamanode x del conjunto de entrenamiento dividido por la cantidad de fraudes, para despues sermultiplicado por el tamano del conjunto de datos.

Se ha definido los siguientes parametros: como numero de epocas = 2000 y la tasade aprendizaje= 0,01 y 0,005, el tamano del lote = 2048.

Entonces por cada epoca, inicia una iteracion de lote que va hasta el numero deejemplos, para llenar los datos de lote para x y lote para y con el contenido de conjuntode entrada respectivamente. Una vez acabado esta iteracion ejecuta el optimizador deAdam y funcion de Costo. Cuando acabe el primer bucle se obtiene el valor predicho eny para obtener los resultados de exactitud y.

Cabe destacar que TensorFLow integra el proceso de Propagacion Inversa cuandohace el Gradiente de Descenso Adaptativo para minimizar el error.

3.1.5. Extreme Gradiente Boost

En primer lugar hace uso de su propia librerıa xgboost. En este caso se usa el paquetepara python, ademas viene integrado a otras librerıas como sciPy, numpy, entre otras quefacilitan su integracion.

Para conocer mas de esta librerıa debemos conocer algunos terminos que se usa enlos hiperparametros para generar los arboles. Dentro de toda esta librerıa hacemos uso deXGBClassifier. Tenemos los siguientes:

Para los parametros generales podemos definir el booster a usar, por ejemplo gbtree,gblinear, que su principal diferencia es que funcion va usar. Para este trabajo usamos el

Universidad Catolica San Pablo 31

Page 42: Escuela Profesional de Ciencia de la Computaci on An

32 Escuela Profesional de Ciencia de la Computacion

gbtree. Tambien podemos definir el numero de hilos o caracterısticas, que comunmente sedeja que el mismo XGBoost lo realice.

Para incrementar el poder predictivo, es definir algunos parametros como: n estimators,que es numero de arboles que construye el algoritmo antes de tomar la votacion maximao tomar promedios de predicciones. En general, una mayor cantidad de arboles aumentael rendimiento y hace que las predicciones sean mas estables, pero tambien ralentiza elcalculo.

El primero es max depth, que trata de la profundidad maxima de un arbol, cuandoeste aumenta es mas complejo y mas probable que se sobrecargue. Otro importante esrandom state, para establecer la semilla aleatoria del modelo. Finalmente usamos lear-ning rate, para establecer la tasa de aprendizaje que se va experimentando.

Entonces para colsample bytree= [0.4, 0.6, 0.8, 1.0], gamma= [0.25, 0.5, 1.0, 1.5, 2],learning rate= [0.001, 0.01, 0.1, 0.3, 0, 5], max depth= [6, 10, 15, 20], min child weight=[0.5, 1.0, 3.0, 5.0, 7.0, 10.0], n estimators= [50, 100, 150, 200], reg lambda= [0.1, 1.0, 5.0,10.0, 50.0, 100.0], subsample= [0.5, 0.7, 0.9, 1.0]

3.1.6. Maquinas de Vectores de Soporte

Inicialmente hace uso de la librerıa sklearn. En este caso se usa el paquete parapython, ademas viene integrado a otras librerıas como sciPy, numpy, entre otros, quefacilitan su integracion.

Para incrementar el poder predictivo es definir algunos parametros, como C, quedefine la penalidad de error, el tipo de kernel y gamma. Cuanto mas alto es el valorgamma, mas se ajusta al conjunto de datos de entrenamiento.

Entonces para kernel se tiene los siguientes valores=[linear, rbf, poly]. Para gamma=[0.1, 0.01, 0.001]. Para C= [0.1, 0.01,0.001].

3.1.7. Bosques Aleatorios

En primer lugar hace uso de la librerıa sklearn un bosque aleatorio es un metaes-timulador que se ajusta a un numero de clasificadores de arboles de decision en variassubmuestras del conjunto de datos y utiliza el promediado para mejorar la exactitudpredictiva y el ajuste excesivo de control.

Para acrecentar el poder predictivo se define algunos parametros, como n stimatorsque es el numero de arboles en el bosque; criterion, la funcion para medir la calidad deuna particion; max depth, la profundidad maxima del arbol; min samples leaf, el numeromınimo de muestras necesario para dividir un nodo interno; min samples split, el numeromınimo de muestras que se requiere para estar en un nudo de la hoja; boostrap, si seutilizan muestras de bootstrap al construir arboles. Si es Falso, se usa todo el conjuntode datos para construir cada arbol.

32 Universidad Catolica San Pablo

Page 43: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 33

Entonces para n estimators tenemos los siguientes valores: [50, 100, 150, 200], paracriterion: [gini, entropy], max depth:[10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, None].Para max features :[auto, sqrt], min samples leaf : [1, 2, 4], para min samples split : [2, 5,10] y bootstrap: [True, False].

3.1.8. Clasificador Bayesiano Ingenuo

Se hace uso de la librerıa sklearn seguidamente para ampliar el poder predictivose define algunos parametros: el parametro priors significa las probabilidades previas delas clases, si se especifican, las prioridades no se ajustan de acuerdo con los datos; elparametro var smoothing, comienza por la desviacion mayor de todas las caracterısticasque se anaden a las desviaciones para la estabilidad de la determinacion.

3.1.9. Comparacion de Modelos

Ademas de las metricas de desempeno como se explico en el capıtulo anterior, laevaluacion de los modelos para conocer si significativamente un modelo es mejor que losotros se ha realizado con la prueba t estadıstico. En este trabajo de investigacion ha usadouna variacion que consta de la siguiente manera:

5x2 Validacion Cruzada Emparejada Prueba t Estudiante

Tenemos dos clasificadores A y B y conjunto de datos denominado D. En el metodocomun, normalmente dividimos el conjunto de datos en dos partes: un conjunto de entre-namiento y un conjunto de pruebas, la division (50 % de entrenamiento y 50 % de datosde prueba) 5 veces.

En cada una de las 5 iteraciones, ajustamos A y B a la division del entrenamiento yevaluamos su rendimiento (pA y pB) en la division de prueba. Luego, rotamos los equiposde entrenamiento y de prueba (el conjunto de entrenamiento se convierte en el conjuntode prueba y viceversa), calculamos de nuevo el rendimiento, lo que resulta en 2 medidasde diferencia de rendimiento [8]:

p(1) = p(1)A − p

(1)B

yp(2) = p

(2)A − p

(2)B

Entonces estimamos la mediana y varianza de las diferencias:

p =p(1) + p(2)

2

ys2 = (p(1) − p)2 + (p(2) − p)2

Universidad Catolica San Pablo 33

Page 44: Escuela Profesional de Ciencia de la Computaci on An

34 Escuela Profesional de Ciencia de la Computacion

La varianza de la diferencia se calcula para las 5 iteraciones y luego se utiliza paracalcular la estadıstica t de la siguiente manera:

t =p(1)1√

15

∑s2i

Donde p(1)1 es el p1 desde la primera iteracion. La estadıstica t, asumiendo que sigue

aproximadamente como distribucion t con 5 grados de libertad, bajo la hipotesis nula deque los modelos A y B tienen igual rendimiento. Utilizando la estadıstica t, el valor ppuede ser calculado y comparado con un nivel de significacion previamente elegido, porejemplo, α = 0,05. [8]

Si el valor de p es menor que α, rechazamos la hipotesis nula y aceptamos que hayuna diferencia significativa entre los dos modelos. [8]

34 Universidad Catolica San Pablo

Page 45: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 35

Capıtulo 4

Resultados

En este capıtulo se muestran los resultados obtenidos para los conjuntos de datosKaggle y UCSD Data Mining Contest 2009.

De esta forma, se muestra una tabla de resultados por cada tecnica evaluada. Encada una de estas tablas se tienen los parametros que fueron considerados y sus valoresrespectivamente.

En este trabajo los valores para los parametros se basan en tres casos: el defecto, elpromedio y el mejor con el objetivo de tener una vision mas amplia. Ademas se coloca losvalores de las metricas empleadas entre ellas la exactitud y el puntaje F1 para los cadacaso evaluado.

4.1. Conjunto de datos Kaggle de deteccion de frau-

de en tarjetas de credito

En esta seccion, se muestra una discusion de los resultados obtenidos. Es decir, sedescribe la comparacion de los valores de exactitud y puntaje F1 por cada tabla para asıdeterminar la mejor tecnica.

Parametros Defecto Promedio Mejor

neuronas 30 30 30tasa de aprendizaje 0.01 0.05 0.01

epocas en entrenamiento 100 200 100exactitud 0.9953221 0.999762 0.99740

puntaje F1 0.97921 0.979769 0.971982

Resultados para el Red Neuronal en conjunto de datos Kaggle

Universidad Catolica San Pablo 35

Page 46: Escuela Profesional de Ciencia de la Computaci on An

36 Escuela Profesional de Ciencia de la Computacion

Parametros Defecto Promedio Mejor

n estimators 50 10 150criterion gini gini entropy

max depth None 60 70max features auto sqrt sqrt

min samples leaf 1 2 2min samples split 5 5 5

bootstrap false false falseexactitud 0.985524 0.989762 0.999564

puntaje F1 0.848781 0.849769 0.858980

Resultados para los Bosques Aleatorios en conjunto de datos Kaggle

Parametros Defecto Promedio Mejor

kernel rbf linear rbfC 0.1 10 10

gama 0.1 10 0.001exactitud 0.98873 0.98713 0.99955

puntaje F1 0.845725 0.84702 0.85461

Resultados para las Maquinas de Vectores de Soporte en conjunto de datos Kaggle

Parametros Defecto Promedio Mejor

n estimators 50 50 100learningrate 0.05 0.1 0.3max depth 5 5 15

colsample bytree 1 1 0.8min child weight 0.5 0.5 1.0

subsambple 0.5 0.5 0.7rev lambda 0.1 0.1 0.1

min child weight 0.5 0.5 1.0gamma 0.5 0.25 1.0

exactitud 0.984192 0.98739 0.99957puntaje F1 0.84572 0.84123 0.85576

Resultados para el Extreme Gradiente Boost en conjunto de datos Kaggle

Parametros Defecto Promedio Mejor

exactitud 0.964121 0.96937 0.96941puntaje F1 0.08572 0.09123 0.09596

Resultados para el Clasificador Bayesiano Ingenuo en conjunto de datos Kaggle

En primer lugar, la experimentacion toma bastante tiempo, puesto que se deberealizar todas las combinaciones posibles de los parametros por cada modelo. De estamanera es importante tener paciencia a la hora de procesar todo este proceso.

36 Universidad Catolica San Pablo

Page 47: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 37

Aunque es importante resaltar el tiempo de respuesta en cada uno de ellos estetrabajo no tiene ese enfoque.

Despues de todo este tiempo invertido tenemos que el uso del GridSearchCV nosdevuelve la mejor parametrizacion.

En los cuadros de resultados anteriormente mostrados se tiene una clara percepcionde cual de las tecnicas tiene mejor rendimiento.

Para conjunto de datos Kaggle obtenemos como ganador a la Red Neuronal, siendola tecnica con mayor exactitud y puntaje F1.

Se tiene que los Bosques Aleatorios, el Extreme Gradiente Boost y las Maquinas deVectores de Soporte no alcanzan el mismo valor de puntaje F1 que la Red Neuronal.

La diferencias entre estas tres ultimas tecnicas y la Red Neuronal oscila en 20−30 %.

Ademas que el Clasificador Bayesiano Ingenuo es la peor tecnica entre todas lasevaluadas.

Se deduce que la Red Neuronal es superior a las demas tecnicas por la metrica derecuperacion.

Universidad Catolica San Pablo 37

Page 48: Escuela Profesional de Ciencia de la Computaci on An

38 Escuela Profesional de Ciencia de la Computacion

Capıtulo 5

Conclusiones y Trabajos Futuros

Las tecnicas de Aprendizaje Automatico es el area de muchos campos de investi-gacion y Deteccion de Fraude en Tarjetas de Credito no es la excepcion. Tecnicas comola Red Neuronal, los Bosques Aleatorios, el Extreme Gradiente Boost , las Maquinas deVectores de Soporte y el Clasificador Bayesiano Ingenuo han demostrado ser muy utilesen problemas de clasificacion Supervisada.

La propuesta de este trabajo se divide en tres fases: la validacion cruzada para en-contrar la mejor parametrizacion de cada una de las tecnicas de Aprendizaje Automatico,la comparacion de estas tecnicas mediante las metricas de desempeno y confirmar sudiferencia significativa con pruebas estadısticas.

Los experimentos han mostrado que la Red Neuronal es superior a las demas tecnicas,alcanzando una exactitud de 0,99 y puntaje F1 de 0,97.

Tambien que el Extreme Gradiente Boost y el Bosques Aleatorios quedan como lasegunda mejor tecnica y no son significativamente diferentes.

Finalmente que el Clasificador Bayesiano Ingenuo es la peor tecnica al obtener apro-ximadamente 0,10 de puntaje F1.

5.1. Problemas encontrados

el parametro priors significa las probabilidades previas de las clases, si se especifi-can, las prioridades no se ajustan de acuerdo con los datos; el parametro var smoothing,comienza por la desviacion mayor de todas las caracterısticas que se anaden a las desvia-ciones para la estabilidad de la determinacion.

El desbalance de datos reduce el valor de la metrica de recuperacion por el cual nose puede alcanzar un buen puntaje F1.

38 Universidad Catolica San Pablo

Page 49: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 39

5.2. Recomendaciones

Tener presente que el tiempo para las pruebas realizadas mediante GridSearchCvpuede demorar horas.

Para el desempeno de la tecnica de Red Neuronal muestra buenos resultados, peroel tiempo de entrenamiento es significativamente mayor de las demas tecnicas.

Estos entornos de trabajos tienen la capacidad de trabajar con GPU, entonces, sicontamos con una computadora con estas caracterısticas su rendimiento va ser mejor ensus resultados.

No existe un mejor clasificador para todos los casos, el mejor va a depender de lainstancia particular del problema.

5.3. Trabajos futuros

Sacar el maximo provecho en el tratamiento de datos desbalanceados para ayudar aalcanzar un mejor valor en recuperacion y consecuentemente tener resultados idoneos.

Encontrar la mejor parametrizacion de cada tecnica para el conjunto de datos UCSDDMC 2009.

Realizar la comparacion de cada tecnica por conjunto de datos mediante la pruebaestadıstica t.

el parametro priors significa las probabilidades previas de las clases, si se especifi-can, las prioridades no se ajustan de acuerdo con los datos; el parametro var smoothing,comienza por la desviacion mayor de todas las caracterısticas que se anaden a las desvia-ciones para la estabilidad de la determinacion.

Universidad Catolica San Pablo 39

Page 50: Escuela Profesional de Ciencia de la Computaci on An

40 Escuela Profesional de Ciencia de la Computacion

Bibliografıa

[1] Credit Card Fraud Detect. https://sites.google.com/site/koheihayashi84/credit-cards-data-ucsd-dmc-2009/, 2018. [Online; accessed 15-November-2018].

[2] Demystifying support vector machines. https://towardsdatascience.com/demystifying-support-vector-machines-8453b39f7368/, 2018. [Online; accessed 17-October-2018].

[3] A machine learning classification model. https://medium.com/nsethi610/a-machine-learning-classification-model-in-python-e97dece85f09, 2018. [Online; accessed 17-October-2018].

[4] Machine Learning Group ULB. Credit Card Fraud Detect.https://www.kaggle.com/mlg-ulb/creditcardfraud/, 2018. [Online; accessed 17-October-2018].

[5] Random forest simple explanation. https://medium.com/williamkoehrsen/random-forest-simple-explanation-377895a60d2d/, 2018. [Online; accessed 17-October-2018].

[6] Tuning the hyper-parameters of an estimator. https://scikit-learn.org/stable/modules/gridsearch.html, 2019. [Online; accessed17 − October −2018].

[7] N. Demla & A. Aggarwal. Credit card fraud detection using svm and reduction offalse alarms. International Journal of Innovations in Engineering and Technology,pages 176–182, 2016.

[8] Remco R Bouckaert and Eibe Frank. Evaluating the replicability of significancetests for comparing learning algorithms. In Pacific-Asia Conference on KnowledgeDiscovery and Data Mining, pages 3–12. Springer, 2004.

[9] D. Lal & R. Singh C. Mishra. Credit card fraud identification using artificial neuralnetworks. International Journal of Computer Systems, pages 151–159, 2017.

[10] Varun Chandola, Arindam Banerjee, and Vipin Kumar. Anomaly detection: A survey.ACM computing surveys (CSUR), 41(3):15, 2009.

[11] Tianqi Chen and Carlos Guestrin. Xgboost: A scalable tree boosting system. pages785–794, 2016.

[12] R. Pratap & U. Nambiar I. Sohony. Ensemble learning for credit card fraud detection.In Proceedings of the ACM India Joint International Conference on Data Science andManagement of Data, pages 289–294, 2018.

40 Universidad Catolica San Pablo

Page 51: Escuela Profesional de Ciencia de la Computaci on An

Escuela Profesional de Ciencia de la Computacion 41

[13] Ben Knieff. 2016 lobal consumer card fraud: Where card fraud is coming from. 2016.

[14] B. Shanmugam & K. Kannoorpatti S. Manlangit, S. Azam. An efficient method fordetecting fraudulent transactions using classification algorithms on an anonymizedcredit card data set. In International Conference on Intelligent Systems Design andApplications, pages 418–429, 2017.

[15] M. Zareapoor & P Shamsolmoali. Application of credit card fraud detection: Basedon bagging ensemble classifier. Procedia Computer Science, pages 679–685, 2015.

[16] Abhinav Srivastava, Amlan Kundu, Shamik Sural, and Arun Majumdar. Credit cardfraud detection using hidden markov model. IEEE Transactions on dependable andsecure computing, 5(1):37–48, 2008.

[17] C Reid Turner, Alfonso Fuggetta, Luigi Lavazza, and Alexander L Wolf. A conceptualbasis for feature engineering. Journal of Systems and Software, 49(1):3–15, 1999.

[18] P. Zhang. Neural networks for classification: A survey, ieee trans. On Systems, Man,And Cybernetics—Part C: Applications and reviewss, pages Vol. 30, No. 4, 2000.

Universidad Catolica San Pablo 41