145
AdaBoost Lecturer: Jan ˇ Sochman Authors: Jan ˇ Sochman, Jiˇ ı Matas Centre for Machine Perception Czech Technical University, Prague http://cmp.felk.cvut.cz

AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

AdaBoost

Lecturer:Jan Sochman

Authors:Jan Sochman, Jirı Matas

Centre for Machine PerceptionCzech Technical University, Prague

http://cmp.felk.cvut.cz

Page 2: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

2/12

Presentation

Outline:

� AdaBoost algorithm

• Why is of interest?

• How it works?

• Why it works?

� AdaBoost variants

Page 3: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

3/12

What is AdaBoost?

AdaBoost is an algorithm for constructing a “strong” classifier as linear combination

f(x) =T∑

t=1

αtht(x)

of “simple” “weak” classifiers ht(x).

Terminology

� ht(x) ... “weak” or basis classifier, hypothesis, “feature”

� H(x) = sign(f(x)) ... ‘’strong” or final classifier/hypothesis

Interesting properties

� AB is a linear classifier with all its desirable properties.

� AB output converges to the logarithm of likelihood ratio.

� AB has good generalisation properties.

� AB is a feature selector with a principled strategy (minimisation of upper bound onempirical error).

� AB close to sequential decision making (it produces a sequence of gradually morecomplex classifiers).

Page 4: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}

Page 5: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.

Page 6: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

Page 7: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

t = 1

Page 8: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

t = 1

Page 9: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

t = 1

Page 10: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

t = 1

Page 11: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 1

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 12: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 2

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 13: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 3

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 14: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 4

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 15: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 5

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 16: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 6

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 17: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 7

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 18: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

4/12

The AdaBoost Algorithm

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 40

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 19: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

5/12

Reweighting

Effect on the training set

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

exp(−αtyiht(xi)){

< 1, yi = ht(xi)> 1, yi 6= ht(xi)

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

yf(x)

err

⇒ Increase (decrease) weight of wrongly (correctly) classified examples

⇒ The weight is the upper bound on the error of a given example.

⇒ All information about previously selected “features” is captured in Dt.

Page 20: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

5/12

Reweighting

Effect on the training set

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

exp(−αtyiht(xi)){

< 1, yi = ht(xi)> 1, yi 6= ht(xi)

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

yf(x)

err

⇒ Increase (decrease) weight of wrongly (correctly) classified examples

⇒ The weight is the upper bound on the error of a given example.

⇒ All information about previously selected “features” is captured in Dt.

Page 21: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

5/12

Reweighting

Effect on the training set

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

exp(−αtyiht(xi)){

< 1, yi = ht(xi)> 1, yi 6= ht(xi)

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

yf(x)

err

⇒ Increase (decrease) weight of wrongly (correctly) classified examples

⇒ The weight is the upper bound on the error of a given example.

⇒ All information about previously selected “features” is captured in Dt.

Page 22: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

5/12

Reweighting

Effect on the training set

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

exp(−αtyiht(xi)){

< 1, yi = ht(xi)> 1, yi 6= ht(xi)

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

yf(x)

err

⇒ Increase (decrease) weight of wrongly (correctly) classified examples

⇒ The weight is the upper bound on the error of a given example.

⇒ All information about previously selected “features” is captured in Dt.

Page 23: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

6/12

Upper Bound Theorem

Theorem: The following upper bound holds on the training error of H

1m|{i : H(xi) 6= yi}| ≤

T∏t=1

Zt

Proof: By unravelling the update rule

DT+1(i) =exp(−

∑t αtyiht(xi))

m∏

t Zt

=exp(−yif(xi))

m∏

t Zt.

If H(xi) 6= yi then yif(xi) ≤ 0 implying that exp(−yif(xi)) > 1, thus

JH(xi) 6= yiK ≤ exp(−yif(xi))1m

∑i

JH(xi) 6= yiK ≤ 1m

∑i

exp(−yif(xi))

=∑

i

(∏

t

Zt)DT+1(i) =∏

t

Zt−2 −1.5 −1 −0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

yf(x)

err

Page 24: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

7/12

Consequences of the Theorem

� Instead of minimising the training error, its upper bound can be minimised.

� This can be done by minimising Zt in each training round by:

• Choosing optimal ht, and

• Finding optimal αt.

� Can be proved to maximise margin.

Page 25: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

8/12

Choosing αt

We attempt to minimise Zt =∑

i Dt(i)exp(−αtyiht(xi)):

dZ

dα= −

m∑i=1

D(i)yih(xi)e−yiαih(xi) = 0

−∑

i:yi=h(xi)

D(i)e−α +∑

i:yi 6=h(xi)

D(i)eα = 0

−e−α(1− ε) + eαε = 0

α =12

log1− ε

ε

⇒ The minimisator of the upper bound is αt = 12 log 1−εt

εt.

Page 26: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

9/12

Choosing ht

Weak classifier examples

� Decision tree, Perceptron – H infinite

� Selecting the best one from given finite set H

Justification of the weighted error minimisation

Having αt = 12 log 1−εt

εt

Zt =m∑

i=1

Dt(i)e−yiαiht(xi)

=∑

i:yi=ht(xi)

Dt(i)e−αt +∑

i:yi 6=ht(xi)

Dt(i)eαt

= (1− εt)e−αt + εteαt

= 2√

εt(1− εt)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

εt

Z t

⇒ Zt is minimised by selecting ht with minimal weighted error εt.

Page 27: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}

Page 28: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.

Page 29: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

Page 30: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

t = 1

Page 31: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

t = 1

Page 32: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

t = 1

Page 33: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

t = 1

Page 34: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 1

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 35: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 2

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 36: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 3

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 37: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 4

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 38: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 5

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 39: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 6

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 40: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 7

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 41: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

10/12

The Algorithm Recapitulation

Given: (x1, y1), . . . , (xm, ym);xi ∈ X , yi ∈ {−1,+1}Initialise weights D1(i) = 1/m.For t = 1, ..., T :

� Find ht = arg minhj∈H

εj =m∑

i=1

Dt(i)Jyi 6= hj(xi)K

� If εt ≥ 1/2 then stop

� Set αt = 12 log(1−εt

εt)

� Update

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

Output the final classifier:

H(x) = sign

(T∑

t=1

αtht(x)

)

t = 40

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 42: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

11/12

AdaBoost variants

Freund & Schapire 1995

� Discrete (h : X → {0, 1})

� Multiclass AdaBoost.M1 (h : X → {0, 1, ..., k})

� Multiclass AdaBoost.M2 (h : X → [0, 1]k)

� Real valued AdaBoost.R (Y = [0, 1], h : X → [0, 1])

Schapire & Singer 1997

� Confidence rated prediction (h : X → R, two-class)

� Multilabel AdaBoost.MR, AdaBoost.MH (different formulation of minimised loss)

... Many other modifications since then (WaldBoost, cascaded AB, online AB, ...)

Page 43: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

12/12

Pros and cons of AdaBoost

Advantages

� Very simple to implement

� General learning scheme - can be used for various learning tasks

� Feature selection on very large sets of features

� Fairly good generalisation

Disadvantages

� Suboptimal solution (greedy learning)

� Can overfit in presence of noise (has been addressed recently)

Page 44: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 45: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 46: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 47: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 48: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 49: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 50: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 51: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 52: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 53: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 54: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 55: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 56: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 57: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 58: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 59: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 60: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 61: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 62: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 63: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 64: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 65: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 66: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 67: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 68: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 69: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 70: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 71: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 72: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 73: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 74: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 75: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 76: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 77: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 78: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 79: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 80: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 81: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 82: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 83: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 84: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 85: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 86: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 87: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 88: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 89: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

yf(x)

err

Page 90: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 91: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 92: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 93: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

yf(x)

err

Page 94: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

yf(x)

err

Page 95: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 96: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

yf(x)

err

Page 97: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 98: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

yf(x)

err

Page 99: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 100: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

yf(x)

err

Page 101: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

εt

Z t

Page 102: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 103: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 104: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 105: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 106: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 107: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 108: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 109: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 110: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 111: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 112: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 113: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 114: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 115: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 116: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 117: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 118: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 119: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 120: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 121: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 122: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 123: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 124: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 125: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 126: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 127: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 128: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 129: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 130: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 131: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 132: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 133: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 134: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 135: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 136: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 137: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 138: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 139: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 140: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 141: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 142: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 143: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Page 144: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing
Page 145: AdaBoost - cmp.felk.cvut.czcmp.felk.cvut.cz/cmp/courses/recognition/AdaBoost2/adaboost_talk.… · AdaBoost variants. 3/12 What is AdaBoost? AdaBoost is an algorithm for constructing

0 5 10 15 20 25 30 35 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35