SECTION 05 / 5

The SVD interpretation of random projection

7 min read
On this page 8 headings

Learning goal: Understand projection as orthogonal changes of coordinates and scaling.

Conditions and notation

  • For the displayed k × d SVD, assume k≤dk \leq d.
  • Squared singular values are eigenvalues of MMᵀ.
  • Random directions are uniform in every dimension; nearly equal singular values need a suitable dimension ratio.
  • The ideaSo far we treated M as a source of random measurements and estimated a length from them.
  • Now look at M as a machine.
  • The SVD uses orthogonal changes of coordinates and scaling.
  • For a random Gaussian M, the first rotation is random, so it can't favour any direction of your vector.
  • All k stretches are about equal, so nothing gets crushed.
  • The last rotation doesn't change length at all.
  • Result: the length comes out roughly unchanged.

Use this section for geometric intuition. Lessons 1 and 2 establish the probability guarantee.

Step 1: any matrix == rotate · stretch · rotate

Key statement

Matrices act right to left, so happens in three steps:

  1. : rotate in . Still d numbers, same length.

    Call the result .

  2. : keep the first k coordinates, stretch them, drop the rest. .
  3. : rotate in . Same length again.
  • Since rotations never change length, the only step that changes length is the middle one.
  • The exact squared-length formula is:
Unit circle rotated then stretched into an ellipse
In two dimensions: the unit circle is rotated (no change), then stretched by σ₁ = 2 and σ₂ = 0.5 and rotated again. It becomes an ellipse. Lengths survive only if the stretches are all close to 1 in the right sense.

Step 2: what is special about a random Gaussian M

Random rotation and scaling: the key facts

  • For a fixed unit input vector, the first orthogonal transformation produces a random unit direction in d dimensions.
  • Individual coordinates fluctuate. Their squared values have expectation 1/d.
  • A sum of k squared coordinates is typically near k/d when k is sufficiently large.
  • When d is much larger than k, the nonzero singular values are near √(d/k)√(d/k). This is an approximation, not equality for every draw.
a=VTu,E[ai2]=1da=V^{\mathsf T}u,\qquad \mathbb E[a_i^2]=\frac1d
∥Mu∥2=∑i=1kσi2ai2≈dk∑i=1kai2≈1\|Mu\|^2=\sum_{i=1}^k\sigma_i^2a_i^2\approx\frac dk\sum_{i=1}^ka_i^2\approx1

The final orthogonal transformation preserves length. The probability proof works for any original dimension; a smaller target dimension is what makes projection useful.

  • Use d for the original dimension and k for the target dimension.
  • The three ideas are:
  • The first rotation is random. Whatever direction u points (even ), points in a uniformly random direction.

    So no coordinate is special, and for every i (Toolkit 0.10).

  • The stretches are all about . The sum of all squared entries of M is , and on average it equals .

    Shared among k singular values, each .

    Random matrix theory adds that for d ≫ k they all fall in .

  • Put together: .

    The length is kept.

Histograms of singular values divided by sqrt(d/k) for d=100 and d=10000
Singular values of , divided by (200 random matrices each, k = 20). With d = 100 they spread from about 0.5 to 1.5. With d = 10,000 they all sit within about ±4 % of 1. "All stretches equal" really needs d ≫ k.
One coordinate of a random unit vector vs the sum of k squared coordinates
A uniformly random unit vector in d = 1,000 dimensions. Left: a single coordinate is not close to ±1/√d. It is spread like a bell curve (standard deviation exactly 1/√d). Right: the sum of k = 20 squared coordinates is close to k/d (average 1.01, spread ±0.31). The heuristic only needs this right-hand fact, and its accuracy depends on k, exactly as in the proof.

Worked example: the heuristic with numbers

d = 10,000, k = 100, ‖u‖ = 1.

  1. After the random rotation, a typical coordinate has size , and .
  2. Every singular value is , roughly in [9, 11].
  3. Stretched coordinates: .
  4. .

    Precisely: .

    The last rotation U doesn't change this.

Step 3: a random-direction experiment

  • Key statementk = 2, d = 3 (then 100 or 1,000).
  • , .
  • Generate 1,000 such matrices; for each, , and pick the first column of V: , each with .
  • Fix a random unit vector: with three entries, .
  • Compute and observe this histogram.

The simulation results are shown below:

Histograms of r^T v1 for d = 3, 100, 1000
1,000 random matrices each. d = 3: flat over [−1, 1] (mean −0.007, standard deviation 0.578, 49 % positive). d = 100: standard deviation 0.101. d = 1,000: standard deviation 0.032. In each case the standard deviation equals (0.577, 0.100, 0.032).

Check yourself

Which of the three SVD steps can change a vector's length?
  • Only Σ (stretching the first k coordinates and dropping the rest).
  • U and Vᵀ are rotations.
Why is each singular value of about ?
  • The sum of squares of all entries is about , and that equals .
  • Shared among k values, each .
d = 1,000,000, k = 400. Roughly what are the singular values, and the typical size of ?

; , so .

True or false: the JL probability bound fails when d is small.
  • False.
  • The bound depends only on k and ε.
  • Small d just means there's nothing to gain from projecting.

Key points to remember

  • For the displayed k × d SVD, assume k≤dk \leq d.
  • Squared singular values are eigenvalues of MMᵀ.
  • Random directions are uniform in every dimension; nearly equal singular values need a suitable dimension ratio.
YOUR STUDY PROGRESS

Finished this section? Save your progress.

Back to top ↑