1

Peut-être que ce n'est pas un bon endroit pour faire ma question.prédiction d'éléments matriciels basée sur d'autres matrices

De toute façon, j'ai les matrices suivantes A et B sont rares et C n'a aucun élément. comment je peux prédire les entrées dans la matrice C, en ce qui concerne les matrices A et B? enter image description here

+0

vous pouvez faire 'C = B 'B',' C = B' AB' ou l'échantillon C complètement au hasard ... et beaucoup d'autres choses, sans ** exactement préciser ce que chacun représente, il n'y a pas de réponse ** . – lejlot

+0

Merci @lejlot. Le matirx A montre une sorte de relation préalable entre les livres. par exemple livre "ee" est la condition préalable pour le livre "cc". Ensuite, vous pouvez voir A comme un graphique dirigé qui montre la relation prérequise entre les livres –

Répondre

0

En supposant que vous avez une sorte de similitudes dans toutes les matrices. Ensuite, vous avez des similitudes entre les livres, qui sont basées sur la co-occurrence de mots clés et aussi sur la similitude entre les différents mots-clés:

A = B C B^T. 

Où A est votre matrice de similarité, B est la matrice de mots-clés correspondant aux livres et C est une matrice de similitudes entre différents mots-clés.

Vous avez une matrice de taille n_A, et ne pas plus que n_A. Ensuite, vous ne pouvez pas récupérer C au même rang Nc, de sorte que vous pouvez supposer C avoir sous forme

C = V^T V. 

Ensuite, vous pouvez facilement restaurer C, en faisant eigendecomposition de A. D'une part, vous avez

A = U D U^T, 

d'autre part, vous avez

A = B^T C B. 

en comparant ces deux, vous avez

B V^T = U D^{1/2}, 

parce que D est diagonal (espérons que A n'a pas de valeurs propres complexes, cependant).

L'équation ci-dessus pourrait être résolue pour V avec des carrés minimaux. Tous les solveurs dont vous avez besoin pour cela sont implémentés dans tous les principaux langages de programmation, par exemple, en python c'est une bibliothèque numpy.

+0

Thanks @Moonwalker. Bonne explication. Je ne pouvais pas obtenir cette formule "BV^T = UD^{1/2}," voulez-vous le rendre plus clair, s'il vous plaît –

+0

A = BCB^T, C = V^TV => A = BV^TVB^T ; D'autre part, A = U D U^T, donc B V^T V B^T = U D U^T, => B V^T = U \ sqrt {D} – Moonwalker

+0

Désolé @Moonwalker pour poser beaucoup de questions. Mais laissez-moi poser ma question d'une autre manière. Quels sont les V et V^T (les avez-vous obtenus par factorisation matricielle?). dans l'équation finale "B V^T = U \ sqrt {D}" ce qui va arriver aux V B^T et U^T. Aussi, comment pouvons-nous conclure C de la dernière fomula qui est "B V^T = U D^{1/2}" et enfin quelles sont les opérations entre les matrices (est-ce le produit matriciel interne ou externe)? Désolé encore de poser beaucoup de questions –