6 votos

Aprendizaje de una transformada univariante (¿kernel?) para la detección de novedades

Tengo 150 observaciones, 500 características, y me interesa la detección de novedades (detección de valores atípicos): dada una nueva observación (digamos "paciente"), quiero saber si es diferente de las anteriores (llamémosla "control"). Si dispusiera de muchos datos, probablemente utilizaría pruebas estadísticas a nivel de parámetros univariantes, pero, por cuestiones de pruebas múltiples, acabo explorando las colas de la distribución de control para alcanzar la significación, y no dispongo de datos suficientes para pruebas no paramétricas para valores p tan pequeños.

Estoy haciendo SVMs de una clase que alivian este problema mediante el aprendizaje de una estrategia de decisión global. Las limitaciones de este enfoque son

  1. es muy "blackboxy

  2. no funciona bien si los datos son muy "anisótropos", es decir, si las distribuciones marginales del control son muy diferentes en distintas direcciones.

Un truco para solucionar el problema 2 consiste en centrar y normalizar los parámetros univariantes (lo que suele denominarse crear "puntuaciones Z"). Lo ideal sería blanquear los datos utilizando la covarianza de control, pero no hay datos suficientes para calcularla. Los valores introducidos en el OC-SVM pueden entonces interpretarse como una estadística de prueba univariante (bajo una distribución nula normal para los controles).

En mi caso, puedo ver en los histogramas que la distribución del control es de cola pesada. Me gustaría aprender una transformación univariante que la acerque más a una normal estándar.

Por cierto, no tengo ninguna referencia sobre tales prácticas. Las he aprendido empíricamente y en discusiones de laboratorio. Cualquier indicación será bienvenida, aunque no responda directamente a mi pregunta.

0 votos

¿Intentaste hacer PCA, proyectar en un espacio de menor dimensión y estimar allí la covarianza?

0 votos

Es algo que tengo en mente, o estimación de covarianza regularizada. Jugué un poco con ello, pero no me dio resultados terriblemente buenos, y hacía que los resultados fueran más difíciles de interpretar.

0 votos

Por estimación regularizada de la covarianza, ¿se refiere a restringir la covarianza para que sea diagonal (en efecto, asumiendo la independencia de las características)?

4voto

karatchov Puntos 230

Tu escenario es bastante duro. No tengo ninguna solución, pero un par de puntos.

  • Los modelos basados en la energía pueden darle un escalar correspondiente a un "grado de creencia" de que una entrada es generada por la distribución de sus datos. Todo se reduce a elegir un modelo y una buena función de pérdida. Consulte Tutorial de Yann Lecun sobre modelos basados en la energía . Además, hay Documento de Ranzato sobre el marco no supervisado basado en la energía donde utilizan autocodificadores dispersos. En general, la dispersión es deseable dado el pequeño conjunto de datos, supongo.

  • Una máquina de Boltzmann restringida podría funcionar. Usted puede entrenar su RBM en los datos con menos de 25 características ocultas (que podría de todos modos debido a su falta de datos) lo que le permite escribir la probabilidad de cualquier nueva entrada de pertenecer a los datos dados por su distribución. En realidad, un RBM también es un modelo basado en la energía.

  • Tengo la sensación de que SVM con Kernels podría ser un modelo demasiado complejo para lo que estás haciendo. ¿Obtiene resultados aceptables en un conjunto de pruebas?

0 votos

Gracias. Debo admitir que no esperaba que alguien resolviera completamente mis problemas. Me alegra mucho que la gente aporte buenas sugerencias. Los modelos basados en la energía son un buen marco, pero la cuestión es ¿cuál? SVM puede ser visto como un modelo de este tipo (aunque con una energía muy poco utilizable), así como multivariante gaussianos. Tu sugerencia de utilizar un RBM es interesante: es un equivalente probabilístico a los SVM. No sabía que los RBM pudieran utilizarse en la detección de valores atípicos. ¿Tiene alguna referencia? Por último, hemos tenido buenas experiencias con OC-SVM para la detección de valores atípicos de alta dimensión.

0 votos

Siempre tengo la sensación de que casi cualquier modelo que se optimice puede considerarse un modelo basado en la energía. Al fin y al cabo, siempre se puede formular la pérdida como energía. La cuestión es qué te dan los EBM. Y es crear un modelo sin datos negativos, porque haces "bootstrap" generando confabulaciones vía MCMC. No tengo ni idea de si se han aplicado EBMs a la detección de outlier, pero me parece razonable. Respecto a lo del SVM: la alta dimensionalidad está bien, lo que me preocupa es el pequeño conjunto de datos.

2voto

MattSayar Puntos 723

¿Ayudaría la distribución de la distancia al vecino más próximo? Para cada una de las 150 observaciones, tienes distancias $d_1\ d_2$ ... a sus vecinos más próximos, 2º más próximos.., y una distribución de distancia promediada, llamémosla DD. Un punto de consulta da la distribución $d_1 .. d_{150}$ : compáralo con DD.

La métrica entre puntos es crucial, pero no tengo receta. Prueba con la métrica fraccionaria o cercana a Hamming $\sum |a_j - b_j|^q$ (sin $\frac{1}{q}$ ). Para los pequeños $q$ digamos.., esto pondera las coincidencias cercanas en algunas características, lo que tiene sentido; De lo contrario, una suma de 500 términos se distribuye normalmente sin ningún contraste ni distancia. (Sí, Near-Hamming no es una norma, pero es una métrica, satisface la desigualdad triangular).

Echa un vistazo a Omercevic et al., Comparación de características de alta dimensión: empleo del concepto de vecinos más próximos significativos 2007 8p, que hacen esto:

  1. encontrar ~ 100 vecinos más cercanos a un punto de consulta
  2. ajuste $\lambda$ al ruido de fondo exponencial
  3. ponderar los 100 vecinos: no entiendo esta parte, parece ad hoc
  4. elegir ~ 10 valores atípicos como "señal".

(Sin embargo, coinciden con vectores SIFT de 128 d, cuya distribución de distancias y modelo de ruido pueden ser muy diferentes de los suyos).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X