Neural Networks with JavaScript – Full Course using Brain.js



This course gives you a practical introduction to building neural networks in the browser and in Node.js using the Brain.js JavaScript library. To complete the course’s interactive challenges, simply head over to the Scrimba version: https://scrimba.com/g/gneuralnetworks

⭐️What you’ll learn ⭐️
By the end of the course, you’ll be able to solve a range of different problems using neural networks. The lectures does not dwell with much theory, but rather on how to code the networks. That means the course is suitable for anybody who knows JavaScript.

⭐️About Robert Plummer ⭐️
Robert is the lead developer of the Brain.js library. He has a unique ability to explain complex concepts in a manner that everyone can understand. Feel free to reach out to Robert via Twitter if you have feedback, or simply want to thank him for creating this course.

Good luck, and welcome to the exciting world of neural networks!

⭐️Course Contents ⭐️
⌨️ (0:00:00) Course introduction
⌨️ (0:01:46) Our first neural net!
⌨️ (0:04:31) How they learn – Propagation
⌨️ (0:07:57) How they learn – Structure
⌨️ (0:10:09) How they learn – Layers
⌨️ (0:14:04) Working with objects!
⌨️ (0:21:52) Learning more than numbers
⌨️ (0:34:21) Example: Counter
⌨️ (0:44:10) Normalization
⌨️ (0:50:35) Example: Stock price predictor
⌨️ (0:56:06) Predicting multiple steps
⌨️ (0:57:43) Example: A recurrent neural network that learns math
⌨️ (1:03:56) Example: Number detector
⌨️ (1:09:41) Example: Writing a children’s book
⌨️ (1:11:28) Example: Sentiment detection
⌨️ (1:13:50) RNN inputs and outputs
⌨️ (1:17:56) Example: Simple reinforcement learning
⌨️ (1:21:03) Example: Recommendation engine
⌨️ (1:26:02) Closing thoughts

Learn to code for free and get a developer job: https://www.freecodecamp.org

Read hundreds of articles on programming: https://medium.freecodecamp.org

And subscribe for new videos on technology every day: https://youtube.com/subscription_center?add_user=freecodecamp

source

This Post Has 44 Comments

  1. Finding You

    anybody can please help me the best tutorial of javascript for beginers

  2. Jay Bachre

    I'm getting an error brain is not defined when I run the program.

  3. Mateja Petrovic

    brainjs looks awesome, I wonder why the package only has 78 downloads on npm

  4. Abhishek Kumar

    Thank u for this awesome video, please make more machine learning videos

  5. Michal Pleva

    What presentation program you use ? && Where I can download it

  6. Scriptian77

    Wow. I Started Today by coding my self a Python program then.. i move to YouTube And watch your python tutorial. Then i vent to MySQL And then ended up in JavaScript. What is wrong with me?

  7. Caleb Prenger

    would be nice to have the example data somewhere where we can copy paste it

  8. ReactorBoY

    This is super, FreeCodeCamp is awesome. Everything is here to learn

  9. Matt Zelda

    How do I go about using a text file for training data?

  10. David Connelly

    I have not gone through the full thing yet and forgive me if this is covered. However, before I go into this can I just ask, does Brain.js have a mechanism for weighing particular properties? For example, if you're doing a stock market predictor like the one demonstrated, you may want to attach more weight to the close price than the high of the day. Is it possible to do that kind of thing with Brain.js or will it just assume that all properties are equal? Thanks!

  11. A. N.

    So you give data and you get random output…I don't get it. How it took Monday when none of the days of the weeks had any numeric value associated? I'm talking about problem at 30:38

  12. George

    will it be possible to show the image in the web browser as recommendation too?

  13. Aliayub Ali

    I guess I should be good at math to do this tutorial am I right

  14. xGerbil

    13:00 Attempted to teach this AI to experiment with hidden layers. Was not pretty.

  15. Iorveth

    The tutorial was nice, until you began to work with the raw data. I don't understand what you are using the data for and the tutorial became boring.

  16. messi klauf

    is it possible to create a state of Art model for any use case using brain.js or its just for fun/learning library ?

  17. Dawn Bugay

    How to save trained? I dont want to train over and over its too slooow. Is there any way to save it?

  18. Gurkirat Singh

    At time 29:11 can anyone explain me why we would have to take data in this particular form only?

  19. Gumplayer

    what is use of telling pc that 0,0 => 0 and then ask the same?

  20. Souptik Nath

    What is the name of the application in which you are running the code?
    Can I train it on android?

  21. David Connelly

    I love the technology but the tutorial was unwatchable. I lasted for 54 minutes. I couldn't last until the end. To suddenly dish out a configuration option like that at 54:00 without any prior mention of those settings even existing is sloppy.

  22. Jay Wiz

    Please tell me why the need to slice the scaled data?@ 51:30

  23. Phúc Trần

    Hmm I wonder how can we use brain.js with massive training data, because … you know the more data the better? (for example working with images or sounds)
    With the data so massive we can't just type out every possible input and output in the script. There must be some way of saving it and processing it chunks as a time.
    So we can store our training data in Javascript in the LocalStorage but the maximum of it is 10MB. Which is not big.
    Everytime a page loads the script will have to feed all of the data into the neural network and it trains so you waste time everytime the page loads waiting for the model to train. So It would be beneficial to save the model state, I tried saving the neural as JSON but it only saves the attributes though, the methods aren't available.

  24. Business Opportunity in Ruvol

    I have invented a Board Game [still unpublished and not yet out in the market] that I believe is guaranteed to be as challenging and exciting as CHESS. I called it “RUVOL.”

    It is my hope that one day Ruvol may surpass chess as the “Number One Board Game in the World.”

    The weakness of chess is it always starts in fixed positions that the opening moves become “memorizable.” In fact, not a few have so mastered the moves that they can play against their opponents “blindfolded.” It is for this very reason that the great Bobby Fischer introduced his so-called “Fischer Random Chess,” where the starting position of the pieces is “randomized” to make the memorization of openings impracticable. Fortunately, it is also for this reason that I invented Ruvol where “every game” has been calculated to be a challenging one to play.

    HOW IS RUVOL PLAYED and HOW YOU CAN MONETIZE IT?

    I detailed everything in my YouTube video. Here is the link: https://www.youtube.com/watch?v=jcqth0m3-R0

    BIG MONEY POTENTIAL IN RUVOL!

    It is worthwhile to note that the people who play chess will be the same people who will play Ruvol. In my Google search, I learned there are around 800 million chess players in the world. Even just a small percentage of these 800 million is good enough to earn big money from Ruvol either as an ONLINE GAME BUSINESS or as a PHYSICAL PRODUCT DISTRIBUTOR.

    You may contact me at: rodolfovitangcol@gmail.com.

    Thanks and God bless!

    RODOLFO MARTIN VITANGCOL

    The Ruvol Inventor

  25. Yves Lg

    28:00 damn… didn't know you can assign a dynamic key like that in JavaScript… shame on me :D. On the other side, inverting the training like that is awesome

  26. CAZPFITL

    wow, thank you this is pretty useful!

  27. Serge Esmanovich

    how to work with reinforcement if i runtrain method without previous dataset everything stops working

  28. Volente.

    i'm having issues running it in visual studio code, would you like to help me?

Leave a Reply