review: cross-validation · 2018. 11. 30. · recap given a dataset, begin by splitting into model...

52
©2017 Kevin Jamieson 1 Review: Cross-Validation Machine Learning – CSE546 Kevin Jamieson University of Washington October 12, 2016

Upload: others

Post on 16-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©2017 Kevin Jamieson 1

Review: Cross-ValidationMachine Learning – CSE546 Kevin Jamieson University of Washington

October 12, 2016

Page 2: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Use k-fold cross validation

■ Randomly divide training data into k equal parts D1,…,Dk

■ For each i Learn classifier fD\Di using data point not in Di Estimate error of fD\Di on validation set Di:

■ k-fold cross validation error is average over data splits:

■ k-fold cross validation properties: Much faster to compute than LOO More (pessimistically) biased – using much less data, only n(k-1)/k Usually, k = 10

2©2017 Kevin Jamieson

errorDi =1

|Di|X

(xj ,yj)2Di

(yj � fD\Di(xj))

2

Page 3: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Recap

■ Given a dataset, begin by splitting into

■ Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic parameters such as λ

■ Model assessment: Use TEST to assess the accuracy of the model you output ■ Never ever ever ever ever train or choose

parameters based on the test data3©2017 Kevin Jamieson

TESTTRAIN

TRAIN

TRAIN-1 VAL-1

TRAIN-3VAL-3

TRAIN-2VAL-2TRAIN-2

Page 4: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Bootstrap: basic idea

4©2017 Kevin Jamieson

Given dataset drawn iid samples with CDF :

D = {z1, . . . , zn}i.i.d.⇠ FZ

D⇤b = {z⇤b1 , . . . , z⇤bn } i.i.d.⇠ bFZ,n

b✓ = t(D)

✓⇤b = t(D⇤b)

D = {z1, . . . , zn}i.i.d.⇠ FZ

For b=1,…,B, samples sampled with replacement from D

FZ

bFZ,60

supx

| bFn(x)� F (x)| ! 0 as n ! 1

b✓

Page 5: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Applications

©2017 Kevin Jamieson

Common applications of the bootstrap: • Estimate parameters that escape simple analysis like the variance or median of an

estimate • Confidence intervals • Estimates of error for a particular example:

b✓D ✓⇤b for b = 1, . . . , 10 95% confidence interval

Figures from Hastie et al

Page 6: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Takeaways

©2017 Kevin Jamieson

Advantages: • Bootstrap is very generally applicable. Build a confidence interval

around anything • Very simple to use • Appears to give meaningful results even when the amount of data is very

small • Very strong asymptotic theory (as num. examples goes to infinity)

Disadvantages • Very few meaningful finite-sample guarantees • Potentially computationally intensive • Reliability relies on test statistic and rate of convergence of empirical

CDF to true CDF, which is unknown • Poor performance on “extreme statistics” (e.g., the max)

Not perfect, but better than nothing.

Page 7: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Recap

■ Learning is… Collect some data ■ E.g., housing info and sale price

Randomly split dataset into TRAIN, VAL, and TEST ■ E.g., 80%, 10%, and 10%, respectively

Choose a hypothesis class or model ■ E.g., linear with non-linear transformations

Choose a loss function ■ E.g., least squares with ridge regression penalty on TRAIN

Choose an optimization procedure ■ E.g., set derivative to zero to obtain estimator, cross-validation on

VAL to pick num. features and amount of regularization Justifying the accuracy of the estimate ■ E.g., report TEST error with Bootstrap confidence interval

7©2017 Kevin Jamieson

Page 8: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©2017 Kevin Jamieson 8

Simple Variable SelectionLASSO: Sparse Regression

Machine Learning – CSE546 Kevin Jamieson University of Washington

October 11, 2016

Page 9: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Sparsity■ Vector w is sparse, if many entries are zero

■ Very useful for many tasks, e.g., Efficiency: If size(w) = 100 Billion, each prediction is expensive: ■ If part of an online system, too slow ■ If w is sparse, prediction computation only depends on number of non-zeros

9©2017 Kevin Jamieson

bwLS = argminw

nX

i=1

�yi � xT

i w�2

Page 10: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Sparsity■ Vector w is sparse, if many entries are zero

■ Very useful for many tasks, e.g., Efficiency: If size(w) = 100 Billion, each prediction is expensive: ■ If part of an online system, too slow ■ If w is sparse, prediction computation only depends on number of non-zeros

Interpretability: What are the relevant dimension to make a prediction? ■ E.g., what are the parts of the

brain associated with particular words?

10

Figure from Tom

Mitchell

©2017 Kevin Jamieson

bwLS = argminw

nX

i=1

�yi � xT

i w�2

Page 11: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Sparsity■ Vector w is sparse, if many entries are zero

■ Very useful for many tasks, e.g., Efficiency: If size(w) = 100 Billion, each prediction is expensive: ■ If part of an online system, too slow ■ If w is sparse, prediction computation only depends on number of non-zeros

Interpretability: What are the relevant dimension to make a prediction? ■ E.g., what are the parts of the

brain associated with particular words?

11

Figure from Tom

Mitchell

©2017 Kevin Jamieson

bwLS = argminw

nX

i=1

�yi � xT

i w�2

■ How do we find “best” subset among all possible?

Page 12: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Greedy model selection algorithm

■ Pick a dictionary of features e.g., cosines of random inner products

■ Greedy heuristic: Start from empty (or simple) set of features F0 = ∅ Run learning algorithm for current set of features Ft ■ Obtain weights for these features

Select next best feature hi(x)*

■ e.g., hj(x) that results in lowest training error learner when using Ft + {hj(x)*}

Ft+1 ! Ft + {hi(x)*} Recurse

12©2017 Kevin Jamieson

Page 13: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Greedy model selection

■ Applicable in many other settings: Considered later in the course: ■ Logistic regression: Selecting features (basis functions) ■ Naïve Bayes: Selecting (independent) features P(Xi|Y) ■ Decision trees: Selecting leaves to expand

■ Only a heuristic! Finding the best set of k features is computationally intractable! Sometimes you can prove something strong about it…

13©2017 Kevin Jamieson

Page 14: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

When do we stop???

■ Greedy heuristic: … Select next best feature Xi

* ■ E.g. hj(x) that results in lowest training error

learner when using Ft + {hj(x)*}

Recurse When do you stop???■ When training error is low enough? ■ When test set error is low enough? ■ Using cross validation?

14©2017 Kevin Jamieson

Is there a more principled approach?

Page 15: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Recall Ridge Regression

15

■ Ridge Regression objective:

©2017 Kevin Jamieson

+ + + =...

+f1(w) f2(w) + . . . + =TX

t=1

ft(w)fT (w)

+ + + =...

+f1(w) f2(w) + . . . + =TX

t=1

ft(w)fT (w)

+ + + =...

+f1(w) f2(w) + . . . + =TX

t=1

ft(w)fT (w)

bwridge = argminw

nX

i=1

�yi � xT

i w�2

+ �||w||22

Page 16: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Ridge vs. Lasso Regression

16

■ Ridge Regression objective:

■ Lasso Ridge objective:

©2017 Kevin Jamieson

+ + + =...

+f1(w) f2(w) + . . . + =TX

t=1

ft(w)fT (w)

+ + + =...

+f1(w) f2(w) + . . . + =TX

t=1

ft(w)fT (w)

+ + + =...

+f1(w) f2(w) + . . . + =TX

t=1

ft(w)fT (w)

bwridge = argminw

nX

i=1

�yi � xT

i w�2

+ �||w||22

+ + + =...

+f1(w) f2(w) + . . . + =TX

t=1

ft(w)fT (w)

+ + + =...

+f1(w) f2(w) + . . . + =TX

t=1

ft(w)fT (w)

bwlasso = argminw

nX

i=1

�yi � xT

i w�2

+ �||w||1

Page 17: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Penalized Least Squares

17©2017 Kevin Jamieson

bwr = argminw

nX

i=1

�yi � xT

i w�2

+ �r(w)

Ridge : r(w) = ||w||22 Lasso : r(w) = ||w||1

Page 18: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Penalized Least Squares

18©2017 Kevin Jamieson

bwr = argminw

nX

i=1

�yi � xT

i w�2

+ �r(w)

Ridge : r(w) = ||w||22 Lasso : r(w) = ||w||1

For any � � 0 for which bwr achieves the minimum, there exists a ⌫ � 0 such that

bwr = argminw

nX

i=1

�yi � xT

i w�2

subject to r(�) ⌫

Page 19: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Penalized Least Squares

19©2017 Kevin Jamieson

bwr = argminw

nX

i=1

�yi � xT

i w�2

+ �r(w)

Ridge : r(w) = ||w||22 Lasso : r(w) = ||w||1

For any � � 0 for which bwr achieves the minimum, there exists a ⌫ � 0 such that

bwr = argminw

nX

i=1

�yi � xT

i w�2

subject to r(�) ⌫

Page 20: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Optimizing the LASSO Objective■ LASSO solution:

20©2017 Kevin Jamieson

bwlasso,bblasso = argminw,b

nX

i=1

�yi � (xT

i w + b)�2

+ �||w||1

bblasso = argminw,b

1

n

nX

i=1

�yi � xT

i bwlasso)�

Page 21: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Optimizing the LASSO Objective■ LASSO solution:

21©2017 Kevin Jamieson

bwlasso,bblasso = argminw,b

nX

i=1

�yi � (xT

i w + b)�2

+ �||w||1

bblasso = argminw,b

1

n

nX

i=1

�yi � xT

i bwlasso)�

So as usual, preprocess to make sure that1

n

nX

i=1

yi = 0,1

n

nX

i=1

xi = 0

so we don’t have to worry about an o↵set.

Page 22: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Optimizing the LASSO Objective■ LASSO solution:

22©2017 Kevin Jamieson

bwlasso,bblasso = argminw,b

nX

i=1

�yi � (xT

i w + b)�2

+ �||w||1

bblasso = argminw,b

1

n

nX

i=1

�yi � xT

i bwlasso)�

So as usual, preprocess to make sure that1

n

nX

i=1

yi = 0,1

n

nX

i=1

xi = 0

so we don’t have to worry about an o↵set.

bwlasso = argminw

nX

i=1

�yi � xT

i w�2

+ �||w||1

How do we solve this?

Page 23: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Coordinate Descent■ Given a function, we want to find minimum

■ Often, it is easy to find minimum along a single coordinate:

■ How do we pick next coordinate?

■ Super useful approach for *many* problems Converges to optimum in some cases, such as LASSO

23©2017 Kevin Jamieson

Page 24: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Optimizing LASSO Objective One Coordinate at a Time

24©2017 Kevin Jamieson

=nX

i=1

yi �

dX

k=1

xi,k wk

!2

+ �dX

k=1

|wk|nX

i=1

�yi � xT

i w�2

+ �||w||1

=nX

i=1

0

@⇣yi �

X

k 6=j

xi,k wk

⌘� xi,j wj

1

A2

+ �X

k 6=j

|wk|+ �|wj |

bwj = argminwj

nX

i=1

⇣r(j)i � xi,j wj

⌘2+ �|wj |

Equivalently:

Page 25: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

x

y

f convex:

f(y) � f(x) +rf(x)T (y � x) 8x, y

x

f(y) � f(x) +rf(x)T (y � x) + `2 ||y � x||22 8x, y

r2f(x) � `I 8x

f `-strongly convex:

f (�x+ (1� �)y) �f(x) + (1� �)f(y) 8x, y,� 2 [0, 1]

Convex Functions

■ Equivalent definitions of convexity:

■ Gradients lower bound convex functions and are unique at x iff function differentiable at x

■ Subgradients generalize gradients to non-differentiable points: Any supporting hyperplane at x that lower bounds entire function

25©2017 Kevin Jamieson

g is a subgradient at x if f(y) � f(x) + gT (y � x)

Page 26: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Taking the Subgradient

■ Convex function is minimized at w if 0 is a sub-gradient at w.

26©2017 Kevin Jamieson

@wj |wj | =

bwj = argminwj

nX

i=1

⇣r(j)i � xi,j wj

⌘2+ �|wj |

@wj

nX

i=1

⇣r(j)i � xi,j wj

⌘2=

Page 27: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Setting Subgradient to 0

27©2017 Kevin Jamieson

bwj = argminwj

nX

i=1

⇣r(j)i � xi,j wj

⌘2+ �|wj |

@wj

nX

i=1

⇣r(j)i � xi,j wj

⌘2+ �|wj |

!=

8><

>:

ajwj � cj � � if wj < 0

[�cj � �,�cj + �] if wj = 0

ajwj � cj + � if wj > 0

aj = (nX

i=1

x2i,j) cj = 2(

nX

i=1

r(j)i xi,j)

bwj =

8><

>:

(cj + �)/aj if cj < ��

[�cj � �,�cj + �] if |cj | �

(cj � �)/aj if cj > �

Page 28: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Soft Thresholding

28

From Kevin Murphy textbook

©2017 Kevin Jamieson

bwj =

8><

>:

(cj + �)/aj if cj < ��

[�cj � �,�cj + �] if |cj | �

(cj � �)/aj if cj > �

cj = 2nX

i=1

⇣yi �

X

k 6=j

xi,k wk

⌘xi,jaj =

nX

i=1

x2i,j

Page 29: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Coordinate Descent for LASSO (aka Shooting Algorithm)

■ Repeat until convergence Pick a coordinate l at (random or sequentially) ■ Set:

■ Where:

For convergence rates, see Shalev-Shwartz and Tewari 2009 ■ Other common technique = LARS

Least angle regression and shrinkage, Efron et al. 200429©2017 Kevin Jamieson

bwj =

8><

>:

(cj + �)/aj if cj < ��

[�cj � �,�cj + �] if |cj | �

(cj � �)/aj if cj > �

cj = 2nX

i=1

⇣yi �

X

k 6=j

xi,k wk

⌘xi,jaj =

nX

i=1

x2i,j

Page 30: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Recall: Ridge Coefficient Path

■ Typical approach: select λ using cross validation

30

From Kevin Murphy textbook

©2017 Kevin Jamieson

Page 31: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

Now: LASSO Coefficient Path

31

From Kevin Murphy textbook

©2017 Kevin Jamieson

Page 32: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

What you need to know

■ Variable Selection: find a sparse solution to learning problem

■ L1 regularization is one way to do variable selection Applies beyond regression Hundreds of other approaches out there

■ LASSO objective non-differentiable, but convex ➔ Use subgradient

■ No closed-form solution for minimization ➔ Use coordinate descent

■ Shooting algorithm is simple approach for solving LASSO

32©2017 Kevin Jamieson

Page 33: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 201733

ClassificationLogistic Regression

Machine Learning – CSE546 Kevin Jamieson University of Washington

October 12, 2016

Page 34: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

THUS FAR, REGRESSION: PREDICT A CONTINUOUS VALUE GIVEN SOME INPUTS

34

Page 35: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Weather prediction revisted

35

Temperature

Page 36: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Reading Your Brain, Simple Example

AnimalPerson

Pairwise classification accuracy: 85%[Mitchell et al.]

36

Page 37: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Classification

■ Learn: f:X —>Y X – features Y – target classes

■ Conditional probability: P(Y|X)

■ Suppose you know P(Y|X) exactly, how should you classify?

Bayes optimal classifier:

■ How do we estimate P(Y|X)?37

Page 38: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Link Functions

■ Estimating P(Y|X): Why not use standard linear regression?

■ Combining regression and probability? Need a mapping from real values to [0,1] A link function!

38

Page 39: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Logistic RegressionLogistic function (or Sigmoid):

■ Learn P(Y|X) directly Assume a particular functional form for link function Sigmoid applied to a linear function of the input features:

Z

Features can be discrete or continuous!39

Page 40: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Understanding the sigmoid

-6 -4 -2 0 2 4 60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

w0=0, w1=-1

-6 -4 -2 0 2 4 60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

w0=-2, w1=-1

-6 -4 -2 0 2 4 60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

w0=0, w1=-0.5

40

Page 41: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Very convenient!

implies

41

0

1

Page 42: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Very convenient!

implies

42

0

1

implies

0

1

implies

linear classification

rule!

0

1

Page 43: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Logistic Regression – a Linear classifier

-6 -4 -2 0 2 4 60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

43

Page 44: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Loss function: Conditional Likelihood

■ Have a bunch of iid data of the form:

44

P (Y = 1|x,w) = exp(wTx)

1 + exp(wTx)

P (Y = �1|x,w) = 1

1 + exp(wTx)

{(xi, yi)}ni=1 xi 2 Rd, yi 2 {�1, 1}

P (Y = y|x,w) = 1

1 + exp(�y wTx)

■ This is equivalent to:

■ So we can compute the maximum likelihood estimator:

bwMLE = argmaxw

nY

i=1

P (yi|xi, w)

Page 45: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Loss function: Conditional Likelihood

■ Have a bunch of iid data of the form:

45

{(xi, yi)}ni=1 xi 2 Rd, yi 2 {�1, 1}

P (Y = y|x,w) = 1

1 + exp(�y wTx)bwMLE = argmaxw

nY

i=1

P (yi|xi, w)

Page 46: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Loss function: Conditional Likelihood

■ Have a bunch of iid data of the form:

46

{(xi, yi)}ni=1 xi 2 Rd, yi 2 {�1, 1}

P (Y = y|x,w) = 1

1 + exp(�y wTx)bwMLE = argmaxw

nY

i=1

P (yi|xi, w)

= argminw

nX

i=1

log(1 + exp(�yi xTi w))

Page 47: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Loss function: Conditional Likelihood

■ Have a bunch of iid data of the form:

47

{(xi, yi)}ni=1 xi 2 Rd, yi 2 {�1, 1}

P (Y = y|x,w) = 1

1 + exp(�y wTx)bwMLE = argmaxw

nY

i=1

P (yi|xi, w)

= argminw

nX

i=1

log(1 + exp(�yi xTi w))

Logistic Loss: `i(w) = log(1 + exp(�yi xTi w))

Squared error Loss: `i(w) = (yi � xTi w)

2 (MLE for Gaussian noise)

Page 48: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Loss function: Conditional Likelihood

■ Have a bunch of iid data of the form:

48

{(xi, yi)}ni=1 xi 2 Rd, yi 2 {�1, 1}

P (Y = y|x,w) = 1

1 + exp(�y wTx)bwMLE = argmaxw

nY

i=1

P (yi|xi, w)

= argminw

nX

i=1

log(1 + exp(�yi xTi w))= J(w)

What does J(w) look like? Is it convex?

Page 49: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Loss function: Conditional Likelihood

■ Have a bunch of iid data of the form:

49

{(xi, yi)}ni=1 xi 2 Rd, yi 2 {�1, 1}

P (Y = y|x,w) = 1

1 + exp(�y wTx)bwMLE = argmaxw

nY

i=1

P (yi|xi, w)

= argminw

nX

i=1

log(1 + exp(�yi xTi w))= J(w)

Good news: J(w) is convex function of w, no local optima problems

Bad news: no closed-form solution to maximize J(w)

Good news: convex functions easy to optimize (next time)

Page 50: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017 50

Linear Separability

= argminw

nX

i=1

log(1 + exp(�yi xTi w)) When is this loss small?

Page 51: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017 51

Large parameters → Overfitting

■ If data is linearly separable, weights go to infinity

In general, leads to overfitting: ■ Penalizing high weights can prevent overfitting…

Page 52: Review: Cross-Validation · 2018. 11. 30. · Recap Given a dataset, begin by splitting into Model selection: Use k-fold cross-validation on TRAIN to train predictor and choose magic

©Kevin Jamieson 2017

Regularized Conditional Log Likelihood

■ Add regularization penalty, e.g., L2:

■ Practical note about w0:

52

argminw

nX

i=1

log(1 + exp(�yi xTi w)) + �||w||22