Como escolher um número ideal de fatores latentes na fatoração matricial não negativa?

15

Dada uma matriz , a fatoração de matriz não negativa (NMF) encontra duas matrizes não negativas e ( ou seja, com todos os elementos ) para representar a matriz decomposta como:W m × k H k × n0Vm×nWm×kHk×n0

VWH,

por exemplo, exigindo que e não negativos minimizem o erro de reconstruçãoWH

VWH2.

Existem práticas comuns para estimar o número k na NMF? Como, por exemplo, a validação cruzada pode ser usada para esse fim?

Steve Sailer
fonte
Não tenho citações (e na verdade fiz uma pesquisa rápida no google scholar e não encontrei nenhuma), mas acredito que a validação cruzada deve ser possível.
Ameba diz Reinstate Monica
2
Você poderia me dizer mais detalhes sobre como executar a validação cruzada para NMF? Os valores de K para a norma Frobenius sempre diminuirão à medida que o número de K aumentar.
Steve Sailer
O que você está fazendo NMF? É representar V no espaço de menor dimensão (não supervisionado) ou é fornecer recomendações (supervisionadas). Qual é o tamanho do seu V ? Você precisa explicar uma certa porcentagem da variação? Você pode aplicar o CV depois de definir sua métrica objetiva. Gostaria de encorajá-lo a pensar no aplicativo e encontrar uma métrica que faça sentido.
ignorante

Respostas:

10

Para escolher um número ideal de fatores latentes na fatoração de matriz não negativa, use a validação cruzada.

Como você escreveu, o objetivo do NMF é encontrar e baixa dimensão com todos os elementos não negativos, minimizando o erro de reconstrução . Imagine que deixamos de fora um elemento de , por exemplo, , e executamos NMF da matriz resultante com uma célula ausente. Isso significa localizar e minimizando o erro de reconstrução em todas as células ausentes:WHVWH2VVabWH

ijab(Vij[WH]ij)2.

Feito isso, podemos prever o elemento deixado de fora calculando e calcular o erro de previsãoPode-se repetir esse procedimento, deixando de fora todos os elementos um de cada vez, e resumir os erros de previsão em todos os e . Isso resultará em um valor geral de PRESS (soma residual prevista dos quadrados) que dependerá de . Esperamos que a função tenha um mínimo que possa ser usado como um 'ótimo' .Vab[WH]ab

eab=(Vab[WH]ab)2.
VababE(k)=abeabkE(k)k

Observe que isso pode ser computacionalmente caro, porque o NMF deve ser repetido para cada valor deixado de fora e também pode ser complicado de programar (dependendo de como é fácil executar o NMF com valores ausentes). No PCA, é possível contornar isso deixando de fora as linhas completas de (que acelera muito os cálculos); veja minha resposta em Como executar a validação cruzada do PCA para determinar o número de componentes principais? , mas isso não é possível aqui.V

É claro que todos os princípios usuais de validação cruzada se aplicam aqui, para que se possa deixar de fora muitas células por vez (em vez de apenas uma) e / ou repetir o procedimento para apenas algumas células aleatórias, em vez de repetir todas as células. Ambas as abordagens podem ajudar a acelerar o processo.

Edit (Mar 2019): Veja este excelente artigo ilustrado de @AlexWilliams : http://alexhwilliams.info/itsneuronalblog/2018/02/26/crossval . Alex usa https://github.com/kimjingu/nonnegfac-python para NMF com valores ausentes.

ameba diz Restabelecer Monica
fonte
4

Que eu saiba, existem dois bons critérios: 1) o coeficiente de correlação cofenética e 2) comparar a soma residual dos quadrados com dados aleatórios para um conjunto de classificações (talvez exista um nome para isso, mas não me lembro)

  1. Coeficiente de correlação copenética: Você repete a NMF várias vezes por classificação e calcula quão semelhantes são os resultados. Em outras palavras, quão estáveis ​​são os clusters identificados, uma vez que a semente inicial é aleatória. Escolha o K mais alto antes que o coeficiente cophenetic diminua.

  2. RSS contra dados aleatórios Para qualquer abordagem de redução de dimensionalidade, sempre há uma perda de informações em comparação com os dados originais (estimados por RSS). Agora execute o NMF para aumentar K e calcule o RSS com o conjunto de dados original e um conjunto de dados aleatório. Ao comparar o RSS na função K, o RSS diminui com o aumento do K no conjunto de dados original, mas esse é menos o caso do conjunto de dados randomizado. Ao comparar as duas inclinações, deve haver um K onde elas cruzam. Em outras palavras, quanta informação você poderia perder (= K mais alto) antes de ficar dentro do barulho.

Espero ter sido suficientemente claro.

Edit: Eu encontrei esses artigos.

1.Jean-P. Brunet, Pablo Tamayo, Todd R. Golub e Jill P. Mesirov. Metagenes e descoberta de padrões moleculares usando fatoração matricial. Em Procedimentos da Academia Nacional de Ciências dos EUA, 101 (12): 4164-4169, 2004.

2.Attila Frigyesi e Mattias Hoglund. Fatoração matricial não negativa para análise de dados complexos de expressão gênica: identificação de subtipos de tumores clinicamente relevantes. Cancer Informatics, 6: 275-292, 2008.

Jean-Paul Abbuehl
fonte
Não está claro por que o RSS de dados aleatórios deve ser menor que o RSS calculado com dados originais quando K é pequeno? Quanto ao resto, entendo que o RSS aleatório deve diminuir mais lentamente do que o dos dados originais.
Malik Koné
1

Na fatoração de NMF, o parâmetro (observado r na maioria da literatura) é a classificação da aproximação de V e é escolhido de forma que k < min ( m , n ) . A escolha do parâmetro determina a representação dos seus dados V em uma base excessivamente completa composta pelas colunas de W ; o w i  ,  i = 1 , 2 , , k . O resultado é que as fileiras das matrizes W e H têm um limite superior dekrVk<min(m,n)VWWEu , Eu=1,2,,kWH e o produto W H é uma aproximação de classificação baixa de V ; também k no máximo. Portanto, a escolha de k < min ( m , n ) deve constituir uma redução de dimensionalidade em que V pode ser gerado / medido a partir dos vetores de base mencionados acima.kWHVkk<min(m,n)V

Mais detalhes podem ser encontrados no capítulo 6 deste livro por S. Theodoridis e K. Koutroumbas.

Após a minimização da função de custo escolhida em relação a e H , a escolha ideal de k ( escolhida empiricamente por trabalhar com diferentes subespaços de recursos) deve fornecer V , uma aproximação de V , com recursos representativos de sua matriz de dados inicial V . WHkVVV

Trabalhando com diferentes subespaços de recursos no sentido de que, o número de colunas em W , é o número de vetores de base no subespaço NMF. E trabalhar empiricamente com diferentes valores de k equivale a trabalhar com diferentes espaços de característica com redução de dimensionalidade.kWk

Gilles
fonte
4
Mas a questão era sobre como escolher o ideal ! Você pode fornecer idéias sobre isso? k
Ameba diz Reinstate Monica
@amoeba A menos que eu tenha interpretado mal a pergunta inicial, é "Existem práticas comuns para estimar o número na NMF?". O k ideal é escolhido empiricamente . Eu ampliei minha resposta. kk
Gilles
2
Sua explicação sobre a fatoração de NMF faz total sentido, mas a pergunta inicial foi especificamente sobre as práticas comuns para estimar k. Agora você escreveu que é possível escolher k "empiricamente" (ok) "trabalhando com diferentes subespaços de recursos". Não sei ao certo o que significa "trabalhar com subespaços de recursos diferentes". Você poderia expandir isso? Como se deve trabalhar com eles? Qual é a receita para escolher k? É disso que se trata a questão (pelo menos como eu a entendi). Será um prazer reverter o meu voto negativo!
Ameba diz Reinstate Monica
2
Agradeço suas edições e sinto muito por ser tão burra. Mas digamos que eu tenho meus dados, e eu [empiricamente] tento vários valores de entre 1 e 50. Como devo escolher o que funcionou melhor ??? É assim que entendo a pergunta original e não consigo encontrar nada na sua resposta sobre isso. Informe-me se eu perdi ou se você acha que a pergunta original era diferente. k
Ameba diz Reinstate Monica
1
@amoeba Isso dependerá da sua aplicação, dados e do que você deseja realizar. É apenas a redução de dimensionalidade, ou separação de fontes, etc? Em aplicativos de áudio, por exemplo, por exemplo, separação de fontes, o ideal seria aquele que oferece a melhor qualidade ao ouvir as fontes de áudio separadas. É claro que a motivação para a escolha aqui será diferente se você estiver trabalhando com imagens, por exemplo. k
Gilles