En el aprendizaje automático , la clasificación de una clase ( OCC ), también conocida como clasificación unaria o modelado de clases , intenta identificar objetos de una clase específica entre todos los objetos, aprendiendo principalmente de un conjunto de entrenamiento que contiene solo los objetos de esa clase, [1] aunque existen variantes de clasificadores de una clase donde se utilizan contraejemplos para refinar aún más el límite de clasificación. Esto es diferente y más difícil que el problema de clasificación tradicional , que intenta distinguir entre dos o más clases con el conjunto de entrenamiento que contiene objetos de todas las clases. Los ejemplos incluyen el monitoreo de cajas de engranajes de helicópteros, [2] [3] [4] predicción de fallas de motores, [5] o el estado operativo de una planta nuclear como 'normal': [6] En este escenario, hay pocos, si es que hay alguno, ejemplos de estados catastróficos del sistema; solo se conocen las estadísticas de operación normal.
Si bien muchos de los enfoques anteriores se centran en el caso de eliminar una pequeña cantidad de valores atípicos o anomalías, también se puede aprender el otro extremo, donde la clase única cubre un pequeño subconjunto coherente de los datos, utilizando un enfoque de cuello de botella de información . [7]
El término clasificación de una clase (OCC) fue acuñado por Moya y Hush (1996) [8] y se pueden encontrar muchas aplicaciones en la literatura científica, por ejemplo , detección de valores atípicos , detección de anomalías y detección de novedades . Una característica de la OCC es que utiliza solo puntos de muestra de la clase asignada, de modo que no se requiere estrictamente un muestreo representativo para las clases no objetivo. [9]
La clasificación de una clase basada en SVM (OCC) se basa en la identificación de la hiperesfera más pequeña (con radio r y centro c) que consta de todos los puntos de datos. [10] Este método se denomina descripción de datos de vectores de soporte (SVDD). Formalmente, el problema se puede definir en la siguiente forma de optimización restringida:
Sin embargo, la formulación anterior es muy restrictiva y sensible a la presencia de valores atípicos. Por lo tanto, se formula una formulación flexible que permite la presencia de valores atípicos, como se muestra a continuación.
De las condiciones de Karush-Kuhn-Tucker para optimalidad, obtenemos
donde las ' son la solución del siguiente problema de optimización:
sujeto a,
La introducción de la función kernel proporciona flexibilidad adicional al algoritmo SVM de una clase (OSVM). [11]
Un problema similar es el aprendizaje PU , en el que se construye un clasificador binario mediante aprendizaje semisupervisado únicamente a partir de puntos de muestra positivos y no etiquetados . [12]
En el aprendizaje PU, se supone que hay dos conjuntos de ejemplos disponibles para el entrenamiento: el conjunto positivo y un conjunto mixto , que se supone que contiene muestras tanto positivas como negativas, pero sin que estén etiquetadas como tales. Esto contrasta con otras formas de aprendizaje semisupervisado, donde se supone que hay disponible un conjunto etiquetado que contiene ejemplos de ambas clases además de muestras no etiquetadas. Existe una variedad de técnicas para adaptar los clasificadores supervisados al entorno de aprendizaje PU, incluidas variantes del algoritmo EM . El aprendizaje PU se ha aplicado con éxito a texto , [13] [14] [15] series de tiempo, [16] tareas de bioinformática , [17] [18] y datos de teledetección . [19]
Se han propuesto varios enfoques para resolver la clasificación de una clase (OCC). Los enfoques se pueden distinguir en tres categorías principales: estimación de densidad , métodos de contorno y métodos de reconstrucción . [6]
Los métodos de estimación de densidad se basan en la estimación de la densidad de los puntos de datos y en la fijación del umbral. Estos métodos se basan en la suposición de distribuciones, como la distribución gaussiana o la distribución de Poisson . A partir de ahí, se pueden utilizar pruebas de discordancia para probar los nuevos objetos. Estos métodos son robustos a la varianza de escala.
El modelo gaussiano [20] es uno de los métodos más simples para crear clasificadores de una clase. Debido al Teorema del Límite Central (CLT), [21] estos métodos funcionan mejor cuando hay una gran cantidad de muestras y se ven perturbadas por pequeños valores de error independientes. La distribución de probabilidad para un objeto de dimensión d está dada por:
Donde, es la media y es la matriz de covarianza. Calcular la inversa de la matriz de covarianza ( ) es la operación más costosa y, en los casos en que los datos no están escalados correctamente o tienen direcciones singulares, se utiliza la pseudoinversa para aproximar la inversa y se calcula como . [22]
Los métodos de límites se centran en establecer límites en torno a unos pocos puntos, denominados puntos objetivo. Estos métodos intentan optimizar el volumen. Los métodos de límites se basan en distancias y, por lo tanto, no son robustos a la variación de escala. El método de los centros K, NN-d y SVDD son algunos de los ejemplos clave.
Centros K
En el algoritmo K-center, [23] se colocan pequeñas bolas con el mismo radio para minimizar la distancia máxima de todas las distancias mínimas entre los objetos de entrenamiento y los centros. Formalmente, se minimiza el siguiente error:
El algoritmo utiliza un método de búsqueda hacia adelante con inicialización aleatoria, donde el radio se determina por la distancia máxima que debe alcanzar el objeto cualquier bola dada. Una vez que se determinan los centros, para cualquier objeto de prueba dado, la distancia se puede calcular como:
Los métodos de reconstrucción utilizan el conocimiento previo y el proceso de generación para construir un modelo generador que se ajuste mejor a los datos. Los nuevos objetos se pueden describir en términos de un estado del modelo generador. Algunos ejemplos de métodos de reconstrucción para OCC son la agrupación en clústeres de k-medias, la cuantificación de vectores de aprendizaje, los mapas autoorganizados, etc.
El paradigma básico de la máquina de vectores de soporte (SVM) se entrena utilizando ejemplos positivos y negativos; sin embargo, los estudios han demostrado que existen muchas razones válidas para utilizar solo ejemplos positivos. Cuando se modifica el algoritmo SVM para utilizar solo ejemplos positivos, el proceso se considera una clasificación de una clase. Una situación en la que este tipo de clasificación podría resultar útil para el paradigma SVM es cuando se intenta identificar los sitios de interés de un navegador web basándose únicamente en el historial de navegación del usuario.
La clasificación de una clase puede ser particularmente útil en estudios biomédicos donde a menudo los datos de otras clases pueden ser difíciles o imposibles de obtener. Al estudiar datos biomédicos puede ser difícil y/o costoso obtener el conjunto de datos etiquetados de la segunda clase que sería necesario para realizar una clasificación de dos clases. Un estudio de The Scientific World Journal encontró que el enfoque de tipicidad es el más útil para analizar datos biomédicos porque se puede aplicar a cualquier tipo de conjunto de datos (continuo, discreto o nominal). [24] El enfoque de tipicidad se basa en la agrupación de datos mediante el examen de los datos y su colocación en grupos nuevos o existentes. [25] Para aplicar la tipicidad a la clasificación de una clase para estudios biomédicos, cada nueva observación, , se compara con la clase objetivo, , y se identifica como un valor atípico o un miembro de la clase objetivo. [24]
La clasificación de una clase tiene similitudes con la detección de deriva de conceptos no supervisada, donde ambas tienen como objetivo identificar si los datos no vistos comparten características similares a los datos iniciales. Un concepto se conoce como la distribución de probabilidad fija de la que se extraen los datos. En la detección de deriva de conceptos no supervisada, el objetivo es detectar si la distribución de datos cambia sin utilizar etiquetas de clase. En la clasificación de una clase, el flujo de datos no es importante. Los datos no vistos se clasifican como típicos o atípicos según sus características, ya sea que provengan del concepto inicial o no. Sin embargo, la detección de deriva no supervisada monitorea el flujo de datos y señala una deriva si hay una cantidad significativa de cambios o anomalías. La detección de deriva de conceptos no supervisada puede identificarse como la forma continua de la clasificación de una clase. [26] Los clasificadores de una clase se utilizan para detectar derivas de conceptos. [27]