Estou muito interessado no método eigenmaps da Lapônia. Atualmente, estou usando-o para reduzir as dimensões dos meus conjuntos de dados médicos.
No entanto, encontrei um problema usando o método
Por exemplo, tenho alguns dados (sinais espectrais), posso usar o PCA (ou ICA) para obter alguns PCs e ICs. O problema é como obter componentes com dimensões semelhantes reduzidas dos dados originais?
De acordo com o método de autovalores do Laplaciano, precisamos resolver o problema generalizado de autovalores, que é
Aqui y são os autovetores. Se eu plotar os vetores próprios, por exemplo, os três principais vetores de y (definir a solução de acordo com três valores próprios), os resultados não serão interpretáveis.
No entanto, sempre posso plotar os 3 principais PCs e os 3 principais ICs, que de alguma forma representam os dados originais x.
Suponho que a razão seja porque a matriz L é definida pela matriz de ponderação (matriz adjuvante W) e os dados x foram ajustados ao núcleo de calor para criar W, que está usando uma função exponencial. Minha pergunta é como recuperar os componentes reduzidos de x (não o vetor próprio y da matriz L)?
Muito obrigado e aguardo sua resposta.
Muito obrigado pela sua resposta.
Meu conjunto de dados é restrito e não é fácil demonstrar o problema. Aqui eu criei um problema de brinquedo para mostrar o que eu quis dizer e o que quero perguntar.
Por favor, veja a imagem,
Primeiramente, crio algumas ondas senoidais A, B, C mostrando em curvas vermelhas (primeira coluna da figura). A, B e C têm 1000 amostras, em outras palavras, salvas em 1x1000 vetores.
Em segundo lugar, misturei as fontes A, B, C usando combinações lineares criadas aleatoriamente, por exemplo, , nas quais r1, r2, r3 são valores aleatórios. O sinal misto M está em um espaço dimensional muito alto, por exemplo, , 1517 é um espaço dimensional dimensional escolhido aleatoriamente. Mostro apenas as três primeiras linhas do sinal M em curvas verdes (segunda coluna da figura).
Em seguida, eu executo os mapas próprios PCA, ICA e Laplacian para obter os resultados de redução de dimensão. Eu escolhi usar 3 PCs, 3 ICs e 3 LEs para fazer uma comparação justa (as curvas azuis mostradas na 3ª, 4ª e última coluna da figura, respectivamente).
A partir dos resultados de PCA e ICA (3ª, 4ª coluna da figura), podemos ver que podemos interpretar os resultados como uma redução de dimensão, ou seja, para os resultados da ICA, podemos recuperar o sinal misto por (Não tenho certeza se também podemos obter com os resultados do PCA, mas o resultado parece bastante adequado para mim).
No entanto, por favor, olhe os resultados do LE, mal consigo interpretar os resultados (última coluna da figura). Parece algo 'errado' com os componentes reduzidos. Além disso, quero mencionar que, eventualmente, o gráfico da última coluna é o vetor próprio na fórmula
Vocês têm mais idéias?
A Figura 1, usando os 12 vizinhos mais próximos e o sigma no núcleo de aquecimento, é 0,5:
A Figura 2 usando 1000 vizinhos mais próximos e o sigma no núcleo de aquecimento é 0,5:
Os códigos do Matlab com o pacote necessário são enviados para http://www.mediafire.com/?0cqr10fe63jn1d3
Muito obrigado.
Respostas:
A resposta à sua pergunta é dada pelo mapeamento na parte inferior da página 6 do Laplacian Eigenmaps originais papel :
Assim, por exemplo, a incorporação de um ponto nos 2 "componentes" principais é dada por onde e são os autovetores correspondentes aos dois menores autovalores diferentes de zero do problema generalizado de autovalor . ( f 1 ( 5 ) , f 2 ( 5 ) ) f 1 f 2 L f = λ D fx5 (f1(5),f2(5)) f1 f2 Lf=λDf
Observe que, diferentemente do PCA, não é fácil obter uma incorporação fora da amostra. Em outras palavras, você pode obter a incorporação de um ponto que já foi considerado ao calcular , mas não (facilmente) se for um novo ponto. Se você estiver interessado em fazer o último, consulte este documento .L
fonte
mixedSignal'
mixedSignal
mappedX
Ao contrário do PCA-Laplacian, os eigenmaps usam os vetores de eigen generalizados correspondentes aos menores valores de eigen. Ele ignora o vetor eigen com o menor valor de eigen (pode ser zero) e usa os vetores de eigen correspondentes aos próximos valores de eigen menores. O PCA é uma variação máxima que preserva a incorporação usando a matriz kernel / grama. O Eigenmaps Laplaciano é colocado mais como um problema de minimização em relação ao gráfico combinatório laplaciano (consulte artigos de Trosset).
fonte
Aqui está o link para a página do curso do professor Trosset e ele também está escrevendo um livro http://mypage.iu.edu/~mtrosset/Courses/675/notes.pdf, que é atualizado a cada semana. Também são dadas as funções R para mapas autômatos da Lapônia. Apenas tente você mesmo. Você também pode considerar este artigo de Belkin
Obrigado Abhik Student of Prof Trosset
fonte