machine learning

Permabanned
Joined
22 Mar 2020
Posts
2,337
Hi folks,

Trying to find free stuff with regards to machine learning and data science just wanted to know if someone has any pointers that will easy me into the subject.

I am hoping to start at UCL this fall, as a addition to my MSc that I am about to finish this year. So far the course deals with AI, DL, ML.

So will be starting another MSc, my fine plan, to gain experience at a start up then work out the rest later.

Regards
Mr Wong
 
What is your background/current MSc? Are you going to be studying an MSc in Machine Learning?

Pre-requisits - what is your linear algebra, multivariate calculus and basic statistics knowledge like? Could do with some basic background re: optimisation too.

This should all be stuff familiar to you or revision - there is an Imperial MOOC covering lots of the basic prerequisites:

https://www.coursera.org/specializations/mathematics-machine-learning

Also see Gilbert Strang's linear algebra courses:

If you need revision of the basics from undergrad:
https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/

for one course that follows on from that:
https://ocw.mit.edu/courses/mathema...-processing-and-machine-learning-spring-2018/

On optimisation - see Boyd's courses at the bottom of this link:

https://see.stanford.edu/Course

On the basic statistics background - get a book on statistical inference - see Mathematical Statistics by Rice or Statistical Inference by Casella & Berger or All of Statistics by Wasserman.

Re: the latter book, it is a bit broader than the others and there is an accompanying CMU course too:

Book is available for free here:
https://link.springer.com/book/10.1007/978-0-387-21736-9

CMU Course here:
http://www.stat.cmu.edu/~larry/=stat705/
 
The previous post covers most of the maths/stats prerequisites. It's probably worth studying some ML in advance too:

From a practical POV the fast.ai courses are great, also if you need to brush up on/learn python then this is a good book: https://www.amazon.co.uk/Python-Data-Analysis-Wes-Mckinney/dp/1491957662

This is nice from a practical pov too - perhaps more useful when it comes to your dissertation as this involves libraries like scikit learn etc.. whereas you'll perhaps be having to implement things from scratch. Fast.ai covers Pytorch, the below book covers tensor flow.. might as well get an introduction to both and decide which you prefer:

https://www.amazon.co.uk/Hands-Machine-Learning-Scikit-Learn-TensorFlow/dp/1491962291

(It's likely worth learning Matlab too - until a few years ago Matlab was pretty standard in ML in academia, things are generally moving towards Python now (and some people getting into Julia), though you'll probably find you have an option of using either. If you're taking any stats courses then learn the basics of R too, that's kind of the standard in stats depts).

Programming in general isn't going to be as important as a good maths/stats background as it can be picked up easily enough - coding in Matlab/Python is pretty straightforwards and you don't really need to be particularly advanced beyond just knowing the basics of the language and in the case of Python being able to use NumPy is rather important if you're to implement ML algos from scratch... in both cases knowing linear algebra well and avoiding using loops is key!

If you want an introductory ML course then you could take a look at the famous Andrew Ng one on coursera (full fat version is also in the SEE link in previous post). I'd advise you to look at this CalTech one though, gives you plenty of theory - again you're studying this seriously at post grad level you're not some random developer who wants to rebrand himself as a data scientist.

https://work.caltech.edu/telecourse

CMU also has some very good ML content - obvs you're perhaps not going to cover all of this before you start:

http://www.cs.cmu.edu/~tom/10701_sp11/lectures.shtml
http://www.stat.cmu.edu/~larry/=sml/
https://www.cs.cmu.edu/~epxing/Class/10708/lecture.html
https://www.stat.cmu.edu/~ryantibs/convexopt/

Might as well check out some UCL courses in advance too:

https://www.davidsilver.uk/teaching/
http://www.gatsby.ucl.ac.uk/teaching/courses/ml1/
http://www.gatsby.ucl.ac.uk/~gretton/coursefiles/rkhscourse.html

Some free books - worth buying an actual copy though if you use these:

General ML books:

ESL is pretty well regarded:
https://web.stanford.edu/~hastie/Papers/ESLII.pdf

This is good too:
https://www.cs.huji.ac.il/~shais/Un...anding-machine-learning-theory-algorithms.pdf

Here is BRML by a UCL Professor - probably worth reading some of this in advance if you're planning to take his courses!
http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/091117.pdf

Information theory, inference and learning algorithms:
http://www.inference.org.uk/itprnn/book.pdf

Not free but worth getting one or both of Bishop or Murphy - they're very comprehensive - either could be referred to as ML bibles.

https://www.amazon.co.uk/Machine-Learning-Probabilistic-Perspective-Computation/dp/0262018020

https://www.amazon.co.uk/Pattern-Recognition-Learning-Information-Statistics/dp/0387310738

--------------------

Some books on specific areas:

Gaussian Processes:
http://www.gaussianprocess.org/gpml/chapters/RW.pdf

Reinforcement learning - this is pretty much the book:
http://incompleteideas.net/book/RLbook2020.pdf

Deep Learning - this is pretty much the book:
https://www.deeplearningbook.org

Sparsity:
https://web.stanford.edu/~hastie/StatLearnSparsity_files/SLS.pdf

Additional stuff complimentary to ML:

Boyd's convex optimisation book - compliments the SEE courses linked to in the previous post:
https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf

Also worth a look: https://web.stanford.edu/~boyd/papers/pdf/prox_algs.pdf

Likewise Numerical Linear Algebra is very worth getting a copy of too:
https://www.amazon.co.uk/Numerical-Linear-Algebra-Lloyd-Trefethen/dp/0898713617/

This is worthwhile too:
https://www.amazon.co.uk/Bayesian-Analysis-Chapman-Statistical-Science/dp/1439840954/

Probs worth getting a general stats book covering linear models - some available via Springer's free e-books - this one is very good but gets quite advanced you might want a more introductory one on linear models too:
https://link.springer.com/book/10.1007/978-3-319-19425-7

You're likely not going to need to get too into general CS algorithms (beyond knowing big O notation and being able to talk about the time complexity of ML algos) but it is worthwhile later for job interviews - decent tech firms can be quite big on algorithm questions... likewise general tech folk who wouldn't know what to ask in a data science type interview will tend to instead ask algorithm type questions:

https://www.amazon.co.uk/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844/
 
Haha, lots in that post, thxs. My background in financial engineering Msc. Just wanted something looks at it overall really.
Some of those links come in handy for my dissertation...;)
 
Last edited:
Ah OK - well for a quick overview then this book mentioned in the above link:
https://www.amazon.co.uk/Hands-Mach...n-TensorFlow/dp/1492032646/ref=dp_ob_title_bk

(sorry I linked to the older edition in the previous post)

The fast.ai machine learning for coders course can give you a quick overview too, it's narrow in scope but very, very practical.

Alternatively if you're already familiar with R (maybe from some stats at undergrad) or would prefer a free book then you might prefer this instead for a quick overview - it's a more introductory version of parts of the ESL book linked to above:

http://faculty.marshall.usc.edu/gareth-james/ISL/

Free online course that follows it too:
https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning
 
Matrix algebra. Buy "Matrix Operations" by Richard Bronson, from Schaum's Outlines series (ISBN: 0-07-007978-1). If you can do all the exercises properly then you'll smash the maths in Machine Learning or DSP at Masters. Which leaves you to concentrate on the application of the maths.
 
Matrix algebra. Buy "Matrix Operations" by Richard Bronson, from Schaum's Outlines series (ISBN: 0-07-007978-1). If you can do all the exercises properly then you'll smash the maths in Machine Learning or DSP at Masters. Which leaves you to concentrate on the application of the maths.
I did most of them in my other MSc.
 
theres some good projects on githubs if youre interested in machine learning and gaming.
also on youtube theres a video series on how to make a bot drive in GTA5 by sentdex and he has some other good stuff on deep learning.


but what you will be doing is probably boring stuff with databases available on the web and not using real time data like games or videos.

theres a guy in america who makes a semi assisted driving plug in unit for cars called commaAI,I think all the code is open source on github and the projects really cool.
(basically self driving ai but he doesn't think any that exist actually can be called that)
the data from each user is collected and used to improve the model
the guys a bit weird and annoying but seems genius smart if you watch some of his coding streams

it's pretty incredible really for people to have faith in what could be considered "hacking your car"
 
Last edited:
He's probably not going to be doing much at all with "databases" per se, that's more likely to be a focus for a Business Analytics type courses.

No reason why he wouldn't be able to study areas like that btw.. - object tracking is rather obvious as an area to be covered in say a machine/computer vision module, a course covering deep RL could well look at video games - rather well reported on paper in that field using Atari games for example. Though you've also gotta walk before you run... implementing simple RL agents and basic neural nets is likely going to be a requirement first.

In fact if you look at the first book recommendation in post #5 (the hands on machine learning one) there is a literal walk through/dummies guide in the RL chapter coving deep Q learning and using the Open AI gym, inc building an agent to play Atari games.

Thing is with an academic course - you need to learn the theory too - it's not just going to be some top down teaching, via basic overview/explanation and some code examples - you also need a bottom up deeper understanding of it too. Not that I'm knocking that stuff - arguably that sort of thing is a much more fun/engaging introduction to the area. The fast.ai course takes a top down approach initially and I can't recommend it enough, that guy you mentioned and his GTA stuff looks like he's prepared a really nice set of tutorials too - likely well worth someone taking a look at to get some practical background/overview of this stuff. :)
 
Andrew Ng's Machine Learning course from Stanford is a good introduction to the basics. It doesn't cover any high level tools or frameworks, more the guts of it, coursework is all done in Octave.

https://www.coursera.org/learn/machine-learning

I did it this time last year, probably 6-10 hours a week over 12 weeks. Can't go wrong at the price of zero, although I paid for the cert and stuck it on my linkedin profile.

You may or may not be better off with a higher level course. I'm a game AI programmer so the technical/programming stuff isn't new to me, I just wanted a solid compsci-like course covering the fundamentals, which this is.
 
? What Happened to your post.

Too long and over sharing. I've done some automation that in my opinion was quite smart if still some way from ML.
I was looking for advice over what career direction to go in. But I think I've too much on my plate to spend the next 6-12 studying.
 
Too long and over sharing. I've done some automation that in my opinion was quite smart if still some way from ML.
I was looking for advice over what career direction to go in. But I think I've too much on my plate to spend the next 6-12 studying.

There's a lot of learning to do, and Stats is a requirement to get to grips with the whole field.
Them combine the above with programming and understanding of finance/ business to get to grips with business models that's if you want to work in that area.
 
I thought this was amazing:


We are all doomed, I tells ya!

Yeah that’s fun, you similar stuff with exploratory moves (the small % of moves where the agent makes a random choice instead of following what is at that point deemed to be the current optimal solution) in the Atari game examples from a few years ago.

No doubt if someone tried N64 mario kart the shortcuts (both official and glitches) would be discovered, possibly new ones too (then again it has been widely explored/exploited by humans). Likewise in Quake jumping higher with the rocket launcher would no doubt be both discovered and perhaps taken to extremes, like they’d end up being very precise re: exactly how much health they need and/or when to optimally collect a top up/med kit etc... whereas human players might well be rather more risk averse.
 
Back
Top Bottom