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

  Переглядів 495,605

The Coding Train

The Coding Train

День тому

In this video, I continue my machine learning series and build a simple Perceptron in Processing (Java).
Perceptron Part 2: • 10.3: Neural Networks:...
This video is part of Chapter 10 of The Nature of Code (natureofcode.com/book/chapter-...)
This video is also part of session 4 of my Spring 2017 ITP "Intelligence and Learning" course (github.com/shiffman/NOC-S17-2...)
Simple Perceptron code examples:
p5.js: github.com/shiffman/The-Natur...
Processing: github.com/shiffman/The-Natur...
Support this channel on Patreon: / codingtrain
To buy Coding Train merchandise: www.designbyhumans.com/shop/c...
To donate to the Processing Foundation: processingfoundation.org/
Send me your questions and coding challenges!: github.com/CodingTrain/Rainbo...
Contact:
Twitter: / shiffman
The Coding Train website: thecodingtrain.com/
Links discussed in this video:
Session 4 of Intelligence and Learning: github.com/shiffman/NOC-S17-2...
Perceptron on Wikipedia: en.wikipedia.org/wiki/Perceptron
Frank Rosenblatt's paper on the Perceptron: www.ling.upenn.edu/courses/cog...
My Gradient Descent video: • 3.4: Linear Regression...
Source Code for the all Video Lessons: github.com/CodingTrain/Rainbo...
p5.js: p5js.org/
Processing: processing.org
For More Coding Challenges: • Coding Challenges
For More Intelligence and Learning: • Intelligence and Learning
Help us caption & translate this video!
amara.org/v/7hHs/
📄 Code of Conduct: github.com/CodingTrain/Code-o...

КОМЕНТАРІ: 525
@paoloricciuti
@paoloricciuti 6 років тому
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 6 років тому
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 6 років тому
The Coding Train Thank's you for your great way of teaching! ;)
@playlikeaboss22
@playlikeaboss22 6 років тому
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 6 років тому
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 6 років тому
cool........can I get a hold of that ?
@ianchui
@ianchui 6 років тому
18:05 that pen flip was so smooth lmfao
@Efferto93
@Efferto93 6 років тому
"How to train your Perceptron" (2017) IMDb 8.7/10
@sadhlife
@sadhlife 6 років тому
I'd watch.
@Toochilledtocare-_-
@Toochilledtocare-_- 6 років тому
Efferto93 only an 8.7? You better change that to a 10/10
@braianpita6385
@braianpita6385 5 років тому
haters gonna hate man
@elirockenbeck6922
@elirockenbeck6922 5 років тому
@@Toochilledtocare-_- it will be in a bit
@jodge3268
@jodge3268 4 роки тому
Has a little something for everyone
@chinmaybharti4085
@chinmaybharti4085 5 років тому
your speaking skills, your interactiveness, your teaching ability...best online teacher I've ever met
@nero00kyrie
@nero00kyrie 2 роки тому
*mated
@CJKims
@CJKims 6 років тому
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 років тому
Haha that was me.
@DevrajSinghRawat
@DevrajSinghRawat 3 роки тому
I didn't even realise that his video was 44 min .. I just checked after reading your comment
@neillunavat
@neillunavat 3 роки тому
True 😂
@TheRayll
@TheRayll 6 років тому
I'd recommend this to everyone over any movie
@89elmonster
@89elmonster 6 років тому
MukulNegi Awesome comment
@chillydoog
@chillydoog 6 років тому
I agree w jahmahent. This would
@zendoclone1
@zendoclone1 6 років тому
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 6 років тому
Appreciate the feedback, thank you!
@MrCmon113
@MrCmon113 5 років тому
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.
@joeydash3042
@joeydash3042 6 років тому
who ever you are thank you very much ....I love watching all your video and learn new stuffs
@joeydash3042
@joeydash3042 6 років тому
hmnnn....who r u?
@joeydash3042
@joeydash3042 6 років тому
who
@aasimbaig01
@aasimbaig01 6 років тому
Don't tell this secret to anyone ,he is batman
@isaiahsias3818
@isaiahsias3818 6 років тому
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 4 роки тому
This is how powerful processing can be in understanding a concept. Great video Dan as always.
@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!
@shaileshrana7165
@shaileshrana7165 3 роки тому
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.
@thisaintmyrealname1
@thisaintmyrealname1 6 років тому
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.
@TheCodingTrain
@TheCodingTrain 6 років тому
hah, glad to hear this feedback!
@jeffreycordova9082
@jeffreycordova9082 6 років тому
I watched some videos way back when the channel started, must say you've definitely improved the format and pacing. Great work!
@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.
@MrPaperlapapp1
@MrPaperlapapp1 6 років тому
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".
@keyboardbandit
@keyboardbandit 6 років тому
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!
@jamey1929
@jamey1929 4 роки тому
Keyboard Bandit - Did you solve your problem? 😁
@pedrodiaz4844
@pedrodiaz4844 4 роки тому
Congratulations!! You have explained very well the basic of perceptron model.
@narutosimas
@narutosimas 5 років тому
You are the best teacher I've ever seen. Thanks for sharing your knowledge
@micahgilbertcubing5911
@micahgilbertcubing5911 6 років тому
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!
@imvickykumar999
@imvickykumar999 4 роки тому
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...😊
@tqoe
@tqoe 6 років тому
I'm having +fun! As always, great video. Your energy and enthusiasm is contagious! Please never stop being so amazing.
@patrickhendron6002
@patrickhendron6002 2 місяці тому
💯 Someone needs to offer this man his own show to reach more people.
@DadanHamdaniTop
@DadanHamdaniTop 6 років тому
This is the clearest explanation on machine learning that I have ever watch.
@NeoxX317
@NeoxX317 5 років тому
i can't stop watching your videossss, you're a great teacher !!
@somyek6336
@somyek6336 6 років тому
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!!!
@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.
@griffonthomas7869
@griffonthomas7869 6 років тому
Great work as always Dan, can't wait for full Neural Networks!
@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.
@legel93
@legel93 5 років тому
Best explanation I found on NNs. Thank you!
@pavzutube
@pavzutube 6 років тому
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.
@WindImHaar
@WindImHaar 6 років тому
Finally some processing, much appreciated
@sicko_drops
@sicko_drops 4 роки тому
you are the only person on youtube who actually practically shows how this all works. actually coding it.
@franciscohanna2956
@franciscohanna2956 6 років тому
Great! I just started this topic in my IA course at university. Thank you!
@annperera6352
@annperera6352 2 роки тому
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
@8eck
@8eck 4 роки тому
Very interesting use of random in your code examples. Thank you.
@FraztheWizard
@FraztheWizard 9 місяців тому
This is great. Thanks for breaking it down into simple form!
@Avionics1958
@Avionics1958 4 роки тому
Thoroughly enjoyed it thank you! I use to learn processing from you and now Neuron Network 👍
@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 !
@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.
@TheCodingTrain
@TheCodingTrain 6 років тому
Such nice feedback, thank you!
@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.
@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!!!
@piotrwyrw
@piotrwyrw 2 роки тому
Finally somebody who explained it the right way
@GlenMillard
@GlenMillard 2 роки тому
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.
@synju
@synju 6 років тому
Yes, awesome, finally onto a perceptron! Keep Going!
@djrbaker1
@djrbaker1 6 років тому
I'm watching this a year later and I'm still having plus fun. Not negative fun.
@MoMoGammerOfficial
@MoMoGammerOfficial 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.
@ThuyNguyen-bu9ge
@ThuyNguyen-bu9ge 5 років тому
I L-O-V-E your teaching! Thank you so much, I finally get it!
@Captain_Rhodes
@Captain_Rhodes 4 роки тому
I dont understand java but this is still the best video and clearer than the ones for languages ive used before
@ToastalService
@ToastalService 6 років тому
You have a very engaging instruction style and explained this concept very well. Great video.
@TheCodingTrain
@TheCodingTrain 6 років тому
Thank you!
@radekzach1942
@radekzach1942 2 роки тому
You have the best tutorial for neural networks!!
@chemicalfiend101
@chemicalfiend101 4 роки тому
YASS! I finally understood what all of this meanssss.... Thank you Mr. Shiffman. Subbed right away
@michaelhunt6313
@michaelhunt6313 4 роки тому
I love you so much for your tutorials!
@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
@TheCodingTrain
@TheCodingTrain 5 років тому
Glad to hear!
@greektiger100
@greektiger100 6 років тому
Thanks for the great video! I made this in vb following your instructions, great video.
@eliasmoreno4672
@eliasmoreno4672 6 років тому
absolutely love this video. jump right into code
@Mezklador
@Mezklador 6 років тому
Soooooo cool: Professor Shiffman is wearing a Nick Cave and the Bad Seeds t-shirt! Yeah!!!
@MarkJay
@MarkJay 6 років тому
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
@baapuji
@baapuji 6 років тому
bias explanation is awesome. thanks for clearing it up
@adriand00
@adriand00 4 роки тому
All i had was positive fun the whole video. It´s hard to see this man videos without smiling
@RajdeepSingh11
@RajdeepSingh11 6 років тому
Thank you so much for step by step simple explanation. Was very descriptive.
@TheCodingTrain
@TheCodingTrain 6 років тому
Thank you for the nice feedback!
@FazilKhan-vr6sw
@FazilKhan-vr6sw 4 роки тому
i don't understand java but still i got 100% content from your video. it is the power of skillfull teacher.
@aravindk4967
@aravindk4967 4 роки тому
This was a really wonderful video.Thanks a lot for making it!
@TheKimhansu
@TheKimhansu 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.
@TheKimhansu
@TheKimhansu 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?
@TheKimhansu
@TheKimhansu 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 років тому
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.)
@TheKimhansu
@TheKimhansu 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.
@iwatchedthevideo7115
@iwatchedthevideo7115 7 місяців тому
I am taking a ML course now with the most horrible lectures imaginable. This is a godsend!
@60pluscrazy
@60pluscrazy 2 роки тому
Excellent explanation and demonstration. Keep it up 🙏👌
@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
@Qual_
@Qual_ 5 років тому
i learned so much so thank you a lot !
@Alessandro-nq3tm
@Alessandro-nq3tm 6 років тому
You are the best, end of the discussion.
@joachimsaindon3658
@joachimsaindon3658 3 роки тому
Thank you so much for making this video!
@jeandy4495
@jeandy4495 4 роки тому
Thanks for you clear explanation !
@flossenking
@flossenking 6 років тому
thank you, that really helped me understand the concept of a neural network. Its a very fascinating subject :D
@robbierotten2215
@robbierotten2215 4 роки тому
Great content, thank you. Also made me like Processing more.
@rameshthamizhselvan2458
@rameshthamizhselvan2458 4 роки тому
You deserve a gold medal...
@alfredozenifgonzalezvargas1192
@alfredozenifgonzalezvargas1192 Рік тому
Thank you very much, you're great. Saludos desde Mexico City.
@martingrof1685
@martingrof1685 4 роки тому
You are an excellent teacher!
@jithunniks
@jithunniks 6 років тому
You are really good at the art of teaching :)
@blackeyebrows7767
@blackeyebrows7767 4 роки тому
Damn it! I watched it till the end. Very good explanation 👍
@PatrykUnderhill
@PatrykUnderhill 6 років тому
Loving this content, keep on the good work buddy.
@KennTollens
@KennTollens 3 роки тому
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.
@anthonyj777
@anthonyj777 6 років тому
Thank you so much, this is just what I needed.
@plutohopkin
@plutohopkin 3 роки тому
thank you so much for very good teaching on this subject
@eraldoforgoli62
@eraldoforgoli62 6 років тому
Another great video 🤗👌
@TheCodingTrain
@TheCodingTrain 6 років тому
Thank you!
@kamilbolka
@kamilbolka 6 років тому
^^^
@playlikeaboss22
@playlikeaboss22 6 років тому
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 6 років тому
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 }
@kaisersakhi4239
@kaisersakhi4239 2 роки тому
LIFE SAVER, THANK YOU!
@CSryand2m
@CSryand2m 6 років тому
This is amazing, thank you so much!
@sonaipattythamil
@sonaipattythamil 6 років тому
Excellent videos. Thank you so much.
@tarunnarain4545
@tarunnarain4545 5 років тому
Thanks for giving me a start, I'll make it in pure java.
@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.
@drivenbygames1728
@drivenbygames1728 6 років тому
18:08 *successfully throws are catches marker* 10/10
@ryantemple4357
@ryantemple4357 6 років тому
Awesome as always Dan.....btw I LOVE Nick Cave and the Bad Seeds !!!
@EntwinedGraces
@EntwinedGraces 6 років тому
Man, these are sooo good. Thank you~
@amanchauhan4356
@amanchauhan4356 5 років тому
Finally find the u-tuber that I was looking for..!!! 😄
@CrazyWinner357
@CrazyWinner357 6 років тому
Great video as always, thank you
@AkinJanet
@AkinJanet 6 років тому
you are great bro,keep rollin
@BiranchiNarayanNayak
@BiranchiNarayanNayak 6 років тому
Excellent tutorial...i love it.
@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!
@luctiber
@luctiber 6 років тому
I like what you do. keep on the good work!!!
@Kino-Imsureq
@Kino-Imsureq 6 років тому
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!
@voshtt
@voshtt Місяць тому
I mean. This was great. So many questions answered.
@zoumanakeita8016
@zoumanakeita8016 6 років тому
Wow ! Thank you so much for your explanation.
@TheCodingTrain
@TheCodingTrain 6 років тому
you're welcome!
10.3: Neural Networks: Perceptron Part 2 - The Nature of Code
27:42
The Coding Train
Переглядів 149 тис.
ML Was Hard Until I Learned These 5 Secrets!
13:11
Boris Meinardus
Переглядів 110 тис.
You’ve Never Seen A Race Like This 🚀
00:21
Red Bull
Переглядів 31 млн
Help Herobrine Escape From Spike
00:28
Garri Creative
Переглядів 54 млн
Nonomen funny video😂😂😂 #magic
00:29
Nonomen ノノメン
Переглядів 44 млн
Секретная разработка КГБ! Волга «Догонялка» на V8…
1:07:10
Мастерская Синдиката
Переглядів 2,1 млн
The Essential Main Ideas of Neural Networks
18:54
StatQuest with Josh Starmer
Переглядів 840 тис.
10.4: Neural Networks: Multilayer Perceptron Part 1 - The Nature of Code
15:56
The Coding Train
Переглядів 304 тис.
Coding Challenge 1: Starfield Simulation
13:54
The Coding Train
Переглядів 1,3 млн
But what is a neural network? | Chapter 1, Deep learning
18:40
3Blue1Brown
Переглядів 16 млн
Coding Challenge 180: Falling Sand
23:00
The Coding Train
Переглядів 649 тис.
Machine Learning vs Deep Learning
7:50
IBM Technology
Переглядів 576 тис.
How are memories stored in neural networks? | The Hopfield Network #SoME2
15:14
Layerwise Lectures
Переглядів 633 тис.
10.14: Neural Networks: Backpropagation Part 1 - The Nature of Code
19:33
The Coding Train
Переглядів 184 тис.
You’ve Never Seen A Race Like This 🚀
00:21
Red Bull
Переглядів 31 млн