ترکیب دسته بندی کننده ها Instructor: Saeed Shiry & & Ethem Chp. 15 Haykin Chp.

Download Report

Transcript ترکیب دسته بندی کننده ها Instructor: Saeed Shiry & & Ethem Chp. 15 Haykin Chp.

‫ترکیب دسته بندی کننده ها‬
Instructor: Saeed Shiry
&
&
Ethem Chp. 15
Haykin Chp. 7
‫مقدمه‬
‫‪‬‬
‫اصل ”نهار مجانی وجود ندارد“ )‪ (No Free Lunch Theorem‬بیان میدارد که‪:‬‬
‫‪‬‬
‫‪‬‬
‫ایده‪:‬‬
‫‪‬‬
‫‪‬‬
‫هیچ الگوریتمی وجود ندارد که برای تمامی مسائل و در تمامی زمانها بهترین ( دقیق ترین)‬
‫یادگیر را بوجود آورد‪.‬‬
‫اگر تعدادی یادگیر پایه داشته باشیم میتوان با ترکیب نتایج آنها به دقت باالتری رسید‪.‬‬
‫این یادگیرها ممکن است در موارد زیر با هم متفاوت باشند‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫الگوریتم‪ :‬که باعث میشود فرضیات مختلفی در مورد داده استفاده شود‪.‬‬
‫پارامترها‪ :‬مثل تعداد گره های مختلف الیه پنهان شبکه های عصبی و یا ‪ K‬متفاوت در‬
‫‪KNN‬‬
‫نحوه نمایش‪ :‬استفاده از تعداد متفاوت ویژگی برای هر یادگیر‪ ،‬استفاده از مجموعه داده‬
‫متفاوت‬
‫مجموعه آموزشی‪ :‬داده های آموزشی یادگیرها اندکی با هم تفاوت داشته باشند‪.‬‬
‫ترکیب دسته بندی کننده ها‬
‫‪‬‬
‫روشهای مختلفی برای ترکیب نتایج‬
‫دسته بندی کننده ها وجود دارد‪:‬‬
‫‪d1‬‬
‫متداولترین روشها میانگین گیری و یا‬
‫استفاده از رای اکثریت هستند‬
‫‪d2‬‬
‫‪‬‬
‫‪‬‬
‫انگیزه اصلی این کار در اینجاست که‪:‬‬
‫‪‬‬
‫‪‬‬
‫ما هنگام طراحی یک سیستم یادگیر‬
‫انتخاب های فراوانی داریم‪ :‬نحوه نمایش‪،‬‬
‫پارامترهای یادگیر‪ ،‬داده های آموزشی و‬
‫غیره‪.‬‬
‫این تنوع باعث میشود که نوعی از‬
‫واریانس در عملکرد سیستم وجود داشته‬
‫باشد‪ .‬در نتیجه اگر سیستم های مختلفی‬
‫داشته و از نتایج آنها استفاده شود این‬
‫امکان وجود دارد که توزیع خطا حول‬
‫هدف متمرکز شده و با افزایش نمونه‬
‫گیری از این توزیع به نتیجه بهتری‬
‫برسیم‬
‫‪Final‬‬
‫‪output‬‬
‫‪d3‬‬
‫‪d4‬‬
‫‪d5‬‬
‫‪input‬‬
‫ترکیب دسته بندی کننده ها‬
‫اگر از نتیجه چند دسته بندی‬
:‫کننده بصورت زیر استفاده شود‬

f com  vote( fi , f j , f k , fl , f m )
‫به شرط مستقل بودن توابع با‬
‫استفاده از روابط توزیع دو جمله‬
:‫ای داریم‬
N
P(error)     p (1  p)
k
N
k
k
N
1
2

N k
 
:‫در مقاله زیر روابط مربوطه مطرح شده اند‬
Tumer & Ghosh 1996
“Error Correlation and Error Reduction in Ensemble Classifiers”
(makes some assumptions, like equal variances)
‫خصوصیت دسته بندی کننده های پایه‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫برای اینکه بتوان نتیجه مناسبی از ترکیب دسته بندی کننده ها‬
‫گرفت‪ ،‬این دسته بندی کننده ها باید شرایط زیر را داشته باشند‪:‬‬
‫هر یک به تنهائی در حد قابل قبولی دقیق باشند‪ .‬البته نیازی به‬
‫بسیار دقیق بودن آنها نیست‪.‬‬
‫هر کدام مکمل دیگری عمل کنند‪ .‬به این معنا که همگی نباید‬
‫مشابه هم بوده و نتیجه یکسانی تولید کنند‪.‬‬
‫انواع ترکیب دسته بندی کننده ها‬
‫‪‬‬
‫‪‬‬
‫‪Static structures‬‬
‫پاسخ چندین خبره بدون در نظر گرفتن سیگنال ورودی با هم ترکیب میشوند‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ensemble averaging‬‬
‫خروجی خبره های مختلف بصورت خطی با هم ترکیب شده و خروجی جمعی را بوجود می آورد‬
‫‪boosting‬‬
‫یک یادگیر ضعیف طوری تغییر داده میشود تا به دقت باالئی برسد‪.‬‬
‫‪Dynamic structures‬‬
‫در این روش سیگنال ورودی در انتخاب مکانیسم ترکیب خبره ها تاثیر میگذارد‪.‬‬
‫‪‬‬
‫‪mixture of experts‬‬
‫‪‬‬
‫خروجی خبره ها توسط یک شبکه ‪ Gating network‬بصورت غیر خطی با هم ترکیب‬
‫میشوند‪.‬‬
‫‪‬‬
‫‪hierarchical mixture of experts‬‬
‫خروجی خبره ها توسط چندین شبکه ‪ Gating network‬که بصورت سلسله مراتبی قرار داده شده‬
‫اند بصورت غیر خطی با هم ترکیب میشوند‪.‬‬
‫‪‬‬
Ensemble Averaging
Ensemble Averaging >Voting

Regression
L
y   w jd j
j 1
w j  0 and

Classification
L
yi   w j d ji
j 1
L
w
j 1
j
1
‫انواع رای گیری‬
‫‪Regression‬‬
‫•‪wj=1/L‬‬
‫•‪plurality voting‬‬
‫وقتی که چندین کالس مختلف وجود داشته باشند کالسی که‬
‫بیشترین رای را بیاورد برنده خواهد شد‪ .‬بعبارت دیگر همه‬
‫کالسها بطور مساوی مقدار رگراسیون را تحت تاثیر قرار‬
‫میدهند‪.‬‬
‫•‪majority voting‬‬
‫وقتی که فقط دو کالس داشته باشیم کالسی که رای اکثریت را‬
‫بیاورد برنده میشود‪.‬‬
‫•‪wj proportional to error rate of classifier‬‬
‫این ضرایب با استفاده از یک مجموعه داده ‪ validation‬یاد‬
‫گرفته میشوند‪.‬‬
‫‪‬‬
‫‪L‬‬
‫‪y   w jd j‬‬
‫‪j 1‬‬
‫‪1‬‬
‫‪L‬‬
‫‪j‬‬
‫‪w‬‬
‫‪j 1‬‬
‫‪w j  0 and‬‬
‫‪Classification‬‬
‫‪L‬‬
‫‪yi   w j d ji‬‬
‫‪j 1‬‬
‫‪‬‬
‫تاثیر ترکیب در خطا‬
‫‪‬‬
‫نشان داده میشود که خطای حاصل از ترکیب خبره ها از‬
‫خطای میانگین کمتر خواهد بود‪:‬‬
‫‪ f com ) 2‬‬
‫‪i‬‬
‫‪( f‬‬
‫‪i‬‬
‫‪1‬‬
‫‪M‬‬
‫‪ ( fi  t )2 ‬‬
‫‪i‬‬
‫‪1‬‬
‫‪M‬‬
‫‪( f com  t ) 2 ‬‬
‫)‪(Krogh & Vedelsby 1995‬‬
‫‪iM‬‬
‫‪i‬‬
‫‪f‬‬
‫‪i 1‬‬
‫‪1‬‬
‫‪‬‬
‫‪M‬‬
‫‪f com‬‬

Bayesian perspective (if outputs are posterior probabilities):
PCi | x  
 PC
i
| x, M j P M j 
all modelsM j
Bias 2 :

If dj are iid, with errorj < 1/2
( ED (d )  f ) 2
Variance : ED [( ED (d )  d ) 2 ]
 1  1
E y   E  d j   L  E d j   E d j 
 j L  L
 1  1

 1
1




Vary   Var  d j   2 Var  d j   2 L  Vard j   Vard j 
L
 j L  L
 j
 L

Bias does not change, variance decreases by L

Average over models with low bias and high
variance
‫نتیجه گیری در مورد ‪Ensemble‬‬
‫‪Averaging‬‬
‫‪‬‬
‫اگر چندین خبره با بایاس و واریانس یکسان‪ ،‬از طریق روش‬
‫‪ ensemble-averaging‬با هم ترکیب شوند‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫بایاس سیستم حاصل مشابه بایاس هر یک از خبره ها خواهد بود‪.‬‬
‫واریانس سیستم حاصل کمتر از واریانس هر یک از خبره ها خواهد‬
‫بود‪.‬‬
‫خطای میانگین سیستم حاصل کمتر از خطای میانگین هر یک‬
‫از خبره ها خواهد بود‪.‬‬
‫مثال‬
‫‪‬‬
‫‪Avg.‬‬
‫‪79.4‬‬
‫در این مثال خروجی ‪10‬‬
‫شبکه با هم ترکیب شده اند‪.‬‬
‫میانگین ‪Ensemble‬‬
‫توانسته به خطای مورد‬
‫انتظاری که کمتر از خطای‬
‫میانگین شبکه های منفرد‬
‫است )‪ (eD‬برسد‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪80.3% versus 79.4%‬‬
‫)‪(average‬‬
‫‪1% diff.‬‬
‫روش ‪Bagging‬‬
‫‪‬‬
‫این روش نیز مبتنی بر رای گیری است با این تفاوت که یادگیرهای پایه‬
‫با داده های آموزشی متفاوتی آموزش داده میشوند تا اندکی با هم تفاوت‬
‫داشته باشند‪ .‬در نتیجه در حالی که این یادگیرها بدلیل آموزش از‬
‫مجموعه اصلی مشابه هم خواهند بود بدلیل انتخاب تصادفی نمونه های‬
‫آموزشی اندکی با هم اختالف نیز خواهند داشت‪.‬‬
‫‪Bagging (Bootstrap Aggregating) - Breiman, 1996‬‬
‫‪take a training set D, of size N‬‬
‫…‪for each network / tree / k-nn / etc‬‬
‫‪- build a new training set by sampling N examples,‬‬
‫‪randomly with replacement, from D‬‬
‫‪- train your machine with the new dataset‬‬
‫‪end for‬‬
‫‪output is average/vote from all machines trained‬‬
‫مثال‬
‫‪Single net Simple ensemble Bagging‬‬
‫‪3.4‬‬
‫‪3.5‬‬
‫‪3.4‬‬
‫‪38.6‬‬
‫‪35.2‬‬
‫‪33.1‬‬
‫‪23.9‬‬
‫‪23‬‬
‫‪22.8‬‬
‫‪breast cancer‬‬
‫‪glass‬‬
‫‪diabetes‬‬
‫)‪Error rates on UCI datasets (10-fold cross validation‬‬
‫‪Source: Opitz & Maclin, 1999‬‬
‫‪‬‬
‫روش ‪ Bagging‬برای الگوریتمهای یادگیر ناپایدار یعنی‬
‫الگوریتمهائی که با تغییر داده دچار تغییر در نتیجه میشوند‬
‫عملکرد خوبی خواهد داشت‪ ( .‬شبکه عصبی و درخت تصمیم نمونه‬
‫ای از این الگوریتمها هستند‪ .‬در حالیکه ‪ KNN‬پایدار است‪).‬‬
Bagging
T
1
Input data :x H  x   sign[  hi  x ]
i 1 T
1
T
Training data
1
T
1
T
‫‪Boosting‬‬
‫‪‬‬
‫ایده اصلی‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اگر یادگیرهای پایه مشابه هم باشند ترکیب آنها نتیجه متفاوت محسوسی نخواهد داشت‪ .‬بهتر‬
‫است که یادگیرها تصمیم گیری متفاوتی داشته و مکمل یکدیگر باشند‪.‬‬
‫در ‪ Bagging‬تفاوت بین یادگیرها از روی شانس و ناپایداری یادگیرهاست‪.‬‬
‫در ‪ Boosting‬سعی میشود تا تعدادی یادگیر پایه ضعیف که مکمل هم باشند تولید‬
‫شده و آنها را با اشتباه یادگیر قبلی آموزش داد‪.‬‬
‫منظور از یادگیر ضعیف این است که یادگیر فقط کافی است که یک کمی از حالت‬
‫تصادفی بهتر عمل کند‪)e < ½( .‬‬
‫‪Boosting – Schapire & Freund 1990‬‬
‫‪‬‬
‫‪‬‬
‫در مقابل به یادگیری که با احتمال باالئی به دقت دلخواه برسد یادگیر قوی گفته‬
‫میشود‪.‬‬
‫منظور از ‪ Boosting‬این است که یک یادگیر ضعیف را به یک یادگیر قوی‬
‫تبدیل کنیم‪.‬‬
‫‪Boosting‬‬
‫‪‬‬
‫‪‬‬
‫به هر یک از دسته بندی کننده های مورد استفاده یک خبره‬
‫)‪ (expert‬گفته میشود‪ .‬هر خبره با مجموعه داده ای با توزیع‬
‫متفاوت آموزش داده میشود‪.‬‬
‫برای پیاده سازی ‪ Boosting‬سه روش مختلف وجود دارد‪:‬‬
‫‪‬‬
‫‪Filtering‬‬
‫‪‬‬
‫‪‬‬
‫‪Subsampling‬‬
‫‪‬‬
‫‪‬‬
‫در این روش فرض میشود مجموعه داده خیلی بزرگ است و مثالهائی که از آن انتخاب میشوند‪ ،‬یا حذف شده و یا به‬
‫مجموعه داده برگردانده میشوند‪.‬‬
‫این روش با مجموعه داده های با اندازه ثابت بکار برده میشود‪ .‬داده ها با استفاده از یک توزیع احتمال مشخص‬
‫مجدا نمونه برداری میشوند‪.‬‬
‫‪Reweighting‬‬
‫‪‬‬
‫این روش نیز با مجموعه داده های با اندازه ثابت بکار برده میشود‪ .‬ولی داده ها توسط یک یادگیر ضعیف ارزش‬
‫گذاری شده و به آنها وزن داده میشود‪.‬‬
Boosting by filtering
Boosting
‫الگوریتم‬
take a training set D, of size N
do M times
train a network on D
find all examples in D that the network gets wrong
emphasize those patterns, de-emphasize the others, in a new
dataset D2
set D=D2
loop
output is average/vote from all machines trained
‫نمونه ای از الگوریتم‬
Boosting by filtering
Training:
‫برای هر الگوریتم پیاده سازی های‬
 Divide X into 3 sets: X1, X2 and X3
‫مختلفی وجود دارد که نمونه ای از آن‬
.‫در اینجا آورده شده است‬
 Use X1 to train c1: (T1)
 Feed X2 into c1
 Take all instances from X2 that are misclassified by c1
 Take equal number of correctly classified instances (by c1) from X2
 This forms the training set of c2 (T2)
 Feed X3 into c1 and c2
 Add instances where they disagree to T3
Testing:
 Feed instance to c1 and c2


If they agree, take the decision
If they dont agree, use c3’s decision )=majority decision(
‫مثال‬
‫کارائی یادگیرنده های ‪BOOSTING‬‬
‫ویژگی های‬
‫‪Boosting by filtering‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫هر خبره بر روی قسمتی از مسئله که یادگیری آن سخت است‬
‫تمرکز مینماید‪.‬‬
‫داده آموزشی هر یادگیر از توزیع متفاوتی بدست می آید‪.‬‬
‫نیاز به مجموعه داده آموزشی زیادی دارد‬
‫‪‬‬
‫برای رفع این مشکل از ‪ Adaboost‬استفاده میشود‪.‬‬
Boosting
T
Input data :x
1
Training data
H  x   sign[  i hi  x ]
i 1
2
T
‫)‪AdaBoost (ADAptive BOOSTing‬‬
‫‪‬‬
‫در این روش احتمال انتخاب یک نمونه ‪ xt‬برای قرار گرفتن در مجموعه داده‬
‫های آموزشی دسته بندی کننده ‪ j+1‬بر مبنای احتمال خطای دسته بندی کننده‬
‫‪ cj‬تعیین میشود‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اگر نمونه ‪ xt‬بدرستی دسته بندی شده باشد‪ ،‬احتمال انتخاب شدن آن برای دسته بندی کننده بعدی‬
‫افزایش داده میشود‪.‬‬
‫اگر نمونه ‪ xt‬بدرستی دسته بندی نشود‪ ،‬احتمال انتخاب شدن آن برای دسته بندی کننده بعدی کاهش‬
‫داده میشود‪.‬‬
‫تمامی یادگیرها ضعیف و ساده بوده و باید خطائی کمتر از ½ داشته باشند در غیر‬
‫اینصورت آموزش متوقف میشود زیرا ادامه آن باعث خواهد شد تا یادگیری برای دسته‬
‫بندی کننده بعدی مشکلتر شود‪.‬‬
‫‪AdaBoost Algorithm‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫احتمال اولیه انتخاب نمونه های آموزشی ( وزن آنها) یکنواخت در نظر گرفته‬
‫میشود‪ .‬در واقع وزن هر مثال نشان دهنده اهمیت آن مثال خواهد بود‪.‬‬
‫اگر نمونه آموزشی ‪ i‬بدرستی توسط دسته بندی کننده ضعیف فعلی ارزیابی‬
‫شود توزیع احتمال بعدی آن با ضرب کردن وزن مثال ‪ i‬در عددی مثل ‪b ‬‬
‫]‪(0,1‬تعیین میشود ( کاهش داده میشود)‪ .‬در غیر اینصورت وزن آن ثابت‬
‫باقی می ماند‪.‬‬
‫فرضیه نهائی از طریق رای گیری وزن دار تعداد ‪ T‬فرضیه ضعیف بدست می‬
‫آید‪.‬‬
‫یک نمونه از پیاده سازی الگوریتم‬
AdaBoost
Generate a
sequence of
base-learners
each focusing
on previous
one’s errors
(Freund and
Schapire,
1996)
‫مثال‬
Single net Simple ensemble Bagging AdaBoost
breast cancer
3.4
3.5
3.4
4
glass
38.6
35.2
33.1
31.1
diabetes
23.9
23
22.8
23.3
Error rates on UCI datasets (10-fold cross validation)
Source: Opitz & Maclin, 1999
‫یک نمونه دیگراز پیاده سازی الگوریتم‬
AdaBoost

Constructing Dt : t  1,..., T
 D1  1/ m
 Given Dt and ht : i  1,..., m

Dt  i  
e t if yi  ht  xi 
Dt 1  i  
  t
Zt 
 e if yi  ht  xi 
Dt  i 

 exp   t yi  ht  xi  
Zt
1  1 et 
where Zt = normalized constant,  t  ln 
0

Final hypothesis:


 H
final  x   sign  t ht  x  
 t

2
 et 
Toy Example – taken from Antonio Torralba
@MIT
Each data point has
a class label:
yt =
+1 ( )
-1 ( )
and a weight:
wt =1
Weak learners from
the family of lines
h => p(error) = 0.5 it is at chance
Toy example
Each data point has
a class label:
yt =
+1 ( )
-1 ( )
and a weight:
wt =1
This one seems to be the best
This is a ‘weak classifier’: It performs slightly better than chance.
Toy example
Each data point has
a class label:
yt =
+1 ( )
-1 ( )
We update the weights:
wt
wt exp{-yt Ht}
We set a new problem for which the previous weak classifier performs at chance again
Toy example
Each data point has
a class label:
yt =
+1 ( )
-1 ( )
We update the weights:
wt
wt exp{-yt Ht}
We set a new problem for which the previous weak classifier performs at chance again
Toy example
Each data point has
a class label:
yt =
+1 ( )
-1 ( )
We update the weights:
wt
wt exp{-yt Ht}
We set a new problem for which the previous weak classifier performs at chance again
Toy example
Each data point has
a class label:
yt =
+1 ( )
-1 ( )
We update the weights:
wt
wt exp{-yt Ht}
We set a new problem for which the previous weak classifier performs at chance again
Toy example
f1
f2
f4
f3
The strong (non- linear) classifier is built as the combination of
all the weak (linear) classifiers.
‫مزایای ‪Adaboost‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫بروز رسانی وزنها بر روی مثالهای سخت تمرکز میکند که در تکرار قبلی‬
‫بدرستی دسته بندی نشده بودند‪.‬‬
‫ساده است و براحتی قابل برنامه ریزی است‪.‬‬
‫تنها پارامتر آن تعداد دسته بندی کننده هاست و تنطیم خاصی نیاز ندارد‪.‬‬
‫میتواند هر نوع دسته بندی کننده ای را ترکیب نماید‪.‬‬
Training Error

Let e t  1/ 2   t , then
training error  H final     2 e t 1  e t  


t
  1  4 t
2
et

2
 exp  2  t 
t



So if t :  t    0
2 2T
then training error  H final   e
‫روشهای دینامیک‬
‫‪Mixtures of Experts‬‬
‫‪‬‬
‫در این روش وزنهای مورد‬
‫استفاده برای رای گیری بر‬
‫اساس ورودیها تغییر میکنند و‬
‫ثابت نیستند‪.‬‬
‫‪L‬‬
‫‪y  w jd j‬‬
‫‪j 1‬‬
‫‪‬‬
‫‪‬‬
‫در حالت کلی هر یک از‬
‫خبره ها یا سیستم ‪gating‬‬
‫میتوانند غیر خطی باشند‪.‬‬
‫بدین ترتیب یادگیرهای پایه در‬
‫بخش های مختلفی از ورودی‬
‫خبره خواهند شد‪.‬‬
‫روشهای دینامیک‬
‫‪Mixtures of Experts‬‬
‫‪f1‬‬
‫•‬
‫شبکه ‪ Gating‬همزمان با یادگیری‬
‫هر یک از خبره ها یاد میگیرد که‬
‫چه وزنی به هر خبره اختصاص‬
‫داده شود تا خطا کم شود‪.‬‬
‫‪1‬‬
‫‪( g i ( x ) f i ( x)  t ) 2‬‬
‫‪2 i‬‬
‫‪f2‬‬
‫‪Final output‬‬
‫‪Combine‬‬
‫‪f3‬‬
‫‪f4‬‬
‫‪f5‬‬
‫‪E ( x) ‬‬
‫•‬
‫اینکار باعث تجزیه فضای ورودی‬
‫بین خبره ها میشود‪.‬‬
‫•‬
‫شبکه ‪ Gating‬معموال از روش‬
‫‪ Softmax‬استفاده میکند تا مجموع‬
‫وزنها یک شود‪.‬‬
‫) ‪exp(  i‬‬
‫) ‪exp(  j‬‬
‫‪j 1‬‬
‫‪‬‬
‫‪g i ( x) ‬‬
‫‪input‬‬
Face Detection
Adaboost
Non-face
Detection result
Training set
Classifiers Design
htHaar-like features for
Two-rectangle (A,B)
Three-rectangle (C)
Four-rectangle (D)
24
24
:




Classifiers Design
Why use Haar-like features?

Resolution of detector : 24*24 
total 160,000 (quite large)
Classifiers Design
Use “Integral image”.
iix, y  

 i  x' , y ' 
x ' x , y ' y
Feature computation:
D  ii4  ii1  ii2  ii3
ii  4  2  ii 3

Classifier Design
Choose the best features
Adaptive reweighting
Non-face
Haar-like features
Training set
Face Detection
Computation cost:
Ex: image size: 320x240.

sub-window size:24x24.
frame rate: 15 frame/sec.
each feature need (320-24+1)x(240-24+1)x15=966,735 per sec
(if ignore scaling)
huge computation cost !!

Face Detection
Use cascade classifiers.
Example:
200 feature classifier  10 20-featureclassifiers.



Face Detection
Advantage of cascade classifiers:
Maintain accuracy.
Speed up.



Experiments