Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Het Factoriseren van Sparse Interactiematrices met Behulp van Singular Value Decomposition | Diepe Personalisatie via Matrixfactorisatie
Market Basket Analyse en Aanbevelingssystemen

Het Factoriseren van Sparse Interactiematrices met Behulp van Singular Value Decomposition

Veeg om het menu te tonen

Overzicht van SVD

Note
Definitie

Singular Value Decomposition, of SVD, is een krachtige wiskundige techniek voor het ontbinden van een matrix in drie eenvoudigere matrices.

In de context van aanbevelingssystemen wordt SVD vaak gebruikt om grote, dunbevolkte gebruikers-item interactiematrices te analyseren en comprimeren, waarbij verborgen patronen en relaties worden onthuld.

Wiskundige Uitleg

Gegeven een matrix A (zoals een gebruikers-item interactiematrix), factoriseert SVD deze in drie matrices: U, Σ en V^T. De relatie kan als volgt worden beschreven:

A = U Σ V^T
  • U is een matrix waarvan de kolommen de linker singuliere vectoren zijn;
  • Σ (Sigma) is een diagonale matrix met de singuliere waarden;
  • V^T is de getransponeerde van een matrix waarvan de kolommen de rechter singuliere vectoren zijn.

Deze ontbinding maakt het mogelijk om de oorspronkelijke matrix te benaderen met alleen de meest significante singuliere waarden en vectoren, wat vooral nuttig is bij hoog-dimensionale, dunbevolkte gegevens.

Rol in Aanbevelingen

In aanbevelingssystemen zijn gebruikers-item matrices doorgaans dunbevolkt, met veel ontbrekende waarden (bijvoorbeeld niet-beoordeelde producten). SVD helpt door latente kenmerken te onthullen die waargenomen interacties verklaren. Door de matrix te reconstrueren met een beperkt aantal singuliere waarden, kun je ontbrekende waarden voorspellen—oftewel inschatten hoe een gebruiker een item zou beoordelen waarmee nog niet is geïnteracteerd. Dit maakt gepersonaliseerde aanbevelingen mogelijk op basis van afgeleide voorkeuren in plaats van alleen expliciete gegevens.

Toepassing van SVD op een Dunbevolkte Gebruikers-Item Matrix

Stel dat je een gebruikers-item matrix hebt waarbij de rijen gebruikers voorstellen en de kolommen items. Veel waarden ontbreken (of zijn op nul gezet), wat onbekende gebruikersvoorkeuren weergeeft. Door SVD toe te passen, kun je de matrix terugbrengen tot de essentiële componenten en de reconstructie gebruiken om ontbrekende waarden te schatten, die vervolgens kunnen worden gebruikt om aanbevelingen te genereren.

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. Welke matrix in SVD bevat de singuliere waarden die het belang van elk latent kenmerk weergeven?

2. Wat is het primaire doel van het toepassen van SVD op een gebruikers-itemmatrix in aanbevelingssystemen?

question mark

Welke matrix in SVD bevat de singuliere waarden die het belang van elk latent kenmerk weergeven?

Selecteer het correcte antwoord

question mark

Wat is het primaire doel van het toepassen van SVD op een gebruikers-itemmatrix in aanbevelingssystemen?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 2

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 4. Hoofdstuk 2
some-alt