Linear Regression: A friendly introduction

Поділитися
Вставка
  • Опубліковано 29 чер 2024
  • For a code implementation, check out this repo:
    github.com/luisguiserrano/man...
    Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML
    40% discount code: serranoyt
    An introduction to linear regression that requires very little math (no calculus or linear algebra), only a visual mind.
    0:00 Introduction
    0:44 Housing Prices
    6:08 Changing the slope - Rotation
    6:34 Changing the y-intercept - Translation
    7:01 How to move a line
    9:16 Moving a line
    11:18 Linear regression algorithm
    14:27 Positive and negative distance
    19:34 One rule to rule them all
    26:35 Square error
    29:02 Absolute error
    29:52 Absolute trick
    30:26 Series of 3 videos
  • Наука та технологія

КОМЕНТАРІ • 117

  • @sanguinj
    @sanguinj 3 роки тому +6

    Luis. I really like your way of teaching. I decided at my 64 start to learn ML, by starting to review my linear algebra. Your way of getting to our heads SVM is the best. Keep doing your hard. Thank you so much for your time. I am just subscribed in your channel !

  • @mohammedhasan6522
    @mohammedhasan6522 5 років тому +16

    I sometimes wonder, how can people describe things so simply. Always a big fan and looking forward to seeing more complex things in your style. :)

  • @maheshBasavaraju
    @maheshBasavaraju Місяць тому

    Your explanation is almost like an elementary school teacher. regression is addng and subtracting to slope and y-intercept. couldn't get easier than this. great!

  • @Derfaut
    @Derfaut 5 років тому +11

    High quality content with visualizations and so easy to understand. Thank you!

  • @tonakkie635
    @tonakkie635 5 років тому +5

    Again a great lecture Luis. Especially very nice for beginners. I forwarded you video to my daughter who just had a tough course on statistics. Keep up the great work👍. Thanks Ton

  • @kamalkumar-ew8ry
    @kamalkumar-ew8ry 5 років тому +2

    I am beginner to Machine Learning. But able to follow this session 100%. Very rare people can explain the things so easily like you Luis Serrano.
    Thanks for sharing this video.

  • @julienbonin
    @julienbonin 4 роки тому +2

    You video's are awesome! I love how structured and prepared you are, yet you keep it simple! You rock!

  • @rajkumarc6759
    @rajkumarc6759 5 років тому +1

    Thanks Luis, I am truly benefiting from your lessons, you are making these concepts very easy to understand. Have already started to view your playlists especially the ML and maths... Continue the good work!!!!

  • @atikfaysal426
    @atikfaysal426 4 роки тому

    You're the best teacher I have found on UA-cam. You explain so intuitively. I wish to get more videos from you.

  • @suchismitagoswami5609
    @suchismitagoswami5609 3 місяці тому

    The best part of your teaching style is how beautifully you help us to visualize a complex problem. This technique has helped me in many context to simplify and break down a complex problem into smaller problems..

  • @spicecandy5248
    @spicecandy5248 5 років тому +2

    Excellent Luis!! Thanx!! impressive way of explaining complex things for making understanding easy n trivial

  • @luisbermudez7000
    @luisbermudez7000 5 років тому +3

    Really good! Thought it would be too simplified and abstracted, but no. I can code this up. More please!!

  • @chakrapani_nallam
    @chakrapani_nallam 5 років тому

    The best teacher if we want to learn "how the machines learn".I have watched many of your videos and suggesting them to newbies.

  • @muskankhaneja9512
    @muskankhaneja9512 4 роки тому

    Sir, It is so good to learn from your videos. Complicated things such simplified! Thank you.

  • @ruudhermans4243
    @ruudhermans4243 5 років тому

    Number 1 video on linear regression I have seen so far on youtue. It makes what sounds complex, easy to understand.

  • @121Pal
    @121Pal 4 роки тому

    Very simple yet powerful video. You have a great gift for teaching.

  • @omarhammouche4831
    @omarhammouche4831 5 років тому +8

    you're the best teacher

  • @debbie2017
    @debbie2017 4 роки тому

    Simple and powerful explanation. Thank you Luis for this wonderful video.

  • @jochoniahnzomo5937
    @jochoniahnzomo5937 3 роки тому

    Things have never been so in clear my mind. I love your method of teaching

  • @pushkarparanjpe
    @pushkarparanjpe 5 років тому +2

    Love this style of teaching!

  • @FarizDarari
    @FarizDarari 7 місяців тому

    One of the BEST linear regression tutorials, many thanks!!!

  • @neuromorphing9933
    @neuromorphing9933 5 років тому +3

    Luis has an awesome talent to explain complicated things such that even kids can follow and understand. Good job !

  • @kanokyusuki
    @kanokyusuki 4 роки тому +1

    Thank you so much Luis! This has been really helpful.

  • @himanshudalai1028
    @himanshudalai1028 5 років тому

    Beautiful & Extra-ordinary explanation !! Thank You LUIS.

  • @felixvadan6073
    @felixvadan6073 5 років тому

    Really great stuff. Please continue making these videos.

  • @soajack
    @soajack 5 років тому

    Another great video of @Luis Serrano !!! Great !!!

  • @arkanasays
    @arkanasays 3 роки тому

    Fabulous explanation and awesome graphics. Please do post more videos on ML algorithms, you explain them so clearly.

  • @AndrewReeman_RemD
    @AndrewReeman_RemD 2 роки тому

    Great videos and such clear explanations. Thank you for creating these

  • @ignaciosanchezgendriz1457
    @ignaciosanchezgendriz1457 11 місяців тому

    Really good Luis, thanks for sharing the way you see ML 🎉

  • @peregudovoleg
    @peregudovoleg 2 роки тому

    Fresh and intuitive explanation. Thank you.

  • @abhijeetsnaik
    @abhijeetsnaik 3 роки тому

    best part is I understood complex Concept very easily.. !!
    Thanks a lot.. I am fan of this channel.

  • @subrata6666
    @subrata6666 2 роки тому

    Your videos explanations visualizations are just addictive

  • @wookotech4216
    @wookotech4216 5 років тому

    Thank You! You made it very simple and clear!

  • @kskuppu
    @kskuppu 5 років тому

    Superb!! Simple and Best. Keep doing the good work.

  • @EliezerTseytkin
    @EliezerTseytkin 5 років тому

    Simple and brilliant! Thank you!

  • @HypnosisBear
    @HypnosisBear 3 роки тому

    I'm extremely lucky to find this channel.
    This is a god level explanation, thx sooo much. 🙏😎😎😎👍👍👍👍

  • @frankpimiskern
    @frankpimiskern 5 років тому +1

    Holy Smokes thank you Luis! Clear and concise. Thank You!

  • @user-bz7fj1fk2m
    @user-bz7fj1fk2m Рік тому

    10QUVM for all your zeal and valuable presentation!!!

  • @OzScout66
    @OzScout66 4 роки тому +1

    One word..... BRILLIANT!

  • @MarcelTndl
    @MarcelTndl 4 роки тому

    Muy bueno Luis, ya lo estoy probando en Go . Gracias !!!

  • @changshenglism
    @changshenglism 2 роки тому

    feel easy to understand the algorithm! many thanks!!

  • @agentNirmites
    @agentNirmites 4 роки тому +1

    Great teacher,
    Thank you very much.

  • @RiteshMagreIT
    @RiteshMagreIT 5 років тому

    Sir I am doing research in visual speech recognition. Please make a video on visual speech recognition. Your way of explaining is very nice.

  • @koushikdas2755
    @koushikdas2755 2 роки тому

    Great. Content....
    Well explained...thanks so much

  • @moinulhoque2160
    @moinulhoque2160 3 роки тому

    No doubt!! You are the best. We all lost in math equation, rather than visualizing it.

  • @rajeshvarma2162
    @rajeshvarma2162 2 роки тому

    After watching this tutorial, I became a big fan of yours.

  • @siriguna
    @siriguna 3 роки тому

    This is called right / write from scratch ... Great and Simple .. Amazing

  • @victorrodas4357
    @victorrodas4357 4 роки тому

    Muchas Gracias Luis. A ti si te entiendo.

  • @soniaardila
    @soniaardila 5 років тому

    Very friendly introduction ! Thanks! See you soon in Bogotá!

  • @danellis7443
    @danellis7443 5 років тому

    Merry Christmas Luiz, hope you’re good :)

  • @noorhashem7
    @noorhashem7 2 місяці тому

    Love these explanations! What tool do you use for these wonderful animations?

  • @dtakamalakirthidissanayake9770
    @dtakamalakirthidissanayake9770 4 роки тому

    Thank You. This Is Great!!!

  • @devidevatha
    @devidevatha Рік тому

    I have an arts background, but I was able to follow your video. ❤🧡
    Thanks for uploading.
    Keep uploading more.

  • @jenyasidyakin8061
    @jenyasidyakin8061 5 років тому

    Thank you, Luis, you are the best teacher. The "square trick" is an official name for that algorithm ? is that an alternetive to error function and gradient dicent ?

  • @yasmad4553
    @yasmad4553 5 років тому

    Thx alot
    So informative

  • @vibekdutta6539
    @vibekdutta6539 5 років тому

    ypu are awesome mr.luis

  • @jameseconomy2578
    @jameseconomy2578 4 роки тому

    Luis, All your videos are so helpful. I have a question though regarding this one. How does the point say "Come closer" (how does the point know it needs to come closer) and how do we know the line is actually closer to the point? Thanks.

  • @kiran082
    @kiran082 4 роки тому

    Great Video

  • @aujard1236
    @aujard1236 4 роки тому

    감사합니다. 좋은 영상 입니다. 추천 합니다.

  • @mayankshah1123
    @mayankshah1123 5 років тому

    Nice video Sir!!!
    It would be nice If you could provide the powerpoint presentation file in the description.

  • @VikramSingh-fl4qe
    @VikramSingh-fl4qe 7 місяців тому

    You got a shoutout from one of India's finest Data Science UA-camr Nitish @CampusX,
    Thank you so much for your very simplified version of datasc

    • @SerranoAcademy
      @SerranoAcademy  7 місяців тому

      Ohhh thank you! I got a huge bump in subscribers and was trying to figure out where it came from! I just saw Nitish's video, such a kind shout out. I'll thank him, I'm a big fan of him as well.

  • @koreaorang2351
    @koreaorang2351 5 років тому

    Thanks!!

  • @moueshchronicles
    @moueshchronicles 5 років тому

    Excellent

  • @scherwinn
    @scherwinn 5 років тому

    Clever great!

  • @sofianeben3028
    @sofianeben3028 4 роки тому

    i appreciate it mate

  • @box40able
    @box40able 3 роки тому

    Hola, me encanta tus vídeos, ¿este vídeo está disponible en español?

  • @weekoo9189
    @weekoo9189 5 років тому +1

    Yo! Great Video!

  • @abdelrahmanwaelhelaly1871
    @abdelrahmanwaelhelaly1871 3 роки тому

    These videos are really good, there are a lot of mistakes you made in this chapter in your book , which lead to a very confusing experience.
    here it's much better.

  • @dilipgawade9686
    @dilipgawade9686 5 років тому

    Hi Sir, Please make videos on Random Forest and Descision Tree

  • @atinsood
    @atinsood 5 років тому

    Luis, much appreciate this and making this so easy to understand. Few questions:
    1. Does the line always need to be a straight line or can it be a curve(or is that the reason why it is called linear).
    2. If so why/what implications is using a curved line
    also thanks for the hidden gem explaining beautifully why square error is called square error.
    3. when doing the square error, why only consider the vertical distance, why not create squares using horizontal distances

    • @SerranoAcademy
      @SerranoAcademy  5 років тому

      Thanks! A curved line can be used, for example, one with a polynomial equation (quadratic, cubic), instead of linear. This is called polynomial regression. One can also combine lines to make curved lines, and this is what neural networks do.

    • @Han-ve8uh
      @Han-ve8uh 3 роки тому

      Vertical distances have practical meanings. It's the gap between the predicted value and actual value we care about. In simple linear regression, vertical axis is output and horizontal axis is input. Intuitively, vertical gaps are more important to minimize than horizontal gaps.

  • @carlodavid7360
    @carlodavid7360 5 років тому +3

    Thanks @Luis Serrano

    • @SerranoAcademy
      @SerranoAcademy  5 років тому +1

      Thanks for watching!

    • @carlodavid7360
      @carlodavid7360 5 років тому +1

      @@SerranoAcademy can you do friendly introduction to GANs?

    • @SerranoAcademy
      @SerranoAcademy  5 років тому +2

      @@carlodavid7360 Great idea! It's one of the things I've been looking at, trying to understand them more clearly these days...

    • @RahulRageshRSquare
      @RahulRageshRSquare 5 років тому

      Gans! Please!

  • @TheSaintsVEVO
    @TheSaintsVEVO 4 роки тому

    How do you extend this to higher dimensions? Is there a recommended video for that?

  • @BharatSharma-ek8sb
    @BharatSharma-ek8sb 5 років тому

    Thank you so much . I hope learning from you will make difference in my professional career.
    I have 2 questions.
    1). When I initialize random line , I need to choose some initial numbers for slope and Y intercept . what is best practice for choosing these numbers.
    2) using square trick , I need 2 coordinates to find vertical and horizontal distances. I have one coordinate from dataset (x1,y1) but how to find another one (x2,y2) (which i assume satisfies line equation?) .

    • @Han-ve8uh
      @Han-ve8uh 3 роки тому

      For vertical gap, the 2 points have same x. One y comes from the point, the other y comes from prediction from line by substituting into y=mx+b. For horizontal gap, the 2 points have same y. One x comes from the point, the other x is 0 since it's on the y axis.

  • @farzadfarzadian8827
    @farzadfarzadian8827 5 років тому

    You clever and clear my 5th grade son understands it.

  • @fahimachowdhury6780
    @fahimachowdhury6780 2 роки тому

    In your first step, Do we take the random line? Or do we draw a line by doing average?
    How do I know whether a point is below or above to the line and left or right to the y-axis?

    • @davide8228
      @davide8228 2 роки тому

      We just pick a random line.
      To see if a point is below or above.... it's only a math problem. It's very easy so instead of ask here try for yourself with pen and paper. Make a Cartesian plane and pick a point, writing its coordinates

  • @priyasearcher
    @priyasearcher 5 років тому

    understood sir

  • @aigaurav5024
    @aigaurav5024 5 років тому

    Thanku sir

  • @joaquingrezmansilla8638
    @joaquingrezmansilla8638 4 роки тому

    hello Luis, i like the way you teach. Tendrás este video en español? vi el del cluster analisis y me ayudó mucho para mi tesis de magíster...

    • @SerranoAcademy
      @SerranoAcademy  4 роки тому

      Gracias Joaquin! No tengo exactamente el mismo video en espanol, pero casi igual, con regresion lineal. Aca esta: ua-cam.com/video/LliMpfMtjEo/v-deo.html

  • @ayman001B
    @ayman001B 5 років тому

    Where can I actually code the algorithm and visualise it ?
    and Thank you for succiding at explaining something my teatchers failed at.

    • @SerranoAcademy
      @SerranoAcademy  5 років тому

      Thanks! I suggest coding it in numpy (python). You can also find packages like scikit-learn, which already have implemented it, so you don't need to hard code it.

  • @thisismrsanjay
    @thisismrsanjay Рік тому

    you should be adding more videos in youtube really different then rest

  • @huojinchowdhury3933
    @huojinchowdhury3933 3 роки тому

    I am little bit confused here
    Say, when first point say come closer it goes closer to it. Again when second point says come closer it goes towards it. If the third point is way more far from previous two point, then line will be go far way from first two points to be closer to third point. That means, data with more outlier, line will be never near maximum points but it will remain besides outliers.
    Is it something like while line moving towards a point, it will consider one point at a time? Or considers all other points towards which it moves already and the current point?

    • @Han-ve8uh
      @Han-ve8uh 3 роки тому

      This video is showing stochastic gradient descent where each update only considers 1 point. You can consider more than 1 point too (mini-batch GD) or even all the points in the data (GD), which is the most accurate way of updating weights and biases. The geometric interpretation he gives here is exactly the same as the usual gradient descent we see from other sources (just different by constant factors). If we want to consider more points, then the update for both slope and y-intercept will consider the mean of the current operations on vertical/horizontal gaps.
      Assuming the line updates by looking at points randomly, each point should get seen the same number of times and after many epochs of seeing all points (you can consider 1 epoch as seeing 1 point, or 1 epoch as seeing all points), the line should get better. The issue you mentioned of line not getting updated to a better position and always staying beside outliers should not happen unless the points you use to update the line are always the same outliers.

  • @QuantaCompassAnalytics
    @QuantaCompassAnalytics Місяць тому

    Luis, I really liked the explanation of pseudo code, 😊
    Thankyou for connecting on LinkedIn ❤

  • @pauldmanuel
    @pauldmanuel 4 роки тому

    Luis
    Simply amazing.
    One small question?
    It is true that the linear regression line always passes through the mean of the data points.
    Why don't we start with the line which passes through the mean of the data points?
    In this case, we worry about only the slope and we can ignore y-intercept.
    Does it make any difference?
    Paul Manuel

    • @siriguna
      @siriguna 3 роки тому

      That is great trick( rather random line , start at mean) ... Please let me know it worked or improved your model by any means...

  • @macknightxu2199
    @macknightxu2199 3 роки тому

    should machine learning include back propagation?

  • @saliyari
    @saliyari 3 роки тому

    Hi, What do you use for your animations? I wanna make some slides for my students (now that everything is online) but I don't have much of an experience with apps that could make a nice animation like you have here.

    • @SerranoAcademy
      @SerranoAcademy  3 роки тому +1

      Hi Saleh, thanks for your question! I use keynote for the animations, and iMovie for the editing.

    • @saliyari
      @saliyari 3 роки тому

      @@SerranoAcademy Thanks a lot. Kudos to you for posting high quality material and making it available to the public. Also, I asked the same question on your homepage. Please ignore that message. Thanks again.

  • @sintwelve
    @sintwelve 5 років тому

    Please make a book so I can put you properly in my reference! Or is there another way for me to do so?

    • @SerranoAcademy
      @SerranoAcademy  5 років тому +1

      Thanks! A book is coming in a few months, but in the meantime you can reference the video. I’ll make the announcement when it’s out

  • @peeyushkumar8843
    @peeyushkumar8843 5 років тому

    Sir,how can i know that this is the fitted line??

  • @testme2026
    @testme2026 Рік тому

    Those three videos go very well with the book, woudl be great to do a video for each chapter like those. . Thank you again

    • @SerranoAcademy
      @SerranoAcademy  Рік тому +1

      Thanks! Great idea! I’m actually working on a decisión trees one now. There are a few other videos for chapters in the book, like a naive Bayes video, so hopefully soon I can get them all there.

    • @testme2026
      @testme2026 Рік тому

      @@SerranoAcademy love it, thank you so much

  • @user-zs9cl2to3x
    @user-zs9cl2to3x 6 місяців тому

    I'm wondering if dependency is not linear (but lets say, exponential or quadratic) does the solving non linear task would still be called linear regression?

    • @SerranoAcademy
      @SerranoAcademy  6 місяців тому

      Absolutely! That is called quadratic regression, or polynomial regression if the degree is higher. These models can also be trained in the same way as linear regression (by updating the weights using gradient descent). Note that the higher the degree of the polynomial, the better the fit, but the more prone you are to overfitting, so often when polynomial regression is used, one should also use something like regularization, to prevent overfitting.

    • @user-zs9cl2to3x
      @user-zs9cl2to3x 6 місяців тому

      @@SerranoAcademy got, thx so much. Perhaps that could be a topic for one of the next video ;)

    • @SerranoAcademy
      @SerranoAcademy  6 місяців тому

      @@user-zs9cl2to3x Great idea! i've been wanting to make a video on polynomial regression for a while, but something else always comes up...

  • @entropiclips
    @entropiclips 4 роки тому

    grat vid

  • @haydarsalah2968
    @haydarsalah2968 2 роки тому

    its great but i think it need more math besides visualization

  • @macknightxu2199
    @macknightxu2199 3 роки тому

    pick one random point, later pick another random point?

  • @maulanakamal6188
    @maulanakamal6188 4 роки тому

    Even i am not native English can grasp