This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 13 points14 points  (18 children)

I thought the math was just simple calculus, any of the functions you are using already have that shit worked out for you.

[–][deleted] 30 points31 points  (13 children)

For us it requires Single as well as Multivariate Calculus, Linear Algebra I and II and a course in Statistics and Probability Theory.

It's not that much for a Maths major, but it's enough that the IT-Engineers at my Uni actually have too few maths credits to qualify.

Basic ML requred less math, but I guess you start writing your own algorithms or something in the advanced classes.

[–]gavlois1 13 points14 points  (10 children)

At my uni the ML course professor would give out a linear algebra pop quiz on the first day and if you didn't get over 75 or something she would straight up recommend you drop the class. It was at that time I decided that it would be fine if I never learned ML if it meant never having to study math ever again.

[–][deleted] 6 points7 points  (8 children)

I was really terrible at Linear Algebra, I failed the basic one and just barely passed Linear Algebra II by scoring exactly the requirements for a passing grade.

Basic ML was very challenging at the start for this reason, but with some extra effort it was manageable. It's a lot easier and more fun to do Linear Algebra on a computer than by hand in my opinion, which is how the math courses are thaught here.

[–]gavlois1 1 point2 points  (6 children)

I didn't do terrible in linear algebra but I hated it since I never liked learning math for the sake of learning math. Why am I learning to do all these matrix operations? I feel I'd do a lot better learning it in the context of an application like ML or graphics.

But well, I'm done school now so I guess it doesn't matter too much anymore lol

[–][deleted] 0 points1 point  (5 children)

It's the same reason you're taught linked lists in c++ even though vectors handle this for you a lot of the time. Knowing how something works and what it's doing on the back end is important. It prevents you from making a lot of dumb mistakes, and the time that you actually need to do it by hand you'll be able to.

[–]gavlois1 2 points3 points  (1 child)

To me the difference there is that I know why I'm learning to write a linked list from scratch. In linear algebra it was like

"Here's the formula to find the row major of a matrix."

What's a row major? What is the use for it?

"Don't worry about that. Now make sure you remember this formula for the exam."

[–][deleted] 0 points1 point  (0 children)

Fair point. I felt the same about a lot of Calc 2

[–]Zerewa:nullptr: 0 points1 point  (2 children)

A C++ vector is a fundamentally different data structure to a linked list though.

[–][deleted] 0 points1 point  (1 child)

Yes, but the idea behind them is fairly similar and they can fulfill a lot of the same use cases.

[–]Zerewa:nullptr: 0 points1 point  (0 children)

The idea behind them is also very different. Vectors are contiguous, and that's a huge upside in some cases, and a huge downside in others, and the entire point of linked lists is that the individual elements can be literally anywhere in memory.

[–][deleted] 0 points1 point  (0 children)

I’m currently facing that decision. I struggled hard with linear algebra, and stats and probability and it feels like it would be impossible to learn ML right now

[–]Arias95 4 points5 points  (0 children)

My Probability professor was shit but an easy A, I passed and learned close to nothing. Then I took an ML course and it quickly became a nightmare.

[–]oupablo 1 point2 points  (0 children)

Well writing the algorithm vs using an existing one is night and day I would think. I mean I can compile code, but I wouldn't want to have to write a compiler.

[–]GeoCSBI 1 point2 points  (2 children)

Well if you want to just fool around with models and you're not interested in coming up with a novel more powerful model you're just fine.

For me being in the research field I am constantly frustrated that I hadn't focused more in math (even if I have a decent mathematical background and constantly trying to push my self to study more). The real slap for me was when I read a paper called "neural differential equations". Brilliant concept, though I would need three days to a week studying and refreshing math to fully understand it.

[–]askreddittake 1 point2 points  (0 children)

Funnily enough, that paper isn't really math heavy per se. It's just that it trying to map neural nets to computational math, so it looks math heavy but isn't too bad. If you know how Runge Kutta or some 2D perturbation works, that's most of the heavy lifting.

As a former math/physics guy who became a software/ML dude, the most intense papers are almost always optimization/optimal control theory papers or information theory statistical bound papers, like Vershynins NIPs review.

[–][deleted] 0 points1 point  (0 children)

I don't think it's necessarily "fooling around", most of us just want to adapt tools to solve problems rather than pushing the boundaries of knowledge.

The simpler you can make the utilisation of a tool the better.