Machine Learning & Neural Networks without Libraries - No Black Box Course

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 พ.ค. 2024
  • Welcome to this No Black Box Machine Learning Course in JavaScript. It’s a course where we code without using libraries because it’s the best way to learn all inner workings of a machine learning system and you’ll greatly improve your software development skills as well.
    The goal in this course is to build a web app that learns to recognize drawings. This is phase 2, where we increase the accuracy of the method we developed in Phase 1. We do this by implementing more sophisticated features and using other classification methods (like the Neural Network). In Phase 2 we also learn about Data Cleaning, Confusion Matrices, Geometry and the difference between Vector and Raster data (pixels).
    🎥 No Black Box Phase 1 Course: • No Black Box Machine L...
    ✏️ Course created by @Radu (PhD in Computer Science)
    📁 Data: github.com/gniziemazity/drawi...
    💻 Code: github.com/gniziemazity/ml-co...
    💻 Ilya's code: gist.github.com/id-ilych/8630...
    💻 Neural Network Code: github.com/gniziemazity/neura...
    Phase 3 Poll: forms.office.com/e/QTMCLLaV24
    ⭐️ Other Resources ⭐️
    Recognizer we build in this course: radufromfinland.com/projects/...
    Euclidean Distance Video: • Euclidean Distance: Ma...
    Interpolation Video: • Linear Interpolation (...
    Draw the Portal Game Tutorial (Inspired from Dr. Strange): • Doctor Strange portal ...
    Why the Circle has the Largest Area: • Why the Circle enclose...
    Recognizing drawings via webcam: • Learn Machine Learning...
    Self-driving Car Course: • Self-Driving Car with ...
    Discord Server: / discord
    Scikit-learn documentation: scikit-learn.org/stable/module...
    ⭐️ Contents ⭐️
    0:00:00 Introduction
    0:04:07 Phase 1 Code Review
    0:23:11 Data Cleaning
    0:41:30 Confusion Matrix
    1:16:00 Euclidean Distance Marker
    1:16:06 Measuring the Elongation
    1:39:23 Measuring the Roundness
    1:59:20 Vector vs Raster (Pixels)
    2:22:40 Neural Networks
    3:04:49 Optimizing Neural Networks
    3:25:15 Deep Neural Networks
    🎉 Thanks to our Champion and Sponsor supporters:
    👾 davthecoder
    👾 jedi-or-sith
    👾 南宮千影
    👾 Agustín Kussrow
    👾 Nattira Maneerat
    👾 Heather Wcislo
    👾 Serhiy Kalinets
    👾 Justin Hual
    👾 Otis Morgan
    👾 Oscar Rahnama
    --
    Learn to code for free and get a developer job: www.freecodecamp.org
    Read hundreds of articles on programming: freecodecamp.org/news

ความคิดเห็น • 147

  • @Radu
    @Radu 8 หลายเดือนก่อน +90

    Hope you enjoy the course :-)
    Check out my channel for more things like this, and btw. I'm organizing a creative coding competition (the main video on my channel tells about it, if interested).

    • @Alex_Aly
      @Alex_Aly 8 หลายเดือนก่อน +2

      You could teach backpropagation by using a convolution neural net that clasifies things ( maybe it can recognize digits or letters CNN OCR) , then you can imput the characters or digits from keyboard and the ai will generate the image for that character via backpropagation ( or at least we would see a representation on what the network thinks it represents)
      Ofc, the most challenging part would be to offer a background of matrix algebra, partial derivatives for gradient descent, activation functions for perceptrons, function composition, and i thing that should be the bare minimum.
      Anyways, keep doing what you do, i enjoy your work !
      PS: i have tried it with cats ( you wont belive the abominations )

    • @jitulteron6542
      @jitulteron6542 8 หลายเดือนก่อน +2

      Amazing sir. u are the best

    • @Radu
      @Radu 8 หลายเดือนก่อน +4

      @@Alex_AlyI can teach it also with the same setup from here as well, no need for convolutions... But I don't know how to teach it well at the moment (if I ever teach it, I want to make it accessible). In phase 3 of the self-driving car course (coming in January) I will teach neural networks in an understandable way. I will probably include something about gradient descent, but my main goal is to explain what neural networks can do and what complexity (number of neurons) is needed for different tasks. I feel this kind of content is completely lacking online...

    • @eduCraft_Academy
      @eduCraft_Academy 8 หลายเดือนก่อน +2

      Absolutely

    • @BiP00
      @BiP00 8 หลายเดือนก่อน +2

      Doc, you're the best!!

  • @pixmadennis9488
    @pixmadennis9488 2 หลายเดือนก่อน +63

    i just woke up

    • @robertgonzalez6664
      @robertgonzalez6664 21 วันที่ผ่านมา +4

      Bro same lol

    • @negru9513
      @negru9513 18 วันที่ผ่านมา +2

      Me too i didnt play this video

    • @d3nnis61
      @d3nnis61 16 วันที่ผ่านมา +1

      Me too bro hahahahhaahhaah

    • @thebogsofmordor7356
      @thebogsofmordor7356 15 วันที่ผ่านมา

      Bruh me too.

    • @z_buzzard
      @z_buzzard 9 วันที่ผ่านมา

      same

  • @nibomonogatari
    @nibomonogatari 29 วันที่ผ่านมา +8

    why did i wake up to this

  • @LaniakeaArmstrong
    @LaniakeaArmstrong 8 หลายเดือนก่อน +60

    When I read "without libraries": I was very amazed.

    • @theuniverse2268
      @theuniverse2268 7 หลายเดือนก่อน +4

      Yes. Finally a proper machine learning study material lol

    • @FinanceLogic
      @FinanceLogic 5 หลายเดือนก่อน

      @@theuniverse2268 I agree with what you’re trying to say, but it really all can be proper and we probably couldn’t have understood much of this unless we saw that stuff prior, maybe

    • @adityabhise466
      @adityabhise466 4 หลายเดือนก่อน

      Was it without library? Just starting watching? Any good?

  • @TrevorSullivan
    @TrevorSullivan 8 หลายเดือนก่อน +18

    I've seen this guy before. He makes really good content! I'm sure I will learn a lot from this. 💡🙂👍🏻

    • @Radu
      @Radu 8 หลายเดือนก่อน +2

      :-)) thanks

  • @swoopertr
    @swoopertr 6 หลายเดือนก่อน +2

    You are the best Radu. Keep making videos.

  • @its_mrpanchal
    @its_mrpanchal 8 หลายเดือนก่อน +10

    Amazing, I'm excited to learn. I'll complete this course with practice

    • @Radu
      @Radu 8 หลายเดือนก่อน +2

      Good luck! :-)

  • @muhammedendesutku2714
    @muhammedendesutku2714 8 หลายเดือนก่อน +6

    One word for this video , Amazing

  • @sohamsinghyadav9254
    @sohamsinghyadav9254 5 หลายเดือนก่อน +1

    this is amazing, I finally completed and learned a lot

    • @Radu
      @Radu 5 หลายเดือนก่อน

      Glad to hear :-)

  • @sachinlodhi8542
    @sachinlodhi8542 8 หลายเดือนก่อน +3

    Will complete because of its "no blackbox" approach. Will get better idea

    • @Radu
      @Radu 8 หลายเดือนก่อน

      Good luck! :-)

  • @eisenhowerr.guzman5880
    @eisenhowerr.guzman5880 8 หลายเดือนก่อน +1

    Congratulations and greetings from Colombia

  • @oxynetz
    @oxynetz 8 หลายเดือนก่อน +2

    Self driving car was a blast... Can't wait to get on this

    • @Radu
      @Radu 8 หลายเดือนก่อน +1

      Self-driving car Phase 2 begins in the second half of September (on my channel) ;-)

  • @hnnayankumar347
    @hnnayankumar347 8 หลายเดือนก่อน +2

    Thank You ❤️

  • @mehrdad1068
    @mehrdad1068 8 หลายเดือนก่อน +1

    Thank you for sharing this awesome tutorial

    • @Radu
      @Radu 8 หลายเดือนก่อน

      You're welcome!

  • @donlaiq
    @donlaiq 7 หลายเดือนก่อน

    About node.js, just in case someone is having the same trouble.
    By default, I'm using the version v20.1.0, but when I run `npm install`, it throws some errors, and the installation fails.
    I solved it switching to a previous version of node, v18.16.0 (in the video Radu uses v18.12.0, so probably every v18.x.x will work fine).

    • @Radu
      @Radu 7 หลายเดือนก่อน +1

      Oh wow, thanks for pointing this out :-|

  • @aminaleali7161
    @aminaleali7161 4 หลายเดือนก่อน +2

    Never mind your vast knowledge on various things, I specifically want to thank you for knowing how to teach.

    • @Radu
      @Radu 4 หลายเดือนก่อน

      Happy to hear things like this. Thank you :-)

  • @rasheedsrq9026
    @rasheedsrq9026 6 หลายเดือนก่อน +2

    Thanks so much for the tut and I'm looking forward to part 3 of this course. I'm gonna try to implement something similar on a smaller scale to help teach and get kids excited about ML. for reference how could I improve on the MLP for a better accuracy without overfitting?
    (Ps. Radu you are amazing just for the fact that you are still replying to comments so a special thank you🌟)

    • @Radu
      @Radu 6 หลายเดือนก่อน

      There is one ML tutorial aimed at high-school students. You may find it useful: th-cam.com/video/QXB1ytG95gs/w-d-xo.html
      I don't really have tips I could give for avoiding overfitting. At least none I can summarize here as a comment.

  • @ovskihouse5278
    @ovskihouse5278 8 หลายเดือนก่อน +1

    What amazing Channel

  • @samuraipiang8203
    @samuraipiang8203 8 หลายเดือนก่อน +2

    Oh! This is my Wish❤❤❤

  • @AdiAdventuresWorld
    @AdiAdventuresWorld 8 หลายเดือนก่อน +2

    Great 👍

  • @josephnguyen5337
    @josephnguyen5337 8 หลายเดือนก่อน +1

    Hey, can you also share the link for the part1

    • @Radu
      @Radu 8 หลายเดือนก่อน

      It's the first one in the description.

  • @congminhluu5068
    @congminhluu5068 8 หลายเดือนก่อน +2

    Haven’t started the course yet, but I do have a question. Say you have to do it for real, what libraries should you work with to accomplish this?

    • @Radu
      @Radu 8 หลายเดือนก่อน +1

      We do use python's scikit-learn in the course to learn what it can do and we do get a decent result using it. It's a good library even though python has ones more tailored for neural networks nowadays (tensorflow, pytorch, keras). But I doubt we could get some better results using those. Instead, I would focus on tailoring the features. Probably applying convolutions to the pixels would be a logical next step.

  • @edn_music
    @edn_music 8 หลายเดือนก่อน +2

    I downloaded the starting code as is and ran "npm install" but got an error. Got the same problem in the last video when I couldn't install the canvas package. Node works fine for every other thing I use it for. Can someone advise why this happens

    • @Radu
      @Radu 8 หลายเดือนก่อน

      Can you give more details about the error?

  • @user-sk3gu8fx2g
    @user-sk3gu8fx2g 8 หลายเดือนก่อน +1

    Please bring the Algorithms 1, 2 of princeton university.........

  • @fathimaifla9215
    @fathimaifla9215 8 หลายเดือนก่อน

    Please teach about dbms

  • @LalitaPaswan-yq6ll
    @LalitaPaswan-yq6ll 8 หลายเดือนก่อน +3

    I love freecodecamp courses which is amazing 😍😍😍

  • @eduCraft_Academy
    @eduCraft_Academy 8 หลายเดือนก่อน +1

    Glad I'm among the first people to watch this video ❤😂😂

  • @Bright-Great
    @Bright-Great 8 หลายเดือนก่อน +1

    Can you give me the link of the first section

    • @Radu
      @Radu 8 หลายเดือนก่อน

      It's the first link in the video description.

  • @swordtaker2
    @swordtaker2 12 วันที่ผ่านมา +1

    How did i emd up here

  • @pipi_delina
    @pipi_delina 8 หลายเดือนก่อน +1

    How do i handle unbalanced dataset

    • @Radu
      @Radu 8 หลายเดือนก่อน

      We will have a little bit of an unbalance after the data cleaning (not anymore the same number of items of each class). But I don't focus on this problem in the course. But in short... you have to figure out if the data is expected to be balanced or not. If it is, you should probably create a subset of the data to balance it out and then do the training. But if not, you may do more harm than good if you try to classify underpopulated classes... Really depends on the scenario (like if the underpopulated classes are really important for some reason, then you have to do something else).

  • @meganova609
    @meganova609 7 หลายเดือนก่อน +1

    1:18:00 you could use also jarvis algo for the same

    • @Radu
      @Radu 7 หลายเดือนก่อน +1

      yes

  • @tim_allen_jr
    @tim_allen_jr 5 หลายเดือนก่อน +1

    Coding without libraries is true coding.

    • @Radu
      @Radu 5 หลายเดือนก่อน

      :-)

  • @thecoffeejesus
    @thecoffeejesus 5 หลายเดือนก่อน +1

    WHAT A BADASS VIDEO THANK YOU

    • @Radu
      @Radu 5 หลายเดือนก่อน

      You're welcome :-)

  • @Ka-kz3he
    @Ka-kz3he 8 หลายเดือนก่อน +1

    5.4k views 2 hours ago
    I'm here early🙂

  • @aleksaleks-ff6qy
    @aleksaleks-ff6qy 8 หลายเดือนก่อน +4

    Dear channel owners, please provide edited subtitles for all your videos. This will greatly assist people with hearing impairments. Automatically generated subtitles contain many errors. Accurate information is crucial in programming. Thank you.

    • @MarcosLopez-nd8tg
      @MarcosLopez-nd8tg 8 หลายเดือนก่อน +1

      It's a 3 hours 37 min long video😐

    • @Radu
      @Radu 8 หลายเดือนก่อน +1

      @@MarcosLopez-nd8tg yeah... that's exactly the reason. I spend 1 hour to add subtitles for 10 - 15 minute videos. And it's not something fun :-| can't listen music or do anything like that during it because have to listen to what I'm saying... I'm grateful that TH-cam automatically generates the captions, and that they are helpful at least somewhat.

    • @MarcosLopez-nd8tg
      @MarcosLopez-nd8tg 8 หลายเดือนก่อน +1

      ​@@RaduSorry to hear that. Btw great video!

    • @Radu
      @Radu 8 หลายเดือนก่อน +1

      @@MarcosLopez-nd8tg Thank you!

  • @duke_adi
    @duke_adi 7 หลายเดือนก่อน +1

    The data (~5400 samples) is so big that my browser is not able to load the "viewer.html" page ("page becomes unresponsive"). Is there any way to solve this problem?

    • @Radu
      @Radu 7 หลายเดือนก่อน

      You can try using less data. Or maybe draw the thumbnails as smaller images 200x200. Those should help.

    • @duke_adi
      @duke_adi 7 หลายเดือนก่อน +1

      I tried with less data it worked, but accuracy was less . But smaller thumbnails idea is better option since accuracy is more. Thanks for the idea 😃@@Radu

    • @Radu
      @Radu 7 หลายเดือนก่อน

      @@duke_adi No problem!

  • @J_Machine
    @J_Machine 8 หลายเดือนก่อน +1

  • @sobeidalagrange7129
    @sobeidalagrange7129 8 หลายเดือนก่อน

    30:00
    01:03:00

  • @user-vs4lo7ox4t
    @user-vs4lo7ox4t 4 หลายเดือนก่อน

    З.Ы: мне бы хотелось найти начало ( у меня всё в виде HDD лежат стопкой на полке :) и пока не возможно их куда либо в монтировать)
    ...

    • @user-vs4lo7ox4t
      @user-vs4lo7ox4t 4 หลายเดือนก่อน

      з:ы: у меня дафомин зашкалил когда это увидел :))

  • @ojasvisingh786
    @ojasvisingh786 8 หลายเดือนก่อน

    🎉❤

  • @user-ii5he7tl6r
    @user-ii5he7tl6r 8 หลายเดือนก่อน

    Python will do the heavy lifting? this is weird and no way I am missing this video.

    • @Radu
      @Radu 8 หลายเดือนก่อน +2

      :-) yeah, I think it's important to show that a machine learning model doesn't depend on a programming language. And that using the model is relatively cheap compared to the training step.

    • @user-ii5he7tl6r
      @user-ii5he7tl6r 8 หลายเดือนก่อน +1

      @@Radu yes. You are correct.

  • @viktoreimar1240
    @viktoreimar1240 15 วันที่ผ่านมา +1

    I have given thumbs down and said "nor interested" to these videos over and over and youtube keeps sending me here in my sleep. Damn you algorithm.

    • @Radu
      @Radu 4 วันที่ผ่านมา

      :-))

  • @bondxxx7
    @bondxxx7 8 หลายเดือนก่อน +2

    Is there a python version of the course?

    • @Radu
      @Radu 8 หลายเดือนก่อน +1

      Unfortunately, only physically, at the university where I work at the moment. Maybe someday... but for now I like to stick to JavaScript on the channel.

    • @kapalapa1314
      @kapalapa1314 8 หลายเดือนก่อน +2

      ​@@Radu what is the point of doing ML in Js when you have python and all libs

    • @20cmusic
      @20cmusic 8 หลายเดือนก่อน +1

      ​@@kapalapa1314If you want to be a low level coder, that's all you need. Don't need to understand anything.

    • @Radu
      @Radu 8 หลายเดือนก่อน +6

      @@kapalapa1314 check out my explanation at 03:08. But in short... Calling ML library function is pretty straightforward. Almost anyone can jump right in. But what those functions do is very complex. And hard to understand unless you have some idea of their inner workings. That's why this course exists. To learn.

    • @kapalapa1314
      @kapalapa1314 8 หลายเดือนก่อน +2

      @@20cmusic bro, why u are being offensive. I'm not sure that any ML engineer uses js for these purposes

  • @siliangxia258
    @siliangxia258 5 หลายเดือนก่อน

    any one using nature language to query database ?

  • @meganova609
    @meganova609 7 หลายเดือนก่อน +1

    2:26:00

  • @AndersonSilva-dg4mg
    @AndersonSilva-dg4mg 8 หลายเดือนก่อน +1

    JS...

  • @junotlucas1183
    @junotlucas1183 7 หลายเดือนก่อน

    i have a good question?

    • @Radu
      @Radu 7 หลายเดือนก่อน

      What is your question.

  • @digvijaysinghrajput8092
    @digvijaysinghrajput8092 8 หลายเดือนก่อน +1

    Why JavaScript? Why not Python

    • @Radu
      @Radu 8 หลายเดือนก่อน

      I explain why here 03:08.

  • @meganova609
    @meganova609 7 หลายเดือนก่อน +1

    now my gaming laptop is dying while generating data and for feature extration too

    • @Radu
      @Radu 7 หลายเดือนก่อน +1

      Haha, yeah, it's what happens when you have a while loop doing a bunch of things like that. Games have time to process between each frame. The goal is to update just 30 times per second or so.

    • @meganova609
      @meganova609 7 หลายเดือนก่อน +1

      @@Radu lol master you replied to your student it means a lot

    • @Radu
      @Radu 7 หลายเดือนก่อน +1

      @@meganova609 :-)

  • @mariacristinaarezzi
    @mariacristinaarezzi 8 หลายเดือนก่อน +1

    Hello

  • @freetellurian
    @freetellurian 6 หลายเดือนก่อน

    Я 2 года в коме был только начал осознавать

  • @user-uu9gm5rb3d
    @user-uu9gm5rb3d 2 หลายเดือนก่อน

    course :-)

  • @freetellurian
    @freetellurian 6 หลายเดือนก่อน

    Друг Я надеюсь что ты не все картинки раздел

  • @AhmedRehan01
    @AhmedRehan01 8 หลายเดือนก่อน

    First viewer

  • @NAYY_STUDIOS
    @NAYY_STUDIOS 2 หลายเดือนก่อน +1

    I am going to learn thia and comeback to gift $100. Now at 0:0

  • @smartcat5989
    @smartcat5989 8 หลายเดือนก่อน

    😅6th

  • @Bradhawk15
    @Bradhawk15 8 หลายเดือนก่อน

    First

  • @theasianguylokolol8469
    @theasianguylokolol8469 หลายเดือนก่อน

    p

  • @theasianguylokolol8469
    @theasianguylokolol8469 หลายเดือนก่อน

    pp

  • @theasianguylokolol8469
    @theasianguylokolol8469 หลายเดือนก่อน

    ppp

  • @GTFO_0
    @GTFO_0 8 หลายเดือนก่อน

    What the foak did i just watch

  • @okopyl
    @okopyl 5 หลายเดือนก่อน +1

    No one uses JS for machine learning, it’s the worst you can do.
    Please add JS to the video title so no one gets confused and no one watches the video.
    I know JS and Python, so I’m not saying this cause I know only Python

    • @Radu
      @Radu 5 หลายเดือนก่อน

      Thanks for the feedback!
      I don't have control over the video title... But I argue that since it says 'without libraries' it won't make a difference. I mean, coding this in python is as difficult if you don't import anything.
      This tutorial focuses on why those ML techniques work, it doesn't try to get things done quickly.

  • @dus10dnd
    @dus10dnd 6 หลายเดือนก่อน

    Yes, JavaScript libraries suck... but they also exist because... JavaScript sucks. I have been using JavaScript since 1994... I know this for a fact. You're using JavaScript for this because... you only know JavaScript. Sorry, it's just reality.

    • @Radu
      @Radu 6 หลายเดือนก่อน +1

      :-)))) funny because this whole academic year I only teach Python and C# at work.

  • @anvesh87
    @anvesh87 8 หลายเดือนก่อน

    @freecodecamp
    You never cease to impress!

  • @ChandanKumar-xw8gl
    @ChandanKumar-xw8gl 13 วันที่ผ่านมา +1

    I woke up and i was here.. bit why????

  • @mahendranath2504
    @mahendranath2504 7 หลายเดือนก่อน +1

    Nice thank you so much 👌👍🙏🫶🤝✌️👏🙌

    • @Radu
      @Radu 7 หลายเดือนก่อน

      No problem!

  • @theasianguylokolol8469
    @theasianguylokolol8469 หลายเดือนก่อน

    p

  • @theasianguylokolol8469
    @theasianguylokolol8469 หลายเดือนก่อน

    p