Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Faktorisierung von Spärlichen Interaktionsmatrizen Mittels Singulärwertzerlegung | Tiefe Personalisierung durch Matrixfaktorisierung
Market Basket Analyse und Empfehlungssysteme

Faktorisierung von Spärlichen Interaktionsmatrizen Mittels Singulärwertzerlegung

Swipe um das Menü anzuzeigen

SVD-Überblick

Note
Definition

Singular Value Decomposition oder SVD ist eine leistungsstarke mathematische Methode zur Zerlegung einer Matrix in drei einfachere Matrizen.

Im Kontext von Empfehlungssystemen wird SVD häufig verwendet, um große, spärliche Benutzer-Artikel-Interaktionsmatrizen zu analysieren und zu komprimieren, wodurch verborgene Muster und Zusammenhänge sichtbar werden.

Mathematische Erklärung

Gegeben sei eine Matrix A (wie eine Benutzer-Artikel-Interaktionsmatrix), SVD zerlegt sie in drei Matrizen: U, Σ und V^T. Die Beziehung kann wie folgt beschrieben werden:

A = U Σ V^T
  • U ist eine Matrix, deren Spalten die linken Singulärvektoren sind;
  • Σ (Sigma) ist eine Diagonalmatrix, die die Singulärwerte enthält;
  • V^T ist die Transponierte einer Matrix, deren Spalten die rechten Singulärvektoren sind.

Diese Zerlegung ermöglicht es, die ursprüngliche Matrix nur mit den wichtigsten Singulärwerten und -vektoren zu approximieren, was besonders bei hochdimensionalen, spärlichen Daten nützlich ist.

Rolle bei Empfehlungen

In Empfehlungssystemen sind Benutzer-Artikel-Matrizen typischerweise spärlich, mit vielen fehlenden Einträgen (zum Beispiel nicht bewertete Produkte). SVD hilft, latente Merkmale aufzudecken, die beobachtete Interaktionen erklären. Durch die Rekonstruktion der Matrix mit einer reduzierten Anzahl von Singulärwerten können fehlende Werte vorhergesagt werden – im Wesentlichen eine Schätzung, wie ein Benutzer einen Artikel bewerten könnte, mit dem er noch nicht interagiert hat. Dies ermöglicht personalisierte Empfehlungen auf Basis abgeleiteter Präferenzen anstelle ausschließlich expliziter Daten.

Anwendung von SVD auf eine spärliche Benutzer-Artikel-Matrix

Angenommen, es liegt eine Benutzer-Artikel-Matrix vor, in der die Zeilen Benutzer und die Spalten Artikel repräsentieren. Viele Einträge fehlen (oder sind auf Null gesetzt), was unbekannte Benutzerpräferenzen darstellt. Durch Anwendung von SVD kann die Matrix auf ihre wesentlichen Komponenten reduziert und die Rekonstruktion zur Schätzung fehlender Werte genutzt werden, die wiederum zur Generierung von Empfehlungen verwendet werden können.

123456789101112131415161718192021222324252627282930
import numpy as np # Example sparse user-item matrix (0 indicates missing/unknown rating) user_item_matrix = np.array([ [5, 3, 0, 1], [4, 0, 0, 1], [1, 1, 0, 5], [0, 0, 5, 4], [0, 1, 5, 4], ]) # Filling missing values (0) with the mean of non-zero elements for SVD mean_value = user_item_matrix[user_item_matrix != 0].mean() filled_matrix = np.where(user_item_matrix == 0, mean_value, user_item_matrix) # Performing SVD U, sigma, VT = np.linalg.svd(filled_matrix, full_matrices=False) # Keeping only top 2 singular values for dimensionality reduction k = 2 U_k = U[:, :k] sigma_k = np.diag(sigma[:k]) VT_k = VT[:k, :] # Reconstructing the matrix using only top k components approx_matrix = np.dot(np.dot(U_k, sigma_k), VT_k) print('Original matrix with missing values filled:') print(np.round(filled_matrix, 2)) print('\nApproximated matrix (using top 2 singular values):') print(np.round(approx_matrix, 2))

1. Welche Matrix enthält bei der SVD die Singulärwerte, die die Bedeutung jedes latenten Merkmals erfassen?

2. Was ist der Hauptzweck der Anwendung von SVD auf eine Benutzer-Artikel-Matrix in Empfehlungssystemen?

question mark

Welche Matrix enthält bei der SVD die Singulärwerte, die die Bedeutung jedes latenten Merkmals erfassen?

Wählen Sie die richtige Antwort aus

question mark

Was ist der Hauptzweck der Anwendung von SVD auf eine Benutzer-Artikel-Matrix in Empfehlungssystemen?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 2

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 4. Kapitel 2
some-alt