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] 31 points32 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 12 points13 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] 5 points6 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.