Combining Classifiers by HC120326224345

VIEWS: 77 PAGES: 49

									     ‫ترکیب دسته بندی کننده ها‬
Instructor: Saeed Shiry

& Ethem Chp. 15
& Haykin Chp. 7
                                                                            ‫مقدمه‬
 ‫اصل ”نهار مجانی وجود ندارد“ )‪ (No Free Lunch Theorem‬بیان میدارد که:‬                           ‫‪‬‬

‫هیچ الگوریتمی وجود ندارد که برای تمامی مسائل و در تمامی زمانها بهترین ( دقیق ترین)‬         ‫‪‬‬
                                                               ‫یادگیر را بوجود آورد.‬
                                                                                       ‫ایده:‬   ‫‪‬‬
      ‫اگر تعدادی یادگیر پایه داشته باشیم میتوان با ترکیب نتایج آنها به دقت باالتری رسید.‬   ‫‪‬‬


                            ‫این یادگیرها ممکن است در موارد زیر با هم متفاوت باشند:‬             ‫‪‬‬
                    ‫الگوریتم: که باعث میشود فرضیات مختلفی در مورد داده استفاده شود.‬        ‫‪‬‬
    ‫پارامترها: مثل تعداد گره های مختلف الیه پنهان شبکه های عصبی و یا ‪ K‬متفاوت در‬           ‫‪‬‬
                                                                              ‫‪KNN‬‬
    ‫نحوه نمایش: استفاده از تعداد متفاوت ویژگی برای هر یادگیر، استفاده از مجموعه داده‬       ‫‪‬‬
                                                                             ‫متفاوت‬
            ‫مجموعه آموزشی: داده های آموزشی یادگیرها اندکی با هم تفاوت داشته باشند.‬         ‫‪‬‬
              ‫ترکیب دسته بندی کننده ها‬
        ‫1‪d‬‬
                        ‫روشهای مختلفی برای ترکیب نتایج‬                ‫‪‬‬
                            ‫دسته بندی کننده ها وجود دارد:‬
        ‫2‪d‬‬               ‫متداولترین روشها میانگین گیری و یا‬       ‫‪‬‬

              ‫‪Final‬‬
                                ‫استفاده از رای اکثریت هستند‬
‫‪input‬‬
        ‫3‪d‬‬   ‫‪output‬‬   ‫انگیزه اصلی این کار در اینجاست که:‬              ‫‪‬‬
                           ‫ما هنگام طراحی یک سیستم یادگیر‬         ‫‪‬‬
        ‫4‪d‬‬            ‫انتخاب های فراوانی داریم: نحوه نمایش،‬
                      ‫پارامترهای یادگیر، داده های آموزشی و‬
        ‫5‪d‬‬                                                ‫غیره.‬
                           ‫این تنوع باعث میشود که نوعی از‬         ‫‪‬‬
                       ‫واریانس در عملکرد سیستم وجود داشته‬
                        ‫باشد. در نتیجه اگر سیستم های مختلفی‬
                          ‫داشته و از نتایج آنها استفاده شود این‬
                         ‫امکان وجود دارد که توزیع خطا حول‬
                          ‫هدف متمرکز شده و با افزایش نمونه‬
                           ‫گیری از این توزیع به نتیجه بهتری‬
                                                         ‫برسیم‬
          ‫ترکیب دسته بندی کننده ها‬
                      ‫اگر از نتیجه چند دسته بندی‬                            
                  :‫کننده بصورت زیر استفاده شود‬
                    f com  vote( f i , f j , f k , f l , f m )
                      ‫به شرط مستقل بودن توابع با‬                            
                 ‫استفاده از روابط توزیع دو جمله‬
                                           :‫ای داریم‬
                             N N
               P(error )     p (1  p)
                             k
                                              k        N k

                            k
                                 N
                                   1    
                                 2

                                         :‫در مقاله زیر روابط مربوطه مطرح شده اند‬
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
                         L
    w j  0 and          w
                         j 1
                                j   1


   Classification
               L
      y i   w j d ji
            j 1
                                                      ‫انواع رای گیری‬
‫‪‬‬   ‫‪Regression‬‬

       ‫‪L‬‬
                                                                                  ‫•‪wj=1/L‬‬
‫‪y   w jd j‬‬
      ‫1‪j ‬‬
                                                                   ‫•‪plurality voting‬‬
                    ‫‪L‬‬
                                       ‫وقتی که چندین کالس مختلف وجود داشته باشند کالسی که‬
‫‪w j  0 and‬‬         ‫‪w‬‬
                    ‫1‪j ‬‬
                           ‫‪j‬‬   ‫1‪‬‬     ‫بیشترین رای را بیاورد برنده خواهد شد. بعبارت دیگر همه‬
                                       ‫کالسها بطور مساوی مقدار رگراسیون را تحت تاثیر قرار‬
                                                                                     ‫میدهند.‬
                                                                  ‫•‪majority voting‬‬
‫‪‬‬   ‫‪Classification‬‬                  ‫وقتی که فقط دو کالس داشته باشیم کالسی که رای اکثریت را‬
                                                                         ‫بیاورد برنده میشود.‬
              ‫‪L‬‬
      ‫‪y i   w j d ji‬‬
             ‫1‪j ‬‬
                                    ‫•‪wj proportional to error rate of classifier‬‬
                                    ‫این ضرایب با استفاده از یک مجموعه داده ‪ validation‬یاد‬
                                                                             ‫گرفته میشوند.‬
                                             ‫تاثیر ترکیب در خطا‬
   ‫نشان داده میشود که خطای حاصل از ترکیب خبره ها از‬                            ‫‪‬‬
                        ‫خطای میانگین کمتر خواهد بود:‬
                    ‫1‬                        ‫1‬
‫‪( f com  t ) 2 ‬‬
                    ‫‪M‬‬
                           ‫‪ ( fi  t )2 ‬‬
                            ‫‪i‬‬                ‫‪M‬‬
                                                 ‫‪( f‬‬
                                                 ‫‪i‬‬
                                                        ‫‪i‬‬   ‫2 ) ‪ f com‬‬

                                                     ‫)5991 ‪(Krogh & Vedelsby‬‬
                ‫‪iM‬‬
            ‫1‬
  ‫‪f com‬‬   ‫‪‬‬
            ‫‪M‬‬
                ‫‪f‬‬
                ‫1‪i ‬‬
                       ‫‪i‬‬
    Bayesian perspective (if outputs are posterior probabilities):

          PCi | x          PC | x, M PM 
                         all modelsM j
                                         i   j   j


                                                 Bias 2 :        ( ED (d )  f ) 2
    If dj are iid, with errorj < 1/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‬با هم ترکیب شوند:‬
  ‫بایاس سیستم حاصل مشابه بایاس هر یک از خبره ها خواهد بود.‬   ‫‪‬‬
‫واریانس سیستم حاصل کمتر از واریانس هر یک از خبره ها خواهد‬    ‫‪‬‬
                                                      ‫بود.‬
‫خطای میانگین سیستم حاصل کمتر از خطای میانگین هر یک‬               ‫‪‬‬
                               ‫از خبره ها خواهد بود.‬
                                ‫مثال‬
  ‫در این مثال خروجی 01‬      ‫‪‬‬
‫شبکه با هم ترکیب شده اند.‬
      ‫میانگین ‪Ensemble‬‬
     ‫توانسته به خطای مورد‬
‫انتظاری که کمتر از خطای‬
  ‫میانگین شبکه های منفرد‬
          ‫است )‪ (eD‬برسد.‬
                                       ‫.‪Avg‬‬
‫%4.97 ‪80.3% versus‬‬     ‫‪‬‬
                                       ‫4.97‬
          ‫)‪(average‬‬
            ‫.‪1% diff‬‬   ‫‪‬‬
                                           ‫روش ‪Bagging‬‬
‫این روش نیز مبتنی بر رای گیری است با این تفاوت که یادگیرهای پایه‬          ‫‪‬‬
 ‫با داده های آموزشی متفاوتی آموزش داده میشوند تا اندکی با هم تفاوت‬
       ‫داشته باشند. در نتیجه در حالی که این یادگیرها بدلیل آموزش از‬
 ‫مجموعه اصلی مشابه هم خواهند بود بدلیل انتخاب تصادفی نمونه های‬
                       ‫آموزشی اندکی با هم اختالف نیز خواهند داشت.‬

       ‫6991 ,‪Bagging (Bootstrap Aggregating) - Breiman‬‬
           ‫‪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‬‬
‫‪breast cancer‬‬               ‫4.3‬            ‫5.3‬        ‫4.3‬
‫‪glass‬‬                      ‫6.83‬           ‫2.53‬       ‫1.33‬
‫‪diabetes‬‬                   ‫9.32‬             ‫32‬       ‫8.22‬
   ‫)‪Error rates on UCI datasets (10-fold cross validation‬‬
   ‫9991 ,‪Source: Opitz & Maclin‬‬



 ‫روش ‪ Bagging‬برای الگوریتمهای یادگیر ناپایدار یعنی‬                      ‫‪‬‬
‫الگوریتمهائی که با تغییر داده دچار تغییر در نتیجه میشوند‬
‫عملکرد خوبی خواهد داشت. ( شبکه عصبی و درخت تصمیم نمونه‬
               ‫ای از این الگوریتمها هستند. در حالیکه ‪ KNN‬پایدار است.)‬
 Bagging
                                     T
                                        1
      Input data :x H  x   sign[  hi  x ]
                                   i 1 T

                1                             1
                T                             T
                                 1
                                 T


Training data
‫‪Boosting‬‬
                                                                          ‫ایده اصلی:‬     ‫‪‬‬
‫اگر یادگیرهای پایه مشابه هم باشند ترکیب آنها نتیجه متفاوت محسوسی نخواهد داشت. بهتر‬   ‫‪‬‬
                   ‫است که یادگیرها تصمیم گیری متفاوتی داشته و مکمل یکدیگر باشند.‬
             ‫در ‪ Bagging‬تفاوت بین یادگیرها از روی شانس و ناپایداری یادگیرهاست.‬       ‫‪‬‬
‫در ‪ Boosting‬سعی میشود تا تعدادی یادگیر پایه ضعیف که مکمل هم باشند تولید‬                  ‫‪‬‬
                               ‫شده و آنها را با اشتباه یادگیر قبلی آموزش داد.‬
‫منظور از یادگیر ضعیف این است که یادگیر فقط کافی است که یک کمی از حالت‬                    ‫‪‬‬
                                           ‫تصادفی بهتر عمل کند. (½ < ‪)e‬‬
                                                     ‫0991 ‪Boosting – Schapire & Freund‬‬
    ‫در مقابل به یادگیری که با احتمال باالئی به دقت دلخواه برسد یادگیر قوی گفته‬           ‫‪‬‬
                                                                        ‫میشود.‬
    ‫منظور از ‪ 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     H  x   sign[  i hi  x ]
                                     i 1


                1                                T
                                  2


Training data
‫)‪AdaBoost (ADAptive BOOSTing‬‬
‫در این روش احتمال انتخاب یک نمونه ‪ xt‬برای قرار گرفتن در مجموعه داده‬                                 ‫‪‬‬
 ‫های آموزشی دسته بندی کننده 1+‪ j‬بر مبنای احتمال خطای دسته بندی کننده‬
                                                       ‫‪ cj‬تعیین میشود:‬
   ‫اگر نمونه ‪ xt‬بدرستی دسته بندی شده باشد، احتمال انتخاب شدن آن برای دسته بندی کننده بعدی‬   ‫‪‬‬
                                                                       ‫افزایش داده میشود.‬
 ‫اگر نمونه ‪ xt‬بدرستی دسته بندی نشود، احتمال انتخاب شدن آن برای دسته بندی کننده بعدی کاهش‬    ‫‪‬‬
                                                                              ‫داده میشود.‬


     ‫تمامی یادگیرها ضعیف و ساده بوده و باید خطائی کمتر از ½ داشته باشند در غیر‬                  ‫‪‬‬
  ‫اینصورت آموزش متوقف میشود زیرا ادامه آن باعث خواهد شد تا یادگیری برای دسته‬
                                                     ‫بندی کننده بعدی مشکلتر شود.‬
‫‪AdaBoost Algorithm‬‬

‫احتمال اولیه انتخاب نمونه های آموزشی ( وزن آنها) یکنواخت در نظر گرفته‬    ‫‪‬‬
       ‫میشود. در واقع وزن هر مثال نشان دهنده اهمیت آن مثال خواهد بود.‬
   ‫اگر نمونه آموزشی ‪ i‬بدرستی توسط دسته بندی کننده ضعیف فعلی ارزیابی‬      ‫‪‬‬
  ‫شود توزیع احتمال بعدی آن با ضرب کردن وزن مثال ‪ i‬در عددی مثل ‪b ‬‬
   ‫]1,0(تعیین میشود ( کاهش داده میشود). در غیر اینصورت وزن آن ثابت‬
                                                         ‫باقی می ماند.‬
 ‫فرضیه نهائی از طریق رای گیری وزن دار تعداد ‪ 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
                       Z t  e if yi  ht  xi 
                                
               Dt  i 
                        exp   t yi  ht  xi  
                 Zt                                   1  1 et 
       where Z t = normalized constant,  t  ln               0
                                                          2    et 
   Final hypothesis:
                                           
         final  x   sign   t ht  x  
     H

                             t             
Toy Example – taken from Antonio Torralba
@MIT



                                         Each data point has
                                         a class label:
                                                  +1 ( )
                                           yt =
                                                  -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:
                                                                 +1 ( )
                                                          yt =
                                                                 -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:
                                                                     +1 ( )
                                                              yt =
                                                                     -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:
                                                                     +1 ( )
                                                              yt =
                                                                     -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:
                                                                     +1 ( )
                                                              yt =
                                                                     -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:
                                                                     +1 ( )
                                                              yt =
                                                                     -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
     then training error  H final   e
                                         2 2T
       ‫روشهای دینامیک‬
‫‪Mixtures of Experts‬‬
            ‫در این روش وزنهای مورد‬         ‫‪‬‬
             ‫استفاده برای رای گیری بر‬
          ‫اساس ورودیها تغییر میکنند و‬
                            ‫ثابت نیستند.‬
                   ‫‪L‬‬
             ‫‪y   w jd j‬‬
                  ‫1‪j ‬‬


               ‫در حالت کلی هر یک از‬        ‫‪‬‬
             ‫خبره ها یا سیستم ‪gating‬‬
              ‫میتوانند غیر خطی باشند.‬
          ‫بدین ترتیب یادگیرهای پایه در‬     ‫‪‬‬
           ‫بخش های مختلفی از ورودی‬
                      ‫خبره خواهند شد.‬
                                                    ‫روشهای دینامیک‬
                                             ‫‪Mixtures of Experts‬‬
        ‫1‪f‬‬

        ‫2‪f‬‬
                                                        ‫شبکه ‪ Gating‬همزمان با یادگیری‬           ‫•‬
                                                        ‫هر یک از خبره ها یاد میگیرد که‬
‫‪input‬‬   ‫3‪f‬‬                ‫‪Combine‬‬        ‫‪Final output‬‬


                                                         ‫چه وزنی به هر خبره اختصاص‬
        ‫4‪f‬‬

        ‫5‪f‬‬
                                                                 ‫داده شود تا خطا کم شود.‬
                                                               ‫1‬
                                                  ‫‪E ( x) ‬‬       ‫2 ) ‪( g i ( x) f i ( x)  t‬‬
                                                               ‫‪2 i‬‬

                                                        ‫اینکار باعث تجزیه فضای ورودی‬            ‫•‬
                                                                  ‫بین خبره ها میشود.‬
                                                          ‫شبکه ‪ Gating‬معموال از روش‬             ‫•‬
                              ‫) ‪exp( i‬‬                 ‫‪ Softmax‬استفاده میکند تا مجموع‬
             ‫‪g i ( x) ‬‬                                                  ‫وزنها یک شود.‬
                          ‫‪‬‬   ‫1‪j ‬‬
                                     ‫) ‪exp( j‬‬
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

								
To top