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