Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Fatoração de Matrizes de Interação Esparsas Usando Decomposição em Valores Singulares | Personalização Profunda por Meio de Fatoração de Matrizes
Análise de Cesta de Mercado e Sistemas de Recomendação

Fatoração de Matrizes de Interação Esparsas Usando Decomposição em Valores Singulares

Deslize para mostrar o menu

Visão Geral do SVD

Note
Definição

Singular Value Decomposition, ou SVD, é uma técnica matemática poderosa para decompor uma matriz em três matrizes mais simples.

No contexto de sistemas de recomendação, o SVD é frequentemente utilizado para analisar e comprimir grandes matrizes de interação usuário-item esparsas, revelando padrões e relações ocultas.

Explicação Matemática

Dada uma matriz A (como uma matriz de interação usuário-item), o SVD a fatoriza em três matrizes: U, Σ e V^T. A relação pode ser descrita como:

A = U Σ V^T
  • U é uma matriz cujas colunas são os vetores singulares à esquerda;
  • Σ (Sigma) é uma matriz diagonal contendo os valores singulares;
  • V^T é a transposta de uma matriz cujas colunas são os vetores singulares à direita.

Essa decomposição permite aproximar a matriz original utilizando apenas os valores e vetores singulares mais significativos, o que é especialmente útil em cenários de dados esparsos e de alta dimensão.

Papel nas Recomendações

Em sistemas de recomendação, as matrizes usuário-item são tipicamente esparsas, com muitas entradas ausentes (por exemplo, produtos não avaliados). O SVD auxilia ao revelar características latentes que explicam as interações observadas. Ao reconstruir a matriz com um número reduzido de valores singulares, é possível prever valores ausentes—essencialmente estimando como um usuário avaliaria um item com o qual ainda não interagiu. Isso possibilita recomendações personalizadas baseadas em preferências inferidas, e não apenas em dados explícitos.

Aplicando SVD a uma Matriz Usuário-Item Esparsa

Suponha que você tenha uma matriz usuário-item onde as linhas representam usuários e as colunas representam itens. Muitas entradas estão ausentes (ou definidas como zero), representando preferências desconhecidas dos usuários. Ao aplicar o SVD, é possível reduzir a matriz aos seus componentes essenciais e utilizar a reconstrução para estimar valores ausentes, que podem então ser usados para gerar recomendações.

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. Qual matriz na SVD contém os valores singulares que capturam a importância de cada característica latente?

2. Qual é o principal objetivo de aplicar SVD a uma matriz usuário-item em sistemas de recomendação?

question mark

Qual matriz na SVD contém os valores singulares que capturam a importância de cada característica latente?

Selecione a resposta correta

question mark

Qual é o principal objetivo de aplicar SVD a uma matriz usuário-item em sistemas de recomendação?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 4. Capítulo 2
some-alt