Designing and Analyzing Linear Systems -...

38
Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Designing and Analyzing Linear Systems CS 205A: Mathematical Methods for Robotics, Vision, and Graphics Doug James (and Justin Solomon) CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 1 / 35

Transcript of Designing and Analyzing Linear Systems -...

Page 1: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Designing and AnalyzingLinear Systems

CS 205A:Mathematical Methods for Robotics, Vision, and Graphics

Doug James (and Justin Solomon)

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 1 / 35

Page 2: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Announcements

I Section and office hours: Finalized. Posted onwebsite.

I HW0 due, HW1 out

I Check midterm/final dates. Conflicts?

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 2 / 35

Page 3: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Theorist’s Dilemma

“Find a nail for this really interesting hammer.”

A~x = ~b

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 3 / 35

Page 4: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Today’s Lesson

Linear systems areinsanely important.

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 4 / 35

Page 5: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Planar Serial Chain Manipulator

q1

q2

q3

...qn

p

Problem: How to change redundant joint angles tomove toward target?

Joint angles: ~q = (q1, q2, . . . , qn)T

End-effector position: ~p =(xy

)Kinematic model: ~p = ~f(~q)Linearized model: ∆~p = J ∆~qMinimum-norm solution for ∆~q given ∆~p.

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 5 / 35

Page 6: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Linear Regression

f (~x) = a1x1 + a2x2 + · · · + anxn = ~aT~x

Find {a1, . . . , an}.

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 6 / 35

Page 7: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

n Experiments

~x(k) 7→ y(k) ≡ f(~x(k))

y(1) = f(~x(1)) = a1x(1)1 + a2x

(1)2 + · · ·+ anx

(1)n

y(2) = f(~x(2)) = a1x(2)1 + a2x

(2)2 + · · ·+ anx

(2)n

...

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 7 / 35

Page 8: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Linear System for ~a

− ~x(1)> −− ~x(2)> −

...

− ~x(n)> −

a1

a2...

an

=

y(1)

y(2)

...

y(n)

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 8 / 35

Page 9: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

General Case

f(~x) = a1f1(~x) + a2f2(~x) + · · ·+ amfm(~x)

f1(~x

(1)) f2(~x(1)) · · · fm(~x(1))

f1(~x(2)) f2(~x

(2)) · · · fm(~x(2))...

... · · · ...f1(~x

(m)) f2(~x(m)) · · · fm(~x(m))

a1a2...am

=

y(1)

y(2)

...y(m)

f can be nonlinear!

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 9 / 35

Page 10: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Two Important Cases

f (x) = a0 + a1x + a2x2 + · · · + anx

n

“Vandermonde system”

f (x) = a cos(x + φ)

Mini-Fourier

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 10 / 35

Page 11: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Something Fishy

Why should you have to doexactly n experiments?

What if y(k) is measuredwith error?

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 11 / 35

Page 12: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Overfitting

OverfittingFinding patterns in statistical noise

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 12 / 35

Page 13: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Interpretation of Linear Systems

b1b2...bn

=

− ~r>1 −− ~r>2 −... · · · ...− ~r>n −

x1x2...xn

=

~r1 · ~x~r2 · ~x

...~rn · ~x

“Guess ~x by observing its dot products with ~ri’s.”

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 13 / 35

Page 14: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

What happens when m > n?

Rows are likely to be incompatible.

Next best thing:

A~x ≈ ~b

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 14 / 35

Page 15: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Least Squares

A~x ≈ ~b⇐⇒ min~x‖A~x−~b‖2

⇐⇒ A>A~x = A>~b

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 15 / 35

Page 16: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Least Squares

A~x ≈ ~b⇐⇒ min~x‖A~x−~b‖2

⇐⇒ A>A~x = A>~b

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 15 / 35

Page 17: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Normal Equations

A>A~x = A>~bA>A is the Gram matrix.

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 16 / 35

Page 18: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Regularization

Tikhonov regularization(“Ridge Regression;” Gaussian prior):

min~x‖A~x−~b‖22 + α‖~x‖22

Lasso (Laplace prior):

min~x‖A~x−~b‖22 + β‖~x‖1

Elastic Net:

min~x‖A~x−~b‖22 + α‖~x‖22 + β‖~x‖1

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 17 / 35

Page 19: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Regularization

Tikhonov regularization(“Ridge Regression;” Gaussian prior):

min~x‖A~x−~b‖22 + α‖~x‖22

Lasso (Laplace prior):

min~x‖A~x−~b‖22 + β‖~x‖1

Elastic Net:

min~x‖A~x−~b‖22 + α‖~x‖22 + β‖~x‖1

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 17 / 35

Page 20: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Least-Squares “In the Wild”

Make lots of expressionsapproximately zero.∑

i[fi(~x)]2

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 18 / 35

Page 21: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Example: Image Alignment

~yk ≈ A~xk +~bA ∈ R2×2 ~b ∈ R2

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 19 / 35

Page 22: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

A Ridiculously Important Matrix

A>ACS 205A: Mathematical Methods Designing and Analyzing Linear Systems 20 / 35

Page 23: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Properties of A>A

Symmetric

B is symmetric if B> = B.

Positive (Semi-)Definite

B is positive semidefinite if for all ~x ∈ Rn,

~x>B~x ≥ 0. B is positive definite if ~x>B~x > 0

whenever ~x 6= ~0.

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 21 / 35

Page 24: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Properties of A>A

Symmetric

B is symmetric if B> = B.

Positive (Semi-)Definite

B is positive semidefinite if for all ~x ∈ Rn,

~x>B~x ≥ 0. B is positive definite if ~x>B~x > 0

whenever ~x 6= ~0.

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 21 / 35

Page 25: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Pivoting for SPD C

Goal:Solve C~x = ~d for symmetric positive definite C.

C =

(c11 ~v

>

~v C̃

)CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 22 / 35

Page 26: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Forward Substitution

E =

(1/√c11

~0>

~r I(n−1)×(n−1)

)

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 23 / 35

Page 27: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Symmetry Experiment

Try post-multiplication:

ECE>CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 24 / 35

Page 28: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

What Enabled This?

I Positive definite =⇒existence of

√c11

I Symmetry =⇒apply E to both sides

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 25 / 35

Page 29: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Cholesky Factorization

C = LL>

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 26 / 35

Page 30: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Observation about Cholesky

L =

L11 0 0~̀>k `kk 0

L31 L32 L33

LL> =

× × ×~̀>k L>11

~̀>k~̀k + `2

kk ×× × ×

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 27 / 35

Page 31: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Observation about Cholesky

`kk =

√ckk − ‖~̀k‖22

L11~̀k = ~ck

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 28 / 35

Page 32: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Interpretation of Cholesky

<philosophy>

What is ~x>C~x?

</philosophy>

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 29 / 35

Page 33: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Harmonic Parameterization

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 30 / 35

Page 34: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Storing Sparse Matrices

Want O(n) storage if we have O(n) nonzeros!

Examples:

I List of triplets (r,c,val)

I For each row r, matrix[r] holds a

dictionary c7→A[r][c]

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 31 / 35

Page 35: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Fill

× × × × ×0 × 0 0 00 0 × 0 00 0 0 × 00 0 0 0 ×

⇒× × × × ×× × × × ×× × × × ×× × × × ×× × × × ×

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 32 / 35

Page 36: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Avoiding Fill

I Common strategy: Permute rows/columns

I Mostly heuristic constructions

Minimizing fill in Cholesky is NP-complete!

I Alternative strategy:

Avoid Gaussian elimination altogether

Lots more in a few weeks!

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 33 / 35

Page 37: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Banded Matrices

× ×× × ×× × ×× × ×× ×

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 34 / 35

Page 38: Designing and Analyzing Linear Systems - graphics.stanford.edugraphics.stanford.edu/.../designing_and_analyzing_systems.pdf · Designing and Analyzing Linear Systems CS 205A: Mathematical

Announcements Motivation Robo Warm-up Parametric Regression Least Squares Cholesky Factorization Sparsity Special Structure

Cyclic Matrices

a b c d

d a b c

c d a b

b c d a

Next

CS 205A: Mathematical Methods Designing and Analyzing Linear Systems 35 / 35