10.2: Neural Networks: Perceptron Part 1 - The Nature of Code

Поділитися
Вставка
  • Опубліковано 25 жов 2024

КОМЕНТАРІ • 527

  • @paoloricciuti
    @paoloricciuti 7 років тому +176

    One thing you should definitely do is try your Perceptron with new data: you can create another 100 Points, exclude these Points from training and test the Perceptron with these Points...also a very cool way to test you Perceptron is to add a Point at the click of mouse and let it label from the Perceptron (this way if it's wrong you are gonna see a black point inside the white blob). Anyway really good work, i love your way of teach, i love programming, i love machine learning and out of all the videos and blog post and slides that i read you are the one that can really make something easy to understand. Never stop to be like this! ;)
    P.s. if you need it i made a porting to p5.js with this suggestions implemented. :)

    • @TheCodingTrain
      @TheCodingTrain  7 років тому +18

      Thanks, I'll do this on tomorrow's live stream! (Hope I remember). If you like, you can pull request the p5 version here: github.com/CodingTrain/Rainbow-Code/tree/master/CodingChallenges

    • @paoloricciuti
      @paoloricciuti 7 років тому +6

      The Coding Train Thank's you for your great way of teaching! ;)

    • @playlikeaboss22
      @playlikeaboss22 7 років тому +2

      Paolo Ricciuti can you help me out! I am trying to make a game using simple codes but I just can't seem to finish. I have a ball which is being controlled by the keyboard and I am trying to have it so if I go any distance greater than the window it wouldn't allow me so I can't leave the window . Also, I am trying to detect lines, (so if the ball hits the line it loops back to a specific coordinates). Thank you

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

      Paolo Ricciuti How do you detect a color in an if statement? I am trying to have it so if ellipse/x is greater than (color) the ball loops back to 30

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

      cool........can I get a hold of that ?

  • @chinmaybharti4085
    @chinmaybharti4085 5 років тому +82

    your speaking skills, your interactiveness, your teaching ability...best online teacher I've ever met

  • @CJKims
    @CJKims 7 років тому +259

    First impression: 44 minutes? Are you crazy? I'm not going to waste my time on a single video!
    After done watching: (quietly clicks subscribe button) ....

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

      Haha that was me.

    • @DevrajSinghRawat
      @DevrajSinghRawat 4 роки тому +6

      I didn't even realise that his video was 44 min .. I just checked after reading your comment

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

      True 😂

  • @zendoclone1
    @zendoclone1 7 років тому +72

    love that you focus more on the conceptual side of programming more than the nitty gritty details. It's really annoying to see all these other videos that do something like "we have A then we have B, then voila! life!" I've honestly been waiting for a video like this for a long time.

    • @TheCodingTrain
      @TheCodingTrain  7 років тому +12

      Appreciate the feedback, thank you!

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

      There is a ton of videos that pick out some complex topic and spend 90% of the time explaining something you should have learned in school or something that's rather obvious.

  • @Efferto93
    @Efferto93 7 років тому +208

    "How to train your Perceptron" (2017)
    IMDb 8.7/10

  • @keyboardbandit
    @keyboardbandit 7 років тому +26

    I can't believe this video was released today! I just started working on a problem at work (internship) that needs a (albeit more complicated) neural network to solve! This was a perfect primer to help me really understand the basics! The fit(), train(), and activate() functions is scikit-learn seem far less magical and way more accessible to me now!
    THANK YOU SO MUCH!

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

      Keyboard Bandit - Did you solve your problem? 😁

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

    Thank you so much, Daniel. I have never studied coding formally. Started with watching your coding challenges and I'm happy to say that this amazing and simple explanation is exactly what I needed to start my journey into machine learning. You've inspired me and taught me. Thank you.

  • @joeydash3042
    @joeydash3042 7 років тому +75

    who ever you are thank you very much ....I love watching all your video and learn new stuffs

  • @thisaintmyrealname1
    @thisaintmyrealname1 7 років тому +10

    The suspense built by the code and then watching it all work so well was amazing. It was also a very good idea to show the progress with each click.

  • @ianchui
    @ianchui 7 років тому +157

    18:05 that pen flip was so smooth lmfao

  • @TheRayll
    @TheRayll 7 років тому +107

    I'd recommend this to everyone over any movie

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

      MukulNegi Awesome comment

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

      I agree w jahmahent. This would

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

    This is the clearest explanation on machine learning that I have ever watch.

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

    I love this series so much! Most machine learning / neural network explanations and tutorials are either designed for 5th graders or people with a college degree. The mathematical parts and coding are perfect for a high schools CS student. Thanks so much for finally making me understand backpropogation!

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

    I have become accustomed to listening long lecture videos at ~2x speed. And watching your videos at 1.75x hits the sweet spot.

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

    you are the only person on youtube who actually practically shows how this all works. actually coding it.

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

    Dude, I cannot thank you enough for diving into this concept in such an engaging way. It beats trying to break it down from a completely algebraic standpoint

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

    This is how powerful processing can be in understanding a concept. Great video Dan as always.

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

    I am highly motivated with your videos ...the way you speak, the humour you have, the knowledge you earned is really... appreciable 👌👏👏
    I tries to give PPT in front of mirror like you...😊

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

    You are the best teacher I've ever seen. Thanks for sharing your knowledge

  • @8eck
    @8eck 4 роки тому

    This is exactly what i was looking for! Explaining what is actually happening behind the scenes on the background of ml5 and tensorflow, how it's working.
    Thank you so much for this!

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

    This is your first video that I've seen and I must say, I am enthralled by the way you made me understand the Perceptron. Never have I ever seen anyone explain it in such a intuitive, easy, and clear manner. I subscribed immediately and I am gonna go through all your machine learning videos. Thank you very very much. I can't possible explain how much I'm spellbound and impressed by this video. I wish you were my College Professor.

  • @FazilKhan-vr6sw
    @FazilKhan-vr6sw 5 років тому

    i don't understand java but still i got 100% content from your video.
    it is the power of skillfull teacher.

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

    OMG - I am going through Coursera ML course and your video is simply amazing. I cannot thank you with words for offering these videos for free. Love your fun filled way and going through concepts on NN sessions in one at a time.

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

    Really nice to see someone writing out the necessary code on the spot, with minimal bells and whistles. Too often it's presented alongside formalism that's much more intimidating than it needs to be.

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

    Good day - I noticed your Nick Cave t-shirt. I have loved Nick Cave ever since I was a young guy - early 1980s.
    Thanks for your videos - very helpful.

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

    Thank you Daniel, that really helped me to get into the topic. I like the idea "if you can code it, you kind of understand it".

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

    I am 17 and only started self-teaching java 2 weeks ago. This helped a lot to get a better understanding of how the language works and also how ML operates (which is something i am very interested in). The fact that you were somehow 100% understandable to me considering the amount of experience i have is actually phenomenal. Also i was surprised to see you are still interacting with comments
    Subbed and please make more of these

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

    this is the most diverse course man, he starts off with JS, now Java and i belive he`ll show python, on the same concept, this is acctualy great

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

    Starting to really dig your videos. This is the first perceptron tutorial to point out that X_0 and X_1 represent x and y, a data point. I've been looking at neural networks for 2 weeks now, and finally I know this distinction! Really helps! Thank you.

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

      If [X_0, X_1] is [x, y] we are inputting a data point from a two dimensional space, correct? If we input [X_0, X_1, X_2], we can say this is equivalent to [x, y, z], which is a data point from three dimensional data space?

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

      Why stop there? We can input many data points at a time right? For example, we can input two vectors, i.e. a two dimensional array: [X_0, X_1, X_2] and [X_3, X_4, X_5]. So now we are inspecting two data points from a three dimensional space. Is this right? Am I using the correct vocabulary here? Thanks!

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

      Yes, you can send any vector of any length into a perceptron, and have that vector represent any data you like. Whether it will do what you want it to do in terms of the intended outputs that's another story and why you might need a "multi-layered perceptron"! (Coming in the next videos if you keep watching.)

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

      Thanks! I'm taking the Udacity Machine Learning Engineer course, but I find supplementing it with your videos clears up a lot of questions.

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

    That was a brilliant intro to neural networks #The Coding Train.... For those who are confused how the multiple iterations happened for the learning process, the key is the draw function which runs in an infinite loop. It took me a while to figure this out. So if you are using something other than processing, then you need to run an infinite loop in your training algo.

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

    Hey! A big thanks for these lectures. I was always struggling to understand what neural network really is. You made my life simple. Although i code in Python, i love watching your p5 videos
    Thank You whoever you are!!!

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

    Congratulations!! You have explained very well the basic of perceptron model.

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

    I watched some videos way back when the channel started, must say you've definitely improved the format and pacing. Great work!

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

    I'm watching this a year later and I'm still having plus fun. Not negative fun.

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

    💯 Someone needs to offer this man his own show to reach more people.

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

    Amazing explanation. Saved my time for searching this whole stuff. Really a great masterpiece. I need to make project on deep learning in just 3 weeks. Your lectures are helping me. God bless you.

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

    Finally somebody who explained it the right way

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

    You have a very engaging instruction style and explained this concept very well. Great video.

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

    i can't stop watching your videossss, you're a great teacher !!

  • @smershad-ulislam7857
    @smershad-ulislam7857 Рік тому

    Amazing video! You are just a genius to kick the idle mind of us who have average mind wishing to fight for the most challenging things. KUDOS!!!

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

    I dont understand java but this is still the best video and clearer than the ones for languages ive used before

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

    I am taking a ML course now with the most horrible lectures imaginable. This is a godsend!

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

    Thank you sir, the best place to learn the explanation of NNs in most simplest way. Keep up the good worker.Looking for more videos by Sir

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

    I'm having +fun!
    As always, great video. Your energy and enthusiasm is contagious! Please never stop being so amazing.

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

    Great video! Neural networks can be confusing but I like that you started with a simple example.

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

      Mark Jay spotted

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

      Love your videos

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

    Really cooooooooooool i love it. I understood many things for my project in january. Later I'll look up Neuron sigmoid model. You're a great explanator !

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

    All i had was positive fun the whole video.
    It´s hard to see this man videos without smiling

  • @8eck
    @8eck 4 роки тому

    Very interesting use of random in your code examples. Thank you.

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

    You have the best tutorial for neural networks!!

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

    Woow that is amazing video that just lighten me up to go into Machine Learning flow. I am definitely going to try this. I am more interested in watching how you can make its path based on 360* rotation and with some pros and cons implemented like obstacles, or food to eat or stuff like that. I need more insights before i jump into writing bots for my own game which are hard to beat.

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

    Thoroughly enjoyed it thank you! I use to learn processing from you and now Neuron Network 👍

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

    You deserve a gold medal...

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

    Also followed along but doing it in javascript. Cool little project. I trained it on 500 circles and then did a test set of 100. I used frameRate instead of mouse click to slow animation. Occasionally got some weird oscillating behaviour near around 470-480 correct on the training data but usually got it quickly. Also once trained with the training data normally got all 100 test data on one epoch but sometimes got stuck at around 98/99 correct (that only happened around 10% of attempts). I watched the self driving car video and that sent me back to flappy birds and now neural nets before doing flappy birds neuroevolution and then finally back to self driving cars. Once i've a handle of this in javascript i want to do it in something like unity using c#, this will need me to learn blender to make my circuit. Much more fun than watching endless hours of Netflix whilst in lockdown! Happy coding all.

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

    Great work as always Dan, can't wait for full Neural Networks!

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

    Thank you so much for step by step simple explanation. Was very descriptive.

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

    If I had 15ft of pure white snow I’d watch every single video you have published

  • @jassimelattar
    @jassimelattar 3 місяці тому

    watching "The Coding Train" videos and "Andrew Ng" Courses really helps.
    whenever i get lost i come here to understand the concept better
    even if he is using Js and Andrew using python , the idea is the same

  • @60pluscrazy
    @60pluscrazy 3 роки тому

    Excellent explanation and demonstration. Keep it up 🙏👌

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

    This is great. Thanks for breaking it down into simple form!

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

    Great! I just started this topic in my IA course at university.
    Thank you!

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

    Is it just me or everyone else LOLs while watching this guy but still learns a ton from listening . Coolest teaching style

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

    Best explanation I found on NNs. Thank you!

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

    @23:20 +Fun increases your fun potential, -Fun spends it. It's like climbing a slide, you have fun climbing, you got even more sliding it down!

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

    18:08 *successfully throws are catches marker* 10/10

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

    4:28 Saying the point is at coordinate (x0, x1) is valid and solve the issue
    39:00 I think a cool way to visualize the learning process in this particular example would have been to color every pixels of the canvas relative to whether the perceptron got it right.
    Nice video again though, I'm really looking forward to the next video on this topic =)
    Cheers

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

    Thank you so much for explaining what is going on with a neural network. So many people dive straight into code or go off in their own math world. I'm a little confused on when the looping stops.

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

    Soooooo cool: Professor Shiffman is wearing a Nick Cave and the Bad Seeds t-shirt! Yeah!!!

  • @WindImHaar
    @WindImHaar 7 років тому +2

    Finally some processing, much appreciated

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

    I love how you naturally write p5 instead of pt

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

    that' incredible. took a couple times lol "guesses a "-1" or "1" as labels" "learns to label the two more accurately for each point, each loop" trippy , Playstation steers us to a better solution . i agree on that one

  • @JeffreyAborot
    @JeffreyAborot 7 років тому +4

    I like how you treat teaching neural networks through coding. Thumbs up! I think I missed your explanation on the modification of the weight as new_weight = error * weight. Could you give an intuition about it or did you explain it in some of your previous videos? Good job :)

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

      he did that in another video...Just browse through his Playlist

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

    While I was doing this with you, almost at the end of the video, processing crashed and i lost the code. Good thing it's the first video and easy to recreate

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

    You are really good at the art of teaching :)

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

    Awesome as always Dan.....btw I LOVE Nick Cave and the Bad Seeds !!!

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

    How can I be so proud of a cell that is doing the job OF AN IF STATEMENT ?
    Neural Netw... Perceptron Power !

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

    I think nobody noticed but you were using a nick cave and the bad seeds t shirt hahah, great artist

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

    Both you and Siraj are great in so many ways. Both charismatic, both very intelligent, both very funny.. But Siraj doesn't have your talent in teaching and making a solid bridge of information between you as the teacher and us as students through UA-cam as medium.

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

    Finally find the u-tuber that I was looking for..!!! 😄

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

    Damn it! I watched it till the end. Very good explanation 👍

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

    YASS! I finally understood what all of this meanssss.... Thank you Mr. Shiffman. Subbed right away

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

    I love you so much for your tutorials!

  • @eraldoforgoli62
    @eraldoforgoli62 7 років тому +30

    Another great video 🤗👌

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

      Thank you!

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

      ^^^

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

      The Coding Train How do you detect a color in an if statement? I am trying to have it so if ellipse/x is greater than (color) the ball loops back to 30

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

      you could make the ellipse an object and make it's colour a this. property, and then use a comparator like
      if (ellipse.colour > something) {
      //do something
      }

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

    Yes, awesome, finally onto a perceptron!
    Keep Going!

  • @Kino-Imsureq
    @Kino-Imsureq 7 років тому

    long time no see, sign function! i didnt remember that it tells whether a number is negative or positive (as those are signs so yeah sign()) i really like this its easy for me to convert to javascript. thank you so much!

  • @viktorstrate
    @viktorstrate 7 років тому +2

    Why is the new weights, multiplied with the value of the input, in the train function?
    If you pass it a point very close to (0,0), it will be harder to train it, right?

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

    I love at 35:00 the horror in his face when he realizes his code works :D We all been there before buddy believe me.

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

    If anybody still reads the comments, I have a question:
    27:12 Why exactly is DeltaWeight = error * input? The error is obvious of course because it's the difference between the correct answer and the guess, but why does it need to be multiplied with the input again?

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

    Just question, When you are continuously tuning weights when guess of perceptron does not match as per expected output, Can this delta change of weights negatively impact the previous inputs for which error was zero and guess was matching expected output. In other words, is it impossible to have ideal value of weights where error becomes zero for all the provided training data.

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

    absolutely love this video. jump right into code

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

    Actually first AI tutorial that I understood

  • @Alessandro-nq3tm
    @Alessandro-nq3tm 7 років тому +1

    You are the best, end of the discussion.

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

    Never get rid of the beard man, always a fan!!!!

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

    Thanks for the great video! I made this in vb following your instructions, great video.

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

    You are an excellent teacher!

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

    Hey Daniel it's so impressive how readily fluent you are so many languages. Java, javascript, processing, P5, apparently python and C as well. Is this or was this ever a challenge for you? Do you have to warm up before using ones you have not used in a few vids?

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

    Thanks for giving me a start, I'll make it in pure java.

  • @ThuyNguyen-bu9ge
    @ThuyNguyen-bu9ge 6 років тому +1

    I L-O-V-E your teaching! Thank you so much, I finally get it!

  • @voshtt
    @voshtt 7 місяців тому

    I mean. This was great. So many questions answered.

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

    I was gonna say "why couldn't I have found this when i was building my own perceptron network for coursework" but this was uploaded after the whole assignment was due haha

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

    I would like to see a Tetris Coding Challenge :D keep up the good work