Hacker News new | past | comments | ask | show | jobs | submit login

I would agree that there's plenty of theory that isn't necessary to know, but anyone using a machine learning algorithm should at least understand what the mathematical machinery can and can't do.

A big part of this this knowing how best to fit a model to the data, which usually requires knowledge of mathematical obscurities to avoid things like overfitting, local optima, etc. It's not glamorous stuff though, so it usually isn't brought up in presentations like this one.




I agree people should know that eventually, but I'm suspicious that they really need to know it first, or even early on.

My early coding years were spent typing in BASIC game programs from magazines (wumpus hunters represent!), tweaking them, and later making up my own. There was a lot of theory that I could have benefited from, but I never had the motivation to learn it until later, when learning the theory solved problems I had actually experienced.


The main difference, and reason why your analogy isn't entirely accurate, is that while with games you can see when things aren't working, when using ML or stats you will _always_ get a number. Whether or not that number is meaningful requires some amount of domain knowledge a lot of the time. I have a degree in stats and someone at work who does not was trying to use these frameworks to analyse log files. When I had a look at it, his results were showing that they were statistically significant, but the data didn't look anything like a linear relationship and fitting it to a regression wasn't a valid move. That's a simplistic example but even in the relatively simple realm of linear regression there are more difficult traps to spot, like heterostedasticity or error normality.


I agree that one shouldn't apply ML in a commercial context without understanding it. But I think that's true about almost anything. I can't think of a technology I use for which I don't have a corresponding "novices did it all wrong" story.

But here we're talking about a series of intro videos and the appropriate pedagogical approach. It really could be that ML has more subtle failure modes than programming, although I'm suspicious; I remember a lot of my novice C issues where the program did happen to appear to work, at least for short periods, even though my code was terrible. But if it is, I think the trick there isn't to prescribe a heavier dose of theory, it's to get people to experience problems like you describe in a way where they can quickly detect and learn from them.


Good point, I was thinking more about people using ML in a professional capacity. It's interesting to think about how best to teach it, and it totally seems reasonable to save the math for later in some cases. Another interesting challenge is that ML fails in less obvious ways than coding in general, and maybe in some way, intuition for that is something to be taught early.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: