Los datos son una parte indispensable de las empresas y organizaciones, y sólo son valiosos cuando se estructuran adecuadamente y se gestionan con eficiencia.

Según una estadística, para el 95% de las empresas actuales la gestión y estructuración de datos no estructurados es un problema.

Aquí es donde entra en juego la minería de datos. Es el proceso de descubrir, analizar y extraer patrones significativos e información valiosa de grandes conjuntos de datos no estructurados.

Las empresas utilizan programas informáticos para identificar patrones en grandes lotes de datos con el fin de conocer mejor a sus clientes y a su público objetivo y desarrollar estrategias comerciales y de marketing para mejorar las ventas y reducir los costes.

Además de este beneficio, el fraude y la detección de anomalías son las aplicaciones más importantes de la minería de datos.

Este artículo explica la detección de anomalías y profundiza en cómo puede ayudar a prevenir las violaciones de datos y las intrusiones en la red para garantizar la seguridad de los datos.

¿Qué es la detección de anomalías y sus tipos?

Mientras que la minería de datos implica encontrar patrones, correlaciones y tendencias que se relacionan entre sí, es una gran manera de encontrar anomalías o puntos de datos atípicos dentro de la red.

Las anomalías en la minería de datos son puntos de datos que difieren de otros puntos de datos en el conjunto de datos y se desvían del patrón de comportamiento normal del conjunto de datos.

Las anomalías pueden clasificarse en distintos tipos y categorías, a saber

  • Cambios en los eventos: Se refieren a cambios repentinos o sistemáticos respecto al comportamiento normal anterior.
  • Valores atípicos: Pequeños patrones anómalos que aparecen de forma no sistemática en la recogida de datos. Pueden clasificarse a su vez en valores atípicos globales, contextuales y colectivos.
  • Derivas: Cambios graduales, no direccionales y a largo plazo en el conjunto de datos.

Así pues, la detección de anomalías es una técnica de procesamiento de datos muy útil para detectar transacciones fraudulentas, manejar casos de estudio con desequilibrios de alto nivel y detectar enfermedades para construir modelos sólidos de ciencia de datos.

Por ejemplo, una empresa puede querer analizar su flujo de caja para encontrar transacciones anómalas o recurrentes a una cuenta bancaria desconocida para detectar un fraude y llevar a cabo una investigación más profunda.

Beneficios de la detección de anomalías

La detección de anomalías en el comportamiento de los usuarios ayuda a reforzar los sistemas de seguridad y los hace más precisos y exactos.

Analiza y da sentido a la variada información que proporcionan los sistemas de seguridad para identificar amenazas y riesgos potenciales dentro de la red.

He aquí las ventajas de la detección de anomalías para las empresas:

  • Detección en tiempo real de amenazas a la ciberseguridad y violaciones de datos , ya que sus algoritmos de inteligencia artificial (IA) escanean constantemente sus datos para encontrar comportamientos inusuales.
  • Hace que el rastreo de actividades y patrones anómalos sea más rápido y sencillo que la detección manual de anomalías, reduciendo la mano de obra y el tiempo necesarios para resolver las amenazas.
  • Minimiza los riesgos operativos al identificar errores operativos, como caídas repentinas del rendimiento, antes incluso de que se produzcan.
  • Ayuda a eliminar daños empresariales importantes al detectar anomalías rápidamente, ya que sin un sistema de detección de anomalías, las empresas pueden tardar semanas y meses en identificar amenazas potenciales.

Por lo tanto, la detección de anomalías es un activo enorme para las empresas que almacenan amplios conjuntos de datos de clientes y de negocio, con el fin de encontrar oportunidades de crecimiento y eliminar las amenazas a la seguridad y los cuellos de botella operativos.

Técnicas de detección de anomalías

La detección de anomalías utiliza varios procedimientos y algoritmos de aprendizaje automático (ML ) para supervisar los datos y detectar amenazas.

He aquí las principales técnicas de detección de anomalías:

#1. Técnicas de aprendizaje automático

machine-learning

Las técnicas de aprendizaje automático utilizan algoritmos de ML para analizar los datos y detectar anomalías. Los diferentes tipos de algoritmos de Aprendizaje Automático para la detección de anomalías incluyen:

  • Algoritmos de agrupación
  • Algoritmos de clasificación
  • Algoritmos de aprendizajeprofundo

Y las técnicas de ML más utilizadas para la detección de anomalías y amenazas incluyen las máquinas de vectores de soporte (SVM), la agrupación k-means y los autocodificadores.

#2. Técnicas estadísticas

Las técnicas estadísticas utilizan modelos estadísticos para detectar patrones inusuales (como fluctuaciones inusuales en el rendimiento de una máquina en particular) en los datos para detectar valores que caen fuera del rango de los valores esperados.

Las técnicas estadísticas comunes de detección de anomalías incluyen la prueba de hipótesis, IQR, puntuación Z, puntuación Z modificada, estimación de la densidad, boxplot, análisis de valores extremos e histograma.

#3. Técnicas de minería de datos

Data-Mining-

Las técnicas de minería de datos utilizan técnicas de clasificación y agrupación de datos para encontrar anomalías dentro del conjunto de datos. Algunas técnicas comunes de minería de datos anómalos incluyen la agrupación espectral, la agrupación basada en la densidad y el análisis de componentes principales.

Los algoritmos de minería de datos de agrupación se utilizan para agrupar diferentes puntos de datos en clusters basados en su similitud para encontrar puntos de datos y anomalías que caen fuera de estos clusters.

Por otro lado, los algoritmos de clasificación asignan puntos de datos a clases específicas predefinidas y detectan puntos de datos que no pertenecen a estas clases.

#4. Técnicas basadas en reglas

Como su nombre indica, las técnicas de detección de anomalías basadas en reglas utilizan un conjunto de reglas predeterminadas para encontrar anomalías en los datos.

Estas técnicas son comparativamente más fáciles y sencillas de configurar, pero pueden resultar inflexibles y no ser eficientes a la hora de adaptarse al comportamiento y los patrones cambiantes de los datos.

Por ejemplo, puede programar fácilmente un sistema basado en reglas para que señale como fraudulentas las transacciones que superen una cantidad específica de dólares.

#5. Técnicas específicas de dominio

Puede utilizar técnicas específicas de dominio para detectar anomalías en sistemas de datos concretos. Sin embargo, aunque pueden ser muy eficaces para detectar anomalías en dominios específicos, pueden ser menos eficaces en otros dominios fuera del especificado.

Por ejemplo, utilizando técnicas específicas de un dominio, puede diseñar técnicas específicamente para encontrar anomalías en transacciones financieras. Pero, pueden no funcionar para encontrar anomalías o caídas de rendimiento en una máquina.

Necesidad del aprendizaje automático para la detección de anomalías

El aprendizaje automático es muy importante y muy útil en la detección de anomalías.

Hoy en día, la mayoría de las empresas y organizaciones que requieren la detección de anomalías manejan enormes cantidades de datos, desde texto, información sobre clientes y transacciones hasta archivos multimedia como imágenes y contenidos de vídeo.

Revisar manualmente todas las transacciones bancarias y los datos generados cada segundo para obtener una visión significativa es casi imposible. Además, la mayoría de las empresas se enfrentan a retos y grandes dificultades a la hora de estructurar los datos no estructurados y ordenarlos de forma significativa para su análisis.

Aquí es donde herramientas y técnicas como el aprendizaje automático (Machine Learning, ML) desempeñan un enorme papel en la recopilación, limpieza, estructuración, ordenación, análisis y almacenamiento de enormes volúmenes de datos no estructurados.

Las técnicas y algoritmos de aprendizaje automático procesan grandes conjuntos de datos y proporcionan la flexibilidad necesaria para utilizar y combinar diferentes técnicas y algoritmos con el fin de ofrecer los mejores resultados.

Además, el aprendizaje automático también ayuda a agilizar los procesos de detección de anomalías para aplicaciones del mundo real y ahorra valiosos recursos.

He aquí algunas ventajas más y la importancia del aprendizaje automático en la detección de anomalías:

  • Facilita la ampliación de la detección de anomalías al automatizar la identificación de patrones y anomalías sin necesidad de programación explícita.
  • Los algoritmos de aprendizaje automático son muy adaptables a los patrones cambiantes de los conjuntos de datos, lo que los hace muy eficientes y robustos con el tiempo.
  • Maneja fácilmente conjuntos de datos grandes y complejos, haciendo que la detección de anomalías sea eficiente a pesar de la complejidad del conjunto de datos.
  • Garantiza una identificación y detección tempranas de las anomalías, identificándolas en el momento en que se producen, lo que ahorra tiempo y recursos.
  • Los sistemas de detección de anomalías basados en el aprendizaje automático ayudan a alcanzar mayores niveles de precisión en la detección de anomalías en comparación con los métodos tradicionales.

Así, la detección de anomalías combinada con el aprendizaje automático ayuda a detectar anomalías de forma más rápida y precoz para evitar amenazas a la seguridad y brechas maliciosas.

Algoritmos de aprendizaje automático para la detección de anomalías

Puede detectar anomalías y valores atípicos en los datos con la ayuda de diferentes algoritmos de minería de datos para la clasificación, la agrupación o el aprendizaje de reglas de asociación.

Normalmente, estos algoritmos de minería de datos se clasifican en dos categorías diferentes:algoritmos de aprendizaje supervisado y no supervisado.

Aprendizaje supervisado

El aprendizaje supervisado es un tipo común de algoritmo de aprendizaje que consta de algoritmos como las máquinas de vectores de soporte, la regresión logística y lineal, y la clasificación multiclase. Este tipo de algoritmo se entrena con datos etiquetados, lo que significa que su conjunto de datos de entrenamiento incluye tanto datos de entrada normales como los correspondientes ejemplos correctos de salida o anómalos para construir un modelo predictivo.

Así, su objetivo es hacer predicciones de salida para datos nuevos y no vistos basándose en los patrones del conjunto de datos de entrenamiento. Las aplicaciones de los algoritmos de aprendizaje supervisado incluyen el reconocimiento de imágenes y del habla, el modelado predictivo y el procesamiento del lenguaje natural (PLN).

Aprendizaje no supervisado

El aprendizaje no supervisado no se entrena con ningún dato etiquetado. En su lugar, descubre procesos complicados y estructuras de datos subyacentes sin orientar el algoritmo de entrenamiento y en lugar de hacer predicciones específicas.

Las aplicaciones de los algoritmos de aprendizaje no supervisado incluyen la detección de anomalías, la estimación de la densidad y la compresión de datos.

Exploremos ahora algunos algoritmos populares de detección de anomalías basados en el aprendizaje automático.

Factor atípico local (LOF)

El factor atípico local o LOF es un algoritmo de detección de anomalías que tiene en cuenta la densidad local de los datos para determinar si un punto de datos es una anomalía.

image-71
Fuente: scikit-learn.org

Compara la densidad local de un elemento con las densidades locales de sus vecinos para analizar las áreas de densidades similares y los elementos con densidades comparativamente más bajas que sus vecinos, que no son otra cosa que anomalías o valores atípicos.

Así, en términos sencillos, la densidad que rodea a un elemento atípico o anómalo difiere de la densidad que rodea a sus vecinos. De ahí que este algoritmo también se denomine algoritmo de detección de valores atípicos basado en la densidad.

Vecino más próximo K (K-NN)

K-NN es el algoritmo de clasificación y detección supervisada de anomalías más sencillo de implementar, almacena todos los ejemplos y datos disponibles y clasifica los nuevos ejemplos basándose en las similitudes en las métricas de distancia.

image-72
Fuente: towardsdatascience.com

Este algoritmo de clasificación también se denomina aprendiz perezoso porque sólo almacena los datos de entrenamiento etiquetados, sin hacer nada más durante el proceso de entrenamiento.

Cuando llega el nuevo punto de datos de entrenamiento sin etiquetar, el algoritmo busca los K puntos de datos de entrenamiento más cercanos o más próximos para utilizarlos para clasificar y determinar la clase del nuevo punto de datos sin etiquetar.

El algoritmo K-NN utiliza los siguientes métodos de detección para determinar los puntos de datos más cercanos:

  • Distanciaeuclidiana para medir la distancia para datos continuos.
  • Distancia deHamming para medir la proximidad o «cercanía» de las dos cadenas de texto para datos discretos.

Por ejemplo, considere que sus conjuntos de datos de entrenamiento constan de dos etiquetas de clase, A y B. Si llega un nuevo punto de datos, el algoritmo calculará la distancia entre el nuevo punto de datos y cada uno de los puntos de datos del conjunto de datos y seleccionará los puntos que sean los máximos en número más cercanos al nuevo punto de datos.

Así, supongamos que K=3, y 2 de cada 3 puntos de datos están etiquetados como A, entonces el nuevo punto de datos está etiquetado como clase A.

Por lo tanto, el algoritmo K-NN funciona mejor en entornos dinámicos con necesidades frecuentes de actualización de datos.

Es un algoritmo popular de detección de anomalías y minería de texto con aplicaciones en finanzas y empresas para detectar transacciones fraudulentas y aumentar la tasa de detección de fraudes.

Máquina de vectores de soporte (SVM)

La máquina de vectores soporte es un algoritmo de detección de anomalías basado en el aprendizaje automático supervisado que se utiliza sobre todo en problemas de regresión y clasificación.

Utiliza un hiperplano multidimensional para segregar los datos en dos grupos (nuevos y normales). Así, el hiperplano actúa como una frontera de decisión que separa las observaciones de datos normales y los datos nuevos.

image-73
Fuente: www.analyticsvidhya.com

La distancia entre estos dos puntos de datos se denomina margen .

Dado que el objetivo es aumentar la distancia entre los dos puntos, la SVM determina el mejor hiperplano o el óptimo con el máximo margen para garantizar que la distancia entre las dos clases sea lo más amplia posible.

En cuanto a la detección de anomalías, la SVM calcula el margen de la observación del nuevo punto de datos respecto al hiperplano para clasificarlo.

Si el margen supera el umbral establecido, clasifica la nueva observación como una anomalía. Al mismo tiempo, si el margen es inferior al umbral, la observación se clasifica como normal.

Así, los algoritmos SVM son muy eficaces en el manejo de conjuntos de datos complejos y de alta dimensión.

Bosque de aislamiento

Isolation Forest es un algoritmo de detección de anomalías de aprendizaje automático no supervisado basado en el concepto de un clasificador Random Forest.

Fuente: betterprogramming.pub

Este algoritmo procesa datos submuestreados aleatoriamente en el conjunto de datos en una estructura de árbol basada en atributos aleatorios. Construye varios árboles de decisión para aislar las observaciones. Y considera que una observación concreta es una anomalía si se aísla en menos árboles en función de su índice de contaminación.

Así, en términos sencillos, el algoritmo del bosque de aislamiento divide los puntos de datos en diferentes árboles de decisión, asegurándose deque cada observación quede aislada de otra.

Las anomalías suelen estar alejadas del grupo de puntos de datos, lo que facilita su identificación en comparación con los puntos de datos normales.

Los algoritmos de bosque de aislamiento pueden manejar fácilmente datos categóricos y numéricos. Como resultado, son más rápidos de entrenar y muy eficientes a la hora de detectar anomalías en conjuntos de datos grandes y de alta dimensión.

Rango intercuartílico

El rango intercuartílico o IQR se utiliza para medir la variabilidad estadística o la dispersión estadística para encontrar puntos anómalos en los conjuntos de datos dividiéndolos en cuartiles.

Fuente: morioh.com

El algoritmo clasifica los datos en orden ascendente y divide el conjunto en cuatro partes iguales. Los valores que separan estas partes son los cuartiles Q1, Q2 y Q3: primero, segundo y tercero.

He aquí la distribución por percentiles de estos cuartiles:

  • Q1 significa el percentil 25 de los datos.
  • Q2 significa el percentil 50 de los datos.
  • Q3 significa el percentil 75 de los datos.

El IQR es la diferencia entre el tercer (75º) y el primer (25º) percentil de los datos, que representa el 50% de los datos.

El uso del IQR para la detección de anomalías requiere que calcule el IQR de su conjunto de datos y defina los límites inferior y superior de los datos para encontrar anomalías.

  • Límite inferior: Q1 – 1,5 * IQR
  • Límite superior: Q3 1,5 * IQR

Normalmente, las observaciones que caen fuera de estos límites se consideran anomalías.

El algoritmo IQR es eficaz para conjuntos de datos con datos distribuidos de forma desigual y cuya distribución no se conoce bien.

Palabras finales

Los riesgos de ciberseguridad y las violaciones de datos no parecen frenarse en los próximos años, y se espera que este arriesgado sector siga creciendo en 2023, y que sólo los ciberataques del IoT se dupliquen para 2025.

Además, se calcula que los ciberdelitos costarán a las empresas y organizaciones mundiales 10,3 billones de dólares anuales de aquí a 2025.

Por ello, la necesidad de técnicas de detección de anomalías es cada vez más frecuente y necesaria hoy en día para detectar fraudes y prevenir intrusiones en la red.

Este artículo le ayudará a entender qué son las anomalías en la minería de datos, los diferentes tipos de anomalías y las formas de prevenir intrusiones en la red utilizando técnicas de detección de anomalías basadas en ML.

A continuación, podrá explorar todo lo relativo a la matriz de confusión en el aprendizaje automático.