- Регистрация
- 1 Мар 2015
- Сообщения
- 1,481
- Баллы
- 155
What is SVD
Singular Value Decomposition (SVD) is a fundamental matrix factorisation technique in linear algebra that decomposes a matrix into three simpler component matrices. It's incredibly versatile and powerful, serving as the backbone for numerous applications across various fields.
Why Was SVD Developed?
SVD was developed to solve the problem of finding the best approximation of a matrix by a lower-rank matrix. Mathematicians needed a way to:
The core purpose was to find a way to decompose any matrix into simpler, more manageable components that reveal its essential properties - specifically its rank, range (column space), and null space.
What does it mean to find the best approximation of a matrix by a lower-rank matrix?
When we have a large, complex matrix A with rank r, we often want to simplify it to save computational resources while preserving as much of the original information as possible.
Finding the "best approximation" means:
This is valuable because lower-rank matrices:
A latent feature is:
Imagine a user-song matrix: rows = users, columns = songs, entries = ratings.
You don’t label features like "likes punk rock" or "prefers instrumental", but...
Then you can infer there's some latent preference shared.
That hidden dimension — like “preference for energetic music” — is a latent feature.
Definition
Given any real matrix A ∈ ℝm×n, SVD says:
Where:
Example Scenario
Let’s start with a user-song rating matrix where users rate songs from different genres. Each user has their own tastes, and some might enjoy music from different genres.
Singular Value Decomposition (SVD) is a fundamental matrix factorisation technique in linear algebra that decomposes a matrix into three simpler component matrices. It's incredibly versatile and powerful, serving as the backbone for numerous applications across various fields.
Why Was SVD Developed?
SVD was developed to solve the problem of finding the best approximation of a matrix by a lower-rank matrix. Mathematicians needed a way to:
- Factorise the original matrix into three smaller matrices that capture hidden relationship , It will find latent features that explain the patterns in a given matrix.
- Understand the fundamental structure of linear transformations.
- Analyse the underlying properties of matrices regardless of their dimensions.
The core purpose was to find a way to decompose any matrix into simpler, more manageable components that reveal its essential properties - specifically its rank, range (column space), and null space.
What does it mean to find the best approximation of a matrix by a lower-rank matrix?
When we have a large, complex matrix A with rank r, we often want to simplify it to save computational resources while preserving as much of the original information as possible.
Finding the "best approximation" means:
- Creating a new matrix  with lower rank k (where k < r)
- Ensuring this approximation minimises the error (typically measured as the Frobenius norm ||A - Â||)
- Capturing the most important patterns/structures in the original data
This is valuable because lower-rank matrices:
- Require less storage space
- Allow faster computations
- Often filter out noise while preserving signal
A latent feature is:
In simple terms:A property or concept that isn't explicitly observed in the data, but is inferred from patterns across the matrix.
- It's a hidden factor that explains why people behave the way they do.
- You don’t know what it is, but you see its effects.
Imagine a user-song matrix: rows = users, columns = songs, entries = ratings.
You don’t label features like "likes punk rock" or "prefers instrumental", but...
- If two users rate the same songs highly,
- And those songs share some vibe,
Then you can infer there's some latent preference shared.
That hidden dimension — like “preference for energetic music” — is a latent feature.
Definition
Given any real matrix A ∈ ℝm×n, SVD says:
Where:
| Component | Shape | Role |
|---|---|---|
| U | ℝm×k | Orthonormal matrix — maps original rows into a k-dimensional latent space. Each row is a **latent [[Vectors\ |
| Σ | ℝk×k | Diagonal matrix with non-negative real numbers called singular values, sorted from largest to smallest. These represent the importance (energy) of each dimension in the latent space. |
| Vᵀ | ℝk×n | Orthonormal matrix — maps original columns into the same k-dimensional latent space. Each column is a latent vector for a column of A. |
? What Each Matrix Encodes (in abstract terms)The value k = rank(A) in exact decomposition, or you can choose a smaller k for approximation (low-rank SVD).
| Component | Encodes |
|---|---|
| U | Each row in A becomes a vector in a latent space — capturing how each row projects onto abstract "directions" in the data. This matrix shows how each user aligns with the latent features discovered by SVD. It does not label them explicitly as “loves punk rock” or “loves romantic music,” but it captures underlying preferences. In essence, U describes what kind of latent features (or preferences) each user has, without explicitly telling us the names of those features. It just tells us the degree to which each user aligns with each latent feature. |
| Σ | Singular values show how much of A’s structure lies in each direction (feature). The higher the value, the more "energy" or "information" it captures. The singular values in Σ represent how important each latent feature is |
| Vᵀ | Each column in A becomes a vector in the same latent space — capturing how each column contributes along those same directions. This matrix describes how each song correlates with the latent features. For example, Song A (Punk) might have a high score for the latent feature "energetic music," while Song B (Romantic) might also score highly on that feature, but could also have a moderate score for a latent feature related to "emotional depth" (which both romantic and punk music might share). Song C (Jazz) and Song D (Classical) would likely score higher on a latent feature related to "calm or soothing music." In essence, Vᵀ describes what kind of latent features (or qualities) each song has, again without explicitly telling us what the features are. It just tells us the degree to which each song aligns with each latent feature. |
Let’s start with a user-song rating matrix where users rate songs from different genres. Each user has their own tastes, and some might enjoy music from different genres.
| Song A (Punk) | Song B (Romantic) | Song C (Jazz) | Song D (Classical) |
|---|