Gradient Descent From Scratch in Python - Visual Explanation

Sdílet
Vložit
  • čas přidán 17. 04. 2023
  • In this video we implement gradient descent from scratch in Python. Also I try to give you an intuitive and mathematical understanding of what is happening.
    ◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
    📚 Programming Books & Merch 📚
    🐍 The Python Bible Book: www.neuralnine.com/books/
    💻 The Algorithm Bible Book: www.neuralnine.com/books/
    👕 Programming Merch: www.neuralnine.com/shop
    🌐 Social Media & Contact 🌐
    📱 Website: www.neuralnine.com/
    📷 Instagram: / neuralnine
    🐦 Twitter: / neuralnine
    🤵 LinkedIn: / neuralnine
    📁 GitHub: github.com/NeuralNine
    🎙 Discord: / discord
  • Věda a technologie

Komentáře • 37

  • @cerealport2726
    @cerealport2726 Před rokem +10

    This is a very nice video explaining the mysteries behind gradient descent!
    The greek "n" looking symbol is eta, as far as I am aware.

  • @markosth09
    @markosth09 Před rokem +10

    The greek letter "η" is called eta.

  • @prashantm9856
    @prashantm9856 Před rokem +2

    Very educational bro ,I love it❤

  • @unknown-ie3ik
    @unknown-ie3ik Před rokem +4

    Aaaawesome, as expected 🔥🔥
    Could you do logistic regression

  • @alanbal888
    @alanbal888 Před rokem

    Thank you so much, it really helped me out understanding the gradient descent :)!!!

  • @thomaskwesimwaba9151
    @thomaskwesimwaba9151 Před 8 měsíci

    Thank you very much for the video 🙌🏽

  • @mugen-one
    @mugen-one Před 2 měsíci

    Great explanation and good visuals!

  • @lilprotakeit
    @lilprotakeit Před rokem +1

    Super Awesome .. Wonderful explanation and i can understand this video has some prerequisite .. but what you can do is leave some references to people who are not graduated to this level

  • @alibastami
    @alibastami Před 3 měsíci

    Thank you brother, this was immensely helpful

  • @navsquid32
    @navsquid32 Před 2 měsíci +1

    I’d recommend implementing a higher-order finite difference scheme for computing the gradient instead of hard-coding the analytic derivative for those who want to implement more general schemes.

  • @introtoprogramming9162
    @introtoprogramming9162 Před 7 měsíci

    Great Explanation..👍

  • @unknown-ie3ik
    @unknown-ie3ik Před rokem +1

    Thank you very much

  • @sandipandutta8776
    @sandipandutta8776 Před měsícem

    at the end, when you plotted 3 points, you only adjusted the x and y coordinates, but did not change the z coordinate. it was still z_function(0.7, 0.4)

  • @yakupkaanbaycan9316
    @yakupkaanbaycan9316 Před rokem

    Great video, thanks

  • @user-ot8ri8sd7s
    @user-ot8ri8sd7s Před rokem

    Best tutorial ever seen

  • @dizoner2610
    @dizoner2610 Před rokem +2

    I spent around 490 hours learning calc 3 , now I gotta implement this algorithm, thx u for explanation

    • @unknown__user__800
      @unknown__user__800 Před rokem

      You counted the hours😮

    • @dizoner2610
      @dizoner2610 Před rokem +2

      @@unknown__user__800 yeah I actually did just to see how productive (I guess I can say ) I am

  • @incrediblehuman1173
    @incrediblehuman1173 Před 6 měsíci

    Thank you, very well explained 🙏

  • @user-xj1pi5ec6x
    @user-xj1pi5ec6x Před 7 měsíci

    very clean

  • @SteffCelTare
    @SteffCelTare Před 2 měsíci

    Love this video

  • @ajeetsbpr
    @ajeetsbpr Před 10 měsíci

    awesome bro

  • @danielsehnoutek2016
    @danielsehnoutek2016 Před 7 měsíci

    great tutorial

  • @anonymath
    @anonymath Před 8 měsíci

    Amazing

  • @nancybm41
    @nancybm41 Před 9 měsíci +2

    thanks for the video. great job. I think you forgot to update the z function with the correct x and y values for positions 1-3.

  • @Mar-ts4bn
    @Mar-ts4bn Před 6 měsíci

    Is that work with multiple features datasets?

  • @mohammedk8545
    @mohammedk8545 Před 8 měsíci

    16:16 Rollercoaster !!

  • @hejrey6228
    @hejrey6228 Před 9 měsíci

    10/10

  • @applepie7282
    @applepie7282 Před 9 měsíci

    thx

  • @vasupatel7013
    @vasupatel7013 Před rokem

    Hey can you please guide me, I am at begginer level , I am trying to built a python script or model which can detect wheather a pdf is an image one or non image , I got stuck at one problem: even if pdf is non image because it contains some type of stamps in it , it is considering it as image file and I am unable to segregate files , can you please suggest what should i do in this case.

  • @sharjeel_mazhar
    @sharjeel_mazhar Před měsícem

    Can anyone please teach me how to take the derivatives of this function: [sin(5x) * cos(5y)] / 5

  • @taruchitgoyal3735
    @taruchitgoyal3735 Před 9 měsíci

    Hello Sir,
    When I execute: -
    ax=plt.subplot(projection="3d", computed_zorder=False)
    AttributeError: 'Axes3DSubplot' object has no property 'computed_zorder'
    Can you please suggest how to resolve the problem?
    Thank you

  • @foodfunk6730
    @foodfunk6730 Před 5 měsíci

    Awsm. When I run the code in colab, I get multiple plots. One plot for each iteration. It seems that plt.clf() is not clearing the plot. Can you please answer why its happening. Here is the code
    def y_function(x):
    return x**2
    def y_derivative(x):
    return 2*x
    x = np.arange(-100,100,0.1)
    y = y_function(x)
    current_pos = (80, y_function(80))
    learning_rate = 0.01
    for _ in range (100):
    new_x = current_pos[0] - learning_rate*y_derivative(current_pos[0])
    new_y = y_function(new_x)
    current_pos = (new_x,new_y )
    plt.plot(x, y)
    plt.scatter(current_pos[0], current_pos[1], color='red')
    plt.pause(0.1)
    plt.clf()

    • @garydixter4407
      @garydixter4407 Před 4 měsíci

      I got the same issue
      did you find any solution?

  • @swapnilnangare5805
    @swapnilnangare5805 Před měsícem

    I getting error in computed_zorder anyone is there any update

  • @thomasgoodwin2648
    @thomasgoodwin2648 Před rokem

    Calcuwho? The progging I get (mostly). The maths (While I do understand the underlying principles) somehow always produce soup when I try it (a form of dyslexia). The cool part is that these days we have new tools to extend ourselves mentally (and not at all in any naughty ways like some of you might be thinking despite 40% of the internet being dedicated to porn) such as Wolphram Alpha and ChatGPT. Using such tools allows us to extend the boundaries imposed by our own personal mental limitations.
    To those of you who might be a bit more like me and fear treading the murky reef filled waters of higher maths remember that even if the mechanics elude you, a basic understanding is enough to use these tools to supplement ones capabilities. Even those who are well versed in math would be wise to make use of them given our roughly 15% error rates. Let the machine do the heavy lifting for the difficult and/or complicated bits.