Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... ·...

77
TA Section - 4 Fei-Fei Li Linear Algebra Primer Professor FeiFei Li Stanford Vision Lab 23Sep13 1 Another, very indepth linear algebra review from CS229 is available here: hCp://cs229.stanford.edu/secHon/cs229linalg.pdf And a video discussion of linear algebra from EE263 is here (lectures 3 and 4): hCp://see.stanford.edu/see/lecturelist.aspx?coll=1700538319c649ed94972ba8bfcfe5f6

Transcript of Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... ·...

Page 1: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Linear  Algebra  Primer  

Professor  Fei-­‐Fei  Li  Stanford  Vision  Lab  

23-­‐Sep-­‐13  1  

Another,  very  in-­‐depth  linear  algebra  review  from  CS229  is  available  here:  hCp://cs229.stanford.edu/secHon/cs229-­‐linalg.pdf  And  a  video  discussion  of  linear  algebra  from  EE263  is  here  (lectures  3  and  4):  hCp://see.stanford.edu/see/lecturelist.aspx?coll=17005383-­‐19c6-­‐49ed-­‐9497-­‐2ba8bfcfe5f6  

Page 2: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Outline  •  Vectors  and  matrices  

–  Basic  Matrix  OperaHons  –  Special  Matrices  

•  TransformaHon  Matrices  

–  Homogeneous  coordinates  –  TranslaHon  

•  Matrix  inverse  

•  Matrix  rank  

•  Singular  Value  DecomposiHon  (SVD)  –  Use  for  image  compression  –  Use  for  Principal  Component  Analysis  (PCA)  –  Computer  algorithm  

23-­‐Sep-­‐13  2  

Page 3: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Outline  •  Vectors  and  matrices  

–  Basic  Matrix  OperaHons  –  Special  Matrices  

•  TransformaHon  Matrices  

–  Homogeneous  coordinates  –  TranslaHon  

•  Matrix  inverse  

•  Matrix  rank  

•  Singular  Value  DecomposiHon  (SVD)  –  Use  for  image  compression  –  Use  for  Principal  Component  Analysis  (PCA)  –  Computer  algorithm  

23-­‐Sep-­‐13  3  

Vectors  and  matrices  are  just  collecHons  of  ordered  numbers  that  represent  something:  movements  in  space,  scaling  factors,  pixel  brightnesses,  etc.  We’ll  define  some  common  uses  and  standard  operaHons  on  them.  

Page 4: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Vector

•  A  column  vector                                        where  

•  A  row  vector                                        where  

               denotes  the  transpose  operaHon  

23-­‐Sep-­‐13  4  

Page 5: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Vector •  We’ll  default  to  column  vectors  in  this  class  

•  You’ll  want  to  keep  track  of  the  orientaHon  of  your  vectors  when  programming  in  MATLAB  

•  You  can  transpose  a  vector  V  in  MATLAB  by  wriHng  V’.  (But  in  class  materials,  we  will  always  use  VT  to  indicate  transpose,  and  we  will  use  V’  to  mean  “V  prime”)  

23-­‐Sep-­‐13  5  

Page 6: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Vectors  have  two  main  uses  

•  Vectors  can  represent  an  offset  in  2D  or  3D  space  

•  Points  are  just  vectors  from  the  origin  

23-­‐Sep-­‐13  6  

•  Data  (pixels,  gradients  at  an  image  keypoint,  etc)  can  also  be  treated  as  a  vector  

•  Such  vectors  don’t  have  a  geometric  interpretaHon,  but  calculaHons  like  “distance”  can  sHll  have  value  

Page 7: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Matrix

•  A  matrix                                is  an  array  of  numbers  with  size  𝑚↓    by    𝑛→,  i.e.    m  rows  and  n  columns.  

•  If                              ,  we  say  that              is  square.

23-­‐Sep-­‐13  7  

Page 8: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Images  

23-­‐Sep-­‐13  8  

•  MATLAB  represents  an  image  as  a  matrix  of  pixel  brightnesses  

•  Note  that  matrix  coordinates  are  NOT  Cartesian  coordinates.  The  upper  lei  corner  is  [y,x]  =  (1,1)  

=  

Page 9: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Color  Images  •  Grayscale  images  have  one  number  per  pixel,  and  are  stored  as  an  m  ×  n  matrix.  

•  Color  images  have  3  numbers  per  pixel  –  red,  green,  and  blue  brightnesses  

•  Stored  as  an  m  ×  n  ×  3  matrix  

23-­‐Sep-­‐13  9  

=  

Page 10: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Basic  Matrix  OperaHons •  We  will  discuss:  

– AddiHon  – Scaling  – Dot  product  – MulHplicaHon  – Transpose  –  Inverse  /  pseudoinverse  – Determinant  /  trace  

23-­‐Sep-­‐13  10  

Page 11: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Matrix  OperaHons  •  AddiHon  

 – Can  only  add  a  matrix  with  matching  dimensions,  or  a  scalar.    

 

•  Scaling  

23-­‐Sep-­‐13  11  

Page 12: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Matrix  OperaHons •  Inner  product  (dot  product)  of  vectors  

– MulHply  corresponding  entries  of  two  vectors  and  add  up  the  result  

– x·∙y  is  also  |x||y|Cos(  the  angle  between  x  and  y  )  

 

23-­‐Sep-­‐13  12  

Page 13: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Matrix  OperaHons

•  Inner  product  (dot  product)  of  vectors  –  If  B  is  a  unit  vector,  then  A·∙B  gives  the  length  of  A  which  lies  in  the  direcHon  of  B  

 

23-­‐Sep-­‐13  13  

Page 14: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Matrix  OperaHons  •  MulHplicaHon  

•  The  product  AB  is:  

•  Each  entry  in  the  result  is  (that  row  of  A)  dot  product  with  (that  column  of  B)  

•  Many  uses,  which  will  be  covered  later  

23-­‐Sep-­‐13  14  

Page 15: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Matrix  OperaHons  •  MulHplicaHon  example:  

23-­‐Sep-­‐13  15  

– Each  entry  of  the  matrix  product  is  made  by  taking  the  dot  product  of  the  corresponding  row  in  the  lei  matrix,  with  the  corresponding  column  in  the  right  one.  

Page 16: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Matrix  OperaHons  

•  Powers  – By  convenHon,  we  can  refer  to  the  matrix  product  AA  as  A2,  and  AAA  as  A3,  etc.  

– Obviously  only  square  matrices  can  be  mulHplied  that  way  

23-­‐Sep-­‐13  16  

Page 17: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Matrix  OperaHons  •  Transpose  –  flip  matrix,  so  row  1  becomes  column  1  

•  A  useful  idenHty:    

23-­‐Sep-­‐13  17  

Page 18: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

•  Determinant  –                             returns  a  scalar  – Represents  area  (or  volume)  of  the  parallelogram  described  by  the  vectors  in  the  rows  of  the  matrix  

– For                                    ,                                  – ProperHes:

23-­‐Sep-­‐13  18  

Matrix  OperaHons  

Page 19: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

•  Trace  

–  Invariant  to  a  lot  of  transformaHons,  so  it’s  used  someHmes  in  proofs.  (Rarely  in  this  class  though.)  

– ProperHes:  

23-­‐Sep-­‐13  19  

Matrix  OperaHons  

Page 20: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Special  Matrices •  IdenHty  matrix  I

–  Square  matrix,  1’s  along  diagonal,  0’s  elsewhere  

– I    ·∙    [another  matrix]  =  [that  matrix]  

•  Diagonal  matrix  –  Square  matrix  with  numbers  along  diagonal,  0’s  elsewhere  

– A  diagonal  ·∙  [another  matrix]  scales  the  rows  of  that  matrix  

23-­‐Sep-­‐13  20  

Page 21: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Special  Matrices

•  Symmetric  matrix    •  Skew-­‐symmetric  matrix  

23-­‐Sep-­‐13  21  

Page 22: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Outline  •  Vectors  and  matrices  

–  Basic  Matrix  OperaHons  –  Special  Matrices  

•  TransformaHon  Matrices  –  Homogeneous  coordinates  –  TranslaHon  

•  Matrix  inverse  •  Matrix  rank  •  Singular  Value  DecomposiHon  (SVD)  

–  Use  for  image  compression  –  Use  for  Principal  Component  Analysis  (PCA)  –  Computer  algorithm  

23-­‐Sep-­‐13  22  

Matrix  mulHplicaHon  can  be  used  to  transform  vectors.  A  matrix  used  in  this  way  is  called  a  transformaHon  matrix.  

Page 23: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

TransformaHon

•  Matrices  can  be  used  to  transform  vectors  in  useful  ways,  through  mulHplicaHon:  x’=  Ax  

•  Simplest  is  scaling:  

(Verify  to  yourself  that  the  matrix  mulHplicaHon  works  out  this  way)

23-­‐Sep-­‐13  23  

Page 24: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

RotaHon  •  How  can  you  convert  a  vector  represented  in  frame  “0”  to  a  new,  rotated  coordinate  frame  “1”?  

•  Remember  what  a  vector  is:  [component  in  direcHon  of  the  frame’s  x  axis,  component  in  direcHon  of  y  axis]  

23-­‐Sep-­‐13  24  

Page 25: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

RotaHon  •  So  to  rotate  it  we  must  produce  this  vector:  [component  in  

direcHon  of  new  x  axis,  component  in  direcHon  of  new  y  axis]  

•  We  can  do  this  easily  with  dot  products!  •  New  x  coordinate  is  [original  vector]  dot  [the  new  x  axis]  •  New  y  coordinate  is  [original  vector]  dot  [the  new  y  axis]  

23-­‐Sep-­‐13  25  

Page 26: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

RotaHon  •  Insight:  this  is  what  happens  in  a  matrix*vector  mulHplicaHon  –  Result  x  coordinate  is  [original  vector]  dot    [matrix  row  1]  

–  So  matrix  mulHplicaHon  can  rotate  a  vector  p:  

23-­‐Sep-­‐13  26  

Page 27: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

RotaHon  •  Suppose  we  express  a  point  in  a  coordinate  system  which  is  rotated  lei  

•  If  we  use  the  result  in  the  same  coordinate  system,  we  have  rotated  the  point  right  

23-­‐Sep-­‐13  27  

– Thus,  rotaHon  matrices  can  be  used  to  rotate  vectors.  We’ll  usually  think  of  them  in  that  sense-­‐-­‐  as  operators  to  rotate  vectors  

Page 28: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

2D  RotaHon  Matrix  Formula  Counter-clockwise rotation by an angle θ

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡ −=⎥

⎤⎢⎣

yx

yx

θθ

θθ

cossinsincos

''

P  

x  

y’ P’

θ

x’

y  

PRP'=

yθsinxθcos'x −=xθsinyθcos'y +=

23-­‐Sep-­‐13  28  

Page 29: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

TransformaHon  Matrices  •  MulHple  transformaHon  matrices  can  be  used  to  transform  a  point:    p’=R2  R1  S  p  

•  The  effect  of  this  is  to  apply  their  transformaHons  one  aier  the  other,  from  right  to  le4.  

•  In  the  example  above,  the  result  is    (R2  (R1  (S  p)))  

•  The  result  is  exactly  the  same  if  we  mulHply  the  matrices  first,  to  form  a  single  transformaHon  matrix:  p’=(R2  R1  S)  p  

23-­‐Sep-­‐13  29  

Page 30: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Homogeneous  system

•  In  general,  a  matrix  mulHplicaHon  lets  us  linearly  combine  components  of  a  vector  

– This  is  sufficient  for  scale,  rotate,  skew  transformaHons.  

– But  noHce,  we  can’t  add  a  constant!  L

23-­‐Sep-­‐13  30  

Page 31: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Homogeneous  system

– The  (somewhat  hacky)  soluHon?  SHck  a  “1”  at  the  end  of  every  vector:  

 – Now  we  can  rotate,  scale,  and  skew  like  before,  AND  translate  (note  how  the  mulHplicaHon  works  out,  above)  

– This  is  called  “homogeneous  coordinates”  

23-­‐Sep-­‐13  31  

Page 32: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Homogeneous  system –  In  homogeneous  coordinates,  the  mulHplicaHon  works  out  so  the  rightmost  column  of  the  matrix  is  a  vector  that  gets  added.  

– Generally,  a  homogeneous  transformaHon  matrix  will  have  a  boCom  row  of  [0  0  1],  so  that  the  result  has  a  “1”  at  the  boCom  too.  

23-­‐Sep-­‐13  32  

Page 33: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Homogeneous  system

•  One  more  thing  we  might  want:  to  divide  the  result  by  something  –  For  example,  we  may  want  to  divide  by  a  coordinate,  to  make  things  scale  down  as  they  get  farther  away  in  a  camera  image  

– Matrix  mulHplicaHon  can’t  actually  divide  –  So,  by  conven8on,  in  homogeneous  coordinates,  we’ll  divide  the  result  by  its  last  coordinate  aier  doing  a  matrix  mulHplicaHon  

23-­‐Sep-­‐13  33  

Page 34: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

2D  TranslaHon  

t

P  

P’

23-­‐Sep-­‐13  34  

Page 35: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li! 23-­‐Sep-­‐13  35  

2D  TranslaHon  using  Homogeneous  Coordinates  

P  

x  

y  

tx  

ty  

P’ t  

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

=

⎥⎥⎥

⎢⎢⎢

+

+

11001001

1' y

xtt

tytx

y

x

y

x

P

)1,,(),()1,,(),(

yxyx ttttyxyx

→=

→=

tP

t  P  

PTPtI

⋅=⋅⎥⎦

⎤⎢⎣

⎡=

10

Page 36: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Scaling  

P  

P’

23-­‐Sep-­‐13  36  

Page 37: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Scaling  EquaHon  

P

x

y

sx x

P’ sy  y  

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

=

⎥⎥⎥

⎢⎢⎢

11000000

1' y

xs

sysxs

y

x

y

x

P

)1,,(),(')1,,(),(

ysxsysxsyxyx

yxyx →=

→=

PP

S

PSP100S

⋅=⋅⎥⎦

⎤⎢⎣

⎡=

'

)ys,xs(')y,x( yx=→= PP

23-­‐Sep-­‐13  37  

Page 38: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

P

P’=S·P P’’=T·P’

P’’=T  ·∙  P’=T  ·∙(S  ·∙  P)=  T  ·∙  S  ·∙P  =  A  ·∙  P  

Scaling  &  TranslaHng  

P’’

23-­‐Sep-­‐13  38  

Page 39: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Scaling  &  TranslaHng  

⎥⎥⎥

⎢⎢⎢

⎥⎦

⎤⎢⎣

⎡=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

+

+

=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

=

=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

=⋅⋅=

110

1111000

0

11000000

1001001

''

yx

tSyx

tystxs

yx

tsts

yx

ss

tt

yy

xx

yy

xx

y

x

y

x

PSTP

A 23-­‐Sep-­‐13  39  

Page 40: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

TranslaHng  &  Scaling      !=  Scaling  &  TranslaHng  

⎥⎥⎥

⎢⎢⎢

+

+

=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

=

=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

=⋅⋅=

1tsystsxs

1yx

100tss0ts0s

1yx

100t10t01

1000s000s

'''

yyy

xxx

yyy

xxx

y

x

y

x

PTSP

⎥⎥⎥

⎢⎢⎢

+

+

=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

=⋅⋅=

1tystxs

1yx

100ts0t0s

1yx

1000s000s

100t10t01

''' yy

xx

yy

xx

y

x

y

x

PSTP

23-­‐Sep-­‐13  40  

Page 41: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

RotaHon  

P  

P’

23-­‐Sep-­‐13  41  

Page 42: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

RotaHon  EquaHons  Counter-clockwise rotation by an angle θ

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡ −=⎥

⎤⎢⎣

yx

yx

θθ

θθ

cossinsincos

''

P  

x  

y’ P’

θ

x’

y  

PRP'=

yθsinxθcos'x −=xθsinyθcos'y +=

23-­‐Sep-­‐13  42  

Page 43: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

RotaHon  Matrix  ProperHes •  Transpose  of  a  rotaHon  matrix  produces  a  rotaHon  in  the  opposite  direcHon  

•  The  rows  of  a  rotaHon  matrix  are  always  mutually  perpendicular  (a.k.a.  orthogonal)  unit  vectors  –  (and  so  are  its  columns)  

23-­‐Sep-­‐13  43  

1)det( =

=⋅=⋅

RIRRRR TT

Page 44: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

ProperHes  

A  2D  rotaHon  matrix  is  2x2    

1)det( =

=⋅=⋅

RIRRRR TT

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡ −=⎥

⎤⎢⎣

yx

yx

θθ

θθ

cossinsincos

''

Note: R belongs to the category of normal matrices and satisfies many interesting properties:

23-­‐Sep-­‐13  44  

Page 45: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

RotaHon+  Scaling  +TranslaHon  P’=  (T  R  S)  P  

=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡ −

⎥⎥⎥

⎢⎢⎢

=⋅⋅⋅=

1yx

1000s000s

1000θcossinθ0inθsθcos

100t10t01

R' y

x

y

x

PSTP

=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡ −

=

1yx

1000s000s

100tθcossinθtinθsθcos

y

x

y

x

⎥⎥⎥

⎢⎢⎢

⎥⎦

⎤⎢⎣

⎡=

⎥⎥⎥

⎢⎢⎢

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡=

110

1100

10yx

tSRyx

StR

23-­‐Sep-­‐13  45  

This  is  the  form  of  the  general-­‐purpose  transformaHon  matrix  

Page 46: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Outline  •  Vectors  and  matrices  

–  Basic  Matrix  OperaHons  –  Special  Matrices  

•  TransformaHon  Matrices  –  Homogeneous  coordinates  –  TranslaHon  

•  Matrix  inverse  •  Matrix  rank  •  Singular  Value  DecomposiHon  (SVD)  

–  Use  for  image  compression  –  Use  for  Principal  Component  Analysis  (PCA)  –  Computer  algorithm  

23-­‐Sep-­‐13  46  

The  inverse  of  a  transformaHon  matrix  reverses  its  effect  

Page 47: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

•  Given  a  matrix  A,  its  inverse  A-­‐1    is  a  matrix  such  that  AA-­‐1  =  A-­‐1A  =  I

•  E.g.    •  Inverse  does  not  always  exist.  If  A-­‐1  exists,  A  is  inver2ble  or  non-­‐singular.  Otherwise,  it’s  singular.  

•  Useful  idenHHes,  for  matrices  that  are  inverHble:  

23-­‐Sep-­‐13  47  

Inverse  

Page 48: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

•  Pseudoinverse  –  Say  you  have  the  matrix  equaHon  AX=B,  where  A  and  B  are  known,  and  you  want  to  solve  for  X  

–  You  could  use  MATLAB  to  calculate  the  inverse  and  premulHply  by  it:  A-­‐1AX=A-­‐1B  →  X=A-­‐1B  

– MATLAB  command  would  be  inv(A)*B  –  But  calculaHng  the  inverse  for  large  matrices  oien  brings  problems  with  computer  floaHng-­‐point  resoluHon  (because  it  involves  working  with  very  small  and  very  large  numbers  together).    

– Or,  your  matrix  might  not  even  have  an  inverse.  

23-­‐Sep-­‐13  48  

Matrix  OperaHons  

Page 49: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

•  Pseudoinverse  –  Fortunately,  there  are  workarounds  to  solve  AX=B  in  these  situaHons.  And  MATLAB  can  do  them!  

–  Instead  of  taking  an  inverse,  directly  ask  MATLAB  to  solve  for  X  in  AX=B,  by  typing  A\B  

– MATLAB  will  try  several  appropriate  numerical  methods  (including  the  pseudoinverse  if  the  inverse  doesn’t  exist)  

– MATLAB  will  return  the  value  of  X  which  solves  the  equaHon  

•  If  there  is  no  exact  soluHon,  it  will  return  the  closest  one  •  If  there  are  many  soluHons,  it  will  return  the  smallest  one  

23-­‐Sep-­‐13  49  

Matrix  OperaHons  

Page 50: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

•  MATLAB  example:  

23-­‐Sep-­‐13  50  

Matrix  OperaHons  

>> x = A\B x = 1.0000 -0.5000

Page 51: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Outline  •  Vectors  and  matrices  

–  Basic  Matrix  OperaHons  –  Special  Matrices  

•  TransformaHon  Matrices  –  Homogeneous  coordinates  –  TranslaHon  

•  Matrix  inverse  •  Matrix  rank  •  Singular  Value  DecomposiHon  (SVD)  

–  Use  for  image  compression  –  Use  for  Principal  Component  Analysis  (PCA)  –  Computer  algorithm  

23-­‐Sep-­‐13  51  

The  rank  of  a  transformaHon  matrix  tells  you  how  many  dimensions  it  transforms  a  vector  to.  

Page 52: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Linear  independence •  Suppose  we  have  a  set  of  vectors  v1, …, vn •  If  we  can  express  v1  as  a  linear  combinaHon  of  the  other  vectors  v2…vn,  then  v1  is  linearly  dependent  on  the  other  vectors.    –  The  direcHon  v1  can  be  expressed  as  a  combinaHon  of  the  direcHons  v2…vn.  (E.g.  v1  =  .7 v2  -­‐.7 v4)  

•  If  no  vector  is  linearly  dependent  on  the  rest  of  the  set,  the  set  is  linearly  independent.  –  Common  case:  a  set  of  vectors  v1, …, vn  is  always  linearly  independent  if  each  vector  is  perpendicular  to  every  other  vector  (and  non-­‐zero)    

23-­‐Sep-­‐13  52  

Page 53: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Linear  independence

Not  linearly  independent

23-­‐Sep-­‐13  53  

Linearly  independent  set

Page 54: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Matrix  rank

•  Column/row  rank      – Column  rank  always  equals  row  rank  

•  Matrix  rank  

 23-­‐Sep-­‐13  54  

Page 55: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Matrix  rank •  For  transformaHon  matrices,  the  rank  tells  you  the  dimensions  of  the  output  

•  E.g.  if  rank  of  A  is  1,  then  the  transformaHon  

           p’=Ap    maps  points  onto  a  line.    

•  Here’s  a  matrix  with  rank  1:    

23-­‐Sep-­‐13  55  

All  points  get  mapped  to  the  line  y=2x  

Page 56: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Matrix  rank •  If  an  m  x  m  matrix  is  rank  m,  we  say  it’s  “full  rank”  

– Maps  an  m  x  1  vector  uniquely  to  another  m  x  1  vector  – An  inverse  matrix  can  be  found  

•  If  rank  <  m,  we  say  it’s  “singular”  – At  least  one  dimension  is  ge|ng  collapsed.  No  way  to  look  at  the  result  and  tell  what  the  input  was  

–  Inverse  does  not  exist  •  Inverse  also  doesn’t  exist  for  non-­‐square  matrices  

 

23-­‐Sep-­‐13  56  

Page 57: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Outline  •  Vectors  and  matrices  

–  Basic  Matrix  OperaHons  –  Special  Matrices  

•  TransformaHon  Matrices  –  Homogeneous  coordinates  –  TranslaHon  

•  Matrix  inverse  •  Matrix  rank  •  Singular  Value  DecomposiHon  (SVD)  

–  Use  for  image  compression  –  Use  for  Principal  Component  Analysis  (PCA)  –  Computer  algorithm  

23-­‐Sep-­‐13  57  

SVD  is  an  algorithm  that  represents  any  matrix  as  the  product  of  3  matrices.  It  is  used  to  discover  interesHng  structure  in  a  matrix.  

Page 58: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Singular  Value  DecomposiHon  (SVD) •  There  are  several  computer  algorithms  that  can  “factor”  a  matrix,  represenHng  it  as  the  product  of  some  other  matrices  

•  The  most  useful  of  these  is  the  Singular  Value  DecomposiHon.  

•  Represents  any  matrix  A  as  a  product  of  three  matrices:  UΣVT  

•  MATLAB  command:  [U,S,V]=svd(A)

23-­‐Sep-­‐13  58  

Page 59: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Singular  Value  DecomposiHon  (SVD)

         UΣVT  =  A  •  Where  U  and  V  are  rotaHon  matrices,  and  Σ  is  a  scaling  matrix.  For  example:  

23-­‐Sep-­‐13  59  

Page 60: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Singular  Value  DecomposiHon  (SVD)

•  Beyond  2D:  –  In  general,  if  A  is  m  x  n,  then  U  will  be  m  x  m,  Σ  will  be  m  x  n,  and  VT  will  be  n  x  n.    

–  (Note  the  dimensions  work  out  to  produce  m  x  n  aier  mulHplicaHon)  

23-­‐Sep-­‐13  60  

Page 61: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Singular  Value  DecomposiHon  (SVD) •  U  and  V  are  always  rotaHon  matrices.    

– Geometric  rotaHon  may  not  be  an  applicable  concept,  depending  on  the  matrix.  So  we  call  them  “unitary”  matrices  –  each  column  is  a  unit  vector.    

•  Σ  is  a  diagonal  matrix  – The  number  of  nonzero  entries  =  rank  of  A  – The  algorithm  always  sorts  the  entries  high  to  low

23-­‐Sep-­‐13  61  

Page 62: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

SVD  ApplicaHons •  We’ve  discussed  SVD  in  terms  of  geometric  transformaHon  matrices  

•  But  SVD  of  an  image  matrix  can  also  be  very  useful  

•  To  understand  this,  we’ll  look  at  a  less  geometric  interpretaHon  of  what  SVD  is  doing

23-­‐Sep-­‐13  62  

Page 63: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

SVD  ApplicaHons

•  Look  at  how  the  mulHplicaHon  works  out,  lei  to  right:  •  Column  1  of  U  gets  scaled  by  the  first  value  from  Σ.  

•  The  resulHng  vector  gets  scaled  by  row  1  of  VT  to  produce  a  contribuHon  to  the  columns  of  A  

23-­‐Sep-­‐13  63  

Page 64: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

SVD  ApplicaHons

•  Each  product  of  (column  i  of  U)·∙(value  i  from  Σ)·∙(row  i  of  VT)  produces  a  component  of  the  final  A.  

23-­‐Sep-­‐13  64  

+  

=  

Page 65: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

SVD  ApplicaHons

•  We’re  building  A  as  a  linear  combinaHon  of  the  columns  of  U  

•  Using  all  columns  of  U,  we’ll  rebuild  the  original  matrix  perfectly  

•  But,  in  real-­‐world  data,  oien  we  can  just  use  the  first  few  columns  of  U  and  we’ll  get  something  close  (e.g.  the  first  Apar)al,  above)  

23-­‐Sep-­‐13  65  

Page 66: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

SVD  ApplicaHons

•  We  can  call  those  first  few  columns  of  U  the  Principal  Components  of  the  data  

•  They  show  the  major  paCerns  that  can  be  added  to  produce  the  columns  of  the  original  matrix  

•  The  rows  of  VT  show  how  the  principal  components  are  mixed  to  produce  the  columns  of  the  matrix  

23-­‐Sep-­‐13  66  

Page 67: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

SVD  ApplicaHons

We  can  look  at  Σ  to  see  that  the  first  column  has  a  large  effect  

23-­‐Sep-­‐13  67  

while  the  second  column  has  a  much  smaller  effect  in  this  example  

Page 68: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

SVD  ApplicaHons

23-­‐Sep-­‐13  68  

•  For  this  image,  using  only  the  first  10  of  300  principal  components  produces  a  recognizable  reconstrucHon  

•  So,  SVD  can  be  used  for  image  compression  

Page 69: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Principal  Component  Analysis

•  Remember,  columns  of  U  are  the  Principal  Components  of  the  data:  the  major  paCerns  that  can  be  added  to  produce  the  columns  of  the  original  matrix  

•  One  use  of  this  is  to  construct  a  matrix  where  each  column  is  a  separate  data  sample  

•  Run  SVD  on  that  matrix,  and  look  at  the  first  few  columns  of  U  to  see  paCerns  that  are  common  among  the  columns  

•  This  is  called  Principal  Component  Analysis  (or  PCA)  of  the  data  samples  

23-­‐Sep-­‐13  69  

Page 70: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Principal  Component  Analysis

•  Oien,  raw  data  samples  have  a  lot  of  redundancy  and  paCerns  

•  PCA  can  allow  you  to  represent  data  samples  as  weights  on  the  principal  components,  rather  than  using  the  original  raw  form  of  the  data  

•  By  represenHng  each  sample  as  just  those  weights,  you  can  represent  just  the  “meat”  of  what’s  different  between  samples.  

•  This  minimal  representaHon  makes  machine  learning  and  other  algorithms  much  more  efficient  

23-­‐Sep-­‐13  70  

Page 71: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Outline  •  Vectors  and  matrices  

–  Basic  Matrix  OperaHons  –  Special  Matrices  

•  TransformaHon  Matrices  –  Homogeneous  coordinates  –  TranslaHon  

•  Matrix  inverse  •  Matrix  rank  •  Singular  Value  DecomposiHon  (SVD)  

–  Use  for  image  compression  –  Use  for  Principal  Component  Analysis  (PCA)  –  Computer  algorithm  

23-­‐Sep-­‐13  71  

Computers  can  compute  SVD  very  quickly.  We’ll  briefly  discuss  the  algorithm,  for  those  who  are  interested.  

Page 72: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Addendum:  How  is  SVD  computed?

•  For  this  class:  tell  MATLAB  to  do  it.  Use  the  result.  

•  But,  if  you’re  interested,  one  computer  algorithm  to  do  it  makes  use  of  Eigenvectors  – The  following  material  is  presented  to  make  SVD  less  of  a  “magical  black  box.”  But  you  will  do  fine  in  this  class  if  you  treat  SVD  as  a  magical  black  box,  as  long  as  you  remember  its  properHes  from  the  previous  slides.

23-­‐Sep-­‐13  72  

Page 73: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Eigenvector  definiHon

•  Suppose  we  have  a  square  matrix  A.  We  can  solve  for  vector  x  and  scalar  λ  such  that  Ax=  λx  

•  In  other  words,  find  vectors  where,  if  we  transform  them  with  A,  the  only  effect  is  to  scale  them  with  no  change  in  direcHon.  

•  These  vectors  are  called  eigenvectors  (German  for  “self  vector”  of  the  matrix),  and  the  scaling  factors  λ  are  called  eigenvalues  

•  An  m  x  m  matrix  will  have  ≤  m  eigenvectors  where  λ  is  nonzero

23-­‐Sep-­‐13  73  

Page 74: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Finding  eigenvectors •  Computers  can  find  an  x  such  that  Ax=  λx  using  this  iteraHve  algorithm:  

–  x=random  unit  vector  – while(x  hasn’t  converged)  

•  x=Ax  •  normalize  x    

•  x  will  quickly  converge  to  an  eigenvector  •  Some  simple  modificaHons  will  let  this  algorithm  find  all  eigenvectors  

23-­‐Sep-­‐13  74  

Page 75: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Finding  SVD •  Eigenvectors  are  for  square  matrices,  but  SVD  is  for  all  matrices  

•  To  do  svd(A),  computers  can  do  this:  – Take  eigenvectors  of  AAT  (matrix  is  always  square).    

•  These  eigenvectors  are  the  columns  of  U.    •  Square  root  of  eigenvalues  are  the  singular  values  (the  entries  of  Σ).  

– Take  eigenvectors  of  ATA  (matrix  is  always  square).    

•  These  eigenvectors  are  columns  of  V  (or  rows  of  VT)  

23-­‐Sep-­‐13  75  

Page 76: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

Finding  SVD •  Moral  of  the  story:  SVD  is  fast,  even  for  large  matrices  

•  It’s  useful  for  a  lot  of  stuff  •  There  are  also  other  algorithms  to  compute  SVD  or  part  of  the  SVD  – MATLAB’s  svd()  command  has  opHons  to  efficiently  compute  only  what  you  need,  if  performance  becomes  an  issue  

23-­‐Sep-­‐13  76  

A  detailed  geometric  explanaHon  of  SVD  is  here:  hCp://www.ams.org/samplings/feature-­‐column/fcarc-­‐svd    

Page 77: Linear’AlgebraPrimer’vision.stanford.edu › teaching › cs131_fall1314_nope › ... · 2013-09-24 · TA Section - 4 !!! Fei-Fei Li! Outline’ • Vectors’and’matrices’

TA Section - 4 !!!

Fei-Fei Li!

What  we  have  learned  •  Vectors  and  matrices  

–  Basic  Matrix  OperaHons  –  Special  Matrices  

•  TransformaHon  Matrices  

–  Homogeneous  coordinates  –  TranslaHon  

•  Matrix  inverse  

•  Matrix  rank  

•  Singular  Value  DecomposiHon  (SVD)  –  Use  for  image  compression  –  Use  for  Principal  Component  Analysis  (PCA)  –  Computer  algorithm  

23-­‐Sep-­‐13  77