Guozhen AIGlobal AI field notes and model intelligence

English translation

Load image

Published:

Category: Linear Algebra for AI

Read time: 4 min

Reads: 0

Lesson #23Views are counted together with the original Chinese articleImages are preserved from the source page

Conceptual Diagram of SVD Applications

The core idea behind SVD applications is to preserve dominant structural components while discarding weak, noisy ones. Image compression, recommendation systems, and PCA can all be understood from this perspective.

SVD Applications Checklist Diagram

I’ll plot the singular value decay curve. The number of dimensions to retain should not be decided by intuition alone.

In the previous article, we delved deeply into how to compute singular values and related concepts. Singular Value Decomposition (SVD) is a powerful mathematical tool with broad applications across many domains—especially in data analysis, signal processing, and machine learning. Next, we’ll focus on practical SVD applications, illustrating how it functions effectively in diverse real-world scenarios.

1. Dimensionality Reduction

1.1 Application Context

SVD Applications Key Judgment Card

While reading this section, treat “dimensionality reduction → application context → example: image compression → sample code” as a verification checklist: first identify the object, the action, and the decision criteria; then revisit the concrete examples, code, or evaluation metrics for validation.

When dealing with high-dimensional data, dimensionality reduction is a common requirement. High-dimensional data not only consumes large storage space and incurs high computational cost, but also risks the so-called “curse of dimensionality.” SVD provides an effective approach to reduce dimensionality.

1.2 Example: Image Compression

Suppose we have a grayscale image whose pixel intensities can be represented as a matrix AA. We can apply SVD to decompose this matrix:

A=UΣVTA = U \Sigma V^T

Here, UU, Σ\Sigma, and VV are matrices obtained via SVD, where Σ\Sigma is a diagonal matrix containing the singular values.

To compress the image, we retain only the top kk largest singular values (along with the corresponding columns of UU and rows of VV), and construct an approximated matrix AkA_k:

Ak=UkΣkVkTA_k = U_k \Sigma_k V_k^T

By choosing a relatively small kk, we achieve significant compression while preserving most of the essential visual information.

1.3 Sample Code

Below is a simple Python implementation using NumPy to perform image compression:

import numpy as np
import matplotlib.pyplot as plt

# Load image
image = plt.imread('image.jpg')  # Assume grayscale image
# Convert to matrix form
A = image[:, :, 0]  

# Perform SVD
U, S, Vt = np.linalg.svd(A, full_matrices=False)

# Retain top k singular values
k = 50
A_k = np.dot(U[:, :k], np.dot(np.diag(S[:k]), Vt[:k, :]))

# Display original and compressed images
plt.subplot(1, 2, 1)
plt.title('Original Image')
plt.imshow(A, cmap='gray')

plt.subplot(1, 2, 2)
plt.title('Compressed Image')
plt.imshow(A_k, cmap='gray')
plt.show()

2. Recommendation Systems

2.1 Application Context

Linear Algebra Reading Map Card

After finishing “Applications of SVD,” reflect on three questions:

  • What problem does it solve?
  • At which step is error most likely to occur?
  • Can I reproduce it end-to-end with a small, self-contained example?

Recommendation systems play a critical role in e-commerce, social media, and content platforms. Leveraging SVD, we can reduce the dimensionality of user–item interaction matrices to uncover latent user preferences.

2.2 Example: Collaborative Filtering

In a simple recommendation scenario, user ratings for items can be organized into a rating matrix RR. Applying SVD yields an approximation:

RUΣVTR \approx U \Sigma V^T

Here, UU encodes latent user features, and VV encodes latent item features. By reconstructing a low-rank approximation of RR, we can predict missing ratings for unrated items.

2.3 Sample Code

A minimal Python implementation for collaborative filtering:

import numpy as np

# User–item rating matrix (example)
R = np.array([[5, 4, 0, 1],
              [4, 0, 0, 1],
              [1, 1, 0, 5],
              [1, 0, 5, 4]])

# Perform SVD
U, S, Vt = np.linalg.svd(R, full_matrices=False)

# Reconstruct rating matrix
k = 2  # Number of latent features
R_approx = np.dot(U[:, :k], np.dot(np.diag(S[:k]), Vt[:k, :]))

# Print reconstructed rating matrix
print("Reconstructed Rating Matrix:")
print(R_approx)

3. Noise Filtering and Signal Processing

3.1 Application Context

In signal processing, SVD is widely used for noise filtering and signal extraction. By applying SVD to a signal matrix, we can readily separate signal components from noise components—thereby suppressing noise and enhancing overall signal quality.

3.2 Example: Denoising

Suppose we have a time-series dataset contaminated with noise. We can arrange observations into a matrix—e.g., each row representing measurements at different time points. Performing SVD on this matrix and retaining only the top few singular values allows us to reconstruct a denoised version of the signal matrix.

SVD Applications Recap Card

If you haven’t fully internalized “Applications of SVD” yet, use the four actions on this card to walk through the material again.

SVD Applications Verification Card

When reviewing “Applications of SVD,” there’s no need to launch a large-scale project right away. Start instead with one simple, illustrative example to verify whether the core logic is clear.

Summary

Singular Value Decomposition is a powerful and versatile tool, widely applied in dimensionality reduction, recommendation systems, and signal processing. By decomposing data via SVD, we not only extract its fundamental structural patterns but also achieve effective compression and noise suppression. As AI and machine learning continue to advance, a solid understanding of linear algebra—and especially its practical applications—will provide increasingly strong support for data processing and analysis.

In our next article, we’ll explore how linear algebra underpins machine learning—examining its pivotal role in model construction and optimization algorithms. Stay tuned!

Continue

Keep reading from here

Browse English site

Reader Messages

Reader messages

Questions, corrections, extra sources, or hands-on results can be left here. No login is required.

Max 800 characters

To reduce spam, each message is checked for length, link count, and posting frequency.

0/800

Messages

0 messages
Loading messages...