I've been trying to study neural networks for the last couple of months, and this video series is being surprisingly helpful. Most other more 'formal' courses are much harder to keep up. Your videos are indeed somewhat more loose, but I could finally understand how to code a neural network, so thank you!
@TheCodingTrain7 жыл бұрын
This is so nice to hear! It's really hard, I'm trying my best!
@nilsonsls6 жыл бұрын
I'm creating a neural network, but I got stuck at some point of the backpropagation implementation and I ended up here watching your videos. You're so great at explaining! I'm glad everything looks so similar to my code so far. Hope my answer is in the next video, cause I've been watching those for 3 and a half years so far lol
@OLApplin6 жыл бұрын
Doing this in Vanilla Java while reading the book you mention ... so satisfying when it starts working!!!
@finninnes29734 жыл бұрын
How'd you get on with the java version?
@dalegriffiths36284 жыл бұрын
Dear Dan, I worked through Tariq Rashid's book based on you recommendation(using Jupytor notebooks and python), now I'm working through this in Javascript. You are a great teacher!
@priyankarsinha6855 жыл бұрын
0:33 😂, you are the ideal teacher that we require but we do not deserve. Keep going sir, understanding the subject is so easy when theres teaching with a happy, excited face.
@tiresink19783 жыл бұрын
Will you plz tell me language name of algorithm and software in which it is written
@mandeepthebest6 жыл бұрын
You are just the best. I have been taking courses on ML and DL, as I am trying to transition from ChemEng to Data Science, but didnt understand them fundamentally. Omg, you are making me feel part of computer science community, now that I understand it.
@Aditya-hk7vn5 жыл бұрын
I was late on my AI class yesterday because of work - Your video is the best video that explained about neural network, and the coding part actually made me understand it even better. Thank you! I am sure there are thousands of people that find your video helpful and very informative!
@alixhurtado6 жыл бұрын
Side note: convinced my school department to let take an independent study as a tech elective and just follow your videos and code a neural network so thank you
@TheCodingTrain6 жыл бұрын
Cool! Where do you go to school?
@alixhurtado6 жыл бұрын
The Coding Train, Northern Illinois University! Studying IE on my last semester!!!! Still needed a tech elective and my curriculum isn’t the most updated, (really manufacturing focused) so I wrote up this proposal saying I’m more interested in big data and machine learning so now I’m doing research with my professor and learning together!
@polowesh6 жыл бұрын
Merci Beaucoup !!!!!!! You're doing great. Everything is so simple with you aside. So much energy and will to teach. I can perfectly understand what you're explaining althougth I'm french and I don't even know what JavaScript is (I'm a python beginner). It's now 1 am and I've been watching you're neural network lessons since like 10 am (yes from the previous day). Thank you so much coding train !!!
@TheCodingTrain6 жыл бұрын
Merci!
@demian24357 жыл бұрын
How do you make everything so simple? you are great!
@amitbansode6 жыл бұрын
Presented in so interesting and simplified way ... God bless you
@junior759806 жыл бұрын
This is the theme in my research in fermentation's reactions. That is awasome that my a ideia is not so away of the road by applying this tecnic in de excel/vba code. I hope that you keep going this nice work. Spread the knowledge is so amazing thing to do. Thanks for sharing!
@alixhurtado6 жыл бұрын
You’re the best lecturer ever
@letterborneVods2 жыл бұрын
I love this channel so much ♥️ I finally feel like I understand Math! I might actually watch all of this channel! (But with my pace it’ll probably take me years lol)
@clbgrmn7 жыл бұрын
This was a great tutorial! It was a great combination of your quirky teaching style and being quick and effective! Keep it up! :) Also, you should call the 'train' function 'codingTrain'
@TheCodingTrain7 жыл бұрын
Hah!
@vinitsunita5 жыл бұрын
Man you are doing amazing work. I love your teaching style.
@bogdyvyp5 жыл бұрын
7:50 isn't that going to add the bias matrix to the weights matrix in a element by element fashion resulting in adding the bias to every element so later when you do the sum it will have the bias added in 3 times instead of 1?
@fr3fou4 жыл бұрын
i was gonna ask the same
@omicron296 Жыл бұрын
Cara, você é muito bom! Sigo seu canal em sempre aprendo mais! Obrigado!
@MultiLeandrini6 жыл бұрын
seriously I'm so sad I can only like this once!!
@raigiku72726 жыл бұрын
Amazing! After spending like 9 hours researching this stuff, your videos are the most helpful ones!
@lewisrichardson46715 жыл бұрын
Hi, Firstly this is an awesome channel and it is seriously useful. I am struggling with one thing at the moment, how does the matrix product function work when there is only one column for the inputs? As I see it, to get h1 it loops over the columns of the weights and the rows of the inputs....but then when it moves to h2, it moves to the next row of weights and loops over its columns....but there is no second column to loop over the rows for the inputs??
@lirongsun58484 жыл бұрын
I watch through all the series
@Pablo-pk2qi2 жыл бұрын
This "hello" in first second looks like "I'm sorry this series is so long already" :D
@zet7236 жыл бұрын
as always perfect, keep on going Prof.
@AneeshAbbineni Жыл бұрын
You can make an array of weights and biases, and use that array system in the algorithms.
@MatichekYoutube6 жыл бұрын
This series is dope. Thank you for sharing.
@neelpatel1224 жыл бұрын
this guy is crazy and i like it :)
@10xGarden7 жыл бұрын
I love you Dan I love you Man...You are Awesome!! ]
@themirlabs Жыл бұрын
Im trying to build a nural network and im a little confused. Dose each layer need a seperate bias input value? because i thought a bias input would be enough? Also why are you making entierly seperate bias matrix's? how do they fit in? maybe i need to watch this again...
@lirongsun58484 жыл бұрын
Excellent explanation
@theRECONN7 жыл бұрын
Take in account easy changeability of the activation function (maybe even for each layer). After you are done you should try other (like ELU) activation function and compare Cost Plots :)
@pallabchakraborty38214 жыл бұрын
Thanks for Excellent Tutorials!.I want to know how many neuron or nodes should be inside of hidden layer?? waiting for your ans... Thanks
@kuhlde13376 жыл бұрын
As a primarily C-based language developer, the lack of datatype declarations for variables in JavaScript always makes me a little anxious.
@samuelgunter6 жыл бұрын
I have the opposite problem. i'm mainly a javascript programmer, so when I try to use processing or another language, i get somewhat confused of why i have to declare what the variable type is and what the function will return, and what type of variable is the input , because i want to be able to either import a instanceof the neuralnetwork or just the input nodes which is easy in javascript.
@Nicolas-pd3vy6 жыл бұрын
16:39 why output isn’t a matrix ? When did it become just a number
@samuelgunter6 жыл бұрын
he wrote a function, toArray() { let arr = []; for (let i = 0; i < this.rows; i++) { for (let j = 0; j < this.cols; j++) { arr.push(this.data[i][j]); } } return arr; } that converted the output to an array. Also return output.toArray(); means that it is does the function toArray() and returns the output, and then print(output) in setup is the same as console.log(output);
@airxperimentboom6 жыл бұрын
I just want to let you know that I am one of your biggest rainbowed fan :D it's so interesting and I always wanted to learn such a thing. For this purpose, I watched the 3blue1brown videos and then TADA I saw you uploaded a video about neuralnetworks
@TheCodingTrain6 жыл бұрын
Thank you!
@SourabhBhat6 жыл бұрын
Using a sigmoid function for output 'Y' will restrict the output to range [0, 1]. Will it be better not to use the sigmoid for calculation of Y (i.e. the last layer)?
@magsudhajiyev78106 жыл бұрын
Can you or someone else please show me where you code the nn.js file?
@samuelgunter6 жыл бұрын
in this video? i dont understand your question
@shakhawathossainshihab79983 жыл бұрын
@@samuelgunter where is the source code of this video?
@hullopes5 жыл бұрын
I can imagine that you'll treat about decision criterion of the class with the output value (threshold?) in the following videos. But now, I'm asking myself: how we adjust of W in feedforward NN??
@xot98974 жыл бұрын
does anyone know why you multiply weight* inputs instead of inputs* weights?
@samator12364 жыл бұрын
So when multiplying 2 matrix's, i thought the collumns of a had to be the same as the rows for b? So why does multiplying the input with the weights work? Because to my understanding, the weights are 2x2 and the inputs are 2x1 in the example you went through. I've been following along and get errors at this stage. Could you explain how the multiply function works? Im struggling to grasp it. thank you :)
@TheCodingTrain4 жыл бұрын
I recommend you join our Discord where you can ask code related questions to the community : discord.gg/hPuGy2g - The Coding Train Team
@narahamashi6 жыл бұрын
i made a version of matrix library in ES5. everything works fine except when i call the feedforward it returns NaN . i cross checked and found if i call the matrix multiplication from the nn library it results a matrix of NaN. could you guide?
@greatdouble89666 жыл бұрын
Why did you randomize the whole bias_o (and bias_h) vector, when the bias for each weight matrix between two layers should be only with only one particular value?
@juangreen81947 жыл бұрын
Hello, could you post a known output for a given input including all the intermediate weights and biases so I can verify my code is producing the same results, thank you.
@TheCodingTrain6 жыл бұрын
This is an excellent idea. I'm not able to do this right now but you can see my code in progress here for the time being (drive.google.com/open?id=1BFim9qORvxFxUqiLrS-g-spbautXtADd). Github link forthcoming.
@MarneyRS3 жыл бұрын
does the bias weight have to be random too?
@no_more_free_nicks6 жыл бұрын
I would appreciate it if you started with a test. Then in the test you can specify your expectations (like the XOR function) and then backfill the code.
@zurym49623 жыл бұрын
Could you make a video where you create a neural network using R programming?
@nagesh007 Жыл бұрын
Amazing , Thanks a lot
@sofianbenhamman20387 жыл бұрын
So the Perceptron class, that you did before in one of your previous videos, you will not use it here?
@TheCodingTrain7 жыл бұрын
I'm starting over in order to use the matrix math, but the same ideas should map?
@ssslava5 жыл бұрын
Amazing series!
@crisiberny6 жыл бұрын
I'm a bit confussed about the Map() function. Isn't there already another function called the same that maps one interval to another? Won't this cause problems by having the same name? Sorry for my english, not my mother tongue.
@tiresink19783 жыл бұрын
Will you plz tell me language of this algorithm
@olufemitosin35266 жыл бұрын
I love your work and jesture keep it up man
@olufemitosin35266 жыл бұрын
How do you get paid for your work?
@unchayndspersonalaccount76903 жыл бұрын
16:15 I don't know if you're still reading comments on this video, but you should make an iteration song for your soundboard for when you're typing "for" loops XD
@AdityaFingerstyle7 жыл бұрын
Cannot thank you enough Dan.
@MarneyRS3 жыл бұрын
im having some issues, my output is always between 0.71... and 0.98... its never one and never less than 0.71.... i have tested with thousands of inputs
@tiresink19783 жыл бұрын
Will you plz tell me language using in algorithm and software name in which algorithm written
@samuelmarques20746 жыл бұрын
I have doubts about bias, its value is 1, or is it random? Great video!
@views-hh3el6 жыл бұрын
Bias -1 is an input too of that neuron, so is affected by a weight too, W*X-Bias*(weight)=0, that weight change when the neuron is learnig
@luca-lewin6 жыл бұрын
I've converted the code from Github into Java, but the 'dot' function does not work
@HeyItsSahilSoni7 жыл бұрын
This video is unlisted. You might want to publish it and put it in the playlist..
@PhilBoswell7 жыл бұрын
I think he normally uploads a whole live-session's-worth of episodes in one go, but only publishes them one-per-day?
@HeyItsSahilSoni7 жыл бұрын
no, i dont think so, I think he forgot to publish this one.
@PhilBoswell7 жыл бұрын
Is that better now?
@HeyItsSahilSoni7 жыл бұрын
Phil Boswell hahaha yeah
@AugusDogus7 жыл бұрын
How did you find this video 3 days ago (at the moment of this comment's writing) when it was unlisted?
@amitkumar-eb3se5 жыл бұрын
YOU ARE GREAT.....FANTASTIC
@unnikked7 жыл бұрын
I might have an idea for future videos. Train weights using Genetic algorithms since you've done some work about GA in the past. Wha do you think?
@TheCodingTrain7 жыл бұрын
Yes I am planning to do this for sure!!
@Hydrozoa7 жыл бұрын
unnikked I have two videos where I explore this exact concept
@unnikked7 жыл бұрын
NEAT 😂
@Hydrozoa7 жыл бұрын
unnikked The authors of the paper came up with that 😌
@unnikked7 жыл бұрын
I know, pun intended :)
@nandkishorenangre35415 жыл бұрын
Thank you , you owe me
@derekbaker42995 жыл бұрын
Is the complete code for this video available anywhere?
@derekbaker42995 жыл бұрын
I found this, which appears to be close enough: github.com/CodingTrain/website/tree/master/Courses/natureofcode/10.18-toy_neural_network/lib
@8eck4 жыл бұрын
Did i miss something? Shouldn't inputs be summed after multiplied? Where is the sum step?
@8eck4 жыл бұрын
Oh, forgot that he is doing dot product inside multiply method.
@vkquads10 ай бұрын
You can also normalize your inputs for better results.
@views-hh3el6 жыл бұрын
So the inputs are [1,0] the output is [0.59310]? I'm sorry but what's the idea of feedforward if you don't have a tarjet? the neural network reacts to that inputs and gives you a "whatever" number? it's unidireccional, there's not learning nothing
@samuelgunter6 жыл бұрын
this is just doing the math for the outputs, back propagation is where it trains to get the desired output
@tiresink19783 жыл бұрын
In which language this program is written... And software.?
@Pablo-pk2qi2 жыл бұрын
Java script so far. (ES6 version)
@evanperrygiblin7 жыл бұрын
glad to see you got your shit together
@emilie19777 жыл бұрын
I love this video!
@gabrielkwiecinskiantunes89506 жыл бұрын
Great video, bro. Hold back on the Adderall tho. Still, I learned a lot. Thanks.
@mehmetrzaoz90165 жыл бұрын
Thank you for that great work. But i can't find the source code.
@TheCodingTrain5 жыл бұрын
It's all in these two places: github.com/CodingTrain/website/tree/master/Courses/natureofcode/10.18-toy_neural_network github.com/CodingTrain/Toy-Neural-Network-JS/
@mvdlele295 ай бұрын
it would be nice that fromarray function be a constructor
@thewarlord2697 жыл бұрын
Excuse me ! I noticed that p5 is needs you to pay to get it, i used to work with p5 earlier and it was free to download So we can't get it for free anymore !? Please i'm waiting for your answer, Thank you!!
@TheCodingTrain7 жыл бұрын
p5 is a free, open-source JavaScript library supported by donations. See: p5js.org. For more processingfoundation.org
@thewarlord2697 жыл бұрын
The Coding Train but jt asks me every time to make a donation befor I could install it ,! Please can you help !?
@RodrigoCastroAngelo7 жыл бұрын
Hi TheWarLord, I could download it here without making a donation. After the file is downloaded, the p5js website indeed redirects me to a page with instructions as to how you can support the project, but the download is working here. Maybe there's something happening with your browser?
@thewarlord2697 жыл бұрын
Hey ,Rodrigo Ângelo; yes yes i found the problem , i had an add blocker, it was blocking the installation as well, i just disabled it and it worked fine, thank you anyway !
@yubrajsharmadhakal64464 жыл бұрын
I mean seriously, who the hell disliked???
@joshstafford93536 жыл бұрын
16:07 Just kind of sums up Dan doesn't it :D
@adityahirwani16725 жыл бұрын
You are amazing
@QG19967 жыл бұрын
I thing we need weights for biases too, don't we?
@syawadhilahpradipta8287 жыл бұрын
What language are you using?
@TheCodingTrain7 жыл бұрын
This is all JavaScript.
@rusifbudaqov27126 жыл бұрын
thanks for videos.It is verry super)
@mahalakshmil13 жыл бұрын
Awesome!!
@geoffwagner4935 Жыл бұрын
This is very convenient when the author also points out the kind of lunatic we deal with when we hit pause on a regular basis. this is the real Dan, this picture right here. one should not be fooled by this calm, collect, well trimmed facade before us here. he is showing us the real Dan here, the one trying to escape, all the time, bleeps and bloops occasionally. i'm sure it would be quite a spectacle to let him loose in a data center while he thinks he's alone and it all comes out. Unintelligible bleeps and bloops, a roller chair, spinning in circles, madness, and no English . probably this face the entire time
@hichemsetif17414 жыл бұрын
Awesome.
@FlareGunDebate5 жыл бұрын
After all that I feel like I should get a 0.5931076632680795 tattoo haha what the heck.
@sparknews22184 жыл бұрын
how to do this in python??
@tiresink19783 жыл бұрын
In which language this code is written?
@geoffwagner4935 Жыл бұрын
wow, this is shockingly more obvious than brown blue. this i very interesting with dot products from a matrix with a couple nodes. freakishly obvious lol hopefully i'm not speaking to soon. the way that just "clicked", felt a needful impulse say something. super wow.
@webarify7 жыл бұрын
Adaboost Ensemble Learning pls sir.. :)
4 жыл бұрын
18:07 loooooooool
@ritikkhatri5 жыл бұрын
16:14
@toastyPredicament2 жыл бұрын
When do I get to be with someone ?
@seabiscuitthechallenger68995 ай бұрын
👍
@ayaayari56666 жыл бұрын
thank youu!!!!!
@felipedejesus6696 Жыл бұрын
friendly! 😄
@Gentleman2175 жыл бұрын
@alixhurtado6 жыл бұрын
I love you
@Stehocke4 жыл бұрын
Once, there was also this video - Neural Network + XOR operator: kzbin.info/www/bejne/gZzaiWp8oLGZq8k I really liked it, will you make it public again?
@professordrabhijitsayamber22993 жыл бұрын
Om shanti k
@KemiksPL6 жыл бұрын
You really hate simplicity... toArray() { return this.data.slice() }
@PeterCollingridge6 жыл бұрын
Slice returns a shallow copy, so if you have a 2D array like here, you'll end up with references to the internal arrays, so changing them will alter the matrix data. Which I think you want to avoid.
@KemiksPL6 жыл бұрын
Thank you, I didn't know that
@adailtonmoraes59815 жыл бұрын
Depois falam que professor brasileiro que parece meio louco olha esse do usa ai brincadeira kķkkkkkkkkkkkk.