Un parallèle entre LSA et pLSA

9

Dans l'article original de pLSA, l'auteur, Thomas Hoffman, établit un parallèle entre les structures de données pLSA et LSA dont je voudrais discuter avec vous.

Contexte:

S'inspirant de la recherche d'informations, nous supposons que nous avons une collection de documents et un vocabulaire de termesN

D={d1,d2,....,dN}
M
Ω={ω1,ω2,...,ωM}

Un corpus peut être représenté par une matrice de cooccurences.XN×M

Dans les analyses sémantiques latentes par SVD, la matrice est factorisée en trois matrices: où et sont les valeurs singulières de et est le rang de .X

X=UΣVT
Σ=diag{σ1,...,σs}σiXsX

L'approximation LSA de est ensuite calculée en tronquant les trois matrices à un certain niveau , comme le montre l'image:X

X^=U^Σ^VT^
k<s

entrez la description de l'image ici

Dans pLSA, choisissez un ensemble fixe de sujets (variables latentes) l'approximation de est calculée comme : où les trois matrices sont celles qui maximisent la probabilité du modèle.Z={z1,z2,...,zZ}X

X=[P(di|zk)]×[diag(P(zk)]×[P(fj|zk)]T

Question réelle:

L'auteur affirme que ces relations subsistent:

  • U=[P(di|zk)]
  • Σ^=[diag(P(zk)]
  • V=[P(fj|zk)]

et que la différence cruciale entre LSA et pLSA est la fonction objective utilisée pour déterminer la décomposition / approximation optimale.

Je ne suis pas sûr qu'il ait raison, car je pense que les deux matrices représentent des concepts différents: dans LSA, c'est une approximation du nombre de fois qu'un terme apparaît dans un document, et dans pLSA est le (estimé ) probabilité qu'un terme apparaisse dans le document.X^

Pouvez-vous m'aider à clarifier ce point?

De plus, supposons que nous ayons calculé les deux modèles sur un corpus, étant donné un nouveau document , dans LSA j'utilise pour calculer son approximation comme: d

d^=d×V×VT
  1. Est-ce toujours valable?
  2. Pourquoi je n'obtiens pas de résultat significatif en appliquant la même procédure à pLSA?
    d^=d×[P(fj|zk)]×[P(fj|zk)]T

Je vous remercie.

Aslan986
la source

Réponses:

12

Par souci de simplicité, je donne ici le lien entre LSA et la factorisation matricielle non négative (NMF), puis montre comment une simple modification de la fonction de coût conduit à pLSA. Comme indiqué précédemment, LSA et pLSA sont tous deux des méthodes de factorisation en ce sens que, jusqu'à la normalisation des lignes et des colonnes, la décomposition de bas rang de la matrice des termes du document:

X=UΣD

en utilisant les notations précédentes. Plus simplement, le terme de document matrice peut être écrit comme un produit de deux matrices:

X=ABT

où et . Pour LSA, la correspondance avec la formule précédente est obtenue en définissant et .AN×sBM×sA=UΣB=VΣ

Un moyen facile de comprendre la différence entre LSA et NMF est d'utiliser leur interprétation géométrique:

  • LSA est la solution de:

    minA,BXABTF2,
  • NMF- est la solution de: L2

    minA0,B0XABTF2,
  • NMF-KL est équivalent à pLSA et est la solution de:

    minA0,B0KL(X||ABT).

où est le Kullback-Leibler divergence entre les matrices et . Il est facile de voir que tous les problèmes ci-dessus n'ont pas de solution unique, car on peut multiplier par un nombre positif et diviserKL(X||Y)=ijxijlogxijyijXYABpar le même nombre pour obtenir la même valeur objective. Par conséquent, - dans le cas du LSA, les gens choisissent généralement une base orthogonale triée par valeurs propres décroissantes. Ceci est donné par la décomposition SVD et identifie la solution LSA, mais tout autre choix serait possible car il n'a aucun impact sur la plupart des opérations (similitude cosinus, formule de lissage mentionnée ci-dessus, etc.). - dans le cas de NMF, une décomposition orthogonale n'est pas possible, mais les rangées de sont généralement contraintes de s'additionner à un, car elle a une interprétation probabiliste directe comme . Si en plus, les rangées de sont normalisées (c'est-à-dire somme à un), alors les rangées de doivent faire la somme à un, ce qui conduit à l'interprétation probabilisteAp(zk|di)XBp(fj|zk) . Il y a une légère différence avec la version de pLSA donnée dans la question ci-dessus car les colonnes de sont contraintes de s'additionner à un, de sorte que les valeurs dans sont , mais la différence n'est qu'un changement de paramétrage , le problème restant le même.AAp(di|zk)

Maintenant, pour répondre à la question initiale, il y a quelque chose de subtil dans la différence entre LSA et pLSA (et d'autres algorithmes NMF): les contraintes de non-négativité induisent un "effet de clustering" qui n'est pas valide dans le cas LSA classique parce que la valeur singulière La solution de décomposition est invariante en rotation. Les contraintes de non-négativité brisent en quelque sorte cette invariance rotationnelle et donnent des facteurs avec une sorte de signification sémantique (sujets dans l'analyse de texte). Le premier article pour l'expliquer est:

Donoho, David L. et Victoria C. Stodden. "Quand la factorisation matricielle non négative donne-t-elle une décomposition correcte en parties?" Progrès des systèmes de traitement de l'information neuronale 16: actes de la conférence de 2003. MIT Press, 2004. [lien]

Sinon, la relation entre PLSA et NMF est décrite ici:

Ding, Chris, Tao Li et Wei Peng. "Sur l'équivalence entre la factorisation matricielle non négative et l'indexation sémantique latente probabiliste." Statistiques computationnelles et analyse des données 52.8 (2008): 3913-3927. [lien]

Guillaume
la source