Video není dostupné.
Omlouváme se.

3.2: Linear Regression with Ordinary Least Squares Part 1 - Intelligence and Learning

Sdílet
Vložit
  • čas přidán 28. 05. 2017
  • In this video, part of my series on "Machine Learning", I explain how to perform Linear Regression for a 2D dataset using the Ordinary Least Squares method. In Part 2, I demonstrate how to code the algorithm in JavaScript, using the p5.js library
    This video is part of session 3 of my Spring 2017 ITP "Intelligence and Learning" course (github.com/shi...)
    Link to Part 2: • 3.3: Linear Regression...
    Support this channel on Patreon: / codingtrain
    To buy Coding Train merchandise: www.designbyhu...
    Send me your questions and coding challenges!: github.com/Cod...
    Contact:
    Twitter: / shiffman
    The Coding Train website: thecodingtrain....
    Links discussed in this video:
    Session 3 of Intelligence and Learning: github.com/shi...
    Nature of Code: natureofcode.com/
    kwichmann's Linear Regression Diagnostics: kwichmann.gith...
    Linear Regression on Wikipedia: en.wikipedia.o...
    Anscombe's quartet on Wikipedia: en.wikipedia.o...
    Source Code for the all Video Lessons: github.com/Cod...
    p5.js: p5js.org/
    Processing: processing.org
    For More Coding Challenges: • Coding Challenges
    For More Intelligence and Learning: • Intelligence and Learning
    Help us caption & translate this video!
    amara.org/v/7UbL/
    📄 Code of Conduct: github.com/Cod...

Komentáře • 218

  • @RodamisCZ
    @RodamisCZ Před 7 lety +469

    I have linear depression

  • @adamlanghans
    @adamlanghans Před 7 lety +183

    Subbed for multiple color markers.

  • @whatsup7341
    @whatsup7341 Před 7 lety +44

    "I'm really sorry, I'm going to do this in Fahrenheit, I have to apologize for that. I'll happily say "maths" though." You crack me up Dan

  • @JFrameMan
    @JFrameMan Před 4 lety +8

    Great explanation. You're the only channel that has such a nice balance between explaining academic content and programming it.

  • @Oompie279
    @Oompie279 Před 7 lety +16

    Nice video! The numerator of the expression for the slope is actually the sample covariance of X and Y. Sample covariance is a measure of linear dependence. The denominator is the sample variance of X. So the slope is loosely said the linear dependence of X and Y, normalized by the variability in X. Hope that makes sense!

  • @HarshTalpada
    @HarshTalpada Před 7 lety +1

    Dan, you are precisely the one, that our education institutions currently need, simply amazing way of making anyone understand even the most complex stuff

  • @clabe45
    @clabe45 Před 7 lety +20

    Nice job re-capping the marker as you said "recap" at 14:22.

  • @sidindian1982
    @sidindian1982 Před 2 lety +2

    ordinary least Square .. Very well explained Sir :-) ... i am preparing for data science as my carrier ...

  • @im_karamo1907
    @im_karamo1907 Před 6 lety +5

    heehhhe.. bro honestly you have win my day. your sense of humor makes me understand it greatly. congrats again. hehe

  • @paulkerrigan9857
    @paulkerrigan9857 Před 4 lety +1

    You’re one of my heroes, man. Seeing you make these coding videos years ago inspired me to learn new languages and technologies. Playing with P5.js is lots of fun.

  • @borismilenski4759
    @borismilenski4759 Před 7 lety +1

    I wish you had a teacher like yourself. If I were to compare this video to the entirety of what I learnt from my "programming" classes, I'd say I have wasted too many hours in said classes.

  • @jude_ghenon
    @jude_ghenon Před 4 lety +4

    Great job! This is the nth video of yours I've watched and you've been able to explain hard concepts like AI algorithms like they were nuts! It seems they're so easy and I don't know if you're too good to explain or I'm so dumb I'm not catching the things right.

  • @wookotech4216
    @wookotech4216 Před 5 lety +1

    I am smiling now...I was very confused till i watched your explanation. Thank you Sir!

  • @rapi1975
    @rapi1975 Před 6 lety +5

    Thanks for the video. finally easy explanation of linear regression.

  • @lucasmontec
    @lucasmontec Před 7 lety

    You are the best teacher I've ever had. Seriously. And I've had a LOT of them.

  • @synju
    @synju Před 7 lety

    Please BIG Please, continue with this series.
    I've followed along with your genetic algorithms, and now I'm busy with neural networks, so please continue with this.
    Would really appreciate it.

  • @JoseLopez-oz5tn
    @JoseLopez-oz5tn Před rokem

    6 years later and this content is helping me out

  • @omkarfadtare3054
    @omkarfadtare3054 Před 2 lety +2

    Bro, this is so much fun to learn.. Thank you.. you explained it very well.. you really deserve a like and a subscribe

  • @jadlteif8143
    @jadlteif8143 Před 7 lety +2

    Very neat explanation, explains the basics very well. Keep up the good work :)

  • @shankarkarthik
    @shankarkarthik Před 6 lety +1

    Amazing video - Your videos are the best dumb (dumb being me) it down versions I have found in ML. Thank you very much

  • @robertop.556
    @robertop.556 Před rokem

    Wow. You're awesome. I was able to understand linear regression with your video.

  • @amranmohamed377
    @amranmohamed377 Před 2 lety

    I wish I had teacher like this.

  • @zexivic7740
    @zexivic7740 Před 4 lety +1

    After googling for what I needed to know to do my project I have ended up on this video and channel learning about OLS. Although it did help me to understand better what is OLS I do't think I can do this on my own. It would be cool if anyone from the comment section or Daniel could help me out with my problem.
    So, I'm trying to create a math solution that would give me soccer players post game ratings based on the actions done during the game. It seems that googling is keeping me in a loop around Linear Regression, as it seems that such math model has been used, in combination with some others, to do a real life predictions and post game rating for soccer players by various online sites and soccer journals. The system I would like to create, first and foremost as a math model and then later as an actual code, would be fed by 30+ events (goals, assists, block, saves, etc) that should quantify all of that as a number on a scale from 1 to 10 with 2 decimal points as a precision. Is OLS the right way to go? Perhaps other Linear Regression model? Maybe totally different math model and a formula? Where do I event start when I do pick a model? Decide how much of these actions are worth and then fit them in the model? Any help would be great. Thanks.

  • @lelsewherelelsewhere9435

    @11:17 "...all of the X-files[viles?], values..." lol
    Just shows how your brain is always making connections everywhere!
    Great videos! Your stuff always makes my day :)

    • @lelsewherelelsewhere9435
      @lelsewherelelsewhere9435 Před 4 lety

      Also as another commenter said, "just to recap for a second" while recapping the marker 14:22. Making connections everywhere!

  • @thevinaymittal.
    @thevinaymittal. Před 7 lety +1

    Great work sir, You have an art of teaching with fun.

  • @jaykfrisby8163
    @jaykfrisby8163 Před 3 lety

    Thanks for the video. your demeanor really brightened my day.

  • @trickyabb
    @trickyabb Před 6 lety +3

    It all makes sense now thank you for saving the day and you make learning fun :)

  • @ankitasaxena5891
    @ankitasaxena5891 Před 2 lety +1

    With this level of hotness he can teach me anything 🔥

  • @midwinter78
    @midwinter78 Před 7 lety +43

    "I head there's this channel, with tutorials and a whiteboard, where they use multiple colours". Check out blackpenredpen.

  • @gigelfranaru
    @gigelfranaru Před 7 lety +1

    Presumably you either want to go from i = 1 to n in x_bar, or divide by (n+1), since there are n+1 terms in that sum (from 0 to n)

  • @MadSandman
    @MadSandman Před 7 lety +4

    You're awesome! I love your videos, they're always really interesting ! Big up from France :p

  • @h.sharathkumar1889
    @h.sharathkumar1889 Před 5 lety

    You are just awesome.
    ..so intelligent yet humble.

  • @TNGOMinecraft
    @TNGOMinecraft Před 7 lety

    Squaring the values also has a different effect. If the line is somewhere between two points and you don't square, it doesn't care where the line is, the distance is always the sum of the two points. If you take the square though it changes that. Let's say there are two point 10 away from each other. The line could be directly on one of these points, the total distance is still 10 to the line from both points but the sum of the quare distance is 100. If the line is directly in the middle you have two times a distance of 5. Again just sum of distance is 10 but the square distance suddenly just ist 2 * (5 ^ 2) which is 50. That's why squaring it makes sense. 6:50

  • @tenou213
    @tenou213 Před 7 lety

    Oh. Oh wow, I never saw it when I actually studied stats but it looks like this is where the i=0 to n loop counter convention comes from. If the relationship isn't that direct it's still very similar and helps my understanding.

  • @ManAcadie
    @ManAcadie Před 3 lety

    I heard this guy used multiple colours. Subscribed.

  • @agusnoviana
    @agusnoviana Před rokem

    u make math interesting for ur student..good job sir

  • @climito
    @climito Před rokem

    I already said this, but this man is gold

  • @somakkamos
    @somakkamos Před 5 lety +4

    not sure i understand how the final slope formula (m) arrived. formula for a slope is rise/run i.e. (y2-y1)/(x2-x1). how did we get the value of slope as the final formula shown as summation

  • @datasciencegyan5145
    @datasciencegyan5145 Před 2 lety

    it gives degree of freedom to move the line-up and down when plotting on the line using data points

  • @MacAttack888
    @MacAttack888 Před 7 lety +1

    Great stuff as always! I appreciate you covering this statistical content :)

  • @kaartiikvijayan1623
    @kaartiikvijayan1623 Před 5 lety

    I was having trouble understanding this. Thanks to you I get it now!!

  • @adilkhatri7475
    @adilkhatri7475 Před 6 lety

    one of the best explanation on linear regression! thank you!

  • @DamianReloaded
    @DamianReloaded Před 7 lety

    Great explanation! Super straightforward! 10 / 10 !

  • @hollykm
    @hollykm Před 2 lety

    his vibes are off the charts

  • @neilbolima9694
    @neilbolima9694 Před 6 lety

    Thank you AP Stat. I actually understood all of this

  • @angelrai4897
    @angelrai4897 Před 4 lety

    Thank you so much,this lecture has become really helpful to me

  • @truthseer7904
    @truthseer7904 Před 5 lety

    I would love to have you as my lecturer for all my units. You have a gift in teaching

  • @gibsonrobb
    @gibsonrobb Před 4 lety

    Awesome video! Entertaining. Keep up the awesome job =)

  • @willykitheka7618
    @willykitheka7618 Před 4 lety +1

    I just ❤ love your energy!

  • @mohabibrahime7397
    @mohabibrahime7397 Před 4 lety

    awesome video. thank you for sharing your knowledge was well as your jokes with us. you are GREAT

  • @krzysztofkuliga2148
    @krzysztofkuliga2148 Před 6 lety

    Amazing presentation, Thanks!

  • @tjcraft7233
    @tjcraft7233 Před 7 lety +1

    i have an idea : sometimes you write off the board so to make sure that you don't you could just draw a line to mark the limits of your draw-maths zone ?!
    (it would ony work if you place your camera always at the same place) =p
    PS : i love what you do =) please carry on !!! =D

  • @lewiscrosby2074
    @lewiscrosby2074 Před 7 lety +22

    In the uk our general equation of a line is y=mx+c. Whichever country changed it is just petty 😂

    • @gioni_mango
      @gioni_mango Před 7 lety +2

      Lewis Crosby Belgium here, we use y=mx+p or ax+b

    • @guygeva7375
      @guygeva7375 Před 7 lety +1

      third degree: y=ax^3+bx^2+cx+d
      second degree: y=ax^2+bx+c
      first degree: y=mx+b
      *sigh*
      You probably have it as c because they wanted it to be similiar to second degree formulas or something. who knows :P

    • @sonicsalies
      @sonicsalies Před 7 lety

      Brazil: ax + b

    • @stn4873
      @stn4873 Před 6 lety +3

      in my room y= z! + v?

    • @ThePlayerNotJump1
      @ThePlayerNotJump1 Před 6 lety +3

      India uses y=mx+c as well... Pretty sure we all know why... Thanks English people :D

  • @ordinarycoder8090
    @ordinarycoder8090 Před 7 lety +7

    Sir your videos are amaizing.

  • @AlchemyOfDeathBand
    @AlchemyOfDeathBand Před 7 lety +2

    If n is the total, shouldn't i run from 0 to n-1 ?
    Otherwise, great videos and attitude ! Subbed.

  • @jfr9964
    @jfr9964 Před 5 lety +3

    there's already a channel on CZcams that is called "blackpenredpen" and he uses black and red markers to explain math

  • @harshitsharma589
    @harshitsharma589 Před 3 lety

    fun learning with you always :)

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

    U are a great teacher ❤😂

  • @willykitheka7618
    @willykitheka7618 Před 4 lety

    You're an awesome teacher!

  • @fielddog8111
    @fielddog8111 Před 2 lety

    I need to relate the data points to the best fit line in terms of land surveying where the data points are perpendicular to the best fit line. This is true for land surveying where the data points represent property corners and would be left or right of the best fit line. Your video shows the data points directly south (Y-axis) of the best fit line. How do I relate your example to my needs?

  • @maisarahrashid8478
    @maisarahrashid8478 Před 4 lety

    why does not the fitted linear regression line go through the origin?? why does it intercept Y axis??

  • @sreeharsha1047
    @sreeharsha1047 Před 4 lety

    Your videos are great❣ I'm new to ML
    Can you please rearrange the series for ML so that it is not messy please

  • @miliano777
    @miliano777 Před rokem

    awesome I needed this

  • @FerdousHasan-kk8hp
    @FerdousHasan-kk8hp Před 2 lety

    If the difference is positive and negative then wouldn't adding them up minimize the residual value? Why square them?

  • @sajithmarlon9489
    @sajithmarlon9489 Před 4 lety

    It was very helpful

  • @Pawan-tc2ih
    @Pawan-tc2ih Před 3 lety +1

    where is the error term??

  • @christianfernandez7385

    I reallly enjoy your videos, you are really amazing

  • @gurvirbaraich2028
    @gurvirbaraich2028 Před rokem

    Its "mx + c" where
    m is gradient
    b is y intercept

  • @stancydube5268
    @stancydube5268 Před 6 lety

    AMAZINGGG So helpful sir .Thank you sooooo much

  • @Pylsng
    @Pylsng Před 4 lety

    Thanks for this video, you are really good

  • @wise_394
    @wise_394 Před rokem

    Thank you so much you saved me

  • @prachikhandelwal2259
    @prachikhandelwal2259 Před 4 lety +1

    I become the fan of your way of teaching :)
    Do you have any online courses on Udemy?

  • @guygeva7375
    @guygeva7375 Před 7 lety +3

    I ressubed for the multicolored markers.
    Defenatly didn't unsub earlier just to do this. Most defenatly not.

  • @Remls
    @Remls Před 7 lety

    Needs more "this."

  • @kerolesmonsef4179
    @kerolesmonsef4179 Před 6 lety +1

    wow you are great man keep going like this :)

  • @ThelarionMusic
    @ThelarionMusic Před 4 lety

    What a freakin great video :D Thank you!

  • @flader_lol
    @flader_lol Před 4 lety

    My man, you're a beast!

  • @ashutoshrai5342
    @ashutoshrai5342 Před 4 lety

    Intead of using square values of difference between the predicted value and observed value why dont we take absolute value of their difference?Please tell

  • @mrrubixcubeman
    @mrrubixcubeman Před 7 lety

    Wouldn't you square the values because if you have 2 points and you want to find the point where the distance to each point added is smallest, it doesn't matter where you try the point as long as it is on the line connecting the points. If you square the distances, however, the longer distances will count for more than the small distances (I think you know what I mean) and the added distance will be different. Otherwise, it would use less memory and make the program faster if you just took the absolute value. Thanks!

  • @fabianstutzle9769
    @fabianstutzle9769 Před 5 lety

    If you calculate the sum (for x or for m), shouldnt it always be from 1 to n instead of 0 to n?

  • @abdullaalmannaei8641
    @abdullaalmannaei8641 Před 4 lety

    I passed two courses about econometrics, and just realized why it is called " ORDINARY LEAST SQUARE!".

    • @pranaypurohit7855
      @pranaypurohit7855 Před 4 lety

      Can you suggest me a good econometrics book I have my exams in 20 days.

  • @rafainfernal
    @rafainfernal Před 7 lety

    Could you please make a coding challenge where you code a cylindrical coordinate simulator aplet? The aplet should be in 3d and have sliders for adjusting the radius, angle and height. It should be entertaining and cool to program

  • @JyoPari
    @JyoPari Před 7 lety

    You should try an LSTM for regression, since they are good for time series data

  • @bharathmuppa
    @bharathmuppa Před 3 lety

    why do we square the distance not just use mod?

  • @Kaixo
    @Kaixo Před 7 lety

    Hey! I'm looking for some fun challenges in javascript, do you have any challenges you'd recommend?
    p.s. I watched the live stream in which you made this video, and you mentioned Tetris. I made it in like a day, so you probably can in one video :P Would be cool to see you make it!

    • @Blazeorite
      @Blazeorite Před 7 lety

      Kaixo Music is java script the most fun language?

    • @Kaixo
      @Kaixo Před 7 lety

      Idk, It's the second (third if you count HTML) language I learned... the first one was C. So I don't really know...

  • @crazyjpr2009
    @crazyjpr2009 Před 6 lety

    very nicely explain :)

  • @vijaykumarkari
    @vijaykumarkari Před 7 lety

    nice video..liked it a lot

  • @codingblocks3495
    @codingblocks3495 Před 3 lety

    Why can't we do |d0| + |d1| instead of (d0)^2 +(d1)^2

  • @practicalsoftwaremarcus

    Looking forward for next videos on this subject!

  • @adwaitraste8904
    @adwaitraste8904 Před 7 lety

    Epic dab at 3:50 😂😂

  • @huraibyel-huraiby7462
    @huraibyel-huraiby7462 Před 2 lety

    Love it 😂 04:17

  • @eduardusadrian225
    @eduardusadrian225 Před 2 lety

    This guy is legit bruh

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

    where is the error term?

  • @liminal18
    @liminal18 Před 7 lety

    Thanks. Keep it up.

  • @xzencombo3400
    @xzencombo3400 Před 7 lety +2

    Great teacher, everything is the best...Will you makr anything in C++ because you said in livestream you know it. But, can you makr an OO C++ Serial? I am really good in C++, but I can't understand classes, because I don't know why not to write single void, instead to make a full class. Can you please do something in C++?

    • @xzencombo3400
      @xzencombo3400 Před 7 lety

      Btw. I am first :)

    • @TheCodingTrain
      @TheCodingTrain  Před 7 lety +2

      I've got a long list of things to get to, but I'm not opposed to doing C++ at some point. Maybe I can get some guest tutorials on this topic.

    • @xzencombo3400
      @xzencombo3400 Před 7 lety

      Ahh, ok then...Btw. ty for replying :)

    • @dhritimanbose2186
      @dhritimanbose2186 Před 7 lety

      xZen combo

  • @cheewanng6138
    @cheewanng6138 Před 4 lety

    OoooKKKK, I got a sudden shocked by the opening casual kiddy music...

  • @yakov9ify
    @yakov9ify Před 7 lety

    But how do you know that its not a quadratic relationship or a cubic one etc.

  • @sushanshakya
    @sushanshakya Před 2 lety

    Why do we square ? Why not just take their absolute value ?

  • @umairbhatti1492
    @umairbhatti1492 Před 4 lety

    sir plz make avedio least square estimator

  • @MrWabouz
    @MrWabouz Před 7 lety

    Could you give a link to the proof of the slope formula ?