Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Faktorisering av glesa interaktionsmatriser med singulärvärdesuppdelning | Djup Personalisering Genom Matrisfaktorisering
Market Basket Analysis och Rekommendationssystem

Faktorisering av glesa interaktionsmatriser med singulärvärdesuppdelning

Svep för att visa menyn

Översikt av SVD

Note
Definition

Singular Value Decomposition, eller SVD, är en kraftfull matematisk teknik för att dekomponera en matris i tre enklare matriser.

Inom rekommendationssystem används SVD ofta för att analysera och komprimera stora, glesa användar-objekt-interaktionsmatriser, vilket avslöjar dolda mönster och samband.

Matematisk förklaring

Givet en matris A (till exempel en användar-objekt-interaktionsmatris), faktoriserar SVD den i tre matriser: U, Σ och V^T. Sambandet kan beskrivas som:

A = U Σ V^T
  • U är en matris vars kolumner är de vänstra singulärvektorerna;
  • Σ (Sigma) är en diagonal matris som innehåller singulärvärdena;
  • V^T är transponatet av en matris vars kolumner är de högra singulärvektorerna.

Denna dekomposition gör det möjligt att approximera den ursprungliga matrisen med endast de mest betydelsefulla singulärvärdena och vektorerna, vilket är särskilt användbart i högdimensionella, glesa datasammanhang.

Roll i rekommendationer

I rekommendationssystem är användar-objekt-matriser vanligtvis glesa, med många saknade värden (till exempel ej betygsatta produkter). SVD hjälper till genom att identifiera latenta egenskaper som förklarar observerade interaktioner. Genom att rekonstruera matrisen med ett reducerat antal singulärvärden kan man förutsäga saknade värden—det vill säga uppskatta hur en användare kan komma att betygsätta ett objekt de ännu inte har interagerat med. Detta möjliggör personliga rekommendationer baserade på härledda preferenser snarare än enbart explicit data.

Tillämpning av SVD på en gles användar-objekt-matris

Anta att du har en användar-objekt-matris där rader representerar användare och kolumner representerar objekt. Många värden saknas (eller är satta till noll), vilket representerar okända användarpreferenser. Genom att tillämpa SVD kan du reducera matrisen till dess väsentliga komponenter och använda rekonstruktionen för att uppskatta saknade värden, vilka sedan kan användas för att generera rekommendationer.

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. Vilken matris i SVD innehåller singulärvärdena som fångar vikten av varje latent egenskap?

2. Vad är det huvudsakliga syftet med att använda SVD på en användar-item-matris i rekommendationssystem?

question mark

Vilken matris i SVD innehåller singulärvärdena som fångar vikten av varje latent egenskap?

Vänligen välj det korrekta svaret

question mark

Vad är det huvudsakliga syftet med att använda SVD på en användar-item-matris i rekommendationssystem?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 2

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 4. Kapitel 2
some-alt