17. Learning: Boosting

Поділитися
Вставка
  • Опубліковано 4 чер 2024
  • MIT 6.034 Artificial Intelligence, Fall 2010
    View the complete course: ocw.mit.edu/6-034F10
    Instructor: Patrick Winston
    Can multiple weak classifiers be used to make a strong one? We examine the boosting algorithm, which adjusts the weight of each classifier, and work through the math. We end with how boosting doesn't seem to overfit, and mention some applications.
    License: Creative Commons BY-NC-SA
    More information at ocw.mit.edu/terms
    More courses at ocw.mit.edu

КОМЕНТАРІ • 139

  • @noobshady
    @noobshady 5 років тому +88

    “The definition of genius is taking the complex and making it simple.”
    ― Albert Einstein
    Thank you Dr Winston and MIT.
    I really need to send these to my teachers where the only thing they do is reading slides.

    • @pumpitup1993
      @pumpitup1993 3 роки тому +3

      Brother u are not the only one

    • @JACQNARC
      @JACQNARC 3 роки тому +2

      @@pumpitup1993 True

  • @prasunshrestha7692
    @prasunshrestha7692 3 роки тому +9

    I don't think I would have ever said this in academia, but I can binge-watch all his lectures. Amazing!

  • @daniellsitio
    @daniellsitio 3 роки тому +9

    RIP Prof Patrick, thank you for the kind lectures.

  • @omidmo7554
    @omidmo7554 8 років тому +113

    An outstanding teacher. I appreciate Dr Winston. He explains confusing stuff in a very simple way.

  • @emanuelen5
    @emanuelen5 6 років тому +9

    A comment on the transcription: A lot of times when it is transcribed [Inaudible], he says "Schapire", which is the inventor of Boosted learning (Robert Schapire)

  • @EvanKozliner
    @EvanKozliner 7 років тому +24

    It's incredible that there are even empty seats in this lecture. Truly an amazing professor

    • @jamespaz4333
      @jamespaz4333 4 роки тому +4

      that's not an issue. What those sleeping in the front row? too bad for them.

  • @CRJessen
    @CRJessen 6 років тому +4

    This is such a clear path to understanding. Thank you, Prof.Winston.

  • @Timvoortaal
    @Timvoortaal 7 років тому +11

    Man, that straight line on the board in the beginning, what a pro

  • @shashankaich7632
    @shashankaich7632 4 роки тому +5

    One of my greatest and most admired professors. An Inspiration for the whole generation.

  • @vurtnesaerdna
    @vurtnesaerdna 2 роки тому +1

    Thank you Mr Winston. Rest in peace, your spirit will always be with us!

  • @swimmingsun87
    @swimmingsun87 9 років тому +35

    hand writing is amazing

  • @MaxRoth
    @MaxRoth 9 років тому +133

    I am amazed that Dr. Winston uses no notes. This is all in his head. Crazy.

    • @krakenmetzger
      @krakenmetzger 4 роки тому +4

      The trick is he writes the notes on the chalkboard beforehand

    • @Stl71
      @Stl71 4 роки тому

      If he teaches the same every year, then no surprise he can remember eveything after a decade or so.

    • @philtinn3015
      @philtinn3015 3 роки тому +8

      The morning before each lecture, Patrick rehearses the chalkboarding. Make no mistake: hard work pays off.

    • @MilesTeg87
      @MilesTeg87 Рік тому +1

      @@Stl71 that's very true. It's easier to remember and be good at giving a practiced speech reinforced by repetition. What separates him from the ordinary is that he is constantly updating the material, thinking about it, working on it, teaching about it, and also thinking about biology, psychology, evolution and how they integrate, explain, support or at least refute each other.
      Also he has a script, obviously the class is practiced beforehand to fit the ideas into the time frame, also for his ramblings about how we became human (i'm a biologyst so I really enjoy and adhere/agree to his thinking). Having ideas pre-written on the board, plot twists (like writing decision trees and then change that to tree stumps). He really likes, works, believes and put his knowledge to create something superb.

    • @alexhwang334
      @alexhwang334 Рік тому

      At least 4 decades of teaching this. But remember things in AI evolved quite a bit. He did not get to repeat the same stale material year after year.
      You do need to know the material thoroughly to present the way he did.
      Most professors can't do that. In fact, I almost think that unless you can present without note, you should not profess.
      He was one of the great ones.

  • @alifawzi4566
    @alifawzi4566 7 років тому

    i would like to thank you about your fantastic contribution in the all science &especially in computer field

  • @naheliegend5222
    @naheliegend5222 5 років тому +2

    3:45 : that free-handed drawn line is outstanding! :D

  • @alaaeltayeb5794
    @alaaeltayeb5794 4 роки тому +1

    thank you, may you rest in peace

  • @GigaFro
    @GigaFro 7 років тому +1

    Phenomenal lecture. Easy to understand and as said before, great hand writing. Thanks for sharing, it is much appreciated :)

  • @apanapane
    @apanapane 7 років тому +3

    Thank you for this lecture.

  • @suketudave7508
    @suketudave7508 3 роки тому

    27:32 I love the way he writes 'e' for e to the power always....

  • @aop2182
    @aop2182 5 років тому +3

    I really enjoyed this video and I watched twice. He was talking about Adaptive boosting if someone is interested in min error bound you can find prove that the bound is exponential. I wish he talked about Gradient boosting and xgboost as well! Thanks MIT open course!

    • @fahedalenezy9355
      @fahedalenezy9355 5 років тому +4

      Hi,
      xgboost wasn't developed yet back in 2010. it's invented in 2014.

    • @forthrightgambitia1032
      @forthrightgambitia1032 2 роки тому

      Check Kilian Weinberg's lecture for gradient boosting trees.

  • @iliTheFallen
    @iliTheFallen 7 років тому

    Perfect teaching! Great job, Sir.

  • @iPyson
    @iPyson 6 років тому +17

    The guy sleeping in the 5th row at 23:13 though... forever on the internet sleeping in class

  • @irfanshaikh-ub9ks
    @irfanshaikh-ub9ks 5 років тому +1

    your explanation is awesome
    i request you what you explain in theory do the same in Practical (small sample)
    that make understanding more clear

  • @anuragsodhi
    @anuragsodhi 7 років тому

    Thanks for amazing lecture!

  • @geevarghesegeorge1424
    @geevarghesegeorge1424 4 роки тому

    This might seem a bit intimidating at first, but give it another go and you will be able to digest this!

  • @TheAIChannel
    @TheAIChannel 7 років тому +1

    Way to go Doctor, the explanation is very clear and unique. I was just wandering if anyone has an idea what application was being used to demonstrate the algorithm.

    • @Tzvetkov
      @Tzvetkov 6 років тому

      It's his own. He's made it for the demonstrations as far as I know from other comments.

  • @zkhandwala
    @zkhandwala 4 роки тому +5

    Great lecture. I would LOVE to see an updated version of it (without having to go to Cambridge...), as much has changed over the past 10 years. For one thing, I imagine the focus would now be on gradient boosting... Anyway, I'm curious to hear people's thoughts on the implied quiz question around 8m15s. I thought about it for a few minutes, and my feeling is that as long as all of the individual models have the same classification accuracy (i.e., the sizes of the small circles are the same), ensembling can never hurt. Yes/no?

    • @ramnewton8936
      @ramnewton8936 4 роки тому +2

      Yes, I agree with you. Say the area of a single circle is A. I'm assuming all the error circles are of same radius. The error of a vanilla model would be A. Now, for a 3 model ensemble to perform worse than vanilla model, the error should be greater than A. ie, the area of {the union of regions that have at least two intersecting circles} should be greater than the area of a single circle. Intuitively, I feel we can never arrange the circles in such a way that this condition is met.

    • @anasbekheit5479
      @anasbekheit5479 2 роки тому

      I know it's a bit late but the idea of boosting is statistically speaking if your base models have a better than 50% chance of being right they 'll tend to boost eachother's performance but on the other hand if they have a lower than 50% chance of being correct, then they 'll boost eachother to miss classifying the dataset.

  • @weiqiangdong1022
    @weiqiangdong1022 4 роки тому

    Thank you. Rest in peace.

  • @bohrbrar
    @bohrbrar 8 років тому

    Great lecture...

  • @calop002
    @calop002 8 років тому

    Awesome teacher

  • @Niels1234321
    @Niels1234321 7 років тому

    The not overfitting thing is really mind blowing, because it seems to me like the VC dimensionality of the demonstarted classifier is infinity. I was about to write a question like this:
    Does the volume of the space of which the classification result depend on an outlier decrease in any case, or are there cases (of low probability) in which they occupy more volume?
    I guess that the volume decreases, if there are good samples around the outlier, and that the volume can stay large if the outlier lies far away from the subspace in that the good samples lie. If that holds, it is still unlikely to get test data points in that volume even if it stays large.
    If somebody knows about this, please let me know

  • @JohnForbes
    @JohnForbes 9 років тому

    Amazing!

  • @aakashblu
    @aakashblu 7 років тому

    Last part of Thank God Hole is excellent explanation

  • @katateo328
    @katateo328 Рік тому

    it looks like the volume around correct classified points could be computed and that volume takes vast amount of the total volume. Hence the algorithm not overfitting. How to compute volume arount error classified points when all points are classified correctly?

  • @nikhilkumarjha
    @nikhilkumarjha 5 років тому

    So well explained :)

  • @adityanakate6516
    @adityanakate6516 7 років тому

    just awesome

  • @chymoney1
    @chymoney1 Рік тому

    Superb!! God bless MIT

  • @sounakbhowmik2841
    @sounakbhowmik2841 8 місяців тому

    He is incredible

  • @zhuyixue4979
    @zhuyixue4979 5 років тому

    I feel the last bit (50:30) on why boosting doesn't overfit insightful.

  • @zukofire6424
    @zukofire6424 9 місяців тому

    I love Pr. Patrick Wilson, I love MIT, TSM, I hate my school

  • @jbm5195
    @jbm5195 3 роки тому

    Where can I get an explanation like this on bagging?

  • @amirsawiopa
    @amirsawiopa 7 років тому

    an amazing lecture ive enjoyed every second.
    question: would this work well for classification with very unbalanced data set?
    minority class at about 1 percent

    • @aop2182
      @aop2182 5 років тому

      why not just try it ?

  • @ShubhamYadav-ut9ho
    @ShubhamYadav-ut9ho 2 роки тому

    Can anyone please explain how the error rate is bounded by exp fn. I'm kindof getting the idea but still, there's just a small sense of doubt.

  • @sepehrgolestanian2431
    @sepehrgolestanian2431 4 роки тому

    The lecture was ammmmaziiinggg!!!!

  • @HechTea
    @HechTea 5 років тому +10

    "In conclusion, this is magic." lmao

  • @jayb6080
    @jayb6080 8 років тому +1

    Excellent in every way. Just one question: I tried to implement this simple version but what I find strange is that some of my alphas are negative because that happens when the error is greater or equal to 0.5 but if that happens we dont have a weak learner right? So whats the deal with this case? I noticed that in the demo some of the alphas were negative too. How can I deal with this case? I would appreciate answers. Thanks for the great lecture and making that amazing knowledge available to the world!

    • @ConstantineKulak
      @ConstantineKulak 8 років тому +9

      +Gabriella Kiss If your binary classification algorithm gives >50% errors, just flip the sign and it becomes a "normal" weak classificator with less than 50% error rate.

  • @WahranRai
    @WahranRai 4 роки тому

    Rest in peace, Professor

  • @seul-kiyeom6222
    @seul-kiyeom6222 5 років тому

    Respect !!

  • @katateo328
    @katateo328 Рік тому

    how is the volume of error classified point defined?

  • @rubiskelter
    @rubiskelter 6 років тому +2

    Right aisle : 2:38 He's exited.

  • @sainathkumar7126
    @sainathkumar7126 9 років тому

    I would like to know what software was used in this lecture.Very interesting ,also can we have some practical examples where boosting will be used . How does boosting fair in comparison to other classifiers

    • @mitocw
      @mitocw  9 років тому +5

      Sainath Kumar Some of the demonstrations use the Java Runtime Environment. See the course on MIT OpenCourseWare at ocw.mit.edu/6-034F10 and see Demonstrations section for details.

    • @XArticSpartanX
      @XArticSpartanX 4 роки тому

      @@mitocw typically when someone asks for software they are asking for the name of the program, not the language the software was written in

  • @nomercysar
    @nomercysar 7 років тому

    Oh, wish I'd learn this in college. Close but not quite. Thanks MIT I guess

  • @kaverisharma5368
    @kaverisharma5368 9 років тому

    Which Software is that?

  • @solarstryker
    @solarstryker 6 років тому

    I didn't get the part where new weights are scaled to 1/2 what good does it do ?

    • @kumarrajendran1655
      @kumarrajendran1655 6 років тому

      The new computations of the weights doesn't involve computing any complex mathematical functions, like logarithm. You just divide by 2(1-e) or 2 (e).
      The other interpretation of 1/2 (you have equal number of positive and negative examples) - This is the hardest setting for a binary classifier to get right. If for example your training data is skewed (not 50/50 positive and negative) you can get a lower than 0.5 error rate just by predicting +1 or -1 all the time. This, I think, is pretty significant, otherwise instead of decision trees you could just randomly pick a dummy classifier that predicts +1 x percent of the times where x is sampled from [0,100].

  • @luiservela
    @luiservela 5 років тому +1

    Is he saying that boosting doesn't overfit because it actually super-mega-over-fits so much that the volume of the "intruder" is too small to have any statistical significance? - brilliant.

  • @LinVincent
    @LinVincent 9 років тому +6

    这个老师讲课不怒自威,好有气场啊

  • @myreneario7216
    @myreneario7216 6 років тому +1

    At 16:25 doesn´t the orange line at the bottom symbolize the exact same thing as the orange line at the very left? Both say "Everything is +" or "Everything is -". And then we don´t have 12 classifiers but only 10.

    • @user-ol2gx6of4g
      @user-ol2gx6of4g 6 років тому +1

      No, those are for different dimensions.

    • @rakeshovr1
      @rakeshovr1 6 років тому

      Could someone throw more light? I didnt quite catch that

    • @aop2182
      @aop2182 5 років тому

      It's different dimension which mean they are different tests. Ex. x > -1 and y> -3 with both tests you can say the sample are all + or - but they are different tests.

    • @mixking5609
      @mixking5609 5 років тому

      Every line denotes two tests, and it still holds for the leftmost line. Therefore, 6 lines => 12 tests.

  • @jerrykam9247
    @jerrykam9247 10 років тому +54

    he draws a very "straight line"... amazing.. lol

    • @IonidisIX
      @IonidisIX 5 років тому +1

      Property of the thickness of the chalk and speed at which he was drawing. That is friction for you. It overpowered any tendency of his hand not to draw a straight line. :)

  • @gumikebbap
    @gumikebbap 7 років тому +5

    so how does the program choose the number of classifiers to use?

    • @sanjayharesh
      @sanjayharesh 7 років тому

      keep on adding a hypothesis unless the training error is 0.

    • @user-ol2gx6of4g
      @user-ol2gx6of4g 6 років тому

      Sanjay "unless" -> until

    • @BilalBarkati
      @BilalBarkati 6 років тому

      We already know the upper bound to the error rate epsilon so we can know beforehand how many iterations are needed.

    • @EranM
      @EranM 5 років тому

      Good question. It doesn't. It can train till 100% on the training set. A good way top stop training and Choose the Number of classifiers, is evaluating a Test set alongside with training. When test set error stop decreasing, you know its the best number of classifiers for that test set.

  • @katateo328
    @katateo328 Рік тому

    yeah, The name boosting sounds mystery but it is actually extremely easy. Excellent concept.

  • @henryzhang1809
    @henryzhang1809 5 років тому

    So, why several weak learners combine can become a strong learner? Can we prove it in probability?

  • @WepixGames
    @WepixGames 4 роки тому

    R.I.P Patrick Winston

  • @rockstarchampion5831
    @rockstarchampion5831 4 роки тому +1

    How did that formula 27:30 come from?

    • @jonnyradars
      @jonnyradars 4 роки тому

      that's explained clearly here ua-cam.com/video/LsK-xG1cLYA/v-deo.html

  • @IamMoreno
    @IamMoreno 5 років тому

    Where can I find a playlist with all the videos on artificial intelligence?

    • @mitocw
      @mitocw  5 років тому +1

      Here is the link to the playlist: ua-cam.com/play/PLUl4u3cNGP63gFHB6xb-kVBiQHYe_4hSi.html. Good luck with your studies!

  • @jonnyradars
    @jonnyradars 4 роки тому

    FYI: the lecture is about AdaBoost only

  • @qzorn4440
    @qzorn4440 7 років тому

    so to solve a data set, is there a program to 1st determine which neuro software is the correct choice to produce the correct results, KNN, SVM, Boosting, etc...?

    • @dondan2504
      @dondan2504 7 років тому

      try weka

    • @Niels1234321
      @Niels1234321 7 років тому

      If you don't know what is best, use everything and combine the results. If you have arbitrary classifiers (some SVM's with different weightening, some NN's, some decision trees, all mixed), you can map your data x to a vector containing the classifier results and then train a simple linear classifier on top of it.

  • @EranM
    @EranM 5 років тому +1

    How to caulculate the Error is missing

    • @TylerHNothing
      @TylerHNothing 5 років тому

      it's at 18:02 after he introduced the classifier

  • @Proman155
    @Proman155 5 років тому

    At 4:00 he said if error rate is towards 1 , we are dead...actually not true. It would mean that every classification is wrong and simply inverting that terrible classifier will make it an awesome classifier. But Amazing video, learnt so much, FILLED with Aha moments ! :D

  • @Soumonomics
    @Soumonomics 7 років тому

    wow

  • @raphaelseitz805
    @raphaelseitz805 6 років тому +1

    Why is a coin flip a weak classifier if p1>p2 with p1+p2=1? 0.5×p1+ 0.5×p2 still is 0.5.

    • @kumarrajendran1655
      @kumarrajendran1655 6 років тому

      A weak classifier is defined as something that has an error rate marginally lower than 50%. If you have a biased coin, it lands heads more/ less than 50% of the time. So you just predict +1 every time it lands heads. When you do this, your error rate, let's say e, will be greater than or less than 0.5. If it's less than 0.5, you have got a weak classifier. if it's greater than 0.5, predict -1, instead of 1, every time you get a head. Again, you have gotten a weak classifier.

    • @user-ol2gx6of4g
      @user-ol2gx6of4g 6 років тому

      because 50-50 is at maximum entropy and doesn't give you any useful information.

    • @doyltruddy902
      @doyltruddy902 6 років тому

      Could be a biased coin. You are assuming p1 = p2, but there could be a coin that is heavier on one side and so has a higher probability of landing on one side. That's all he meant.

  • @lucavecchi7638
    @lucavecchi7638 5 років тому

    this is not the demostration that boosting doesn't overfitt or am i be wrong?

  • @rouhollahabolhasani1853
    @rouhollahabolhasani1853 4 роки тому

    Holy shit!

  • @naheliegend5222
    @naheliegend5222 4 роки тому

    8:45 what is the answer of his question?

    • @eslammessi100
      @eslammessi100 4 роки тому

      I think the 3 circles would be inside each others

  • @BilalBarkati
    @BilalBarkati 6 років тому

    While telling the advantages of Thank God hole number 1 around 46:00, The professor mentioned that we don't need to compute logarithms and also we don't need to compute alphas. I don't understand why alphas are not required since we will need alphas to get the final answer since H(x) is a weighted sum of h(x) and the weights are alphas so I think we need to compute alphas anyhow. Can someone please tell me where I am missing ?

    • @kingmanzhang
      @kingmanzhang 5 років тому

      I have the same question. Did you figure out?

    • @gauravsrivastava9428
      @gauravsrivastava9428 5 років тому

      The sum of the new weights resulting from old weights that were correctly classified will be 1/2 times. This means we can sum up all the old correct weights and scale this by some constant that the resulting sum is 1/2. Now each of the new weight coming from these old weights would be old weight times the constant used. Similar technique could be used to get the new weights coming from incorrectly classified old weights. I feel this is what he meant.

    • @aop2182
      @aop2182 5 років тому

      Because new weights added up is 1/2 so you just need to do some MANIPULATIONS to make the sum to 1/2 based on previous corrective / wrong predictions. I just wonder how to find those scales.

  • @benjaminkaarst
    @benjaminkaarst 7 років тому +3

    What do you mean by "data exaggeration"?

    • @syedehtesham6684
      @syedehtesham6684 6 років тому +5

      The "exaggeration" refers to the increased weights of the erroneously classified instances. Let me explain using the same example prof has used. Suppose you train 100 instances and make a model(h1), now when you run the trained model against the 100 instances, you get 70 correct and 30 wrong classified instances.
      You increase the weights of the 30 wrongly classified instances and train the next model(h2). You can continue this till you reach a desired threshold.

    • @slkslk7841
      @slkslk7841 4 роки тому

      @@syedehtesham6684 thanks

  • @tedz2usa
    @tedz2usa 5 років тому

    Lol 2 guys asleep at 23:16 suddenly woke up when he yelled "add weights"!

    • @kevincui1631
      @kevincui1631 5 років тому +1

      lol. He is a great teacher, but I have to admit his voice made me wanna sleep as well. Had to turn on 1.25 speed.

  • @nitinkhola4491
    @nitinkhola4491 4 роки тому

    i do not understand why the students don't find the jokes funny :D.
    great prof!

  • @Noelson
    @Noelson 8 років тому +20

    switch speed to 1.25 :D

    • @vladimir0681
      @vladimir0681 7 років тому

      same. great lecture though ;)

    • @gumikebbap
      @gumikebbap 6 років тому

      you're a genius!

    • @user-ol2gx6of4g
      @user-ol2gx6of4g 6 років тому

      1.5x for me

    • @Lod531
      @Lod531 5 років тому +1

      @@user-ol2gx6of4g I go at least x25

  • @olesianitsovych4632
    @olesianitsovych4632 8 місяців тому

    rip

  • @JD-ov5gt
    @JD-ov5gt 2 роки тому

    Many stumps aka many winstons

  • @jasons8963
    @jasons8963 6 років тому

    Handwriting model

  • @zingg7203
    @zingg7203 5 років тому

    Neural nets naive? Time does not think so.

  • @kellybrower301
    @kellybrower301 3 роки тому

    "That’s the thank God hole”

  • @AmeerulIslam
    @AmeerulIslam 3 роки тому

    Boy I almost didn't understand anything!

  • @premgarg5534
    @premgarg5534 3 роки тому

    And my teacher is uploading on youtube in unlisted mode lol 😒😒

  • @seanrimada8571
    @seanrimada8571 7 років тому

    Why is there a sheep on the first row?

    • @Soulless0815
      @Soulless0815 6 років тому +1

      guess he is albino, as he has pretty bad eyesight, you can see him writing in the SVM-Video like literally 10cm with his head from his script....

  • @KARAB1NAS
    @KARAB1NAS 5 років тому

    I died from boredom