Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Faktorisering af sparsomme interaktionsmatricer ved hjælp af singular værdidekomponering | Dyb Personalisering Gennem Matrixfaktorisering
Market Basket Analyse og Anbefalingssystemer

Faktorisering af sparsomme interaktionsmatricer ved hjælp af singular værdidekomponering

Stryg for at vise menuen

SVD Oversigt

Note
Definition

Singular Value Decomposition, eller SVD, er en kraftfuld matematisk teknik til at opdele en matrix i tre enklere matricer.

I forbindelse med anbefalingssystemer bruges SVD ofte til at analysere og komprimere store, sparsomme bruger-vare interaktionsmatricer, hvilket afslører skjulte mønstre og relationer.

Matematisk Forklaring

Givet en matrix A (såsom en bruger-vare interaktionsmatrix), faktoriserer SVD den i tre matricer: U, Σ og V^T. Forholdet kan beskrives som:

A = U Σ V^T
  • U er en matrix, hvis kolonner er de venstre singulære vektorer;
  • Σ (Sigma) er en diagonal matrix, der indeholder de singulære værdier;
  • V^T er transponeret af en matrix, hvis kolonner er de højre singulære vektorer.

Denne dekomponering gør det muligt at approksimere den oprindelige matrix ved kun at bruge de mest betydningsfulde singulære værdier og vektorer, hvilket er særligt nyttigt i høj-dimensionelle, sparsomme datasæt.

Rolle i Anbefalinger

I anbefalingssystemer er bruger-vare matricer typisk sparsomme med mange manglende værdier (for eksempel, ikke-bedømte produkter). SVD hjælper ved at afdække latente egenskaber, der forklarer observerede interaktioner. Ved at rekonstruere matricen med et reduceret antal singulære værdier kan man forudsige manglende værdier—grundlæggende estimere, hvordan en bruger muligvis vil bedømme et produkt, de endnu ikke har interageret med. Dette muliggør personlige anbefalinger baseret på udledte præferencer frem for kun eksplicitte data.

Anvendelse af SVD på en Sparsom Bruger-Vare Matrix

Antag, at du har en bruger-vare matrix, hvor rækker repræsenterer brugere og kolonner repræsenterer varer. Mange værdier mangler (eller er sat til nul), hvilket repræsenterer ukendte brugerpræferencer. Ved at anvende SVD kan du reducere matricen til dens væsentlige komponenter og bruge rekonstruktionen til at estimere manglende værdier, som derefter kan bruges til at generere anbefalinger.

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. Hvilken matrix i SVD indeholder de singulære værdier, der fanger vigtigheden af hver latent egenskab?

2. Hvad er det primære formål med at anvende SVD på en bruger-vare matrix i anbefalingssystemer?

question mark

Hvilken matrix i SVD indeholder de singulære værdier, der fanger vigtigheden af hver latent egenskab?

Vælg det korrekte svar

question mark

Hvad er det primære formål med at anvende SVD på en bruger-vare matrix i anbefalingssystemer?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 4. Kapitel 2
some-alt