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 - Наука та технологія
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 !
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. :)
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!
High quality content with visualizations and so easy to understand. Thank you!
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
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.
You video's are awesome! I love how structured and prepared you are, yet you keep it simple! You rock!
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!!!!
You're the best teacher I have found on UA-cam. You explain so intuitively. I wish to get more videos from you.
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..
Excellent Luis!! Thanx!! impressive way of explaining complex things for making understanding easy n trivial
Really good! Thought it would be too simplified and abstracted, but no. I can code this up. More please!!
The best teacher if we want to learn "how the machines learn".I have watched many of your videos and suggesting them to newbies.
Sir, It is so good to learn from your videos. Complicated things such simplified! Thank you.
Number 1 video on linear regression I have seen so far on youtue. It makes what sounds complex, easy to understand.
Very simple yet powerful video. You have a great gift for teaching.
you're the best teacher
Simple and powerful explanation. Thank you Luis for this wonderful video.
Things have never been so in clear my mind. I love your method of teaching
Love this style of teaching!
One of the BEST linear regression tutorials, many thanks!!!
Luis has an awesome talent to explain complicated things such that even kids can follow and understand. Good job !
Even adults can follow and understand too!
Thank you so much Luis! This has been really helpful.
Beautiful & Extra-ordinary explanation !! Thank You LUIS.
Really great stuff. Please continue making these videos.
Another great video of @Luis Serrano !!! Great !!!
Fabulous explanation and awesome graphics. Please do post more videos on ML algorithms, you explain them so clearly.
Great videos and such clear explanations. Thank you for creating these
Really good Luis, thanks for sharing the way you see ML 🎉
Fresh and intuitive explanation. Thank you.
best part is I understood complex Concept very easily.. !!
Thanks a lot.. I am fan of this channel.
Your videos explanations visualizations are just addictive
Thank You! You made it very simple and clear!
Superb!! Simple and Best. Keep doing the good work.
Simple and brilliant! Thank you!
I'm extremely lucky to find this channel.
This is a god level explanation, thx sooo much. 🙏😎😎😎👍👍👍👍
Holy Smokes thank you Luis! Clear and concise. Thank You!
10QUVM for all your zeal and valuable presentation!!!
One word..... BRILLIANT!
Muy bueno Luis, ya lo estoy probando en Go . Gracias !!!
feel easy to understand the algorithm! many thanks!!
Great teacher,
Thank you very much.
Sir I am doing research in visual speech recognition. Please make a video on visual speech recognition. Your way of explaining is very nice.
Great. Content....
Well explained...thanks so much
No doubt!! You are the best. We all lost in math equation, rather than visualizing it.
After watching this tutorial, I became a big fan of yours.
This is called right / write from scratch ... Great and Simple .. Amazing
Muchas Gracias Luis. A ti si te entiendo.
Very friendly introduction ! Thanks! See you soon in Bogotá!
Thank you! Definitely, see you soon!
Merry Christmas Luiz, hope you’re good :)
Thanks Dan, merry christmas to you too!
Love these explanations! What tool do you use for these wonderful animations?
Thank You. This Is Great!!!
I have an arts background, but I was able to follow your video. ❤🧡
Thanks for uploading.
Keep uploading more.
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 ?
Thx alot
So informative
ypu are awesome mr.luis
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.
Great Video
감사합니다. 좋은 영상 입니다. 추천 합니다.
Nice video Sir!!!
It would be nice If you could provide the powerpoint presentation file in the description.
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
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.
Thanks!!
Excellent
Clever great!
i appreciate it mate
Hola, me encanta tus vídeos, ¿este vídeo está disponible en español?
Yo! Great Video!
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.
Hi Sir, Please make videos on Random Forest and Descision Tree
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
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.
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.
Thanks @Luis Serrano
Thanks for watching!
@@SerranoAcademy can you do friendly introduction to GANs?
@@carlodavid7360 Great idea! It's one of the things I've been looking at, trying to understand them more clearly these days...
Gans! Please!
How do you extend this to higher dimensions? Is there a recommended video for that?
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?) .
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.
You clever and clear my 5th grade son understands it.
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?
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
understood sir
Thanku sir
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...
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
Where can I actually code the algorithm and visualise it ?
and Thank you for succiding at explaining something my teatchers failed at.
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.
you should be adding more videos in youtube really different then rest
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?
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.
Luis, I really liked the explanation of pseudo code, 😊
Thankyou for connecting on LinkedIn ❤
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
That is great trick( rather random line , start at mean) ... Please let me know it worked or improved your model by any means...
should machine learning include back propagation?
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.
Hi Saleh, thanks for your question! I use keynote for the animations, and iMovie for the editing.
@@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.
Please make a book so I can put you properly in my reference! Or is there another way for me to do so?
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
Sir,how can i know that this is the fitted line??
Those three videos go very well with the book, woudl be great to do a video for each chapter like those. . Thank you again
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.
@@SerranoAcademy love it, thank you so much
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?
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.
@@SerranoAcademy got, thx so much. Perhaps that could be a topic for one of the next video ;)
@@user-zs9cl2to3x Great idea! i've been wanting to make a video on polynomial regression for a while, but something else always comes up...
grat vid
its great but i think it need more math besides visualization
pick one random point, later pick another random point?
Even i am not native English can grasp