Schnelle Berechnung der komponentenweisen


8

Ich habe folgende Frage:

Angenommen, ich habe zwei Matrizen X,Y der Größe m×p und eine zufällige iid-Gauß-Matrix G der Größe m×k , mp>k .

Gibt es eine schnelle Möglichkeit, zu berechnen exp(XYT)G? Vielleicht durch die Tatsache, dass sowohl X als auch Y viel kleiner als XYT ? Hier bedeutet exp() eintragsbezogener Exponent (dh each Eintrags der Matrix). Ohne den Exponenten ist es natürlich einfach und kann einfach mit X(YTG) , aber das Problem ist, dass der elementweise Exponent keinen niedrigen Rang mehr hat.

Die Motivation für die Frage ist das Multiplizieren eines Kernels der Form

Dij=exp(dij) oderDij=exp(dij2)

dij=xiyjxi,yiRp

Eine ungefähre Lösung ist ebenfalls in Ordnung.


5
Ich finde die Frage klar (ich habe selbst leider keine Ideen), aber die Tatsache, dass das Exponential komponentenweise ist, wird meiner Meinung nach viele Leute irreführen - ist eine sehr Standardnotation für Matrix exponentiell , insbesondere in der Theorie der ODEs und PDEs. Könnten Sie den Titel vielleicht etwas umformulieren? exp(A)
Kirill

Schnell definieren? Sie vektorisiert, ohne die gesamte Matrix ? XYT
Nluigi

Rechenkomplexität niedriger als . O(m2k)
Gil

1
NIPS'16-Papier, das möglicherweise relevant ist. Papers.nips.cc/paper/6246-orthogonal-random-features
Memming

1
Ich habe in die Zeitung geschaut, es ist sehr hilfreich. Vielen Dank! @Memming
Gil

Antworten:


1

Wenn Annäherungen ausreichen, könnten wir vielleicht damit beginnen, den Operator wie folgt zu entwickeln: Beachten Sie, dass die Potenzbegriffe Ihrer elementweisen Notation und folgen beziehen sich auf die Hadamard-Mächte und missbrauchen leicht die Standardkonventionen.exp

exp(Z)=k=0Zkk!=1+Z+Z22+Z36+Z424+...

Dies gibt Möglichkeiten zum Umschreiben des Ausdrucks: wo eine entsprechend große Identitätsmatrix . Wenn man mit Näherungen erster Ordnung leben könnte, dann: was zu einer einfacheren Operation führt. Für Annäherungen höherer Ordnung möchten Sie die Lösung für die Hadamard-Leistung ausarbeiten, die wahrscheinlich etwas schwieriger ist, oder ich habe noch keine sofortige Lösung gesehen.

exp(XYT)G=(IXYT+(XYT)22(XYT)36+(XYT)424...)G=GXYTG+(XYT)2G2(XYT)3G6+(XYT)4G24...
I
exp(XYT)G=GXYTG+O(max(|XYT|)2)GXYTG=GX(YTG)

Gute Idee. Kleines Detail: dass stattdessen so etwas wie sollte. O(n2)O((XY)2)
Federico Poloni

@ FedericoPoloni, ich stimme zu. Wenn Sie eine passendere Notation als die Verwendung der Matrizennormen einführen könnten, würde ich diese gerne aktualisieren.
Tolga Birdal

Die Verwendung von Normen erscheint mir angemessen, aber wenn Sie es vorziehen, können Sie sie als schreiben . O(max(|XYT|)2)
Federico Poloni

ok, aktualisiert.
Tolga Birdal
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.