Linear Regression and Gradient Descent

61
Linear Regression

Transcript of Linear Regression and Gradient Descent

Page 1: Linear Regression and Gradient Descent

Linear  Regression  

Page 2: Linear Regression and Gradient Descent

Regression  Given:  –  Data                                                                                            where  

–  Corresponding  labels                                                                                      where      

2  

0  

1  

2  

3  

4  

5  

6  

7  

8  

9  

1975   1980   1985   1990   1995   2000   2005   2010   2015  

Septem

ber  A

rc+c  Sea  Ice  Extent  

(1,000,000  sq

 km)  

Year  

Data  from  G.  WiF.  Journal  of  StaJsJcs  EducaJon,  Volume  21,  Number  1  (2013)  

Linear  Regression  QuadraJc  Regression  

X =n

x

(1), . . . ,x(n)o

x

(i) 2 Rd

y =n

y(1), . . . , y(n)o

y(i) 2 R

Page 3: Linear Regression and Gradient Descent

•  97  samples,  parJJoned  into  67  train  /  30  test  •  Eight  predictors  (features):  

–  6  conJnuous  (4  log  transforms),  1  binary,  1  ordinal  •  ConJnuous  outcome  variable:  

–  lpsa:  log(prostate  specific  anJgen  level)  

Prostate  Cancer  Dataset  

Based  on  slide  by  Jeff  Howbert  

Page 4: Linear Regression and Gradient Descent

Linear  Regression  •  Hypothesis:    

•  Fit  model  by  minimizing  sum  of  squared  errors    

5  

x x

y = ✓0 + ✓1x1 + ✓2x2 + . . .+ ✓dxd =dX

j=0

✓jxj

Assume  x0  =  1

y = ✓0 + ✓1x1 + ✓2x2 + . . .+ ✓dxd =dX

j=0

✓jxj

Figures  are  courtesy  of  Greg  Shakhnarovich  

Page 5: Linear Regression and Gradient Descent

Least  Squares  Linear  Regression  

6  

•  Cost  FuncJon  

•  Fit  by  solving    

J(✓) =1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

⌘2

min✓

J(✓)

Page 6: Linear Regression and Gradient Descent

IntuiJon  Behind  Cost  FuncJon  

7  

For  insight  on  J(),  let’s  assume                              so      x 2 R ✓ = [✓0, ✓1]

J(✓) =1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

⌘2

Based  on  example  by  Andrew  Ng  

Page 7: Linear Regression and Gradient Descent

IntuiJon  Behind  Cost  FuncJon  

8  

0  

1  

2  

3  

0   1   2   3  

y  

x  

(for  fixed          ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameter            )  

0  

1  

2  

3  

-­‐0.5   0   0.5   1   1.5   2   2.5  

For  insight  on  J(),  let’s  assume                              so      x 2 R ✓ = [✓0, ✓1]

J(✓) =1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

⌘2

Based  on  example  by  Andrew  Ng  

Page 8: Linear Regression and Gradient Descent

IntuiJon  Behind  Cost  FuncJon  

9  

0  

1  

2  

3  

0   1   2   3  

y  

x  

(for  fixed          ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameter            )  

0  

1  

2  

3  

-­‐0.5   0   0.5   1   1.5   2   2.5  

For  insight  on  J(),  let’s  assume                              so      x 2 R ✓ = [✓0, ✓1]

J(✓) =1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

⌘2

J([0, 0.5]) =1

2⇥ 3

⇥(0.5� 1)2 + (1� 2)2 + (1.5� 3)2

⇤⇡ 0.58Based  on  example  

by  Andrew  Ng  

Page 9: Linear Regression and Gradient Descent

IntuiJon  Behind  Cost  FuncJon  

10  

0  

1  

2  

3  

0   1   2   3  

y  

x  

(for  fixed          ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameter            )  

0  

1  

2  

3  

-­‐0.5   0   0.5   1   1.5   2   2.5  

For  insight  on  J(),  let’s  assume                              so      x 2 R ✓ = [✓0, ✓1]

J(✓) =1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

⌘2

J([0, 0]) ⇡ 2.333

Based  on  example  by  Andrew  Ng  

J()  is  concave  

Page 10: Linear Regression and Gradient Descent

IntuiJon  Behind  Cost  FuncJon  

11  Slide  by  Andrew  Ng  

Page 11: Linear Regression and Gradient Descent

IntuiJon  Behind  Cost  FuncJon  

12  

(for  fixed                      ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameters                        )  

Slide  by  Andrew  Ng  

Page 12: Linear Regression and Gradient Descent

IntuiJon  Behind  Cost  FuncJon  

13  

(for  fixed                      ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameters                        )  

Slide  by  Andrew  Ng  

Page 13: Linear Regression and Gradient Descent

IntuiJon  Behind  Cost  FuncJon  

14  

(for  fixed                      ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameters                        )  

Slide  by  Andrew  Ng  

Page 14: Linear Regression and Gradient Descent

IntuiJon  Behind  Cost  FuncJon  

15  

(for  fixed                      ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameters                        )  

Slide  by  Andrew  Ng  

Page 15: Linear Regression and Gradient Descent

Basic  Search  Procedure  •  Choose  iniJal  value  for    •  UnJl  we  reach  a  minimum:  –  Choose  a  new  value  for            to  reduce    

16  

✓ J(✓)

θ1 θ0

J(θ0,θ1)

Figure  by  Andrew  Ng  

Page 16: Linear Regression and Gradient Descent

Basic  Search  Procedure  •  Choose  iniJal  value  for    •  UnJl  we  reach  a  minimum:  –  Choose  a  new  value  for            to  reduce    

17  

J(✓)

θ1 θ0

J(θ0,θ1)

Figure  by  Andrew  Ng  

Page 17: Linear Regression and Gradient Descent

Basic  Search  Procedure  •  Choose  iniJal  value  for    •  UnJl  we  reach  a  minimum:  –  Choose  a  new  value  for            to  reduce    

18  

J(✓)

θ1 θ0

J(θ0,θ1)

Figure  by  Andrew  Ng  

Since  the  least  squares  objecJve  funcJon  is  convex  (concave),  we  don’t  need  to  worry  about  local  minima  

Page 18: Linear Regression and Gradient Descent

Gradient  Descent  •  IniJalize    •  Repeat  unJl  convergence  

19  

✓j ✓j � ↵@

@✓jJ(✓) simultaneous  update  

for  j  =  0  ...  d  

learning  rate  (small)    e.g.,  α  =  0.05  

J(✓)

0  

1  

2  

3  

-­‐0.5   0   0.5   1   1.5   2   2.5  

Page 19: Linear Regression and Gradient Descent

Gradient  Descent  •  IniJalize    •  Repeat  unJl  convergence  

20  

✓j ✓j � ↵@

@✓jJ(✓) simultaneous  update  

for  j  =  0  ...  d  

For  Linear  Regression:  @

@✓jJ(✓) =

@

@✓j

1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘2

=@

@✓j

1

2n

nX

i=1

dX

k=0

✓kx(i)k � y

(i)

!2

=1

n

nX

i=1

dX

k=0

✓kx(i)k � y

(i)

!⇥ @

@✓j

dX

k=0

✓kx(i)k � y

(i)

!

=1

n

nX

i=1

dX

k=0

✓kx(i)k � y

(i)

!x

(i)j

=1

n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘x

(i)j

Page 20: Linear Regression and Gradient Descent

Gradient  Descent  •  IniJalize    •  Repeat  unJl  convergence  

21  

✓j ✓j � ↵@

@✓jJ(✓) simultaneous  update  

for  j  =  0  ...  d  

For  Linear  Regression:  @

@✓jJ(✓) =

@

@✓j

1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘2

=@

@✓j

1

2n

nX

i=1

dX

k=0

✓kx(i)k � y

(i)

!2

=1

n

nX

i=1

dX

k=0

✓kx(i)k � y

(i)

!⇥ @

@✓j

dX

k=0

✓kx(i)k � y

(i)

!

=1

n

nX

i=1

dX

k=0

✓kx(i)k � y

(i)

!x

(i)j

=1

n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘x

(i)j

Page 21: Linear Regression and Gradient Descent

Gradient  Descent  •  IniJalize    •  Repeat  unJl  convergence  

22  

✓j ✓j � ↵@

@✓jJ(✓) simultaneous  update  

for  j  =  0  ...  d  

For  Linear  Regression:  @

@✓jJ(✓) =

@

@✓j

1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘2

=@

@✓j

1

2n

nX

i=1

dX

k=0

✓kx(i)k � y

(i)

!2

=1

n

nX

i=1

dX

k=0

✓kx(i)k � y

(i)

!⇥ @

@✓j

dX

k=0

✓kx(i)k � y

(i)

!

=1

n

nX

i=1

dX

k=0

✓kx(i)k � y

(i)

!x

(i)j

=1

n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘x

(i)j

Page 22: Linear Regression and Gradient Descent

Gradient  Descent  •  IniJalize    •  Repeat  unJl  convergence  

23  

✓j ✓j � ↵@

@✓jJ(✓) simultaneous  update  

for  j  =  0  ...  d  

For  Linear  Regression:  @

@✓jJ(✓) =

@

@✓j

1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘2

=@

@✓j

1

2n

nX

i=1

dX

k=0

✓kx(i)k � y

(i)

!2

=1

n

nX

i=1

dX

k=0

✓kx(i)k � y

(i)

!⇥ @

@✓j

dX

k=0

✓kx(i)k � y

(i)

!

=1

n

nX

i=1

dX

k=0

✓kx(i)k � y

(i)

!x

(i)j

=1

n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘x

(i)j

Page 23: Linear Regression and Gradient Descent

Gradient  Descent  for  Linear  Regression  

•  IniJalize    •  Repeat  unJl  convergence  

24  

simultaneous  update    for  j  =  0  ...  d

✓j ✓j � ↵

1

n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘x

(i)j

•  To  achieve  simultaneous  update  •  At  the  start  of  each  GD  iteraJon,  compute  •  Use  this  stored  value  in  the  update  step  loop  

h✓

⇣x

(i)⌘

kvk2 =

sX

i

v2i =q

v21 + v22 + . . .+ v2|v|L2  norm:  

k✓new

� ✓old

k2 < ✏•  Assume  convergence  when    

Page 24: Linear Regression and Gradient Descent

Gradient  Descent  

25  

(for  fixed                      ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameters                        )  

h(x)  =  -­‐900  –  0.1  x

Slide  by  Andrew  Ng  

Page 25: Linear Regression and Gradient Descent

Gradient  Descent  

26  

(for  fixed                      ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameters                        )  

Slide  by  Andrew  Ng  

Page 26: Linear Regression and Gradient Descent

Gradient  Descent  

27  

(for  fixed                      ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameters                        )  

Slide  by  Andrew  Ng  

Page 27: Linear Regression and Gradient Descent

Gradient  Descent  

28  

(for  fixed                      ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameters                        )  

Slide  by  Andrew  Ng  

Page 28: Linear Regression and Gradient Descent

Gradient  Descent  

29  

(for  fixed                      ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameters                        )  

Slide  by  Andrew  Ng  

Page 29: Linear Regression and Gradient Descent

Gradient  Descent  

30  

(for  fixed                      ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameters                        )  

Slide  by  Andrew  Ng  

Page 30: Linear Regression and Gradient Descent

Gradient  Descent  

31  

(for  fixed                      ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameters                        )  

Slide  by  Andrew  Ng  

Page 31: Linear Regression and Gradient Descent

Gradient  Descent  

32  

(for  fixed                      ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameters                        )  

Slide  by  Andrew  Ng  

Page 32: Linear Regression and Gradient Descent

Gradient  Descent  

33  

(for  fixed                      ,  this  is  a  funcJon  of  x)   (funcJon  of  the  parameters                        )  

Slide  by  Andrew  Ng  

Page 33: Linear Regression and Gradient Descent

Choosing  α  

34  

α  too  small  

slow  convergence  

α  too  large  

Increasing  value  for  J(✓)

•  May  overshoot  the  minimum  •  May  fail  to  converge  •  May  even  diverge  

To  see  if  gradient  descent  is  working,  print  out                      each  iteraJon  •  The  value  should  decrease  at  each  iteraJon  •  If  it  doesn’t,  adjust  α  

J(✓)

Page 34: Linear Regression and Gradient Descent

Extending  Linear  Regression  to    More  Complex  Models  

•  The  inputs  X  for  linear  regression  can  be:  –  Original  quanJtaJve  inputs  –  TransformaJon  of  quanJtaJve  inputs  

•  e.g.  log,  exp,  square  root,  square,  etc.  –  Polynomial  transformaJon  

•   example:    y  =  β0  +  β1⋅x  +  β2⋅x2  +  β3⋅x3  –  Basis  expansions  –  Dummy  coding  of  categorical  inputs  –  InteracJons  between  variables  

•   example:  x3  =  x1  ⋅  x2  

This  allows  use  of  linear  regression  techniques    to  fit  non-­‐linear  datasets.  

Page 35: Linear Regression and Gradient Descent

Linear  Basis  FuncJon  Models  

•  Generally,  

•  Typically,                                            so  that                  acts  as  a  bias  •  In  the  simplest  case,  we  use  linear  basis  funcJons  :  

h✓(x) =dX

j=0

✓j�j(x)

�0(x) = 1 ✓0

�j(x) = xj

basis  funcJon  

Based  on  slide  by  Christopher  Bishop  (PRML)  

Page 36: Linear Regression and Gradient Descent

Linear  Basis  FuncJon  Models  

–  These  are  global;  a  small  change  in  x  affects  all  basis  funcJons  

•  Polynomial  basis  funcJons:  

•  Gaussian  basis  funcJons:  

–  These  are  local;  a  small  change  in  x  only  affect  nearby  basis  funcJons.  μj  and  s  control  locaJon  and  scale  (width).  

Based  on  slide  by  Christopher  Bishop  (PRML)  

Page 37: Linear Regression and Gradient Descent

Linear  Basis  FuncJon  Models  •  Sigmoidal  basis  funcJons:  

 where  

–  These  are  also  local;  a  small  change  in  x  only  affects  nearby  basis  funcJons.    μj  and  s  control  locaJon  and  scale  (slope).  

Based  on  slide  by  Christopher  Bishop  (PRML)  

Page 38: Linear Regression and Gradient Descent

Example  of  Fimng  a  Polynomial  Curve    with  a  Linear  Model  

y = ✓0 + ✓1x+ ✓2x2 + . . .+ ✓px

p =pX

j=0

✓jxj

Page 39: Linear Regression and Gradient Descent

Linear  Basis  FuncJon  Models  

•  Basic  Linear  Model:    

•  Generalized  Linear  Model:    •  Once  we  have  replaced  the  data  by  the  outputs  of  the  basis  funcJons,  fimng  the  generalized  model  is  exactly  the  same  problem  as  fimng  the  basic  model  –  Unless  we  use  the  kernel  trick  –  more  on  that  when  we  cover  support  vector  machines  

–  Therefore,  there  is  no  point  in  cluFering  the  math  with  basis  funcJons  

40  

h✓(x) =dX

j=0

✓j�j(x)

h✓(x) =dX

j=0

✓jxj

Based  on  slide  by  Geoff  Hinton  

Page 40: Linear Regression and Gradient Descent

Linear  Algebra  Concepts  •  Vector  in                  is  an  ordered  set  of  d  real  numbers  

–  e.g.,  v  =  [1,6,3,4]  is  in    –  “[1,6,3,4]” is  a  column  vector:  –  as  opposed  to  a  row  vector:  

•  An  m-­‐by-­‐n  matrix  is  an  object  with  m  rows  and  n  columns,  where  each  entry  is  a  real  number:  

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

4361

( )4361

⎟⎟⎟

⎜⎜⎜

2396784821

Rd

R4

Based  on  slides  by  Joseph  Bradley  

Page 41: Linear Regression and Gradient Descent

•  Transpose:  reflect  vector/matrix  on  line:  

( )baba T

=⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

dbca

dcba T

–  Note:  (Ax)T=xTAT            (We’ll  define  mulJplicaJon  soon…)  

•  Vector  norms:  –  Lp  norm  of  v  =  (v1,…,vk)  is    –  Common  norms:  L1,  L2  –  Linfinity  =  maxi  |vi|  

•  Length  of  a  vector  v  is  L2(v)  

X

i

|vi|p! 1

p

Based  on  slides  by  Joseph  Bradley  

Linear  Algebra  Concepts  

Page 42: Linear Regression and Gradient Descent

•  Vector  dot  product:  

–  Note:  dot  product  of  u  with  itself    =  length(u)2  =    

•  Matrix  product:  

( ) ( ) 22112121 vuvuvvuuvu +=•=•

⎟⎟⎠

⎞⎜⎜⎝

++

++=

⎟⎟⎠

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛=

2222122121221121

2212121121121111

2221

1211

2221

1211 ,

babababababababa

AB

bbbb

Baaaa

A

kuk22

Based  on  slides  by  Joseph  Bradley  

Linear  Algebra  Concepts  

Page 43: Linear Regression and Gradient Descent

•  Vector  products:  –  Dot  product:  

–  Outer  product:  

( ) 22112

121 vuvuvv

uuvuvu T +=⎟⎟⎠

⎞⎜⎜⎝

⎛==•

( ) ⎟⎟⎠

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛=

2212

211121

2

1

vuvuvuvu

vvuu

uvT

Based  on  slides  by  Joseph  Bradley  

Linear  Algebra  Concepts  

Page 44: Linear Regression and Gradient Descent

h(x) = ✓

|x

x

| =⇥1 x1 . . . xd

VectorizaJon  •  Benefits  of  vectorizaJon  – More  compact  equaJons  –  Faster  code  (using  opJmized  matrix  libraries)  

•  Consider  our  model:    •  Let  

•  Can  write  the  model  in  vectorized  form  as  45  

h(x) =dX

j=0

✓jxj

✓ =

2

6664

✓0✓1...✓d

3

7775

Page 45: Linear Regression and Gradient Descent

VectorizaJon  •  Consider  our  model  for  n  instances:      •  Let  

•  Can  write  the  model  in  vectorized  form  as  46  

h✓(x) = X✓

X =

2

66666664

1 x

(1)1 . . . x

(1)d

......

. . ....

1 x

(i)1 . . . x

(i)d

......

. . ....

1 x

(n)1 . . . x

(n)d

3

77777775

✓ =

2

6664

✓0✓1...✓d

3

7775

h

⇣x

(i)⌘=

dX

j=0

✓jx(i)j

R(d+1)⇥1 Rn⇥(d+1)

Page 46: Linear Regression and Gradient Descent

J(✓) =1

2n

nX

i=1

⇣✓

|x

(i) � y(i)⌘2

VectorizaJon  •  For  the  linear  regression  cost  funcJon:  

47  

J(✓) =1

2n(X✓ � y)| (X✓ � y)

J(✓) =1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

⌘2

Rn⇥(d+1)

R(d+1)⇥1

Rn⇥1R1⇥n

Let:  

y =

2

6664

y(1)

y(2)

...y(n)

3

7775

Page 47: Linear Regression and Gradient Descent

           Closed  Form  SoluJon:  

Closed  Form  SoluJon  •  Instead  of  using  GD,  solve  for  opJmal   analyJcally  –  NoJce  that  the  soluJon  is  when    

•  DerivaJon:  

Take  derivaJve  and  set  equal  to  0,  then  solve  for          :    

48  

✓@

@✓J(✓) = 0

J (✓) =1

2n(X✓ � y)| (X✓ � y)

/ ✓|X|X✓ � y|X✓ � ✓|X|y + y|y/ ✓|X|X✓ � 2✓|X|y + y|y

1  x  1  J (✓) =1

2n(X✓ � y)| (X✓ � y)

/ ✓|X|X✓ � y|X✓ � ✓|X|y + y|y/ ✓|X|X✓ � 2✓|X|y + y|y

J (✓) =1

2n(X✓ � y)| (X✓ � y)

/ ✓|X|X✓ � y|X✓ � ✓|X|y + y|y/ ✓|X|X✓ � 2✓|X|y + y|y

@

@✓(✓|X|X✓ � 2✓|X|y + y|y) = 0

(X|X)✓ �X|y = 0

(X|X)✓ = X|y

✓ = (X|X)�1X|y

✓@

@✓(✓|X|X✓ � 2✓|X|y + y|y) = 0

(X|X)✓ �X|y = 0

(X|X)✓ = X|y

✓ = (X|X)�1X|y

@

@✓(✓|X|X✓ � 2✓|X|y + y|y) = 0

(X|X)✓ �X|y = 0

(X|X)✓ = X|y

✓ = (X|X)�1X|y

@

@✓(✓|X|X✓ � 2✓|X|y + y|y) = 0

(X|X)✓ �X|y = 0

(X|X)✓ = X|y

✓ = (X|X)�1X|y

Page 48: Linear Regression and Gradient Descent

Closed  Form  SoluJon  •  Can  obtain            by  simply  plugging  X  and   into  

 •  If  X  T  X  is  not  inverJble  (i.e.,  singular),  may  need  to:  –  Use  pseudo-­‐inverse  instead  of  the  inverse  

•  In  python,    numpy.linalg.pinv(a) –  Remove  redundant  (not  linearly  independent)  features  –  Remove  extra  features  to  ensure  that  d  ≤  n

49  

@

@✓(✓|X|X✓ � 2✓|X|y + y|y) = 0

(X|X)✓ �X|y = 0

(X|X)✓ = X|y

✓ = (X|X)�1X|y

y =

2

6664

y(1)

y(2)

...y(n)

3

7775X =

2

66666664

1 x

(1)1 . . . x

(1)d

......

. . ....

1 x

(i)1 . . . x

(i)d

......

. . ....

1 x

(n)1 . . . x

(n)d

3

77777775

✓ y

Page 49: Linear Regression and Gradient Descent

Gradient  Descent  vs  Closed  Form  

                       Gradient  Descent                      Closed  Form  Solu+on  

50  

•  Requires  mulJple  iteraJons  •  Need  to  choose  α  •  Works  well  when  n  is  large  •  Can  support  incremental  

learning  

•  Non-­‐iteraJve  •  No  need  for  α  •  Slow  if  n  is  large  

–  CompuJng  (X  T  X)-­‐1  is  roughly  O(n3)  

Page 50: Linear Regression and Gradient Descent

Improving  Learning:      Feature  Scaling  

•  Idea:  Ensure  that  feature  have  similar  scales  

 

•  Makes  gradient  descent  converge  much  faster  

51  

0  

5  

10  

15  

20  

0   5   10   15   20  ✓1

✓2

Before  Feature  Scaling  

0  

5  

10  

15  

20  

0   5   10   15   20  ✓1

✓2

Auer  Feature  Scaling  

Page 51: Linear Regression and Gradient Descent

Feature  StandardizaJon  •  Rescales  features  to  have  zero  mean  and  unit  variance  

– Let  μj    be  the  mean  of  feature  j:  

– Replace  each  value  with:  

•  sj  is  the  standard  deviaJon  of  feature  j •  Could  also  use  the  range  of  feature  j  (maxj  –  minj)  for  sj  

•  Must  apply  the  same  transformaJon  to  instances  for  both  training  and  predicJon  

•  Outliers  can  cause  problems  

 

52  

µj =1

n

nX

i=1

x

(i)j

x

(i)j

x

(i)j � µj

sj

for  j  =  1...d  (not  x0!)  

Page 52: Linear Regression and Gradient Descent

Quality  of  Fit  

OverfiHng:    •  The  learned  hypothesis  may  fit  the  training  set  very  well  (                                      )  

•  ...but  fails  to  generalize  to  new  examples  

53  

Price  

Size  

Price  

Size  

Price  

Size  

Underfimng  (high  bias)  

Overfimng  (high  variance)  

Correct  fit  

J(✓) ⇡ 0

Based  on  example  by  Andrew  Ng  

Page 53: Linear Regression and Gradient Descent

RegularizaJon  •  A  method  for  automaJcally  controlling  the  complexity  of  the  learned  hypothesis  

•  Idea:    penalize  for  large  values  of  –  Can  incorporate  into  the  cost  funcJon  – Works  well  when  we  have  a  lot  of  features,  each  that  contributes  a  bit  to  predicJng  the  label    

•  Can  also  address  overfimng  by  eliminaJng  features  (either  manually  or  via  model  selecJon)  

54  

✓j

Page 54: Linear Regression and Gradient Descent

RegularizaJon  •  Linear  regression  objecJve  funcJon  

–   is  the  regularizaJon  parameter  (                      )  – No  regularizaJon  on            !    

55  

J(✓) =1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

⌘2+ �

dX

j=1

✓2jJ(✓) =1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

⌘2+ �

dX

j=1

✓2j

model  fit  to  data   regularizaJon  

✓0

� � � 0

Page 55: Linear Regression and Gradient Descent

Understanding  RegularizaJon  

•  Note  that                                                                    

–  This  is  the  magnitude  of  the  feature  coefficient  vector!  

•  We  can  also  think  of  this  as:  

•  L2  regularizaJon  pulls  coefficients  toward  0  

  56  

J(✓) =1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

⌘2+ �

dX

j=1

✓2j

dX

j=1

✓2j = k✓1:dk22

dX

j=1

(✓j � 0)2 = k✓1:d � ~0k22

Page 56: Linear Regression and Gradient Descent

Understanding  RegularizaJon  

•  What  happens  if  we  set            to  be  huge  (e.g.,  1010)?  

57  

J(✓) =1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

⌘2+ �

dX

j=1

✓2j

�Price  

Size  

Based  on  example  by  Andrew  Ng  

Page 57: Linear Regression and Gradient Descent

Understanding  RegularizaJon  

•  What  happens  if  we  set            to  be  huge  (e.g.,  1010)?  

58  

J(✓) =1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

⌘2+ �

dX

j=1

✓2j

�Price  

Size  0   0   0   0  

Based  on  example  by  Andrew  Ng  

Page 58: Linear Regression and Gradient Descent

✓j ✓j � ↵

1

n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘x

(i)j �

n

✓j

Regularized  Linear  Regression  

59  

•  Cost  FuncJon  

•  Fit  by  solving  

•  Gradient  update:    

min✓

J(✓)

J(✓) =1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

⌘2+ �

dX

j=1

✓2j

✓j ✓j � ↵

1

n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘x

(i)j

✓0 ✓0 � ↵1

n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

regularizaJon  

@

@✓jJ(✓)

@

@✓0J(✓)

Page 59: Linear Regression and Gradient Descent

Regularized  Linear  Regression  

60  

J(✓) =1

2n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

⌘2+ �

dX

j=1

✓2j

✓j ✓j � ↵

1

n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘x

(i)j �

n

✓j✓j ✓j � ↵

1

n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘x

(i)j

✓0 ✓0 � ↵1

n

nX

i=1

⇣h✓

⇣x

(i)⌘� y(i)

•  We  can  rewrite  the  gradient  step  as:  

   

✓j ✓j

✓1� ↵

n

◆� ↵

1

n

nX

i=1

⇣h✓

⇣x

(i)⌘� y

(i)⌘x

(i)j

Page 60: Linear Regression and Gradient Descent

Regularized  Linear  Regression  

61  

✓ =

0

BBBBB@X|X + �

2

666664

0 0 0 . . . 00 1 0 . . . 00 0 1 . . . 0...

......

. . ....

0 0 0 . . . 1

3

777775

1

CCCCCA

�1

X|y

•  To  incorporate  regularizaJon  into  the  closed  form  soluJon:  

Page 61: Linear Regression and Gradient Descent

Regularized  Linear  Regression  

62  

•  To  incorporate  regularizaJon  into  the  closed  form  soluJon:  

•  Can  derive  this  the  same  way,  by  solving  

•  Can  prove  that  for  λ    >  0,  inverse  exists  in  the  equaJon  above  

✓ =

0

BBBBB@X|X + �

2

666664

0 0 0 . . . 00 1 0 . . . 00 0 1 . . . 0...

......

. . ....

0 0 0 . . . 1

3

777775

1

CCCCCA

�1

X|y

@

@✓J(✓) = 0