MA_Semana8_Deep_Learning_Autoencoder_Fraude.docx
Deep Learning · Semana 8 · 6 de abril de 2026
← volver descargar
Lo entregué en Word con formato APA. Aquí lo puedes leer sin descargar nada, aunque los márgenes y la tipografía originales sólo están en el archivo.

Aplicación de Autoencoder para Detección de Fraudes Bancarios

Momento de Aprendizaje – Semana 8

Alexander Oviedo Fadul

Maria Fernanda Ruiz Paipilla

Neheman Samir Jaller Cerchiaro

William David Obando Lopez

Ingeniería de Sistemas, Corporación Universitaria Minuto de Dios – UNIMINUTO

NRC 198: Deep Learning

Profesor: Juan Carlos Valencia

30 de abril de 2026

Introducción

El presente documento constituye el entregable correspondiente al Momento de Aprendizaje de la Semana 8 de la asignatura Deep Learning (NRC-198). La actividad consiste en la modificación y ejecución de un notebook en Google Colab que implementa un autoencoder para la detección de fraudes en transacciones bancarias, utilizando las bibliotecas Keras y TensorFlow 2.0.

Los autoencoders representan una arquitectura fundamental dentro del aprendizaje profundo no supervisado, capaz de aprender representaciones latentes de los datos sin necesidad de etiquetas explícitas. En el contexto del fraude bancario, esta característica resulta particularmente valiosa dado que los datasets financieros suelen estar altamente desbalanceados y los patrones de fraude cambian constantemente, lo que dificulta la aplicación de enfoques supervisados tradicionales.

Modificaciones Realizadas al Notebook

Siguiendo las instrucciones del docente Juan Carlos Valencia durante la sesión de clase, se aplicaron las siguientes modificaciones al notebook original:

Parámetro Valor Original Valor Modificado
Semilla (n) No especificada 5
Optimizador SGD RMSprop
Learning rate 0.01 0.001
Épocas 100 150
Batch size 32 64
Arquitectura 7-6-4-6-7 7-256-6-4-6-256-7
Dropout No aplicaba 0.2 (20%)
Funciones de activación tanh-relu-tanh-relu relu-tanh-relu-tanh-relu-relu

Justificación de las Modificaciones

Capa de 256 neuronas

La incorporación de una capa oculta con 256 neuronas tanto en el encoder como en el decoder incrementa la capacidad representativa del modelo, permitiendo capturar relaciones más complejas entre las características de las transacciones. Esto es especialmente relevante cuando los patrones de fraude involucran combinaciones sutiles de variables.

Optimizador RMSprop

Se seleccionó RMSprop como alternativa a SGD y Adam. Este optimizador adapta la tasa de aprendizaje de forma individual para cada parámetro, dividiendo el gradiente por la raíz cuadrada de la media exponencial de los gradientes al cuadrado. Esto ayuda a manejar problemas con gradientes ruidosos, comunes en datasets financieros desbalanceados.

Learning rate de 0.001

La reducción del learning rate de 0.01 a 0.001 permite una convergencia más suave y precisa, reduciendo la probabilidad de que el modelo oscile alrededor del mínimo óptimo de la función de pérdida sin alcanzarlo.

Aumento de épocas a 150

Con la nueva arquitectura más compleja y un learning rate más bajo, se requiere un mayor número de iteraciones para que el modelo converja adecuadamente. El incremento a 150 épocas proporciona al modelo el tiempo suficiente para aprender las representaciones latentes.

Dropout del 20%

La técnica de Dropout desactiva aleatoriamente el 20% de las neuronas durante el entrenamiento, obligando a la red a distribuir el aprendizaje entre múltiples caminos y evitando la memorización de transacciones específicas (sobreajuste).

Preguntas Teóricas

¿Cuáles son las aplicaciones de un autoencoder?

Un autoencoder es una arquitectura de red neuronal no supervisada que aprende a comprimir (codificar) datos en una representación latente y luego reconstruirlos (decodificar). Según Goodfellow et al. (2016), los autoencoders constituyen una herramienta fundamental del aprendizaje de representaciones. Sus principales aplicaciones incluyen:

  • Reducción de dimensionalidad: similar al análisis de componentes principales (PCA), pero capaz de capturar relaciones no lineales entre variables.

  • Eliminación de ruido (denoising): los autoencoders aprenden a filtrar el ruido de los datos de entrada, reconstruyendo versiones limpias de señales, imágenes o registros corruptos.

  • Detección de anomalías: al entrenarse exclusivamente con datos normales, el autoencoder genera un alto error de reconstrucción ante entradas atípicas, lo que permite identificar fraudes, fallas industriales o intrusiones en redes.

  • Generación de datos sintéticos: los autoencoders variacionales (VAE) permiten muestrear nuevos datos del espacio latente.

  • Compresión de datos: la representación latente puede servir como una forma eficiente de almacenar información con menor costo computacional.

  • Imputación de datos faltantes: el modelo puede aprender a predecir valores ausentes a partir de los patrones aprendidos en el espacio latente.

  • Segmentación y agrupamiento semántico: las representaciones latentes permiten agrupar datos similares sin necesidad de etiquetas previas.

¿Cómo se realiza la detección de fraudes mediante autoencoder en Python?

La detección de fraudes bancarios con autoencoders en Python sigue un flujo metodológico estructurado que comprende las siguientes etapas:

1. Preparación de datos: se carga el dataset de transacciones, se seleccionan las características relevantes (monto, frecuencia, hora, categoría) y se aplica escalado mediante StandardScaler de scikit-learn para normalizar las variables.

2. División del dataset: se separan los datos en conjunto de entrenamiento y prueba. Idealmente, el entrenamiento se realiza solo con transacciones normales para que el modelo aprenda exclusivamente el comportamiento legítimo.

3. Construcción del autoencoder: se define la arquitectura usando Keras/TensorFlow, estableciendo capas de codificación (encoder) que comprimen la entrada a un espacio latente de menor dimensión, y capas de decodificación (decoder) simétricas.

4. Entrenamiento: se entrena el modelo minimizando el error cuadrático medio (MSE) entre la entrada y la salida reconstruida, usando un optimizador como RMSprop o Adam.

5. Cálculo del error de reconstrucción: una vez entrenado, se pasan las transacciones de prueba por el autoencoder y se calcula el MSE para cada registro.

6. Definición del umbral: se establece un umbral de anomalía (por ejemplo, usando un percentil del error de reconstrucción). Las transacciones cuyo error supere este umbral se clasifican como sospechosas.

7. Evaluación: se analiza la matriz de confusión, la precisión (precision), la sensibilidad (recall) y el F1-score para evaluar el desempeño del modelo en la detección de fraudes.

Análisis de Resultados

El modelo original presentaba una arquitectura simple (7-6-4-6-7) con optimizador SGD, lo cual resultaba en una matriz de confusión donde todas las transacciones se clasificaban como normales, con 0 fraudes detectados. Esto se evidenció en un recall de 0.00 para la clase fraudulenta, lo que implica que el modelo era incapaz de detectar anomalías.

Las modificaciones aplicadas buscan corregir este comportamiento mediante tres estrategias complementarias: (a) el aumento de la capacidad representativa con la capa de 256 neuronas, que permite al modelo aprender patrones más complejos; (b) la incorporación de Dropout para prevenir la memorización y mejorar la generalización; y (c) el uso de RMSprop con un learning rate optimizado para una convergencia más estable.

Interpretación de las Visualizaciones

Histogramas

Los histogramas de montos de transacciones muestran una distribución asimétrica con cola larga hacia la derecha, típica de datos financieros donde la mayoría de las transacciones son de montos bajos y las transacciones de montos elevados son infrecuentes. Esta asimetría puede enmascarar transacciones fraudulentas de bajo monto que, en su acumulación, representan un riesgo significativo.

Boxplots

Los diagramas de caja permiten identificar valores atípicos (outliers) que se encuentran fuera del rango intercuartílico (IQR). En el contexto de fraude bancario, los puntos más allá de los bigotes del boxplot representan transacciones potencialmente sospechosas que merecen investigación adicional.

Diagramas de dispersión

Los scatter plots de monto versus puntaje de riesgo revelan la correlación entre el valor de la transacción y la probabilidad de fraude. A mayor monto, mayor riesgo; sin embargo, las transacciones de montos muy pequeños pero con alta frecuencia también pueden indicar patrones fraudulentos de tipo hormiga.

Conclusiones

Los autoencoders constituyen una herramienta poderosa para la detección de anomalías en datasets financieros desbalanceados, ya que no requieren etiquetas explícitas de fraude y pueden aprender la estructura latente del comportamiento normal de las transacciones.

La selección adecuada de hiperparámetros —optimizador, learning rate, épocas, arquitectura y técnicas de regularización como Dropout— tiene un impacto directo en la capacidad del modelo para distinguir entre transacciones legítimas y fraudulentas.

El umbral de anomalía es el componente más sensible del sistema. Su calibración debe balancear el costo de los falsos positivos (alertas innecesarias que saturan al equipo de análisis) contra el costo de los falsos negativos (fraudes no detectados que generan pérdidas económicas).

El análisis exploratorio de datos y la interpretación de visualizaciones (histogramas, boxplots, scatter plots) resultan fundamentales para comprender la distribución de los datos, detectar sesgos y guiar las decisiones de diseño del modelo.

Los sistemas antifraude basados en deep learning requieren monitoreo continuo y recalibración periódica, dado que los patrones de fraude evolucionan constantemente y el modelo debe adaptarse a nuevas formas de actividad maliciosa.

Enlace al Notebook en Google Colab

El notebook ejecutado se encuentra disponible en el siguiente enlace de Google Colab:

https://colab.research.google.com/drive/1ymXs1Zd1ZDOWj2nnGzy2G1L60hZdNFCK

Referencias

Chollet, F. (2021). Deep learning with Python (2nd ed.). Manning Publications.

Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning. MIT Press. https://www.deeplearningbook.org/

Géron, A. (2022). Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow (3rd ed.). O'Reilly Media.

Bank, D., Koenigstein, N., & Giryes, R. (2023). Autoencoders. In Machine learning for data science handbook (pp. 353-374). Springer. https://doi.org/10.1007/978-3-031-24628-9_16

Ahmed, M., Mahmood, A. N., & Islam, M. R. (2016). A survey of anomaly detection techniques in financial domain. Future Generation Computer Systems, 55, 278-288. https://doi.org/10.1016/j.future.2015.01.001