ES2918208T3 - Sistema y método para evaluar e implementar modelos de aprendizaje automático no supervisados o semi-supervisados - Google Patents
Sistema y método para evaluar e implementar modelos de aprendizaje automático no supervisados o semi-supervisados Download PDFInfo
- Publication number
- ES2918208T3 ES2918208T3 ES19178728T ES19178728T ES2918208T3 ES 2918208 T3 ES2918208 T3 ES 2918208T3 ES 19178728 T ES19178728 T ES 19178728T ES 19178728 T ES19178728 T ES 19178728T ES 2918208 T3 ES2918208 T3 ES 2918208T3
- Authority
- ES
- Spain
- Prior art keywords
- machine learning
- samples
- algorithm
- candidate
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3428—Benchmarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
Un método para evaluar e implementar modelos de aprendizaje automático para la detección de anomalías de un sistema monitoreado incluye proporcionar una pluralidad de algoritmos de aprendizaje automático candidato configurados para la detección de anomalías del sistema monitoreado. Para cada tipo de actividad anómala, se genera un conjunto de datos de evaluación comparativa, que comprende muestras extraídas de un grupo de muestras negativas, y un número menor de muestras extraídas de un grupo relevante de muestras positivas. Para cada combinación del algoritmo de aprendizaje automático candidato con tipo de actividad anómala, el método incluye dibujar una pluralidad de conjuntos de entrenamiento y validación cruzada del conjunto de datos de evaluación comparativa. Utilizando cada uno de los conjuntos de entrenamiento y validación cruzada, un modelo de aprendizaje automático basado en el algoritmo candidato está entrenado y validado utilizando el conjunto de validación cruzada, con precisión promedio como métrica de rendimiento. Luego se calcula un valor de precisión promedio medio en estas métricas de rendimiento de precisión promedio. Se calcula un valor de clasificación para cada algoritmo de aprendizaje automático candidato, y se selecciona un algoritmo de aprendizaje automático de los algoritmos de aprendizaje automático candidato en función de los valores de clasificación calculados. Se implementa un modelo de aprendizaje automático basado en el algoritmo seleccionado A a un sistema de monitoreo, por el cual el sistema de monitoreo ejecuta el modelo de aprendizaje automático implementado para detectar anomalías del sistema monitoreado. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Sistema y método para evaluar e implementar modelos de aprendizaje automático no supervisados o semisupervisados
Campo de la invención
La presente invención se refiere en general a la evaluación de modelos de aprendizaje automático y, más particularmente, a métodos y sistemas para la evaluación, comparación e implementación de modelos de aprendizaje automático para la detección de anomalías.
Antecedentes de la invención
La detección de anomalías se refiere a la identificación de patrones nuevos o inusuales - también conocidos como valores atípicos - que no se ajustan al comportamiento esperado. En varios contextos, se utilizan nombres alternativos para la detección de anomalías, incluida la detección de valores atípicos, la detección de cambios o la detección de novedades. Las aplicaciones de los algoritmos de detección de anomalías incluyen la detección de intrusiones (por ejemplo, identificación de tráfico de red inusual), detección de fraude (por ejemplo, identificación de patrones sospechosos en tarjetas de crédito u otros datos de transacciones) y detección de fallos en sistemas distribuidos.
Los recientes avances en algoritmos y tecnologías de aprendizaje automático han tenido como resultado una implementación más generalizada de modelos de aprendizaje automático para la detección de anomalías. Sin embargo, es importante que dichos modelos se configuren adecuadamente y se evalúen de manera crítica para garantizar que sean lo suficientemente precisos y efectivos al detectar comportamientos anómalos en los sistemas en los que se utilizan para monitorear. En consecuencia, existe la necesidad de sistemas y métodos que puedan evaluar los modelos de aprendizaje automático utilizados para la detección de anomalías.
Muchos sistemas de aprendizaje automático se pueden clasificar como "supervisados" o "no supervisados". Un sistema supervisado emplea un conjunto de datos etiquetados para entrenar un modelo de aprendizaje automático para distinguir entre clases de datos, por ejemplo, muestras de datos 'normales', etiquetadas como 'negativas', o muestras de datos inusuales/anómalas, etiquetadas como 'positivas'. Ventajosamente, se pueden retener partes del conjunto de datos etiquetados para su uso en la optimización del modelo de aprendizaje automático (validación cruzada) y para la evaluación del rendimiento de un modelo entrenado (prueba). Un sistema no supervisado es aquel en el que no se dispone de un conjunto de datos etiquetado adecuado y que, por lo tanto, debe distinguir entre diferentes clases de muestras de datos sin el beneficio de un entrenamiento previo. Entre estas dos categorías principales se encuentran los sistemas 'semi-supervisados', en los que las muestras no etiquetadas se combinan con una cantidad mucho menor de muestras etiquetadas con el fin de entrenar un modelo de aprendizaje automático.
La detección de anomalías puede presentar desafíos particulares para los sistemas de aprendizaje automático. Por definición, los eventos atípicos ocurren solo en raras ocasiones. Además, en un entorno de producción puede que no haya forma de identificar o definir de antemano lo "normal" frente a una o más clases de comportamiento "anómalo". En tales casos, no se dispone de grandes conjuntos de datos etiquetados adecuados para el aprendizaje supervisado, evaluación de modelos y pruebas. Por tanto, surge un problema de cómo evaluar y comparar el rendimiento de algoritmos de detección de anomalías no supervisados o semi-supervisados, basados en datos muy limitados etiquetados por humanos, y que potencialmente comprenden varios tipos de anomalías.
GOLDSTEIN, Markus y SEIICHI, Uchida. A comparative evaluation of unsupervised anomaly detection algorithms for multivariate data PloS one 11.4, abril de 2016, e0152173 muestra que varios algoritmos de detección de anomalías diferentes tienen diferentes ventajas y desventajas dependiendo de la tarea o de los conjuntos de datos. Además, GOIX, Nicolás. How to evaluate the quality of unsupervised anomaly detection algorithms? versión preliminar de arXiv:1607.01152 de julio de 2016 presenta diferentes valores de referencia posibles que se pueden usar para evaluar los algoritmos de detección de anomalías. US 2016/358099 A1 es otro documento del estado de la técnica.
Por lo tanto, es deseable proporcionar métodos y sistemas nuevos y mejorados para la evaluación, comparación e implementación de modelos de aprendizaje automático para la detección de anomalías.
Compendio de la invención
En un aspecto, la presente invención proporciona un método implementado por ordenador para evaluar e implementar modelos de aprendizaje automático para la detección de anomalías de un sistema vigilado, en el que el sistema vigilado es uno de entre un sistema de base de datos, un sistema de procesamiento de transacciones, un sistema de información, un sistema proveedor de servicios web, un sistema industrial, un sistema de seguridad o un sistema de robótica, siendo el método realizado por un sistema de evaluación y que comprende:
acceder a una pluralidad de algoritmos de aprendizaje automático candidatos configurados para la detección de anomalías del sistema vigilado, en el que los algoritmos de aprendizaje automático candidatos están configurados para presentar una interfaz común a una unidad de procesamiento de evaluación del sistema de evaluación;
acceder a datos de entrenamiento que incluyen un grupo de muestras de datos negativos que representan la actividad normal del sistema vigilado y uno o más grupos más pequeños de muestras de datos positivos, donde cada grupo de muestras de datos positivos representa un tipo de actividad anómala del sistema vigilado, donde los tipos de la actividad anómala depende de la naturaleza del sistema vigilado y representa registros de bases de datos erróneos, inconsistentes o dañados, transacciones fraudulentas, intentos de ataques o violaciones de seguridad, errores del sistema o degradación del rendimiento, o fallos inminentes o reales del equipo;
generar, para cada tipo de actividad anómala, un conjunto de datos de evaluación comparativa que comprende un primer número de muestras extraídas del grupo de muestras negativas, y un segundo número de muestras extraídas del grupo de muestras positivas correspondientes al tipo de actividad anómala, donde el primero el número de muestras es sustancialmente mayor que el segundo número de muestras;
para cada combinación de un algoritmo de aprendizaje automático candidato seleccionado de la pluralidad de algoritmos de aprendizaje automático candidatos con un tipo de actividad anómala:
extraer una pluralidad de conjuntos de entrenamiento y validación cruzada del conjunto de datos de evaluación comparativa, correspondiente al tipo de actividad anómala, donde cada conjunto de entrenamiento comprende solo muestras de datos negativos, y cada conjunto de validación cruzada comprende una combinación de muestras de datos negativos y positivos;
para cada uno de la pluralidad de conjuntos de entrenamiento y validación cruzada, entrenar un modelo de aprendizaje automático basado en el algoritmo candidato, usando el conjunto de entrenamiento, y validar el modelo de aprendizaje automático usando el conjunto de validación cruzada con precisión promedio como métrica de rendimiento ;
calcular un valor medio de precisión promedio para el algoritmo de aprendizaje automático candidato a través de las métricas de rendimiento de precisión ponderada obtenidas utilizando la pluralidad de conjuntos de entrenamiento y validación cruzada,
para cada algoritmo de aprendizaje automático candidato, calcular un valor de clasificación basado en al menos los valores medios de precisión ponderada calculados para el algoritmo de aprendizaje automático candidato para cada tipo de actividad anómala;
seleccionar un modelo de aprendizaje automático de los algoritmos de aprendizaje automático candidatos en función de los valores de clasificación calculados; e
implementar un modelo de aprendizaje automático basado en el algoritmo seleccionado en un sistema de vigilancia, mediante el cual el sistema de vigilancia ejecuta el modelo de aprendizaje automático implementado para detectar anomalías del sistema vigilado.
Ventajosamente, las formas de realización de la invención pueden evaluar el rendimiento de los algoritmos de aprendizaje automático en la detección de anomalías de múltiples tipos diferentes. Además, al emplear la media de precisión ponderada como métrica de rendimiento y construir conjuntos de datos de evaluación comparativa adecuados para cada tipo de anomalía, pueden hacerlo de una manera que proporciona una evaluación ecuánime incluso cuando la cantidad de muestras de datos por tipo de anomalía es pequeña. Además, al extraer múltiples conjuntos de entrenamiento y validación cruzada de cada conjunto de datos de evaluación comparativa y realizar múltiples validaciones para calcular la métrica de media de precisión promedio, se reduce la variabilidad en esta métrica de rendimiento, proporcionando estabilidad de resultados entre campañas de evaluación.
Preferiblemente, para todos los conjuntos de datos de evaluación comparativa, la relación entre el primer número de muestras y el segundo número de muestras, comprende un único valor fijo. Mantener una relación constante entre muestras negativas y positivas en los conjuntos de datos de evaluación comparativa, permite una comparación ecuánime del rendimiento de los algoritmos de aprendizaje automático candidatos de los diferentes tipos de anomalías, incluso cuando la cantidad de muestras positivas disponibles difiere para cada tipo de anomalía.
Preferiblemente, los valores de clasificación se calculan de acuerdo con un algoritmo de agregación de clasificación, que puede emplear una medida de distancia de la regla de Spearman, y que además puede emplear un conjunto de valores de importancia seleccionables que representan la importancia relativa de cada tipo de actividad anómala. Ventajosamente, este enfoque permite que el rendimiento de los algoritmos de aprendizaje automático candidatos se compare y clasifique de forma única en todos los tipos de anomalías, de modo que se pueda seleccionar un modelo para su implementación que tenga el mejor rendimiento general entre los candidatos, teniendo en cuenta el hecho de que los diferentes tipos de anomalía puede mostrar diferentes rangos de valor medio de precisión promedio (es decir, que el rendimiento en algunos tipos de anomalías depende más del modelo que en otros), y que los diferentes tipos de anomalías pueden tener diferente importancia.
En otro aspecto, la invención proporciona un sistema de detección de anomalías configurado para operar de acuerdo con el método implementado por ordenador descrito anteriormente.
En otro aspecto más, la invención proporciona un producto de programa informático que comprende instrucciones que, cuando el programa es ejecutado por un ordenador, hacen que el ordenador lleve a cabo el método descrito.
La invención está definida por las reivindicaciones independientes. Las formas de realización preferidas se especifican en las reivindicaciones dependientes.
Breve descripción de los dibujos
A continuación, se describirán formas de realización de la invención con referencia a los dibujos adjuntos, en los que los mismos números de referencia se refieren a características similares, y en los que:
la Figura 1 es un diagrama esquemático que ilustra un sistema en red ejemplar que incorpora la invención;
la Figura 2 es un diagrama de bloques que ilustra los principales componentes de procesamiento y datos de un sistema de evaluación que incorpora la invención;
la Figura 3 es un diagrama de bloques que ilustra el procesamiento de datos realizado por una unidad de procesamiento de datos ejemplar del sistema de evaluación;
la Figura 4 es un diagrama de flujo que ilustra un método para evaluar una pluralidad de algoritmos de aprendizaje automático candidatos con respecto a múltiples tipos de anomalías distintas, según formas de realización de la invención;
la Figura 5A muestra un gráfico que ilustra una comparación de medias de precisión promedio con intervalos de confianza;
la Figura 5B muestra un diagrama de radar que ilustra la visualización simultánea del rendimiento de múltiples algoritmos de detección de anomalías en relación con múltiples tipos de anomalías distintas;
la Figura 5C ilustra la generación de un conjunto de puntuaciones de clasificación para una pluralidad de algoritmos candidatos;
la Figura 6 es un diagrama de flujo que ilustra un método ejemplar de evaluación e implementación de un modelo de aprendizaje automático para la detección de anomalías; y
La Figura 7 muestra dos gráficos que ilustran el impacto significativo de la implementación de modelos con eficacia mejorada, según una evaluación realizada de acuerdo con la presente invención, en el caso de una aplicación para detectar el fraude.
Descripción de formas de realización preferidas
La Figura 1 es un diagrama de bloques que ilustra un ejemplo de sistema 100 en red de que incluye un sistema de evaluación 102, que está configurado para implementar un método de evaluación e implementación de uno o más modelos de aprendizaje automático no supervisados o semi-supervisados, de acuerdo con una realización de la invención. El sistema de evaluación 102 puede comprender un sistema informático de arquitectura convencional. En particular, el sistema de evaluación 102, como se ha ilustrado, comprende un procesador 104. El procesador 104 está asociado operativamente con un dispositivo de memoria/almacenamiento no volátil 106, por ejemplo, a través de uno o más buses de datos/direcciones 108 como se muestra. El almacenamiento no volátil 106 puede ser una unidad de disco duro y/o puede incluir una memoria no volátil de estado sólido, como ROM, memoria flash, unidad de estado sólido (SSD) o similar. El procesador 104 también está conectado al almacenamiento volátil 110, como RAM, que contiene instrucciones de programa y datos transitorios relacionados con el funcionamiento del sistema de evaluación 102.
En una configuración convencional, el dispositivo de almacenamiento 106 mantiene un programa conocido y un contenido de datos relevante para el funcionamiento normal del sistema de evaluación 102. Por ejemplo, el dispositivo de almacenamiento 106 puede contener programas y datos del sistema operativo, así como otro software de aplicación ejecutable necesario para las funciones previstas del sistema de evaluación 102. El dispositivo de almacenamiento 106 también contiene instrucciones de programa que, cuando son ejecutadas por el procesador 104, hacen que el sistema de evaluación 102 realice operaciones relacionadas con una realización de la presente invención, tal como se describe con mayor detalle a continuación, y con referencia a las Figuras 2 a 6 en particular. En funcionamiento, las instrucciones y los datos contenidos en el dispositivo de almacenamiento 106 se transfieren a la memoria volátil 110 para su ejecución bajo demanda.
El procesador 104 también está asociado operativamente con una interfaz de comunicaciones 112 de manera convencional. La interfaz de comunicaciones 112 facilita el acceso a una red de comunicaciones de datos de área amplia, como Internet 116.
En uso, el almacenamiento volátil 110 contiene un cuerpo correspondiente 114 de instrucciones de programa transferidas desde el dispositivo de almacenamiento 106 y configuradas para realizar procesamiento y otras
operaciones que incorporan características de la presente invención. Las instrucciones del programa 114 comprenden una contribución técnica al estado de la técnica desarrollada y configurada específicamente para implementar una realización de la invención, más allá de la actividad convencional, rutinaria y bien entendida en la técnica de los sistemas de aprendizaje automático, como se describe más adelante, particularmente con referencia a las Figuras 2 a 6.
Con respecto a la anterior descripción general del sistema de evaluación 102 y otros sistemas y dispositivos de procesamiento descritos en esta especificación, términos como 'procesador', 'ordenador', etc., a menos que el contexto requiera lo contrario, deben entenderse como referencia a una gama de posibles implementaciones de dispositivos, aparatos y sistemas que comprenden una combinación de hardware y software. Esto incluye dispositivos y aparatos de un solo procesador y multiprocesador, incluidos dispositivos portátiles, ordenadores de escritorio y varios tipos de sistemas de servidor, incluidas plataformas de hardware y software de cooperación que pueden estar co-emplazados o distribuidos. Los procesadores físicos pueden incluir CPU de propósito general, procesadores de señales digitales, unidades de procesamiento de gráficos (GPU) y/u otros dispositivos de hardware adecuados para la ejecución eficiente de los programas y algoritmos requeridos. Los sistemas informáticos pueden incluir arquitecturas de ordenadores personales convencionales u otras plataformas de hardware de propósito general. El software puede incluir software de sistema operativo de código abierto y/o comercialmente disponible en combinación con varios programas de aplicaciones y servicios. Alternativamente, las plataformas informáticas o de procesamiento pueden comprender arquitecturas de hardware y/o software personalizadas. Para mejorar la escalabilidad, los sistemas informáticos y de procesamiento pueden incluir plataformas informáticas en la nube, lo que permite que los recursos de hardware físico se asignen dinámicamente en respuesta a las demandas del servicio. Si bien todas estas variaciones caen dentro del alcance de la presente invención, para facilitar la explicación y la comprensión, en esta memoria se describen las realizaciones ejemplares con referencia ilustrativa a plataformas informáticas de propósito general de un solo procesador, plataformas de sistemas operativos comúnmente disponibles y/o productos de consumo ampliamente disponibles, como ordenadores de escritorio, notebooks o portátiles, teléfonos inteligentes, tabletas, etc.
En particular, el término "unidad de procesamiento" se utiliza en esta memoria para referirse a cualquier combinación adecuada de hardware y software configurada para realizar una tarea definida en particular, como acceder y procesar datos fuera de línea o en línea, ejecutar etapas de entrenamiento de un modelo de aprendizaje automático, ejecutando etapas de evaluación de un modelo de aprendizaje automático o ejecutando etapas de detección de anomalías de un modelo de aprendizaje automático. Dicha unidad de procesamiento puede comprender un módulo de código ejecutable que se ejecuta en una sola ubicación en un solo dispositivo de procesamiento, o puede comprender módulos de código ejecutable cooperantes que se ejecutan en múltiples ubicaciones y/o en múltiples dispositivos de procesamiento. Por ejemplo, en algunas realizaciones de la invención, la evaluación de algoritmos de aprendizaje automático puede realizarse completamente mediante la ejecución de código en un solo sistema de evaluación 102, mientras que en otras realizaciones el procesamiento correspondiente puede realizarse de manera distribuida en una pluralidad de sistemas de evaluación.
Se pueden desarrollar componentes de software, por ejemplo, las instrucciones de programa 114, que incorporan características de la invención, utilizando cualquier lenguaje de programación, entorno de desarrollo o combinaciones de lenguajes y entornos de desarrollo adecuados, como resultará familiar a los expertos en la técnica de la ingeniería de software. Por ejemplo, se puede desarrollar software adecuado utilizando el lenguaje de programación C, el lenguaje de programación Java, el lenguaje de programación C++, el lenguaje de programación Go, el lenguaje de programación Python, el lenguaje de programación R y/u otros lenguajes adecuados para la implementación de algoritmos de aprendizaje automático. Los servicios de red y/o basados en la web se pueden implementar utilizando una gama de lenguajes adecuados, incluidos los ya mencionados, y otros como JavaScript, HTML, PHP, ASP, JSP, Ruby, Perl, etc. Estos ejemplos no pretenden ser limitativos, y se apreciará que se puede emplear cualquier lenguaje o sistema de desarrollo conveniente, de acuerdo con los requisitos del sistema. Las descripciones, diagramas de bloques, diagramas de flujo, etc., que se presentan en esta memoria se proporcionan, a modo de ejemplo, para permitir que los expertos en el estado de la técnica de la ingeniería de software y el aprendizaje automático comprendan y aprecien las características, la naturaleza y el alcance de la invención, y para poner en práctica una o más realizaciones de la invención mediante la implementación de un código de software adecuado utilizando cualquier lenguaje, marco, biblioteca y sistema de desarrollo adecuado de acuerdo con esta divulgación sin ejercer un ingenio inventivo adicional.
Continuando con la discusión de la Figura 1, el sistema en red 100 también incluye un sistema vigilado 118. El sistema vigilado 118 es un sistema de base de datos, un sistema de procesamiento de transacciones, un sistema de información, un sistema de proveedor de servicios web, un sistema industrial, un sistema de seguridad, o un sistema de robótica. El sistema supervisado 118 puede adoptar cualquiera de entre varias formas, incluidas las arquitecturas centralizadas y distribuidas. Si bien se utilizan una variedad de términos para el tipo de vigilancia al que se dirigen las realizaciones de la presente invención (por ejemplo, detección de valores atípicos, detección de cambios o detección de novedades), en la presente memoria descriptiva el término "detección de anomalías" se emplea de manera consistente, entendiendo que hay otra terminología común en el estado de la técnica.
En este contexto, la característica relevante del sistema vigilado 118 es que genera (por ejemplo, en línea, en tiempo real o fuera de línea, para análisis posterior) o almacena al menos un conjunto de datos que puede analizarse para identificar elementos, eventos u observaciones que pueden no ajustarse a los patrones o comportamientos esperados
o "normales" del sistema 118. Dependiendo de la naturaleza del sistema 118, dichos patrones o comportamientos anómalos representan registros de base de datos erróneos, inconsistentes o corruptos; transacciones fraudulentas; intentos o ataques reales o violaciones de seguridad; errores del sistema o degradación del rendimiento; o fallas inminentes o reales del equipo.
Un sistema de vigilancia 120 está configurado para recibir y analizar el conjunto de datos generado o almacenado por el sistema vigilado 118. Como se muestra, el sistema de vigilancia 120 puede comprender una arquitectura convencional similar a la del sistema de evaluación 102, que incluye un procesador 122 asociado operativamente a través de un o más buses de datos/direcciones 124 con almacenamiento volátil 126, un dispositivo de memoria/almacenamiento no volátil 128 y una interfaz de comunicaciones 130.
El dispositivo de almacenamiento 128 puede contener programas y datos del sistema operativo, así como otro software de aplicación ejecutable necesario para las funciones previstas del sistema de vigilancia 120. El dispositivo de almacenamiento 128 también contiene instrucciones de programa que, cuando son ejecutadas por el procesador 122, hacen que el sistema de vigilancia 120 ejecute un modelo de aprendizaje automático implementado para detectar anomalías en el conjunto de datos generado o almacenado por el sistema vigilado 118, como se describe más adelante con referencia a la Figura 6. El almacenamiento volátil 126 contiene instrucciones de programa y datos transitorios relacionados con el funcionamiento del sistema de vigilancia 120. En particular, una imagen ejecutable 132 del modelo de aprendizaje automático implementado se carga en la memoria 126 y se ejecuta para recuperar datos generados o almacenados por el sistema vigilado 118 a través de la interfaz de comunicaciones 130, y para analizar los datos recuperados para detectar anomalías, como se describe más adelante con referencia a la Figura 7.
De acuerdo con las realizaciones de la presente invención, el funcionamiento general del sistema en red 100 puede resumirse como sigue. La función del sistema de evaluación 102 es evaluar y clasificar una serie de algoritmos de aprendizaje automático candidatos generando, para cada algoritmo, uno o más modelos de aprendizaje automático candidatos correspondientes utilizando datos de prueba y de entrenamiento correspondientes a comportamientos normales y anómalos del sistema vigilado 118 En base a esta evaluación, se selecciona un algoritmo preferido y se implementa en el sistema de monitoreo 120. El sistema de monitoreo 120 luego ejecuta el algoritmo implementado, lo que da como resultado un modelo en línea que está configurado para detectar anomalías en la operación del sistema vigilado 118 Ventajosamente, la implementación de un modelo de detección de anomalías basado en un algoritmo que ha sido evaluado y seleccionado de acuerdo con una realización de la invención puede dar como resultado una detección de anomalías más efectiva y precisa que la que se lograría usando un modelo implementado usando un método alternativo de desarrollo y selección. Esto puede dar lugar, como se discutirá más adelante con referencia a la Figura 7, a una reducción en los costos de vigilancia y funcionamiento del sistema vigilado 118.
Volviendo ahora a una descripción detallada del funcionamiento del sistema de evaluación 102, la Figura 2 es un diagrama de bloques 200 que ilustra los principales componentes de procesamiento y de datos del sistema. Una unidad de procesamiento de evaluación 202 comprende hardware y software configurados para realizar la evaluación y clasificación de algoritmos de detección de anomalías como se describirá con referencia a las Figuras 3 a 5. Las entradas a la unidad de procesamiento de evaluación 202 comprenden una serie de algoritmos candidatos 204, y uno o más conjuntos de datos de entrenamiento 206 que se corresponden con comportamientos y conjuntos de datos asociados con el sistema vigilado 118. La salida de la unidad de procesamiento de evaluación es un conjunto 208 de resultados de evaluación, que puede incluir puntuaciones y/o clasificaciones de algoritmos candidatos 204, como se describirá con referencia a la Figura 5 en particular. Las personas expertas en el estado de la técnica de los sistemas de aprendizaje automático deben apreciar, especialmente cuando dichos sistemas se aplican a la detección de anomalías, que las operaciones y los algoritmos implementados dentro de la unidad de procesamiento de evaluación 202 no son bien entendido ni son convencionales, pero que representan una contribución específica de la presente invención. La siguiente discusión, con referencia a las Figuras 3 y 4 en particular, pretende describir estas operaciones y algoritmos con suficiente detalle para permitir que dichas personas capacitadas los pongan en práctica utilizando plataformas de desarrollo de software y hardware adecuadas, como ya se ha discutido anteriormente con referencia a la Figura 1.
La Figura 3 es un diagrama de bloques 300 que ilustra el procesamiento de datos realizado por una unidad de procesamiento de datos ejemplar 202. Los grupos de datos de entrenamiento 206 comprenden un "grupo de negativos" 302 y uno o más "grupos de positivos" 304. De acuerdo con esta terminología, el grupo de negativos 302 comprende muestras de datos correspondientes a elementos, eventos u observaciones 'normales' (es decir, no anómalos) del sistema vigilado 118. Cada grupo de positivos 304 comprende muestras de datos correspondientes a un 'tipo' predeterminado de anomalía, denominado 'tipo A', ' tipo B', y así sucesivamente, con fines ilustrativos. Una ventaja particular de las realizaciones de la presente invención es que permite evaluar el rendimiento de modelos candidatos basándose en algoritmos 204 para detectar múltiples tipos de anomalías diferentes. Por ejemplo, en una aplicación de seguridad de red, un primer tipo de comportamiento anómalo puede estar asociado con un ataque de denegación de servicio distribuido (DDoS), mientras que un segundo tipo de comportamiento anómalo puede estar asociado con un ataque de intrusión. Cada muestra de datos negativos o positivos puede comprender una secuencia particular de valores y/o un registro estructurado correspondiente a los datos de vigilancia disponibles del sistema vigilado 118 a partir del cual se puede construir un vector de entrada de acuerdo con los requisitos de los algoritmos candidatos 204.
Las realizaciones de la invención son particularmente adecuadas para la evaluación de algoritmos 204 correspondientes a modelos candidatos no supervisados o semi-supervisados, para los cuales solo hay una disponibilidad muy limitada de datos de entrenamiento etiquetados. El grupo de negativos 302 puede comprender pocos o ningún dato de entrenamiento etiquetado, y puede poblarse principalmente usando una gran cantidad de muestras recopiladas de fuentes que incluyen datos reales de un sistema vigilado 118 en funcionamiento normal, y/o muestras aleatorias adicionales generadas, sintetizadas y/o que han sido normalizadas o seleccionadas para evitar la presencia de elementos, eventos o comportamientos anómalos. Por ejemplo, en una realización práctica de la invención, se pueden requerir varias decenas de miles (o más) de muestras negativas y, por lo tanto, puede ser poco práctico llenar un conjunto suficientemente grande de negativos con muestras etiquetadas manualmente. De acuerdo con un enfoque para obtener muestras negativas, pueden emplearse datos no anómalos preparados para otros fines, como por ejemplo para probar el funcionamiento normal del sistema monitorizado 118. De acuerdo con un enfoque alternativo, las muestras extraídas del sistema vigilado 118 pueden ser 'examinadas' utilizando un algoritmo de detección de anomalías preexistente (y potencialmente no óptimo) para identificar y eliminar muestras que excedan un umbral conservador predeterminado de probabilidad de ser anómalo con el fin de generar un conjunto de negativos 302. El uso de un umbral conservador permite que se eviten sustancialmente los falsos negativos (lo que permitiría muestras anómalas en el conjunto de negativos), a expensas de una alta tasa de falsos positivos, que no afectan significativamente la validez del grupo de negativos. La selección adecuada del umbral permite así que se rechacen las muestras anómalas, al mismo tiempo que se obtienen muestras no anómalas que son representativas del uso realista del sistema vigilado 118. Además, este enfoque permite emplear algoritmos de detección de anomalías relativamente simples para obtener muestras para el conjunto de negativos 302. Los dos enfoques descritos anteriormente se pueden combinar entre sí y/o con otros métodos para obtener muestras negativas.
Cada grupo de positivos comprende una pequeña cantidad de muestras de datos reales etiquetados correspondientes a elementos, eventos o comportamientos anómalos del sistema vigilado 118. Las muestras dentro del grupo de positivos se derivan de anomalías observadas en el pasado por expertos que se han recopilado de un sistema de producción. En vista del hecho de que la actividad anómala es, por definición, rara, el número de muestras de cada tipo es normalmente del orden de unas pocas a unas pocas decenas de muestras. De forma ventajosa, las realizaciones de la invención son capaces de funcionar de manera efectiva con un número tan pequeño de muestras positivas.
Para cada tipo de anomalía, la unidad de procesamiento de evaluación 202 está configurada para generar un conjunto de datos de evaluación comparativa 306. En particular, la unidad de procesamiento de evaluación 202 está programada para construir un conjunto de datos de evaluación comparativa 306 que comprende un número relativamente grande de muestras negativas 308 extraídas del conjunto de los negativos 302, junto con las muestras positivas 304 disponibles para el tipo específico de anomalía. En realizaciones preferidas, la relación entre el número de muestras negativas 308 y el número de muestras positivas 310 se mantiene constante en todos los tipos de anomalías. Por ejemplo, la relación entre las muestras negativas 308 y las muestras positivas 310 puede estar en un rango entre aproximadamente 100 y 1000 (es decir, alrededor de 0,1% a 1,0% de muestras positivas). En realizaciones particulares, la relación entre muestras negativas 308 y muestras positivas 310 puede estar ventajosamente en un rango aproximado de 100 a 500 (es decir, alrededor de 0,1% a 0,2% de muestras positivas). Así, por ejemplo, cuando se dispone de un número menor de muestras positivas 310 en relación con un tipo particular de anomalía, el número de muestras negativas 308 extraídas del grupo de negativos 302 es correspondientemente menor para mantener una relación constante. Más precisamente, si un parámetro r representa la relación requerida, y ri pos , x es el número de muestras positivas disponibles para la anomalía tipo X, entonces el número de muestras negativas r reg ,x extraído del grupo de negativos está dado por r reg ,x = rN pos, x.
La unidad de procesamiento de evaluación 202 está configurada además para emplear el grupo de evaluación comparativa 306 para entrenar y validar uno o más modelos de aprendizaje automático de detección de anomalías candidatos, correspondientes a los algoritmos candidatos 204. Específicamente, la unidad de procesamiento de evaluación 202 incluye una unidad de muestreo 312, que es un componente de software configurado para muestrear aleatoriamente el conjunto de datos de evaluación comparativa 306 con el fin de generar un conjunto de entrenamiento 314 y un conjunto de validación cruzada 316. La unidad de muestreo 312 está programada para generar el conjunto de entrenamiento 314 de modo que comprenda solo muestras negativas, y para generar el conjunto de validación 316 de manera que comprenda tanto muestras negativas como positivas.
La unidad de procesamiento de evaluación 202 también comprende una unidad de validación 318, que es un componente de software configurado para entrenar un modelo candidato que incorpore uno de los algoritmos candidatos 204 usando el conjunto de entrenamiento 314, y validar el modelo entrenado usando el conjunto de validación 318. Como se explica en con mayor detalle a continuación, la unidad de validación 318 está específicamente programada para calcular una métrica de validación que comprende un valor de precisión promedio (AP).
La unidad de procesamiento de evaluación 202 está configurada para iterar 320 entre la ejecución de la unidad de muestreo 312 y la unidad de validación 318. En cada iteración, la unidad de muestreo 312 genera diferentes conjuntos aleatorios de entrenamiento y validación 314, 316, lo que da como resultado un valor AP diferente calculado por la unidad de validación 318. Después de una serie de iteraciones, la unidad de procesamiento de evaluación 202 calcula una media de precisión promedio (MAP) para el algoritmo candidato 204, como un resultado de evaluación 322. MAP es una métrica comúnmente utilizada para la evaluación de la recuperación de información (por ejemplo, motores de
búsqueda) y sistemas de recomendación, donde actúa como una medida de la eficacia del sistema para seleccionar y clasificar los resultados "correctos" para presentarlos a un usuario. De acuerdo con las realizaciones de la presente invención, MAP se emplea como una medida de cuán efectivo es un algoritmo candidato dado para identificar muestras anómalas (es decir, los 'positivos') de un tipo particular, dentro de un conjunto de datos de evaluación comparativa que comprende un número mayor de muestras no anómalas. (es decir, los "negativos"). Como apreciarán los expertos en la materia, las métricas de uso común en el contexto de la detección de anomalías incluyen, por ejemplo, precisión, recuperación, puntuación F. El uso de MAP como métrica en este contexto, no es convencional, y los inventores han descubierto que proporciona mejoras sustanciales en el rendimiento de la evaluación comparativa.
En los sistemas de aprendizaje automático, la 'precisión' se define convencionalmente como la fracción obtenida al dividir el número de eventos reales en una clase dada (es decir, "verdaderos positivos”) por el número de eventos predichos de esa clase según la predicción de un modelo (es decir, incluyendo ambos "verdaderos positivos” y "falsos positivos”). Este concepto se puede extender a una serie de predicciones (por ejemplo, resultados clasificados en un sistema de recuperación de información o, en el presente caso, una serie de elementos, eventos, observaciones de comportamientos del sistema vigilado 118 identificados como "normales" o "anómalos"), con lo que la precisión se calcula para cada muestra en función de los resultados desde el comienzo de la serie. Después, se determina la precisión promedio dividiendo la suma de todos los valores de precisión calculados por el número de positivos predichos. El valor máximo de AP es, por lo tanto, 1,0, y cualquier falso positivo (es decir, muestras "normales" identificadas erróneamente como "anómalas") y/o falsos negativos (es decir, muestras "anómalas" no detectadas) dan como resultado un AP reducido.
Finalmente, MAP se calcula simplemente promediando los valores de AP obtenidos en múltiples iteraciones de evaluación del modelo para el tipo de anomalía dado, donde cada iteración emplea diferentes conjuntos de entrenamiento y validación cruzada 314, 316, generados por la unidad de muestreo 312 como se ha descrito anteriormente.
Este procedimiento generalmente se repite para cada tipo de anomalía y para cada algoritmo candidato 204, de modo que se calcula un resultado de evaluación de MAP distinto para cada combinación de algoritmo candidato 204 y tipo de anomalía.
Como se indicó anteriormente, el grupo de evaluación comparativa 306 se puede usar para entrenar múltiples modelos de aprendizaje automático de detección de anomalías candidatos para cada uno de los algoritmos candidatos 204. Las realizaciones de la presente invención no se limitan a ningún modelo o algoritmo de aprendizaje automático en particular, y se pueden emplear para evaluar una amplia gama de algoritmos no supervisados y semi-supervisados de detección de anomalías. Para facilitar la evaluación, los modelos basados en los algoritmos candidatos 204 están configurados para presentar una interfaz común a la unidad de procesamiento de evaluación 202. Por ejemplo, en realizaciones preferidas, los modelos candidatos se pueden configurar para aceptar entradas en forma de uno o más vectores de datos, cada uno de los cuales se construye a partir de una secuencia particular de valores y/o un registro estructurado correspondiente a los datos de vigilancia disponibles del sistema vigilado 118, y para proporcionar una salida que comprende una indicación de si un vector de entrada se corresponde con un ' ítem, evento, observación o comportamiento, “normal”' o “anómalo”, del sistema vigilado 118.
Internamente, cada modelo candidato comprende estructuras de datos y/o códigos ejecutables que implementan un algoritmo particular de detección de anomalías no supervisado o semi-supervisado de los algoritmos candidatos 204. Un modelo puede implementar distintos modos de funcionamiento y de entrenamiento, y/o puede operar en un proceso de aprendizaje continuo. /modo de detección. Un modo de entrenamiento puede emplear un algoritmo de optimización, como un algoritmo de descenso de gradiente, para determinar los parámetros internos del modelo, que se pueden desactivar para evitar una mayor adaptación en un modo operativo. Un modo de detección/aprendizaje continuo puede actualizar los parámetros internos del modelo de manera continua en función de las entradas del modelo. Para modelos que tienen un modo de entrenamiento distinto, la unidad de procesamiento de evaluación 202 está configurada para seleccionar el modo de entrenamiento cuando entrena el modelo usando el conjunto de entrenamiento 314, y cambiar al modo operativo cuando valida el modelo usando el conjunto de validación cruzada 316. Para modelos que no tienen modos de entrenamiento distintos, no se requiere una selección de modo separada. En cualquier caso, los procesos de entrenamiento y validación cruzada implementados por la unidad de procesamiento de evaluación 202 se distinguen por el hecho de que la salida del modelo se requiere solamente durante el proceso de validación cruzada, durante el cual es utilizada por la unidad de validación 318 para calcular la Métrica de validación de AP.
Los algoritmos adecuados para la evaluación de acuerdo con la invención incluyen (pero no se limitan a): algoritmos basados en la densidad (por ejemplo, factor de valor atípico local); máquinas de vectores de soporte de una clase; redes neuronales (por ejemplo, codificadores automáticos profundos); algoritmos basados en clústeres; algoritmos basados en probabilidades (p. ej., modelos de mezcla gaussiana, detección de anomalías de mínimos cuadrados); algoritmos basados en la proximidad (por ejemplo, k-vecinos más cercanos, distancia de Mahalanobis); algoritmos basados en el subespacio (p. ej., basados en el análisis de componentes principales); y métodos de aislamiento (p. ej., bosque de aislamiento). Como apreciarán los expertos en la técnica del aprendizaje automático, muchos modelos y algoritmos se caracterizan por uno o más hiperparámetros y, por lo tanto, los modelos candidatos basados en varios
algoritmos candidatos 204 pueden incluir modelos del mismo tipo subyacente y que tienen diferentes valores de hiperparámetros, dando como resultado un rendimiento diferente.
Además, el rendimiento de modelos particulares puede depender de la selección de características particulares como entrada (es decir, la denominada "ingeniería de características"). Los vectores de características para dichos modelos generalmente se derivan o calculan a partir de los vectores de datos de entrada 'sin procesar', es decir, las entradas que, en las realizaciones de la presente invención, se construyen a partir de secuencias particulares de valores y/o registros estructurados correspondientes a datos de vigilancia disponibles del sistema vigilado 118. En consecuencia, los modelos basados en los algoritmos candidatos 204 pueden incluir modelos del mismo o de diferentes tipos subyacentes, y emplear diferentes métodos internos para derivar vectores de características para la entrada a los algoritmos subyacentes.
La Figura 4 es un diagrama de flujo 400 que ilustra un método para evaluar una pluralidad de algoritmos de aprendizaje automático candidatos 204 con respecto a múltiples tipos de anomalías distintas. El diagrama de flujo 400 incorpora los componentes y elementos de procesamiento de datos discutidos anteriormente con referencia a las Figuras 2 y 3. El método general comprende tres bucles anidados: un bucle más externo 402 sobre algoritmos candidatos 204; un bucle 404 sobre conjuntos de muestras 304 correspondientes a diferentes tipos de anomalías; y un bucle más interno 406 correspondiente a la iteración 320 sobre muestreo y entrenamiento/validación de modelos.
En el paso 408, se selecciona un algoritmo candidato de los algoritmos candidatos disponibles 204. En el paso 410 se selecciona un tipo de anomalía y se recupera el conjunto correspondiente de muestras positivas 304. En el paso 412, se construye un conjunto de datos de evaluación comparativa 306 a partir de las muestras positivas seleccionadas y las muestras recuperadas del grupo de negativos 302.
A continuación, se ejecuta el bucle más interno 406 para calcular una métrica MAP para el algoritmo seleccionado y el tipo de anomalía. En particular, como se ha descrito anteriormente con referencia a la Figura 3, los conjuntos de entrenamiento y validación cruzada 314, 316 son muestreados en el paso 414, del conjunto de evaluación comparativa 306 por la unidad de muestreo 312. La unidad de validación 318 calcula después una métrica AP, basada en estas muestras, ejecuta un paso de entrenamiento 416 usando el conjunto de entrenamiento 314, y un paso de validación cruzada 418 usando el conjunto de validación cruzada 316 para entrenar y evaluar un modelo basado en el algoritmo seleccionado. Cada ejecución de estos tres pasos 414, 416, 418 da como resultado una métrica AP adicional. A continuación, se realiza una prueba 420 frente a una condición de finalización y, si la condición no se cumple, el control vuelve al paso 414. Pueden emplearse diversas condiciones de finalización en diferentes realizaciones de la invención. Por ejemplo, una condición de finalización simple es si el número total de ejecuciones del bucle 406 ha alcanzado un valor predeterminado. Se pueden emplear condiciones de finalización más sofisticadas, por ejemplo, basadas en estadísticas de las métricas AP producidas en cada iteración. Por ejemplo, la media (es decir, MAP) y la varianza de las métricas AP se pueden calcular después de cada iteración, y se puede definir una condición de finalización en función de la varianza, o un intervalo de confianza alrededor del valor medio, que se reduce por debajo de un umbral predeterminado.
Cuando se cumple la condición de finalización, el control pasa al paso 422, en el que los resultados, incluido el MAP general y cualquier otro valor deseado (por ejemplo, los AP individuales y/o estadísticas adicionales de los AP), se almacenan para un uso futuro.
A continuación, se realiza una comprobación 424 para determinar si hay más tipos de anomalías para los que se va a evaluar el algoritmo candidato seleccionado, y si es así, el control vuelve al paso 410 de acuerdo con el bucle 404. De lo contrario, el control pasa a una prueba 426 de si hay más algoritmos candidatos 204 para evaluar, y si es así, entonces el control vuelve al paso 408 de acuerdo con el bucle más externo para seleccionar y evaluar el siguiente candidato.
Se entenderá, de la discusión anterior, que el algoritmo representado por el diagrama de flujo 400 y la arquitectura del sistema correspondiente representada por los diagramas de bloques 200, 300 no son bien entendidos ni son convencionales en el campo de la detección de anomalías y que representan una contribución específica de la presente invención. Además, aunque ciertos pasos individuales en el proceso 400 pueden ser convencionales, en el sentido de que los expertos en la materia pueden implementarlos fácilmente sin necesidad de una descripción más detallada en la presente memoria, la combinación y la secuencia de pasos general, y el control de flujo entre los pasos, requieren una programación específica, de modo que el algoritmo general y su implementación suman significativamente más que cualquiera de los conceptos subyacentes o pasos o procesos individuales.
Después de completar el proceso ilustrado por el diagrama de flujo 400, la salida es un conjunto de resultados que incluyen el MAP y posiblemente otros datos, calculados para cada tipo de anomalía con cada algoritmo candidato 204. En algunas realizaciones de la invención, los datos almacenados adicionales pueden incluir información estadística, como varianzas de AP y/o intervalos de confianza de MAP. Tal conjunto de resultados se puede representar gráficamente, por ejemplo, como se ilustra en la Figura 5A que muestra un gráfico 500 que ilustra una comparación de MAP con intervalos de confianza.
En particular, el gráfico 500 es una ilustración esquemática de un hipotético, pero representativo, conjunto de resultados, en el que el eje vertical 502 es una medida de MAP que oscila entre 0,0 y 1,0. Cada grupo de columnas en el gráfico, por ejemplo, 504, 506, 508, representa resultados para una pluralidad de tipos de anomalías (A, B,..., X) correspondientes a cada uno de los N algoritmos candidatos (numerados 1... norte). La altura de cada columna, por ejemplo, 510, presenta el valor de MAP calculado para el número de algoritmo y el tipo de anomalía correspondientes (es decir, MAP1A, MAP1B, ... MAP vx , ... MAPnx). Las barras de error, por ejemplo, 512, representan los intervalos de confianza asociados.
Debe apreciarse que la magnitud de los intervalos de confianza (o, de manera equivalente, de la varianza asociada con cada valor de MAP) se puede reducir continuamente, aunque a un costo computacional creciente, aumentando el número de iteraciones 320 del bucle interno 406. Por consiguiente, una ventaja particular de las realizaciones de la invención es que se puede controlar la precisión de las métricas de evaluación (es decir, valores MAP). Esto garantiza que los algoritmos de evaluación sean estables, es decir, que las métricas sean reproducibles y no varíen mucho entre las ejecuciones de evaluación, a pesar del pequeño número de muestras positivas disponibles y los procesos aleatorios involucrados en la selección y el muestreo para los conjuntos de datos de la evaluación comparativa, del entrenamiento y de la validación cruzada. de. Esto representa una mejora específica aportada por la invención al campo técnico de la evaluación, comparación y clasificación de algoritmos de aprendizaje automático no supervisados y semi-supervisados para la detección de anomalías.
Como se ilustra en el gráfico 500, donde hay múltiples algoritmos candidatos y múltiples tipos de anomalías, el rendimiento de cada algoritmo candidato puede variar entre los diferentes tipos de anomalías. Como resultado, algunos algoritmos pueden mostrar un rendimiento superior a otros algoritmos en relación con ciertos tipos de anomalías, pero un rendimiento inferior en relación con diferentes tipos de anomalías. En la Figura 5B se muestra una representación alternativa del rendimiento comparativo de los algoritmos candidatos, en forma de un "gráfico de radar" 514, en el que los diferentes tipos de anomalías (A, B, ..., X), por ejemplo, 516, están representados por la ubicación alrededor de la circunferencia de la trama y el rendimiento de cada algoritmo, por trazas, por ejemplo, 518a, 518b, uniendo puntos radiales correspondientes a la métrica de rendimiento MAP con respecto a cada tipo de anomalía. Por ejemplo, en el diagrama de radar 514, se muestra que un primer algoritmo candidato representado por la traza 518a tiene un rendimiento superior a un segundo algoritmo candidato representado por la traza 518b en relación con la anomalía tipo B, pero un rendimiento inferior en relación con las anomalías tipo A y E. Como puede apreciarse a partir de este ejemplo, el diagrama de radar 514 es particularmente ventajoso al proporcionar una visualización simultánea del rendimiento de múltiples algoritmos de detección de anomalías en relación con múltiples tipos de anomalías distintas. Sin embargo, puede ser deseable seleccionar un solo algoritmo candidato que proporcione el mejor rendimiento sobre todos los tipos de anomalías, de acuerdo con alguna medida adecuada. En consecuencia, las realizaciones de la presente invención implementan tal medida, en forma de una puntuación de clasificación.
La generación de un conjunto de puntuaciones de clasificación 520 para una pluralidad de algoritmos candidatos 204 se ilustra en la Figura 5C. En particular, las métricas de MAP, para cada algoritmo candidato y tipo de anomalía, se representan como una matriz 522 en la que cada fila se corresponde con las métricas de un único algoritmo candidato en todos los tipos de anomalía. Para cada fila, se calcula una única puntuación de clasificación, S1 ... Sn, por ejemplo, 524. Cabe señalar que la puntuación de clasificación para cada fila no necesita estar basada únicamente en los valores métricos en la fila correspondiente de la matriz 522, sino que también puede tener en cuenta los valores en otras filas, por ejemplo, las magnitudes relativas de los valores de MAP obtenidos para otros algoritmos candidatos, y/o variaciones en los valores de MAP a través de diferentes algoritmos candidatos. Las puntuaciones de clasificación pueden ser valores numéricos arbitrarios, por lo que las magnitudes relativas de las puntuaciones determinan la clasificación de los algoritmos candidatos, o pueden ser simplemente valores de clasificación, por ejemplo, números enteros que representan un orden de clasificación de los algoritmos candidatos. Preferiblemente, las puntuaciones de clasificación se calculan de acuerdo con un algoritmo que puede acomodar el hecho de que diferentes tipos de anomalías pueden mostrar diferentes rangos de MAP (es decir, que el rendimiento en algunos tipos de anomalías depende más del modelo que otros), y que diferentes tipos de anomalía pueden ser de diferente importancia.
Con el fin de lograr estos objetivos deseados, las realizaciones particulares de la invención calculan las puntuaciones de clasificación 520 de acuerdo con un enfoque denominado "agregación de clasificación ponderada de Spearman con importancia relativa". Este es un algoritmo de agregación de clasificaciones en el que a cada tipo de anomalía se le asigna un valor de importancia relativa y se calcula una clasificación óptima teniendo en cuenta estos valores de importancia. Los valores de importancia pueden ser asignados por un operador humano, por ejemplo, basado en la importancia práctica relativa de cada tipo de anomalía. El algoritmo de Spearman también emplea pesos que se derivan automáticamente de los valores absolutos de MAP en cada eje (es decir, tipo positivo), además de las clasificaciones simples que se derivan de esos valores de MAP. La regla de Spearman (es decir, la suma de las diferencias absolutas entre las clasificaciones de todos los elementos únicos de un par de listas ordenadas combinadas) se utiliza como medida básica de "distancia" para las clasificaciones de candidatos. Las implementaciones de este algoritmo de agregación de clasificaciones están disponibles en varios paquetes de software, por ejemplo, la función 'BruteAggreg' en el paquete 'RankAggreg' del lenguaje de programación R, con el parámetro 'pesos' establecido en una lista de los valores de importancia deseados, y el parámetro 'distancia' establecido en 'Spearman'. Alternativamente, se puede incorporar una implementación dedicada del algoritmo de agregación de clasificación en la unidad de procesamiento de evaluación 202.
Volviendo a la Figura 6, se muestra un diagrama de flujo 600 que ilustra un método ejemplar de evaluación implementación de un modelo de aprendizaje automático para la detección de anomalías. De acuerdo con este método, en el paso 602 se accede y/o se recupera un conjunto de algoritmos candidatos 204, por ejemplo, desde uno o más dispositivos de almacenamiento de datos. Como se discutió anteriormente, los algoritmos candidatos comprenden estructuras de datos y/o códigos ejecutables que implementa un algoritmo de detección de anomalías no supervisado o semi-supervisado particular, que se ha desarrollado o configurado adecuadamente para su uso con el sistema de evaluación 102. En el paso 604, se accede o recuperan los conjuntos de datos de entrenamiento 206. En el paso 606 (correspondiente al procedimiento descrito anteriormente con referencia a la Figura 4) se evalúan los algoritmos candidatos 204. En el paso 608 (correspondiente al procedimiento descrito anteriormente con referencia a la Figura 5B) se clasifican los algoritmos candidatos 204. De ese modo se identifica y selecciona 610 un algoritmo preferido para la implementación.
En el paso 612, se implementa un modelo que incorpora el algoritmo seleccionado. En particular, se puede implementar en el sistema de vigilancia 120 una implementación del algoritmo seleccionado, donde se puede entrenar usando datos de producción (en vivo) para producir modelos de producción implementados configurados para detectar comportamientos anómalos en el sistema vigilado 118. Se pueden obtener muestras de datos de entrenamiento 'negativos' de manera similar al grupo de negativos 302 utilizado en la evaluación comparativa, por ejemplo, mediante el "examen" de muestras de datos en vivo, usando un modelo preexistente con una configuración de umbral conservador para evitar falsos negativos. Alternativamente, por ejemplo, en el caso de que se hayan usado datos de producción recientes, filtrados para generar el conjunto de negativos 302 para la evaluación comparativa, puede ser factible implementar una implementación de modelo que haya sido previamente entrenada usando estos datos. La implementación del código que incorpora el algoritmo/modelo seleccionado puede implicar, por ejemplo, empaquetar el código y las estructuras de datos que comprenden el algoritmo/modelo (ya sea pre-entrenado o sin entrenar) en un componente instalable, transmitiendo el código empaquetado y los datos al sistema de vigilancia 120 y ejecutar una herramienta de implementación (por ejemplo, un administrador de paquetes) para instalar y configurar el algoritmo/modelo seleccionado antes de la ejecución.
Después de la implementación, el modelo seleccionado se puede ejecutar para comenzar a vigilar el sistema vigilado 118. Un parámetro de rendimiento clave del sistema de vigilancia operativo es su recuperación, es decir, la tasa o fracción de detección correcta de elementos, eventos, observaciones o comportamientos anómalos del sistema vigilado 118. En términos prácticos o comerciales, por ejemplo en el caso de un sistema de detección de fraude, un indicador clave de rendimiento (KPI) típico es el número o la proporción de observaciones reales del sistema vigilado 118 que debe analizar un operador humano para conseguir una proporción dada de todos los intentos de fraude. La Figura 7 muestra dos gráficos que ilustran el impacto significativo de la implementación de modelos con eficacia mejorada, según una evaluación realizada de acuerdo con una realización de la presente invención, en el caso de una aplicación de detección de fraude.
El gráfico 700 muestra un caso de referencia, en el que las observaciones se muestrean al azar para su revisión por parte de un operador humano. El eje horizontal 702 representa la fracción de datos muestreados, mientras que el eje vertical 704 representa la recuperación efectiva correspondiente del sistema de muestreo aleatorio. Como indica la curva de recuperación 705, para detectar el 75% de todos los intentos de fraude, es necesario muestrear y revisar el 75% de todas las observaciones, es decir, como indica la caída vertical 708. Para un gran sistema de procesamiento de transacciones, esto puede representan cientos de miles de transacciones por día, lo que requiere miles de díasoperador para analizar las muestras seleccionadas.
El gráfico 710 ilustra un caso que emplea un algoritmo de detección de anomalías preferido evaluado y seleccionado de una pluralidad de algoritmos candidatos de acuerdo con una realización de la presente invención. El eje horizontal 712 representa la fracción de observaciones de datos detectadas como anómalas por el algoritmo seleccionado, mientras que el eje vertical 704 representa la recuperación correspondiente del modelo. Como lo indica la curva de recuperación 716, para detectar el 75% de todos los intentos de fraude, en este caso es necesario revisar solo el 0,6% de todas las observaciones, es decir, como lo indica la caída vertical 718. Esta es una mejora con respecto a la línea de referencia del muestreo aleatorio de un factor de 125 veces, reduciendo el número de días-operador necesarios para analizar las muestras identificadas en un factor correspondiente.
Por tanto, es evidente que las mejoras en la eficacia de los algoritmos de detección de anomalías implementado pueden tener ventajas técnicas, prácticas y comerciales muy significativas. Las realizaciones de la presente invención proporcionan un enfoque efectivo y sistemático para la evaluación, selección despliegue implementación de algoritmos de detección de anomalías candidatos. Los métodos, sistemas y algoritmos que incorporan la invención, como se describe en el presente documento, permiten una evaluación y clasificación comparativa, consistente, estable y repetible, de algoritmos de detección de anomalías candidatos, y funcionan de manera confiable en casos desafiantes, como cuando hay múltiples tipos distintos de anomalías y números muy pequeños de ejemplos de elementos anómalos, observaciones, eventos o comportamientos de un sistema vigilado. El enfoque proporcionado de acuerdo con la invención es sustancialmente independiente de la naturaleza del sistema vigilado y de los tipos de anomalías que se detectarán, siempre que se puedan obtener o construir conjuntos adecuados de muestras negativas y positivas, y un conjunto mínimo de datos de las características de la interfaz, son satisfechas por los correspondientes algoritmos candidatos. Por lo tanto, se considera que las realizaciones de la invención proporcionan una mejora notable sobre
los enfoques de la técnica anterior para la evaluación de algoritmos y el despliegue de modelos de aprendizaje automático para la detección de anomalías.
Debe apreciarse que, si bien en el presente documento se han descrito realizaciones y variaciones particulares de la invención, modificaciones y alternativas adicionales serán evidentes para los expertos en las técnicas pertinentes. En particular, los ejemplos se ofrecen a modo de ilustración de los principios de la invención y para proporcionar una serie de métodos y disposiciones específicos para poner en práctica esos principios. En general, las realizaciones de la invención se basan en proporcionar disposiciones técnicas mediante las cuales la evaluación y el despliegue automatizados de modelos de aprendizaje automático para la detección de anomalías se basan en el entrenamiento y la validación cruzada de los algoritmos candidatos, proporcionados mediante el muestreo de conjuntos de datos de evaluación comparativa construidos a partir de conjuntos proporcionados muestras de datos "negativos” y ' “positivos” y en calcular la precisión promedio media (MAP) como una métrica del rendimiento del algoritmo. Los modelos candidatos pueden así compararse o clasificarse, y seleccionar un algoritmo preferido para despliéguela implementación.
En consecuencia, las realizaciones descritas deben entenderse como proporcionadas a modo de ejemplo, con el propósito de enseñar las características y principios generales de la invención, pero no deben entenderse como limitantes del alcance de la invención.
Claims (11)
1. Un método implementado por ordenador para evaluar e implementar modelos de aprendizaje automático para la detección de anomalías de un sistema vigilado (118), en el que el sistema vigilado (118) es uno de entre un sistema de base de datos, un sistema de procesamiento de transacciones, un sistema de información, un sistema proveedor de servicios web, un sistema industrial, un sistema de seguridad o un sistema de robótica, siendo realizado el método por un sistema de evaluación (102) y comprendiendo:
acceder a una pluralidad de algoritmos de aprendizaje automático candidatos (204) configurados para la detección de anomalías del sistema vigilado, donde los algoritmos de aprendizaje automático candidatos están configurados para presentar una interfaz común a una unidad de procesamiento de evaluación (202) del sistema de evaluación (102);
acceder a datos de entrenamiento (206) que incluyen un grupo de muestras de datos negativos (302) que representan la actividad normal del sistema vigilado y uno o más grupos más pequeños de muestras de datos positivos (304),
donde cada grupo de muestras de datos positivos representa un tipo de actividad anómala del sistema vigilado, donde los tipos de actividad anómala dependen de la naturaleza del sistema vigilado y representan registros de bases de datos erróneos, inconsistentes o dañados, transacciones fraudulentas, intentos o ataques reales o infracciones de seguridad, errores del sistema o degradación del rendimiento, o fallas inminentes o reales del equipo;
generando (412) un conjunto de datos de evaluación comparativa (306) para cada tipo de actividad anómala, que comprende un primer número de muestras extraídas del grupo de muestras negativas, y un segundo número de muestras extraídas del grupo de muestras positivas correspondientes al tipo de actividad anómala, en la que el primer número de muestras es sustancialmente mayor que el segundo número de muestras;
para cada combinación de un algoritmo de aprendizaje automático candidato seleccionado de la pluralidad de algoritmos de aprendizaje automático candidatos con un tipo de actividad anómala:
extraer (414) una pluralidad de conjuntos de entrenamiento y validación cruzada (314, 316) del conjunto de datos de evaluación comparativa correspondiente al tipo de actividad anómala, en el que cada conjunto de entrenamiento comprende solo muestras de datos negativos, y cada conjunto de validación cruzada comprende una combinación de muestras de datos negativos y positivos;
para cada uno de la pluralidad de conjuntos de entrenamiento y validación cruzada, entrenar (416) un modelo de aprendizaje automático basado en el algoritmo candidato usando el conjunto de entrenamiento, y validar (418) el modelo de aprendizaje automático usando el conjunto de validación cruzada con precisión promedio como métrica de desempeño;
calcular un valor medio de precisión promedio para el algoritmo de aprendizaje automático candidato a través de las métricas de rendimiento de precisión promedio obtenidas utilizando la pluralidad de conjuntos de entrenamiento y validación cruzada,
para cada algoritmo de aprendizaje automático candidato, calcular (608) un valor de clasificación basado en al menos los valores medios de precisión promedio calculados para el algoritmo de aprendizaje automático candidato para cada tipo de actividad anómala;
seleccionar (610) un algoritmo de aprendizaje automático de los algoritmos de aprendizaje automático candidatos basándose en los valores de clasificación calculados; y
implementar (612) un modelo de aprendizaje automático basado en el algoritmo seleccionado en un sistema de vigilancia (120), mediante el cual el sistema de vigilancia ejecuta el modelo de aprendizaje automático implementado para detectar anomalías del sistema vigilado.
2. El método implementado por ordenador de la reivindicación 1, en el que, para todos los conjuntos de datos de evaluación comparativa, la relación entre el primer número de muestras y el segundo número de muestras comprende un único valor fijo.
3. El método implementado por ordenador de la reivindicación 1 o 2, en el que los valores de clasificación se calculan de acuerdo con un algoritmo de agregación de clasificación.
4. El método implementado por ordenador de la reivindicación 3, en el que el algoritmo de agregación de clasificaciones emplea una medida de distancia de regla de Spearman.
5. El método implementado por ordenador de la reivindicación 3 o 4, en el que el algoritmo de agregación de clasificaciones es un algoritmo de agregación de clasificaciones ponderado en el que un conjunto de valores de importancia seleccionables representa la importancia relativa de cada tipo de actividad anómala.
6. Un sistema de detección de anomalías que comprende:
un subsistema de vigilancia (120);
un subsistema vigilado (118), en el que el subsistema vigilado (118) es uno de entre un sistema de base de datos, un sistema de procesamiento de transacciones, un sistema de información, un sistema proveedor de servicios web, un sistema industrial, un sistema de seguridad o un sistema robótico; y
un subsistema de evaluación (102) configurado para acceder a una pluralidad de algoritmos de aprendizaje automático candidatos (204) configurados para la detección de anomalías del sistema vigilado, donde los algoritmos de aprendizaje automático candidatos están configurados para presentar una interfaz común a una unidad de procesamiento de evaluación (202) del sistema de evaluación (102) y los datos de entrenamiento (206) que incluyen un grupo de muestras de datos negativos (302) que representan la actividad normal del sistema vigilado y uno o más grupos más pequeños de muestras de datos positivos (304), donde cada grupo de muestras de datos positivos representan un tipo de actividad anómala del sistema vigilado, donde los tipos de actividad anómala dependen de la naturaleza del sistema vigilado y representan registros de bases de datos erróneos, inconsistentes o dañados, transacciones fraudulentas, intentos o ataques reales o brechas de seguridad, errores del sistema o degradación del rendimiento, o fallos inminentes o reales del equipo,
en donde el subsistema de evaluación está configurado además para:
para cada tipo de actividad anómala, generar (412) un conjunto de datos de evaluación comparativa (306) que comprende un primer número de muestras extraídas del grupo de muestras negativas y un segundo número de muestras extraídas del grupo de muestras positivas correspondientes al tipo de actividad anómala, en el que el primer número de muestras es sustancialmente mayor que el segundo número de muestras;
para cada combinación de un algoritmo de aprendizaje automático candidato seleccionado de la pluralidad de algoritmos de aprendizaje automático candidatos con un tipo de actividad anómala:
extraer (414) una pluralidad de conjuntos de entrenamiento y validación cruzada (314, 316) del conjunto de datos de evaluación comparativa correspondiente al tipo de actividad anómala, donde cada conjunto de entrenamiento comprende solo muestras de datos negativos, y cada conjunto de validación cruzada comprende una combinación de muestras de datos negativos y positivos;
para cada uno de la pluralidad de conjuntos de entrenamiento y validación cruzada, entrenar (416) un modelo de aprendizaje automático basado en el algoritmo candidato usando el conjunto de entrenamiento, y validar (418) el modelo de aprendizaje automático usando el conjunto de validación cruzada con precisión promedio como métrica de desempeño;
calcular un valor medio de precisión promedio para el algoritmo de aprendizaje automático candidato mediante las métricas de rendimiento de precisión promedio obtenidas utilizando la pluralidad de conjuntos de entrenamiento y validación cruzada,
para cada algoritmo de aprendizaje automático candidato, calcular (608) un valor de clasificación basado en al menos los valores medios de precisión promedio calculados para el algoritmo de aprendizaje automático candidato para cada tipo de actividad anómala; y
seleccionar (610) un algoritmo de aprendizaje automático de los algoritmos de aprendizaje automático candidatos en función de los valores de clasificación calculados,
en donde se implementa (612) un modelo de aprendizaje automático basado en el algoritmo seleccionado en el subsistema de vigilancia, que está configurado para ejecutar el modelo de aprendizaje automático implementado para detectar anomalías del subsistema vigilado.
7. El sistema de la reivindicación 6, en el que para todos los conjuntos de datos de evaluación comparativa, la relación entre el primer número de muestras y el segundo número de muestras comprende un único valor fijo.
8. El sistema de las reivindicaciones 6 o 7, en el que los valores de clasificación se calculan de acuerdo con un algoritmo de agregación de clasificación.
9. El sistema de la reivindicación 8, en el que el algoritmo de agregación de rangos emplea una medida de distancia de regla de Spearman.
10. El sistema de la reivindicación 8 o 9, en el que el algoritmo de agregación de clasificaciones es un algoritmo de agregación de clasificaciones ponderado en donde un conjunto de valores de importancia seleccionables representa la importancia relativa de cada tipo de actividad anómala.
11. Un producto de programa informático que comprende instrucciones que, cuando el programa es ejecutado por un ordenador, hacen que el ordenador lleve a cabo el método de cualquiera de las reivindicaciones 1 a 5.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1855567A FR3082963A1 (fr) | 2018-06-22 | 2018-06-22 | Systeme et procede d'evaluation et de deploiement de modeles d'apprentissage automatique non supervises ou semi-supervises |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2918208T3 true ES2918208T3 (es) | 2022-07-14 |
Family
ID=65443892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES19178728T Active ES2918208T3 (es) | 2018-06-22 | 2019-06-06 | Sistema y método para evaluar e implementar modelos de aprendizaje automático no supervisados o semi-supervisados |
Country Status (4)
Country | Link |
---|---|
US (1) | US11367022B2 (es) |
EP (1) | EP3588327B1 (es) |
ES (1) | ES2918208T3 (es) |
FR (1) | FR3082963A1 (es) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112470131B (zh) * | 2018-07-20 | 2023-02-07 | 华为技术有限公司 | 检测数据集中异常的装置和方法以及它们相应的计算机程序产品 |
JP6513314B1 (ja) * | 2018-07-30 | 2019-05-15 | 楽天株式会社 | 判定システム、判定方法及びプログラム |
US10831818B2 (en) * | 2018-10-31 | 2020-11-10 | Adobe Inc. | Digital image search training using aggregated digital images |
US11218879B2 (en) * | 2018-12-05 | 2022-01-04 | At&T Intellectual Property I, L.P. | Providing security through characterizing internet protocol traffic to detect outliers |
US11030086B2 (en) * | 2019-02-15 | 2021-06-08 | Tencent America LLC | Machine learning model full life cycle management framework |
JP7361505B2 (ja) * | 2019-06-18 | 2023-10-16 | キヤノンメディカルシステムズ株式会社 | 医用情報処理装置及び医用情報処理方法 |
US11568001B2 (en) * | 2019-06-22 | 2023-01-31 | Merck Sharp & Dohme Llc | Radial map data visualization |
DE102019211076A1 (de) * | 2019-07-25 | 2021-01-28 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Validieren einer Simulation eines technischen Systems |
CN110705573A (zh) * | 2019-09-25 | 2020-01-17 | 苏州浪潮智能科技有限公司 | 一种目标检测模型的自动建模方法及装置 |
US11275643B2 (en) * | 2019-10-09 | 2022-03-15 | Microsoft Technology Licensing, Llc | Dynamic configuration of anomaly detection |
CN111242310B (zh) * | 2020-01-03 | 2023-04-18 | 深圳市雅阅科技有限公司 | 特征有效性评估方法、装置、电子设备及存储介质 |
CN113093967A (zh) * | 2020-01-08 | 2021-07-09 | 富泰华工业(深圳)有限公司 | 数据生成方法、装置、计算机装置及存储介质 |
WO2021149225A1 (ja) * | 2020-01-23 | 2021-07-29 | 三菱電機株式会社 | モデル生成装置、モデル生成方法及びモデル生成プログラム |
US11443209B2 (en) * | 2020-04-16 | 2022-09-13 | International Business Machines Corporation | Method and system for unlabeled data selection using failed case analysis |
DE102020205131A1 (de) * | 2020-04-23 | 2021-10-28 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Simulieren eines technischen Systems |
CN111695639A (zh) * | 2020-06-17 | 2020-09-22 | 浙江经贸职业技术学院 | 一种基于机器学习的电力用户用电异常检测方法 |
US11816461B2 (en) * | 2020-06-30 | 2023-11-14 | Paypal, Inc. | Computer model management system |
US20220027750A1 (en) * | 2020-07-22 | 2022-01-27 | Paypal, Inc. | Real-time modification of risk models based on feature stability |
US20220036225A1 (en) * | 2020-08-03 | 2022-02-03 | International Business Machines Corporation | Learning parameters of special probability structures in bayesian networks |
CN112116411A (zh) * | 2020-08-10 | 2020-12-22 | 第四范式(北京)技术有限公司 | 一种用于商品推荐的排序模型的训练方法、装置及系统 |
CN112016932B (zh) * | 2020-09-04 | 2024-05-17 | 中国银联股份有限公司 | 测试方法、装置、服务器及介质 |
US11385631B2 (en) * | 2020-11-11 | 2022-07-12 | Honda Research Institute Europe Gmbh | Method and system for detecting faults in a charging infrastructure system for electric vehicles |
CN112329892A (zh) * | 2020-12-03 | 2021-02-05 | 中国第一汽车股份有限公司 | 一种目标检测算法的评估方法、装置、设备及存储介质 |
CN112562771B (zh) * | 2020-12-25 | 2022-07-26 | 北京邮电大学 | 一种基于邻域分区与隔离重构的磁盘异常检测方法 |
CN113051452B (zh) * | 2021-04-12 | 2022-04-26 | 清华大学 | 运维数据特征选择方法和装置 |
CN113283469A (zh) * | 2021-04-14 | 2021-08-20 | 中国海洋大学 | 基于视图的三维模型检索的图嵌入无监督特征学习方法 |
US11796993B2 (en) | 2021-05-12 | 2023-10-24 | Yokogawa Electric Corporation | Systems, methods, and devices for equipment monitoring and fault prediction |
US20230004856A1 (en) * | 2021-06-30 | 2023-01-05 | Armis Security Ltd. | Techniques for validating features for machine learning models |
US11822420B2 (en) * | 2021-10-12 | 2023-11-21 | International Business Machines Corporation | Artificial intelligence model monitoring and ranking |
WO2023088531A1 (en) * | 2021-11-16 | 2023-05-25 | Huawei Technologies Co., Ltd. | Management entity, network element, system, and methods for supporting anomaly detection for communication networks |
US11961084B1 (en) * | 2021-11-22 | 2024-04-16 | Rsa Security Llc | Machine learning models for fraud detection |
CN114936205A (zh) * | 2022-06-02 | 2022-08-23 | 江苏品生医疗科技集团有限公司 | 一种特征筛选方法、装置、存储介质及电子设备 |
CN117289141A (zh) * | 2023-11-22 | 2023-12-26 | 深圳市麦迪瑞科技有限公司 | 基于人工智能的电动自行车充电状态监测方法 |
CN117336195B (zh) * | 2023-12-01 | 2024-02-06 | 中国西安卫星测控中心 | 一种基于雷达图法的入侵检测模型综合性能评估方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7424619B1 (en) * | 2001-10-11 | 2008-09-09 | The Trustees Of Columbia University In The City Of New York | System and methods for anomaly detection and adaptive learning |
US9349103B2 (en) * | 2012-01-09 | 2016-05-24 | DecisionQ Corporation | Application of machine learned Bayesian networks to detection of anomalies in complex systems |
US10261851B2 (en) * | 2015-01-23 | 2019-04-16 | Lightbend, Inc. | Anomaly detection using circumstance-specific detectors |
US20160358099A1 (en) * | 2015-06-04 | 2016-12-08 | The Boeing Company | Advanced analytical infrastructure for machine learning |
US10147049B2 (en) * | 2015-08-31 | 2018-12-04 | International Business Machines Corporation | Automatic generation of training data for anomaly detection using other user's data samples |
US11277420B2 (en) * | 2017-02-24 | 2022-03-15 | Ciena Corporation | Systems and methods to detect abnormal behavior in networks |
-
2018
- 2018-06-22 FR FR1855567A patent/FR3082963A1/fr not_active Withdrawn
-
2019
- 2019-06-04 US US16/431,228 patent/US11367022B2/en active Active
- 2019-06-06 EP EP19178728.2A patent/EP3588327B1/en active Active
- 2019-06-06 ES ES19178728T patent/ES2918208T3/es active Active
Also Published As
Publication number | Publication date |
---|---|
US11367022B2 (en) | 2022-06-21 |
EP3588327B1 (en) | 2022-04-20 |
FR3082963A1 (fr) | 2019-12-27 |
US20190392351A1 (en) | 2019-12-26 |
EP3588327A1 (en) | 2020-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2918208T3 (es) | Sistema y método para evaluar e implementar modelos de aprendizaje automático no supervisados o semi-supervisados | |
US20230177030A1 (en) | Framework for the automated determination of classes and anomaly detection methods for time series | |
US20210042382A1 (en) | System and method of selecting human-in-the-loop time series anomaly detection methods | |
CN108463973A (zh) | 蜂窝系统中指纹识别根本原因分析 | |
Sharma et al. | Fault detection and localization in distributed systems using invariant relationships | |
US8898093B1 (en) | Systems and methods for analyzing data using deep belief networks (DBN) and identifying a pattern in a graph | |
CN105320727A (zh) | 用于检测实时序列中的异常的方法 | |
US10936965B2 (en) | Method and apparatus for analysis and classification of high dimensional data sets | |
US20160156652A1 (en) | Pattern detection in sensor networks | |
US10817407B2 (en) | PoC platform which compares startup S/W products including evaluating their machine learning models | |
US10560469B2 (en) | Identifying deviations in data | |
CN107622008A (zh) | 一种应用页面的遍历方法和装置 | |
US11656174B2 (en) | Outlier detection for spectroscopic classification | |
US12032467B2 (en) | Monitoring system, monitoring method, and computer program product | |
Gigerenzer | Introduction: Taking heuristics seriously | |
Falessi et al. | Preserving order of data when validating defect prediction models | |
CN110520702A (zh) | 监视电子设备的热健康 | |
Barontini et al. | Negative selection algorithm based methodology for online structural health monitoring | |
Ilyas et al. | Off-road performance modeling–how to deal with segmented data | |
Weiss et al. | Uncertainty quantification for deep neural networks: An empirical comparison and usage guidelines | |
Ibias et al. | SqSelect: Automatic assessment of failed error propagation in state-based systems | |
ABID et al. | Anomaly detection in WSN: critical study with new vision | |
Parhizkar et al. | OC-WAD: A one-class classifier ensemble approach for anomaly detection in web traffic | |
US11320813B2 (en) | Industrial asset temporal anomaly detection with fault variable ranking | |
WO2024069024A1 (es) | Aparato para identificar condiciones de entrada erróneas en un dispositivo controlador |