Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x...

90
Sparse Fourier Transform (lecture 3) Michael Kapralov 1 1 IBM Watson MADALGO’15 1 / 45

Transcript of Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x...

Page 1: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Sparse Fourier Transform(lecture 3)

Michael Kapralov1

1IBM Watson

MADALGO’15

1 / 45

Page 2: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Given x ∈Cn, compute the Discrete Fourier Transform of x :

xi =∑

j∈[n]xjω

ij ,

where ω= e2πi/n is the n-th root of unity.

Goal: find the top k coefficients of x approximately

In last lecture:

Ï exactly k -sparse: O(k logn) runtime and samples

Ï approximately k -sparse: O(k log2 n) runtime and samples

This lecture:

Ï approximately k -sparse: O(k logn) samples (optimal)

2 / 45

Page 3: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Given x ∈Cn, compute the Discrete Fourier Transform of x :

xi =∑

j∈[n]xjω

ij ,

where ω= e2πi/n is the n-th root of unity.

Goal: find the top k coefficients of x approximately

In last lecture:

Ï exactly k -sparse: O(k logn) runtime and samples

Ï approximately k -sparse: O(k log2 n) runtime and samples

This lecture:

Ï approximately k -sparse: O(k logn) samples (optimal)

2 / 45

Page 4: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Given x ∈Cn, compute the Discrete Fourier Transform of x :

xi =∑

j∈[n]xjω

ij ,

where ω= e2πi/n is the n-th root of unity.

Goal: find the top k coefficients of x approximately

In last lecture:

Ï exactly k -sparse: O(k logn) runtime and samples

Ï approximately k -sparse: O(k log2 n) runtime and samples

This lecture:

Ï approximately k -sparse: O(k logn) samples (optimal)

2 / 45

Page 5: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Sample complexity

Sample complexity=number of samples accessed in time domain.In some applications at least as important as runtime

Shi-Andronesi-Hassanieh-Ghazi-Katabi-Adalsteinsson’

ISMRM’13

Given access to x ∈Cn, find y such that

||x − y ||2 ≤C ·mink−sparse z ||x − z||2

Use smallest possible number of samples?

3 / 45

Page 6: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Sample complexity

Sample complexity=number of samples accessed in time domain.In some applications at least as important as runtime

Shi-Andronesi-Hassanieh-Ghazi-Katabi-Adalsteinsson’

ISMRM’13

Given access to x ∈Cn, find y such that

||x − y ||2 ≤C ·mink−sparse z ||x − z||2

Use smallest possible number of samples?

3 / 45

Page 7: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Uniform bounds (for all):Candes-Tao’06Rudelson-Vershynin’08Cheraghchi-Guruswami-Velingker’12Bourgain’14Haviv-Regev’15

Deterministic, Ω(n) runtime

O(k log2 k logn)

Non-uniform bounds (for each):Goldreich-Levin’89Kushilevitz-Mansour’91, Mansour’92Gilbert-Guha-Indyk-Muthukrishnan-Strauss’02Gilbert-Muthukrishnan-Strauss’05Hassanieh-Indyk-Katabi-Price’12aHassanieh-Indyk-Katabi-Price’12bIndyk-K.-Price’14

Randomized, O(k ·poly(logn)) runtime

O(k logn ·(loglogn)C)

Lower bound: Ω(k log(n/k)) for non-adaptive algorithms Do-Ba-Indyk-Price-Woodruff’10

TheoremThere exists an algorithm for `2/`2 sparse recovery from Fouriermeasurements using O(k logn) samples and O(n log3 n) runtime.

Optimal up to constant factors for k ≤ n1−δ.

4 / 45

Page 8: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Uniform bounds (for all):Candes-Tao’06Rudelson-Vershynin’08Cheraghchi-Guruswami-Velingker’12Bourgain’14Haviv-Regev’15

Deterministic, Ω(n) runtime

O(k log2 k logn)

Non-uniform bounds (for each):Goldreich-Levin’89Kushilevitz-Mansour’91, Mansour’92Gilbert-Guha-Indyk-Muthukrishnan-Strauss’02Gilbert-Muthukrishnan-Strauss’05Hassanieh-Indyk-Katabi-Price’12aHassanieh-Indyk-Katabi-Price’12bIndyk-K.-Price’14

Randomized, O(k ·poly(logn)) runtime

O(k logn ·(loglogn)C)

Lower bound: Ω(k log(n/k)) for non-adaptive algorithms Do-Ba-Indyk-Price-Woodruff’10

TheoremThere exists an algorithm for `2/`2 sparse recovery from Fouriermeasurements using O(k logn) samples and O(n log3 n) runtime.

Optimal up to constant factors for k ≤ n1−δ.

4 / 45

Page 9: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Higher dimensional Fourier transform is needed in some applications

Given x ∈C[n], N = nd , compute

xj =1pN

∑i∈[n]

ωiT jxi and xj =1pN

∑i∈[n]

ω−iT j xi

where ω is the n-th root of unity, and n is a power of 2.

5 / 45

Page 10: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Previous sample complexity bounds:Ï O(k logd N) in sublinear time algorithms

Ï runtime k logO(d)N, for each

Ï O(k log4 N) for any dÏ Ω(N) time, for all

This lecture:

TheoremThere exists an algorithm for `2/`2 sparse recovery from Fouriermeasurements using Od (k logN) samples and O(N log3 N) runtime.

Sample-optimal up to constant factors for any constant d .

What about sublinear time recovery?

6 / 45

Page 11: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

TheoremThere exists an algorithm for `2/`2 sparse recovery from Fouriermeasurements using Od (k logN(loglogN)2) samples andO(k logd+2 N) runtime.

This extends the result of Indyk-K.-Price’14 to higher dimensions

7 / 45

Page 12: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

1. O(k logn) sample complexity in O(n log3 n) timeÏ extends to higher dimensions d

2. O(k logN(loglogN)2) sample complexity in O(k logd+2 N) time

8 / 45

Page 13: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

1. O(k logn) sample complexity in O(n log3 n) timeÏ extends to higher dimensions d

2. O(k logN(loglogN)2) sample complexity in O(k logd+2 N) time

8 / 45

Page 14: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Outline:

1. `2/`2 sparse recovery guarantee

2. Iterative recovery scheme

3. Sample-optimal algorithm in O(N log3 N) time for d = 1

4. Experiments

9 / 45

Page 15: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

`2/`2 sparse recovery guarantees:

||x − y ||2 ≤C ·mink−sparse z ||x − z||2

|x1| ≥ . . . ≥ |xk | ≥|xk+1| ≥ |xk+2| ≥ . . .

Err2k (x)=

∑nj=k+1 |xj |2

Residual error bounded by noiseenergy Err2

k (x)

head

tail

µ≈ tail noise/p

k

10 / 45

Page 16: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

`2/`2 sparse recovery guarantees:

||x − y ||2 ≤C ·mink−sparse z ||x − z||2

|x1| ≥ . . . ≥ |xk | ≥|xk+1| ≥ |xk+2| ≥ . . .

Err2k (x)=

∑nj=k+1 |xj |2

Residual error bounded by noiseenergy Err2

k (x)

head

tail

µ≈ tail noise/p

k

11 / 45

Page 17: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

`2/`2 sparse recovery guarantees:

||x − y ||2 ≤C ·Err2k (x)

|x1| ≥ . . . ≥ |xk | ≥|xk+1| ≥ |xk+2| ≥ . . .

Err2k (x)=

∑nj=k+1 |xj |2

Residual error bounded by noiseenergy Err2

k (x)

head

tail

µ≈ tail noise/p

k

12 / 45

Page 18: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

`2/`2 sparse recovery guarantees:

||x − y ||2 ≤C ·Err2k (x)

|x1| ≥ . . . ≥ |xk | ≥|xk+1| ≥ |xk+2| ≥ . . .

Err2k (x)=

∑nj=k+1 |xj |2

Residual error bounded by noiseenergy Err2

k (x)

head

tail

µ≈ tail noise/p

k

13 / 45

Page 19: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

`2/`2 sparse recovery guarantees:

||x − y ||2 ≤C ·Err2k (x)

µ≈ tail noise/p

k

Sufficient to ensure that most elements are below average noiselevel:

|xi − yi |2 ≤ c ·Err2k (x)/k =:µ2

14 / 45

Page 20: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

`2/`2 sparse recovery guarantees:

||x − y ||2 ≤C ·Err2k (x)

µ≈ tail noise/p

k

Sufficient to ensure that most elements are below average noiselevel:

|xi − yi |2 ≤ c ·Err2k (x)/k = c ·µ2

15 / 45

Page 21: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

`2/`2 sparse recovery guarantees:

||x − y ||2 ≤C ·Err2k (x)

µ≈ tail noise/p

k

Sufficient to ensure that most elements are below average noiselevel:

|xi − yi | ≤ cµ

15 / 45

Page 22: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Outline:

1. `2/`2 sparse recovery guarantee

2. Iterative recovery scheme

3. Sample-optimal algorithm in O(N log3 N) time for d = 1

4. Experiments

15 / 45

Page 23: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Iterative recovery

Input: x ∈Cn

y0 ← 0For t = 1 to L

Ï z ← PARTIALRECOVERY(x−yt−1) BTakes random samples of x −yÏ Update yt ← yt−1 + z

PARTIALRECOVERY(x)

return dominant Fourier coefficients z of x (approximately)

dominant coefficients≈ |xi | ≥ cµ(above average noise level)

16 / 45

Page 24: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

PARTIALRECOVERY(x)

return dominant Fourier coefficients z of x (approximately)

dominant coefficients≈ |xi | ≥ cµ(above average noise level)

Recap of techniques from previous lectures

17 / 45

Page 25: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

PARTIALRECOVERY(x)

return dominant Fourier coefficients z of x (approximately)

dominant coefficients≈ |xi | ≥ cµ(above average noise level)

Recap of techniques from previous lectures

17 / 45

Page 26: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Task:approximate top k coeffs of x using few samples

Natural idea: look at the value of the signal on the first O(k) points

This convolves spectrum with sinc: à(x ·G)= x ∗ G

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 10000

0.2

0.4

0.6

0.8

1

1.2

1.4

frequency

magnitu

de

à(G ·x)f =∑

f ′∈[n]xf ′Gf−f ′

18 / 45

Page 27: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Task:approximate top k coeffs of x using few samples

Natural idea: look at the value of the signal on the first O(k) points

This convolves spectrum with sinc: à(x ·G)= x ∗ G

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 10000

0.2

0.4

0.6

0.8

1

1.2

1.4

frequency

magnitu

de

à(G ·x)f =∑

f ′∈[n]xf ′Gf−f ′

19 / 45

Page 28: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Task:approximate top k coeffs of x using few samples

Natural idea: look at the value of the signal on the first O(k) points

This convolves spectrum with sinc: à(x ·G)= x ∗ G

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 10000

0.2

0.4

0.6

0.8

1

1.2

1.4

frequency

magnitu

de

à(G ·x)f =∑

f ′∈[n]xf ′Gf−f ′

19 / 45

Page 29: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Task:approximate top k coeffs of x using few samples

Natural idea: look at the value of the signal on the first O(k) points

This convolves spectrum with sinc: à(x ·G)= x ∗ G

−30 −20 −10 0 10 20 30−0.01

0

0.01

0.02

0.03

0.04

0.05

0.06

time

magnitu

de

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

frequency

magnitu

de

à(G ·x)f =∑

f ′∈[n]xf ′Gf−f ′

20 / 45

Page 30: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Task:approximate top k coeffs of x using few samples

Natural idea: look at the value of the signal on the first O(k) points

This convolves spectrum with sinc: à(x ·G)= x ∗ G

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

frequency

magnitu

de

à(G ·x)f =∑

f ′∈[n]xf ′Gf−f ′

20 / 45

Page 31: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Task:approximate top k coeffs of x using few samples

Natural idea: look at the value of the signal on the first O(k) points

This convolves spectrum with sinc: à(x ·G)= x ∗ G

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

frequency

magnitu

de

à(G ·x)f = xf +∑

f ′∈[n],f ′ 6=fxf ′Gf−f ′

20 / 45

Page 32: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Task:approximate top k coeffs of x using few samples

Natural idea: look at the value of the signal on the first O(k) points

This convolves spectrum with sinc: à(x ·G)= x ∗ G

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

frequency

magnitu

de

à(G ·x)f = xf +∑

f ′∈[n],f ′ 6=fxf ′Gf−f ′

21 / 45

Page 33: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Task:approximate top k coeffs of x using few samples

Natural idea: look at the value of the signal on the first O(k) points

This convolves spectrum with sinc: à(x ·G)= x ∗ G

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

frequency

ma

gn

itude

à(G ·x)f = xf +∑

f ′∈[n],f ′ 6=fxf ′Gf−f ′

22 / 45

Page 34: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Task:approximate top k coeffs of x using few samples

Natural idea: look at the value of the signal on the first O(k) points

This convolves spectrum with sinc: à(x ·G)= x ∗ G

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

frequency

ma

gn

itude

à(G ·x)fω−af = xf +

∑f ′∈[n]\f

ωa(f ′−f )xf ′Gf−f ′

23 / 45

Page 35: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Task:approximate top k coeffs of x using few samples

Natural idea: look at the value of the signal on the first O(k) points

This convolves spectrum with sinc: à(x ·G)= x ∗ G

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

frequency

ma

gn

itude

à(G ·x)fω−af = xf +

∑f ′∈[n]\f

ωa(f ′−f )xf ′Gf−f ′

23 / 45

Page 36: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Task:approximate top k coeffs of x using few samples

Natural idea: look at the value of the signal on the first O(k) points

This convolves spectrum with sinc: à(x ·G)= x ∗ G

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

frequency

ma

gn

itude

à(G ·x)fω−af = xf +

∑f ′∈[n]\f

ωa(f ′−f )xf ′Gf−f ′

23 / 45

Page 37: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Task:approximate top k coeffs of x using few samples

Natural idea: look at the value of the signal on the first O(k) points

This convolves spectrum with sinc: à(x ·G)= x ∗ G

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

frequency

ma

gn

itude

à(G ·x)fω−af = xf +

∑f ′∈[n]\f

ωa(f ′−f )xf ′Gf−f ′

23 / 45

Page 38: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Task:approximate top k coeffs of x using few samples

Natural idea: look at the value of the signal on the first O(k) points

This convolves spectrum with sinc: à(x ·G)= x ∗ G

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

frequency

ma

gn

itude

à(G ·x)fω−af = xf +

∑f ′∈[n]\f

ωa(f ′−f )xf ′Gf−f ′

23 / 45

Page 39: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

What if two frequencies are close?

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

frequency

magnitu

de

Ea

[|à(G ·x)fω

−af − xf |2]= ∑

f ′∈[n]\f

|xf ′ |2|Gf−f ′ |2

Ï Expected error in terms of `2 norm (Parseval’s indentity).Ï Take median of independent trials

24 / 45

Page 40: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

What if two frequencies are close?

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

frequency

magnitu

de

Ea

[|à(G ·x)fω

−af − xf |2]= ∑

f ′∈[n]\f

|xf ′ |2|Gf−f ′ |2

Ï Expected error in terms of `2 norm (Parseval’s indentity).Ï Take median of independent trials

25 / 45

Page 41: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

What if two frequencies are close?

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

frequency

magnitu

de

Ea

[|à(G ·x)fω

−af − xf |2]= ∑

f ′∈[n]\f

|xf ′ |2|Gf−f ′ |2

Ï Expected error in terms of `2 norm (Parseval’s indentity).Ï Take median of independent trials

26 / 45

Page 42: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Pseudorandom permutation

Gilbert-Muthukrishnan-Strauss’05:

Do a random invertible linear transformation of time domain:

(Pσ,a,qx)i = xσ(i−a)ωσqi

This operation permutes the spectrum:

á(Pσ,a,qx)πσ,q(i) = xiωaσi ,

whereπσ,a(i)=σ(i −a) mod n.

27 / 45

Page 43: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

PARTIALRECOVERY(x)

return dominant Fourier coefficients z of x (approximately)

Take M =C logn independent measurements:

y j ← (Pσj ,aj ,qj x) ·GSample complexity= filter support× logn

Estimate each f ∈ [n] as

wf ←mediany jπ1(f )

ω−a1σ1f , . . . , y jπM(f )ω

−aMσM f

=:mediany1

f , . . . , yMf

.

ClaimIf G =boxcar filter with support k/α, then with probability at least1−n−Ω(C)

|xf − wf |2 =O(α) · ||x ||22/k

˵2

28 / 45

Page 44: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

PARTIALRECOVERY(x)

return dominant Fourier coefficients z of x (approximately)

Take M =C logn independent measurements:

y j ← (Pσj ,aj ,qj x) ·GSample complexity= filter support× logn

Estimate each f ∈ [n] as

wf ←mediany jπ1(f )

ω−a1σ1f , . . . , y jπM(f )ω

−aMσM f

=:mediany1

f , . . . , yMf

.

ClaimIf G =boxcar filter with support k/α, then with probability at least1−n−Ω(C)

|xf − wf |2 =O(α) · ||x ||22/k Àµ2

28 / 45

Page 45: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

time

magnitude

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

frequency

magn

itude

Like hashing heavy hitters into buckets (COUNTSKETCH,COUNTMIN), but buckets leak

29 / 45

Page 46: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Most work so far: make PARTIALRECOVERY step more efficient(better filters!)

0 200 400 600 800 1000 1200 1400 1600 1800 2000−0.2

0

0.2

0.4

0.6

0.8

1

frequency

magnitude

0 200 400 600 800 1000 1200 1400 1600 1800 2000−0.2

0

0.2

0.4

0.6

0.8

1

frequency

magnitude

Increases filter support to k logn... 30 / 45

Page 47: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Outline:

1. `2/`2 sparse recovery guarantee

2. Iterative recovery scheme

3. Sample-optimal algorithm in O(N log3 N) time for d = 1

4. Experiments

30 / 45

Page 48: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Iterative recovery

Input: x ∈Cn

y0 ← 0For t = 1 to L

Ï z ← PARTIALRECOVERY(x−yt−1) BTakes random samples of x −yÏ Update yt ← yt−1 + z

In most prior works sampling complexity is

samples per PARTIALRECOVERY step×number of iterations

Lots of work on carefully choosing filters, reducing number ofiterations:Hassanieh-Indyk-Katabi-Price’12,Ghazi-Hassanieh-Indyk-Katabi-Price-Shi’13, Indyk-K.-Price’14

Ï still lose Ω(loglogn) in sample complexity (number of iterations)Ï lose Ω((logn)d−1 loglogn) in higher dimensions

31 / 45

Page 49: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Iterative recovery

Input: x ∈Cn

y0 ← 0For t = 1 to L

Ï z ← PARTIALRECOVERY(x−yt−1) BTakes random samples of x −yÏ Update yt ← yt−1 + z

In most prior works sampling complexity is

samples per PARTIALRECOVERY step×number of iterations

Lots of work on carefully choosing filters, reducing number ofiterations:Hassanieh-Indyk-Katabi-Price’12,Ghazi-Hassanieh-Indyk-Katabi-Price-Shi’13, Indyk-K.-Price’14

Ï still lose Ω(loglogn) in sample complexity (number of iterations)Ï lose Ω((logn)d−1 loglogn) in higher dimensions

31 / 45

Page 50: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Iterative recovery

Input: x ∈Cn

y0 ← 0For t = 1 to L

Ï z ← PARTIALRECOVERY(x−yt−1) BTakes random samples of x −yÏ Update yt ← yt−1 + z

In most prior works sampling complexity is

samples per PARTIALRECOVERY step×number of iterations

Lots of work on carefully choosing filters, reducing number ofiterations:Hassanieh-Indyk-Katabi-Price’12,Ghazi-Hassanieh-Indyk-Katabi-Price-Shi’13, Indyk-K.-Price’14

Ï still lose Ω(loglogn) in sample complexity (number of iterations)Ï lose Ω((logn)d−1 loglogn) in higher dimensions

31 / 45

Page 51: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Iterative recovery

Input: x ∈Cn

y0 ← 0For t = 1 to L

Ï z ← PARTIALRECOVERY(x−yt−1) BTakes random samples of x −yÏ Update yt ← yt−1 + z

Our sampling complexity is

samples per PARTIALRECOVERY step×number of iterations

Do not use fresh randomness in each iteration! In generalchallenging: only one paper Bayati-Montanari’11 gives provable

guarantees, with Gaussians

Can use very simple filters!

32 / 45

Page 52: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Iterative recovery

Input: x ∈Cn

y0 ← 0For t = 1 to L

Ï z ← PARTIALRECOVERY(x−yt−1) BTakes random samples of x −yÏ Update yt ← yt−1 + z

Our sampling complexity is

samples per PARTIALRECOVERY step × number of iterations

Do not use fresh randomness in each iteration! In generalchallenging: only one paper Bayati-Montanari’11 gives provable

guarantees, with Gaussians

Can use very simple filters!

32 / 45

Page 53: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Iterative recovery

Input: x ∈Cn

y0 ← 0For t = 1 to L

Ï z ← PARTIALRECOVERY(x−yt−1) BTakes random samples of x −yÏ Update yt ← yt−1 + z

Our sampling complexity is

samples per PARTIALRECOVERY step × number of iterations

Do not use fresh randomness in each iteration! In generalchallenging: only one paper Bayati-Montanari’11 gives provable

guarantees, with Gaussians

Can use very simple filters!

32 / 45

Page 54: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Our filter=boxcar convolved with itself O(1) times

Filter support is O(k) (=samples per measurement)

O(k logn) samples in PARTIALRECOVERY step

−30 −20 −10 0 10 20 30−0.01

0

0.01

0.02

0.03

0.04

0.05

0.06

time

ma

gnitu

de

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

frequency

ma

gnitu

de

Can choose a rather weak filter, but do not need fresh randomness

33 / 45

Page 55: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Our filter=boxcar convolved with itself O(1) times

Filter support is O(k) (=samples per measurement)

O(k logn) samples in PARTIALRECOVERY step

−30 −20 −10 0 10 20 300

0.01

0.02

0.03

0.04

0.05

0.06

time

ma

gnitu

de

−1000 −800 −600 −400 −200 0 200 400 600 800 10000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

frequency

ma

gnitu

de

Can choose a rather weak filter, but do not need fresh randomness

33 / 45

Page 56: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Our filter=boxcar convolved with itself O(1) times

Filter support is O(k) (=samples per measurement)

O(k logn) samples in PARTIALRECOVERY step

−30 −20 −10 0 10 20 300

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

time

ma

gnitu

de

−1000 −800 −600 −400 −200 0 200 400 600 800 1000−0.2

0

0.2

0.4

0.6

0.8

1

1.2

frequency

ma

gnitu

de

Can choose a rather weak filter, but do not need fresh randomness

33 / 45

Page 57: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

G ←B∗B∗BLet ym ← (Pmx) ·G

m = 0, . . . ,M =C logn

z0 ← 0For t = 1, . . . ,T =O(logn):

For f ∈ [n]:wf ←median

y1

f , . . . , yMf

If |wf | < 2T−tµ/3 then

wf ← 0End

zt+1 = zt + wym ← ym − (Pmw) ·G

for m = 1, . . . ,MEnd

B Take samples of x

B Loop over thresholds

B Estimate, prune smallelements

B Update samples

Main challenge: lack of fresh randomness. Why does median work?

34 / 45

Page 58: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

G ←B∗B∗BLet ym ← (Pmx) ·G

m = 0, . . . ,M =C logn

z0 ← 0For t = 1, . . . ,T =O(logn):

For f ∈ [n]:wf ←median

y1

f , . . . , yMf

If |wf | < 2T−tµ/3 then

wf ← 0End

zt+1 = zt + wym ← ym − (Pmw) ·G

for m = 1, . . . ,MEnd

µ

Main challenge: lack of fresh randomness. Why does median work?

34 / 45

Page 59: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

G ←B∗B∗BLet ym ← (Pmx) ·G

m = 0, . . . ,M =C logn

z0 ← 0For t = 1, . . . ,T =O(logn):

For f ∈ [n]:wf ←median

y1

f , . . . , yMf

If |wf | < 2T−tµ/3 then

wf ← 0End

zt+1 = zt + wym ← ym − (Pmw) ·G

for m = 1, . . . ,MEnd

µ

Main challenge: lack of fresh randomness. Why does median work?

34 / 45

Page 60: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

G ←B∗B∗BLet ym ← (Pmx) ·G

m = 0, . . . ,M =C logn

z0 ← 0For t = 1, . . . ,T =O(logn):

For f ∈ [n]:wf ←median

y1

f , . . . , yMf

If |wf | < 2T−tµ/3 then

wf ← 0End

zt+1 = zt + wym ← ym − (Pmw) ·G

for m = 1, . . . ,MEnd

µ

Main challenge: lack of fresh randomness. Why does median work?

34 / 45

Page 61: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

G ←B∗B∗BLet ym ← (Pmx) ·G

m = 0, . . . ,M =C logn

z0 ← 0For t = 1, . . . ,T =O(logn):

For f ∈ [n]:wf ←median

y1

f , . . . , yMf

If |wf | < 2T−tµ/3 then

wf ← 0End

zt+1 = zt + wym ← ym − (Pmw) ·G

for m = 1, . . . ,MEnd

µ

Main challenge: lack of fresh randomness. Why does median work?

34 / 45

Page 62: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

G ←B∗B∗BLet ym ← (Pmx) ·G

m = 0, . . . ,M =C logn

z0 ← 0For t = 1, . . . ,T =O(logn):

For f ∈ [n]:wf ←median

y1

f , . . . , yMf

If |wf | < 2T−tµ/3 then

wf ← 0End

zt+1 = zt + wym ← ym − (Pmw) ·G

for m = 1, . . . ,MEnd

µ

Main challenge: lack of fresh randomness. Why does median work?

34 / 45

Page 63: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

G ←B∗B∗BLet ym ← (Pmx) ·G

m = 0, . . . ,M =C logn

z0 ← 0For t = 1, . . . ,T =O(logn):

For f ∈ [n]:wf ←median

y1

f , . . . , yMf

If |wf | < 2T−tµ/3 then

wf ← 0End

zt+1 = zt + wym ← ym − (Pmw) ·G

for m = 1, . . . ,MEnd

µ

Main challenge: lack of fresh randomness. Why does median work?

34 / 45

Page 64: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Main estimation step:

ym ← (Pmx) ·G,m = 0, . . . ,M =C logn

wf ←mediany1

f , . . . , yMf

Main idea of analysis: split estimation error into two parts:∣∣yf − xf

∣∣= noise from head elements+ tail noise

35 / 45

Page 65: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Let S denote the set of heavy hitters:

S = i ∈ [n] : |xi | >µ

.

There cannot be too many of them: |S| =O(k)

head

tail

Main invariant: never modify x outside of S

Intuition: we only modify large frequencies (say those larger than 4µ),and only those that we have reliable estimates for

36 / 45

Page 66: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Let S denote the set of heavy hitters:

S = i ∈ [n] : |xi | >µ

.

There cannot be too many of them: |S| =O(k)

head

tail

Main invariant: never modify x outside of S

Intuition: we only modify large frequencies (say those larger than 4µ),and only those that we have reliable estimates for

36 / 45

Page 67: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

At time t :Ï get 1±1/3 approximation to

near-maximum coordinatesÏ ||x ||∞ decreases at least by factor

of 2Ï only update elements in S

µ

Main estimation step:

ym ← (Pmx) ·G,m = 0, . . . ,M =C logn

wf ←mediany1

f , . . . , yMf

Need to show that estimation error is small:∣∣yf − xf

∣∣= noise from head elements+ tail noise

37 / 45

Page 68: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

At time t :Ï get 1±1/3 approximation to

near-maximum coordinatesÏ ||x ||∞ decreases at least by factor

of 2Ï only update elements in S

µ

Main estimation step:

ym ← (Pmx) ·G,m = 0, . . . ,M =C logn

wf ←mediany1

f , . . . , yMf

Need to show that estimation error is small:∣∣yf − xf∣∣= noise from head elements+ tail noise

37 / 45

Page 69: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

At time t :Ï get 1±1/3 approximation to

near-maximum coordinatesÏ ||x ||∞ decreases at least by factor

of 2Ï only update elements in S

µ

Main estimation step:

ym ← (Pmx) ·G,m = 0, . . . ,M =C logn

wf ←mediany1

f , . . . , yMf

Need to show that estimation error is small:∣∣yf − xf

∣∣= noise from head elements+ tail noise

37 / 45

Page 70: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

At time t :Ï get 1±1/3 approximation to

near-maximum coordinatesÏ ||x ||∞ decreases at least by factor

of 2Ï only update elements in S

µ

Main estimation step:

ym ← (Pmx) ·G,m = 0, . . . ,M =C logn

wf ←mediany1

f , . . . , yMf

Need to show that estimation error is small:∣∣yf − xf

∣∣= noise from head elements+O(µ)

37 / 45

Page 71: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Need to show that estimation error is small:∣∣yf − xf∣∣≤ ∑

f ′∈S\f

ωaσ(f ′−f )xf ′Gπ(f )−π(f ′)+O(µ)

π(f )

Ï Cannot assume that a is random, but that is ok here! (use `1bounds)

Ï If other head elements are far from π(f ), estimation error is small!Ï Peel off largest elements only, so ok with error bounds like

||x ||∞/100

38 / 45

Page 72: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Need to show that estimation error is small:∣∣yf − xf∣∣≤ ∑

f ′∈S\f

ωaσ(f ′−f )xf ′Gπ(f )−π(f ′)+O(µ)

π(f )

Ï Cannot assume that a is random, but that is ok here! (use `1bounds)

Ï If other head elements are far from π(f ), estimation error is small!Ï Peel off largest elements only, so ok with error bounds like

||x ||∞/100

39 / 45

Page 73: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Need to show that estimation error is small:∣∣yf − xf∣∣≤ ∑

f ′∈S\f

|xf ′ ||Gπ(f )−π(f ′)|+O(µ)

π(f )

Ï Cannot assume that a is random, but that is ok here! (use `1bounds)

Ï Peel off largest elements only, so ok with error bounds like||x ||∞/100

Ï If other head elements are far from π(f ), estimation error is small!

39 / 45

Page 74: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Need to show that estimation error is small:∣∣yf − xf∣∣≤ ||xS ||∞ · ∑

f ′∈S\f

|Gπ(f )−π(f ′)|+O(µ)

π(f )

Ï Cannot assume that a is random, but that is ok here! (use `1bounds)

Ï Peel off largest elements only, so ok with error bounds like||x ||∞/100

Ï If other head elements are far from π(f ), estimation error is small!

39 / 45

Page 75: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Need to show that estimation error is small:∣∣yf − xf∣∣≤ ||xS ||∞ · ∑

f ′∈S\f

|Gπ(f )−π(f ′)|+O(µ)

π(f )

Ï Cannot assume that a is random, but that is ok here! (use `1bounds)

Ï Peel off largest elements only, so ok with error bounds like||x ||∞/100

Ï If other head elements are far from π(f ), estimation error is small!39 / 45

Page 76: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Need to show that estimation error is small:∣∣yf − xf∣∣≤ ||xS ||∞ · ∑

f ′∈S\f

|Gπ(f )−π(f ′)|+O(µ)

π(f )

Ï Cannot assume that a is random, but that is ok here! (use `1bounds)

Ï Peel off largest elements only, so ok with error bounds like||x ||∞/100

Ï If other head elements are far from π(f ), estimation error is small!39 / 45

Page 77: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Need to show that estimation error is small:∣∣yf − xf∣∣≤ ||xS ||∞ · ∑

f ′∈S\f

|Gπ(f )−π(f ′)|+O(µ)

π(f )

Ï Cannot assume that a is random, but that is ok here! (use `1bounds)

Ï Peel off largest elements only, so ok with error bounds like||x ||∞/100

Ï If other head elements are far from π(f ), estimation error is small!39 / 45

Page 78: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Need to show that estimation error is small:∣∣yf − xf∣∣≤ ||xS ||∞ · ∑

f ′∈S\f

|Gπ(f )−π(f ′)|+O(µ)

π(f )

Ï Cannot assume that a is random, but that is ok here! (use `1bounds)

Ï Peel off largest elements only, so ok with error bounds like||x ||∞/100

Ï If other head elements are far from π(f ), estimation error is small!39 / 45

Page 79: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Definition (Isolated at scale t)Suppose that filter support is k/α for some constant α< 1. Afrequency f ∈ [n] is isolated under π at scale t if

π(f )+ [−(n/b) ·2t ,(n/b) ·2t ]

contains at most O(pα) ·2(3/2)t elements of π(S).

π(f )

40 / 45

Page 80: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Definition (Isolated at scale t)Suppose that filter support is k/α for some constant α< 1. Afrequency f ∈ [n] is isolated under π at scale t if

π(f )+ [−(n/b) ·2t ,(n/b) ·2t ]

contains at most O(pα) ·2(3/2)t elements of π(S).

π(f )

40 / 45

Page 81: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Definition (Isolated at scale t)Suppose that filter support is k/α for some constant α< 1. Afrequency f ∈ [n] is isolated under π at scale t if

π(f )+ [−(n/b) ·2t ,(n/b) ·2t ]

contains at most O(pα) ·2(3/2)t elements of π(S).

π(f )

40 / 45

Page 82: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Definition (Isolated at scale t)Suppose that filter support is k/α for some constant α< 1. Afrequency f ∈ [n] is isolated under π at scale t if

π(f )+ [−(n/b) ·2t ,(n/b) ·2t ]

contains at most O(pα) ·2(3/2)t elements of π(S) for all t ≥ 0.

π(f )

40 / 45

Page 83: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

LemmaAny i ∈ [n] is isolated in 2/3 fraction of measurements whp.

Main estimation step:

ym ← (Pmx) ·G,m = 0, . . . ,M =C logn

wf ←mediany1

f , . . . , yMf

If f is isolated, then

||x ||∞/100+O(µ)

so we have 1±1/3 estimates for near-maximum elements, e.g.

|xi | ≥ ||x ||∞/3

Proved that this works just like with fresh randomness!(as long as we recover starting from largest frequencies)

41 / 45

Page 84: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

LemmaAny i ∈ [n] is isolated in 2/3 fraction of measurements whp.Main estimation step:

ym ← (Pmx) ·G,m = 0, . . . ,M =C logn

wf ←mediany1

f , . . . , yMf

If f is isolated, then

||x ||∞/100+O(µ)

so we have 1±1/3 estimates for near-maximum elements, e.g.

|xi | ≥ ||x ||∞/3

Proved that this works just like with fresh randomness!(as long as we recover starting from largest frequencies)

41 / 45

Page 85: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

LemmaAny i ∈ [n] is isolated in 2/3 fraction of measurements whp.Main estimation step:

ym ← (Pmx) ·G,m = 0, . . . ,M =C logn

wf ←mediany1

f , . . . , yMf

If f is isolated, then

||x ||∞/100+O(µ)

so we have 1±1/3 estimates for near-maximum elements, e.g.

|xi | ≥ ||x ||∞/3

Proved that this works just like with fresh randomness!(as long as we recover starting from largest frequencies)

41 / 45

Page 86: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Lecture so far

Ï Optimal sample complexity by reusing randomness

Ï Very simple algorithm, can be implemented

Ï Extension to higher dimensions: algorithm is the same,permutations are different.

Ï Choose random invertible linear transformation over Zdn

42 / 45

Page 87: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Experimental evaluation

Problem: recover support of a random k -sparse signal fromFourier

measurements.Parameters: n = 215, k = 10,20, . . . ,100Filter: boxcar filter with support k +1

43 / 45

Page 88: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Comparison to `1-minimization (SPGL1)

O(k log3 k logn) sample complexity, requires LP solve

sparsity

num

ber

of m

easu

rem

ents

n=32768, L1 minimization

10 20 30 40 50 60 70 80 90 100

500

1000

1500

2000

2500

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

sparsity

num

ber

of m

easu

rem

ents

n=32768, B=k, random phase, non−monotone

10 20 30 40 50 60 70 80 90 100

500

1000

1500

2000

2500

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Within a factor of 2 of `1 minimization

44 / 45

Page 89: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Open questions:

Ï O(k logn) in O(k log2 n) time?

Ï O(k logn) runtime?

Ï remove dependence on dimension? Current approaches loseCd in sample complexity, (logn)d in runtime

More on sparse FFT:http://groups.csail.mit.edu/netmit/sFFT/index.html

45 / 45

Page 90: Sparse Fourier Transform (lecture 3)people.csail.mit.edu/kapralov/madalgo15/lec3.pdf · Given x 2Cn, compute the Discrete Fourier Transform of x: bxi ˘ X j2[n] xj! ij, where!˘e2…i/n

Open questions:

Ï O(k logn) in O(k log2 n) time?

Ï O(k logn) runtime?

Ï remove dependence on dimension? Current approaches loseCd in sample complexity, (logn)d in runtime

More on sparse FFT:http://groups.csail.mit.edu/netmit/sFFT/index.html

45 / 45