¿Cómo elegir un número óptimo de factores latentes en la factorización matricial no negativa?


15

Dada una matriz , la factorización de matriz no negativa (NMF) encuentra dos matrices no negativas W m × k y H k × n (es decir, con todos los elementos 0 ) para representar la matriz descompuesta como:Vm×nWm×kHk×n0

VWH,

por ejemplo, al exigir que y H no negativos minimicen el error de reconstrucción V - W H 2 .WH

VWH2.

¿Existen prácticas comunes para estimar el número en NMF? ¿Cómo podría usarse, por ejemplo, la validación cruzada para ese propósito?k


No tengo ninguna cita (y en realidad hice una búsqueda rápida en Google Académico y no pude encontrar ninguna), pero creo que la validación cruzada debería ser posible.
ameba dice Reinstate Monica

2
¿Podría contarme más detalles sobre cómo realizar la validación cruzada para NMF? Los valores de K para la norma Frobenius siempre disminuirán a medida que aumente el número de K.
Steve Sailer

¿Para qué estás haciendo NMF? ¿Es para representar en el espacio de dimensión inferior (sin supervisión) o para proporcionar recomendaciones (supervisado)? Cuán grande es suV ? ¿Necesita explicar un cierto porcentaje de la varianza? Puede aplicar el CV después de definir su métrica objetiva. Le animo a que piense en la aplicación y encuentre una métrica que tenga sentido. V
ignorante

Respuestas:


10

Para elegir un número óptimo de factores latentes en la factorización matricial no negativa, utilice la validación cruzada.

Como escribió, el objetivo de NMF es encontrar W y H baja dimensión con todos los elementos no negativos minimizando el error de reconstrucción VWH2 . Imagine que dejamos de lado un elemento de V , por ejemplo, Vab , y realizamos NMF de la matriz resultante con una celda faltante. Esto significa encontrar W y H minimizando el error de reconstrucción en todas las celdas no faltantes:

ijab(Vij[WH]ij)2.

Una vez hecho esto, podemos predecir el elemento izquierdo Vab calculando [WH]ab y calcular el error de predicción

eab=(Vab[WH]ab)2.
Se puede repetir este procedimiento dejando fuera todos los elementos Vab uno a la vez, y resumir los errores de predicción sobre todos ( k ) = a b e a ba yb . Esto dará como resultado un valor de PRENSA general (suma residual de cuadrados prevista)E(k)=abeabeso dependerá de k . Ojalá funcionen E(k) tenga un mínimo que pueda usarse como unak 'óptima'.

Tenga en cuenta que esto puede ser costoso desde el punto de vista computacional, ya que el NMF tiene que repetirse para cada valor omitido, y también puede ser difícil de programar (dependiendo de lo fácil que sea realizar el NMF con valores faltantes). En PCA, se puede evitar esto dejando fuera filas completas de V (lo que acelera mucho los cálculos), vea mi respuesta en ¿Cómo realizar una validación cruzada para PCA para determinar el número de componentes principales? , pero esto no es posible aquí.

Por supuesto, todos los principios habituales de validación cruzada se aplican aquí, por lo que uno puede omitir muchas celdas a la vez (en lugar de solo una) y / o repetir el procedimiento solo para algunas celdas aleatorias en lugar de recorrer todas las celdas. Ambos enfoques pueden ayudar a acelerar el proceso.

Editar (marzo de 2019): vea este muy bonito artículo ilustrado de @AlexWilliams : http://alexhwilliams.info/itsneuronalblog/2018/02/26/crossval . Alex usa https://github.com/kimjingu/nonnegfac-python para NMF con valores faltantes.


4

Que yo sepa, hay dos buenos criterios: 1) el coeficiente de correlación cophenetic y 2) comparar la suma residual de cuadrados con datos aleatorios para un conjunto de rangos (tal vez haya un nombre para eso, pero no lo recuerdo)

  1. Coeficiente de correlación cophenetic: repite NMF varias veces por rango y calcula cuán similares son los resultados. En otras palabras, qué tan estables son los grupos identificados, dado que la semilla inicial es aleatoria. Elija la K más alta antes de que caiga el coeficiente cophenetic

  2. RSS contra datos aleatorios Para cualquier enfoque de reducción de dimensionalidad, siempre hay una pérdida de información en comparación con sus datos originales (estimados por RSS). Ahora realice NMF para aumentar K y calcule RSS con su conjunto de datos original y uno aleatorio. Al comparar RSS en función de K, el RSS disminuye al aumentar K en el conjunto de datos original, pero este no es el caso para el conjunto de datos aleatorio. Al comparar ambas pendientes, debería haber una K donde se cruzan. En otras palabras, cuánta información podría permitirse perder (= K más alta) antes de estar dentro del ruido.

Espero haber sido lo suficientemente claro.

Editar: he encontrado esos artículos.

1.Jean-P. Brunet, Pablo Tamayo, Todd R. Golub y Jill P. Mesirov. Metagenes y descubrimiento de patrones moleculares utilizando factorización matricial. En Actas de la Academia Nacional de Ciencias de los Estados Unidos, 101 (12): 4164-4169, 2004.

2. Atila Frigyesi y Mattias Hoglund. Factorización de matriz no negativa para el análisis de datos complejos de expresión génica: identificación de subtipos de tumores clínicamente relevantes. Cancer Informatics, 6: 275-292, 2008.


No está claro por qué el RSS de datos aleatorios debería ser menor que el RSS calculado con datos originales cuando K es pequeño. Por lo demás, entiendo que el RSS aleatorio debería disminuir más lentamente que el de los datos originales.
Malik Koné

1

En la factorización de NMF, el parámetro (observado en r en la mayoría de la literatura) es el rango de la aproximación de V y se elige de tal manera que k < min ( m , n ) . La elección del parámetro determina la representación de sus datos V en una base demasiado completa compuesta por las columnas de W ; el w i  ,  i = 1 , 2 , , k . El resultado es que los rangos de las matrices W y H tienen un límite superior dekrVk<min(m,n)VWwi , i=1,2,,kWH y el producto W H es una aproximación de bajo rango de V ; También k a lo sumo. Por lo tanto, la elección de k < min ( m , n ) debería constituir una reducción de dimensionalidad en la que V puede generarse / extenderse a partir de los vectores de base mencionados anteriormente.kWHVkk<min(m,n)V

Se pueden encontrar más detalles en el capítulo 6 de este libro de S. Theodoridis y K. Koutroumbas.

Después de minimizar la función de costo elegida con respecto a y H , la elección óptima de k ( elegida empíricamente al trabajar con diferentes subespacios de características) debería dar V , una aproximación de V , con características representativas de su matriz de datos inicial V . WHkVVV

Trabajar con diferentes subespacios de características en el sentido de que, el número de columnas en W , es el número de vectores base en el subespacio NMF. Y trabajar empíricamente con diferentes valores de k es equivalente a trabajar con diferentes espacios de características con dimensiones reducidas.kWk


44
¡Pero la pregunta era sobre cómo elegir la óptima ! ¿Puedes darnos alguna idea sobre eso? k
ameba dice Reinstate Monica

@amoeba A menos que haya leído mal la pregunta inicial, es "¿Existen prácticas comunes para estimar el número en NMF?". El k óptimo se elige empíricamente . He ampliado mi respuesta. kk
Gilles

2
Su explicación de la factorización de NMF tiene sentido total, pero la pregunta inicial fue específicamente sobre las prácticas comunes para estimar k. Ahora escribió que se puede elegir k "empíricamente" (está bien) "trabajando con diferentes subespacios de entidades". No estoy seguro de entender lo que significa "trabajar con subespacios de características diferentes", ¿podría ampliar eso? ¿Cómo debería uno trabajar con ellos? ¿Cuál es la receta para elegir k? De esto se trata la pregunta (al menos como la entendí). ¡Estaré encantado de revertir mi voto negativo!
ameba dice Reinstate Monica

2
k

1
k
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.