Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge: Whitening via Eigenvalue Decomposition | Section
Feature Scaling and Normalization Mastering
Section 1. Chapter 12
single

single

bookChallenge: Whitening via Eigenvalue Decomposition

Swipe to show menu

Task

Swipe to start coding

You are given a dataset X (2D NumPy array) with correlated features. Your goal is to perform feature whitening — transforming the data so that features become uncorrelated and have unit variance, using eigenvalue decomposition of the covariance matrix.

Steps:

  1. Center the data (subtract column means).
  2. Compute the covariance matrix cov_matrix using np.cov(X_centered, rowvar=False).
  3. Perform eigenvalue decomposition with np.linalg.eigh.
  4. Compute a regularized whitening matrix:
    eps = 1e-10
    eig_vals_safe = np.where(eig_vals < eps, eps, eig_vals)
    whitening_matrix = eig_vecs @ np.diag(1.0 / np.sqrt(eig_vals_safe)) @ eig_vecs.T
    
    The eps prevents division by zero for near-zero eigenvalues (rank-deficient data).
  5. Compute the whitened data:
    X_whitened = X_centered @ whitening_matrix
    
  6. Verify that the covariance of X_whitened is close to the identity matrix in the nonzero subspace.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 1. Chapter 12
single

single

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

some-alt