Bei gegebener Matrix findet die nicht negative Matrixfaktorisierung (NMF) zwei nicht negative Matrizen und ( dh mit allen Elementen ) zur Darstellung der zerlegten Matrix als:
Zum Beispiel, indem Sie verlangen, dass nicht negative und den Rekonstruktionsfehler minimieren
Gibt es übliche Methoden zur Schätzung der Anzahl in NMF? Wie könnte zum Beispiel eine Kreuzvalidierung für diesen Zweck verwendet werden?
cross-validation
unsupervised-learning
latent-variable
matrix-decomposition
nnmf
Steve Sailer
quelle
quelle
Antworten:
Verwenden Sie die Kreuzvalidierung, um eine optimale Anzahl latenter Faktoren bei der nicht-negativen Matrixfaktorisierung zu wählen.
Wie Sie geschrieben haben, besteht das Ziel von NMF darin, niedrigdimensionale und mit allen nicht negativen Elementen zu finden, um den Rekonstruktionsfehler minimieren . Stellen Sie sich vor, wir lassen ein Element von weg , z. B. , und führen NMF der resultierenden Matrix mit einer fehlenden Zelle durch. Dies bedeutet, und Rekonstruktionsfehler über alle nicht fehlenden Zellen zu minimieren:W H ∥V−WH∥2 V Vab W H ∑ij≠ab(Vij−[WH]ij)2.
Sobald dies erledigt ist, können wir das ausgelassene Element vorhersagen, indem wir berechnen und den VorhersagefehlerMan kann diesen Vorgang wiederholen, indem man alle Elemente und die Vorhersagefehler über alle und . Dies führt zu einem PRESS-Gesamtwert (vorhergesagte Restquadratsumme) , der von abhängt . Hoffentlich hat die Funktion ein Minimum, das als 'optimales' .Vab [WH]ab eab=(Vab−[WH]ab)2. Vab a b E(k)=∑abeab k E(k) k
Beachten Sie, dass dies rechenintensiv sein kann, da die NMF für jeden ausgelassenen Wert wiederholt werden muss und möglicherweise auch schwierig zu programmieren ist (je nachdem, wie einfach es ist, eine NMF mit fehlenden Werten durchzuführen). In PCA kann dies umgangen werden, indem vollständige Zeilen von ausgelassen werden (was die Berechnungen beschleunigt). Weitere Informationen finden Sie in der Antwort unter So führen Sie eine Kreuzvalidierung für PCA durch, um die Anzahl der Hauptkomponenten zu bestimmen. , aber das ist hier nicht möglich.V
Natürlich gelten hier alle üblichen Prinzipien der Kreuzvalidierung, so dass man viele Zellen gleichzeitig weglassen kann (anstatt nur einer) und / oder den Vorgang nur für einige zufällige Zellen wiederholen kann, anstatt alle Zellen in einer Schleife zu durchlaufen. Beide Ansätze können zur Beschleunigung des Prozesses beitragen.
Bearbeiten (März 2019): Sehen Sie sich diese sehr schöne, illustrierte Beschreibung von @AlexWilliams an : http://alexhwilliams.info/itsneuronalblog/2018/02/26/crossval . Alex verwendet https://github.com/kimjingu/nonnegfac-python für NMF mit fehlenden Werten.
quelle
Meines Wissens gibt es zwei gute Kriterien: 1) den kophenetischen Korrelationskoeffizienten und 2) den Vergleich der Restsumme der Quadrate mit randomisierten Daten für eine Reihe von Rängen (vielleicht gibt es einen Namen dafür, aber ich erinnere mich nicht)
Kophenetischer Korrelationskoeffizient: Sie wiederholen die NMF mehrmals pro Rang und berechnen, wie ähnlich die Ergebnisse sind. Mit anderen Worten, wie stabil sind die identifizierten Cluster, vorausgesetzt, der anfängliche Startwert ist zufällig. Wählen Sie das höchste K, bevor der Kophenetikkoeffizient sinkt.
RSS gegen randomisierte Daten Bei jedem Ansatz zur Dimensionsreduzierung gehen im Vergleich zu Ihren Originaldaten immer Informationen verloren (geschätzt durch RSS). Führen Sie nun NMF zur Erhöhung von K durch und berechnen Sie RSS sowohl mit Ihrem Originaldatensatz als auch mit einem randomisierten Datensatz. Beim Vergleich von RSS in Funktion von K nimmt der RSS-Wert mit zunehmendem K im ursprünglichen Datensatz ab, dies ist jedoch für den randomisierten Datensatz weniger der Fall. Wenn man beide Steigungen vergleicht, sollte es ein K geben, wo sie sich kreuzen. Mit anderen Worten, wie viele Informationen könnten Sie sich leisten, um zu verlieren (= höchste K), bevor Sie sich innerhalb des Rauschens befinden.
Hoffe ich war klar genug.
Bearbeiten: Ich habe diese Artikel gefunden.
1. Jean-P. Brunet, Pablo Tamayo, Todd R. Golub und Jill P. Mesirov. Entdeckung von Metagenen und molekularen Mustern mittels Matrixfaktorisierung. In Proceedings der National Academy of Sciences der USA, 101 (12): 4164-4169, 2004.
2.Attila Frigyesi und Mattias Hoglund. Nicht-negative Matrixfaktorisierung zur Analyse komplexer Genexpressionsdaten: Identifizierung klinisch relevanter Tumorsubtypen. Cancer Informatics, 6: 275 & ndash; 292, 2008.
quelle
Bei der NMF-Faktorisierung ist der Parameter ( in der meisten Literatur mit r bezeichnet ) der Rang der Approximation von V und wird so gewählt, dass k < min ( m , n ) ist . Die Wahl des Parameters bestimmt die Darstellung Ihrer Daten V auf einer übervollständigen Basis, die sich aus den Spalten von W zusammensetzt . das w i , i = 1 , 2 , ⋯ , k . Das Ergebnis ist, dass die Reihen der Matrizen W und H eine Obergrenze von habenk r V k<min(m,n) V W wi , i=1,2,⋯,k W H und das Produktist eine niedrigrangige Approximation von; auchhöchstens. Daher sollte die Wahl voneine Dimensionsverringerung darstellen, bei deraus den oben erwähnten Basisvektoren erzeugt / aufgespannt werden kann.k V k k < min ( m , n ) VWH V k k<min(m,n) V
Weitere Einzelheiten finden Sie in Kapitel 6 dieses Buches von S. Theodoridis und K. Koutroumbas.
Nach der Minimierung Ihrer gewählten Kostenfunktion in Bezug auf und sollte die optimale Auswahl von ( empirisch ausgewählt durch Arbeiten mit verschiedenen Merkmalsunterräumen) , eine Annäherung von mit Merkmalen, die für Ihre Anfangsdaten repräsentativ sind Matrix .W H k V∗ V V
Arbeiten mit unterschiedlichen Merkmalsunterräumen in dem Sinne , dass die Anzahl der Spalten in , ist die Anzahl der Basisvektoren in dem NMF Unterraum. Das empirische Arbeiten mit unterschiedlichen Werten von kommt dem Arbeiten mit unterschiedlichen Merkmalräumen mit reduzierter Dimension gleich.k W k
quelle