hn.academy |
Online courses recommended by Hacker News users. [about] |
Understanding the notation is only the first little step in understanding the underlying principles. There are a lot of machine learning books/classes that will cover the underlying principles you need to understand what's covered in the book. Exactly which one to recommend depends on your background, but Andrew Ng's Coursera Course [1] has been a staple for people without a lot of math background.[1] https://www.coursera.org/learn/machine-learning?authMode=log...
Some attribution seems to be there in the beginning of the README> "In most cases the explanations are based on [this great]( https://www.coursera.org/learn/machine-learning ) machine learning course."
EDIT: It was added 6hrs ago https://github.com/trekhleb/machine-learning-octave/commit/f...
Here are some others that are also commonly recommended on HN:Andrew Ng's Machine Learning MOOC: https://www.coursera.org/learn/machine-learning
Andrew Ng's Deep Learning Courses: https://www.deeplearning.ai/
David Silver's Reinforcement Learning Youtube Series: http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html
Fast.ai Courses on ML and Deep Learning: https://www.fast.ai/
Andrew Ng shares his impressive knowledge on Coursera (which he is a co-founder of). For those interested:- https://www.coursera.org/learn/machine-learning (Machine Learning Course)
- https://www.coursera.org/specializations/deep-learning (Deep Learning Specialization)
I thought both of these two courses on coursera were quite good:https://www.coursera.org/learn/machine-learning/
https://www.coursera.org/specializations/deep-learning
First one is a bit older school, but takes you through all the fundamentals and actually explains a lot of the math involved. It also gets you thinking a lot more about how to solve problems from a Linear Algebra standpoint and the types of problems machine learning is good for tackling.
Second one is a much more modern day set of courses specifically focused on Deep Learning techniques and problem solving.
I thought both were great. First one is free as well...
"Machine Learning" by Andrew Ng, Standford
Introduction to Mathematical Thinking ( https://www.coursera.org/learn/mathematical-thinking ). Aims to teach you what it is like to think like a mathematician. Covers the elements of topics that you probably encounter in the first semester of an undergraduate maths degree: logic, induction, proof construction, real analysis, etc.Machine Learning ( https://www.coursera.org/learn/machine-learning ). I'm still working through this course but am finding it extremely interesting. I find that having to implement things in matlab/octave gives you a deeper understanding than using a framework like tensorflow or keras.
Both of the above courses have good instructors, which I think is the main factor that makes a good mooc.
The "Bitcoin and Cryptocurrency Technologies" on Coursera helped me gain an understanding cryptocurrencies. Until I took that course I knew very little about the subject.It's possibly a little dated now, but it's a good primer.
https://www.coursera.org/learn/cryptocurrency/
I'd love to hear what other cryptocurrency courses others recommend.
As many others mentioned, Andrew Ng's course on Machine Learning on Coursera was also very good.
Andrew Ng's Machine Learning Course on Coursera: https://www.coursera.org/learn/machine-learning
Hey!I'd suggest starting with this excellent course:
https://www.coursera.org/learn/machine-learning
And then dive into competitions on kaggle.com.
Then following up with the deeplearning.ai specialization here: https://www.coursera.org/specializations/deep-learning
and the http://www.fast.ai/ courses.
You'll be up to speed in no time :)
Just recently I have written a "Machine Learning for Web Developers in JavaScript" blog post [0]. If you or someone else is a web developer, it might be interesting. It outlines my approach of learning it and gives a couple of great resources for JavaScript enthusiasts. Otherwise, I will just post a couple of the materials I used for myself to learn about ML below.- [0] https://www.robinwieruch.de/machine-learning-javascript-web-... .
Podcast:
- http://ocdevel.com/podcasts/machine-learning
Courses:
- https://www.coursera.org/learn/machine-learning
- https://eu.udacity.com/course/machine-learning-engineer-nano... .
- https://www.coursera.org/specializations/deep-learning
Books:
- https://www.amazon.com/gp/product/B014X01SS0/
- http://www.deeplearningbook.org/
- http://neuralnetworksanddeeplearning.com/
- https://www.safaribooksonline.com/library/view/deep-learning... .
Math:
- http://www.fast.ai/2017/07/17/num-lin-alg/
- https://www.khanacademy.org/math/linear-algebra
- https://www.khanacademy.org/math/statistics-probability
- https://www.khanacademy.org/math/calculus-home
JavaScript ML:
I wanted to continue the course in the app and it didn't let me. Then I logged into the website and I can't seem to open the course. Is it gone? Is there an alternative method to buy/get the course materials?https://www.coursera.org/learn/machine-learning
This looks like a well put-together course, and a good way to learn TensorFlow. Keras and TensorFlow are top of my list of technologies to explore in the very near future.Is anyone here doing Andrew Ng's Machine Learning course [1]? I'm about half-way through and really enjoying it. I'm particularly appreciating that the programming exercises are done in MatLab/Octave, so I feel that I'm really understanding the fundamentals without an API getting in the way, and developing some good intuition. Obviously frameworks are the way to go for production ML work, but I wonder whether ML people here think this bottom-up approach is advisable or could it be misleading when I move on to Keras/TensorFlow/whatever?
[1] https://www.coursera.org/learn/machine-learning
Edit: brevity
Good post. I want to add several great resources.- Grokking Deep Learning
https://www.manning.com/books/grokking-deep-learning
This is a fantastic book that assumes no prerequisites other than knowing python, and takes you through the fundamentals of DL. It has very intuitive and easy to follow explanations, and doesn't use any libraries other than NumPy, so you're building the whole thing yourself, from scratch.
- Deep Learning With Python
https://machinelearningmastery.com/deep-learning-with-python...
This is kind of the opposite of the previous one, it doesn't go into math and theory, instead it guides you through building several practical projects with a very simple to use DL library(keras). It's a great way to gain practical experience in addition to theory from the previous book. Also has no prerequisites other than python, and makes it very easy to get started.
- 3blue1brown videos on neural networks:
https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_6700...
Extremely brilliant high-level concise overview of how ANNs work. I highly recommend you get started here. You should also check out his videos on calulus and linear algebra, they're fantastic way to learn the math you need.
- Khan Academy videos - one of the easiest ways to learn the math prerequisites.
Calculus:
https://www.khanacademy.org/math/calculus-home
Linear Algebra:
https://www.khanacademy.org/math/linear-algebra
Probability and Statistics:
https://www.khanacademy.org/math/statistics-probability
- Hands-On Machine Learning with Scikit-Learn and TensorFlow
http://shop.oreilly.com/product/0636920052289.do
I haven't read this one yet, but it looks very promising, and a lot of people seem to find it very useful.
- Andrew Ng's Coursera course
https://www.coursera.org/learn/machine-learning
Everyone knows about this one, I just think every article on AI resources should mention it, one of the most popular ways to get started with ML.
- New MIT courses on Self-Driving cars and AGI
https://selfdrivingcars.mit.edu
- The Master Algorithm
https://www.audible.com/pd/Science-Technology/The-Master-Alg...
Excellent high-level overview of ML field and algorithms.
====
Other great stuff:
- Artificial Intelligence: A Modern Approach
The leading textbook in Artificial Intelligence. It's not the fastest way to get started, but it's considered one of the best AI textbooks ever written.
- Stanford AI course (CS 188)
https://www.youtube.com/playlist?list=PLIeooNSdhQE5kRrB71yu5...
Brilliant course based on AIMA. Not DL, but solid fundamentals of AI and ML.
- Couple of great playlists on DL, just to complete the collection:
Machine Learning with Python
https://www.youtube.com/playlist?list=PLQVvvaa0QuDfKTOs3Keq_...
Neural Networks Demystified
https://www.youtube.com/watch?v=bxe2T-V8XRs&index=1&list=PLi...
https://www.coursera.org/learn/machine-learningthis one?
Just recently I have written a "Machine Learning for Web Developers in JavaScript" blog post [0]. If you or someone else is a web developer, it might be interesting. It outlines my approach of learning it and gives a couple of great resources for JavaScript enthusiasts. Otherwise, I will just post a couple of the materials I used for myself to learn about ML below.- [0] https://www.robinwieruch.de/machine-learning-javascript-web-...
Podcast:
- http://ocdevel.com/podcasts/machine-learning
Courses:
- https://www.coursera.org/learn/machine-learning
- https://eu.udacity.com/course/machine-learning-engineer-nano...
- https://www.coursera.org/specializations/deep-learning
Books:
- https://www.amazon.com/gp/product/B014X01SS0/
- http://www.deeplearningbook.org/
- http://neuralnetworksanddeeplearning.com/
- https://www.safaribooksonline.com/library/view/deep-learning...
Math:
- http://www.fast.ai/2017/07/17/num-lin-alg/
- https://www.khanacademy.org/math/linear-algebra
- https://www.khanacademy.org/math/statistics-probability
- https://www.khanacademy.org/math/calculus-home
JavaScript ML:
Yes, see: https://www.coursera.org/learn/machine-learningIt starts out reaaaally basic but give a thorough grounding of the maths and the intuition behind it.
This is kind of a masters degree course i created for myself to get knowledge of Machine Learning from bottoms upFirst, you need a strong mathematical base. Otherwise, you can copy paste an algorithm or use an API but you will not get any idea of what is happening inside Following concepts are very essential
1) Linear Algebra (MIT https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra... ) 2) Probability (Harvard https://www.youtube.com/watch?v=KbB0FjPg0mw )
Get some basic grasp of machine learning. Get a good intuition of basic concepts
1) Andrew Ng coursera course ( https://www.coursera.org/learn/machine-learning )
2) Tom Mitchell book ( https://www.amazon.com/Machine-Learning-Tom-M-Mitchell/dp/00... )
Both the above course and book are super easy to follow. You will get a good idea of basic concepts but they lack in depth. Now you should move to more intense books and courses
You can get more in-depth knowledge of Machine learning from following sources
1)Nando machine learning course ( https://www.youtube.com/watch?v=w2OtwL5T1ow )
2)Bishops book ( https://www.amazon.in/Pattern-Recognition-Learning-Informati... )
Especially Bishops book is really deep and covers almost all basic concepts.
Now for recent advances in Deep learning. I will suggest two brilliant courses from Stanford
1) Vision ( https://www.youtube.com/watch?v=NfnWJUyUJYU )
2) NLP ( https://www.youtube.com/watch?v=OQQ-W_63UgQ )
The Vision course by Karparthy can be a very good introduction to Deep learning. Also, the mother book for deep learning ( http://www.deeplearningbook.org/ )is good
Just recently I have written a "Machine Learning for Web Developers in JavaScript" blog post [0]. If you are a web developer, it might be interesting for you. It outlines my approach of learning it and gives a couple of great resources for JavaScript enthusiasts. Otherwise, I will just post a couple of the materials I used below. It's not only video courses, because I believe it's always useful to stimulate all senses.- [0] https://www.robinwieruch.de/machine-learning-javascript-web-...
Podcast:
- http://ocdevel.com/podcasts/machine-learning
Courses:
- https://www.coursera.org/learn/machine-learning
- https://de.udacity.com/course/machine-learning-engineer-nano...
- https://www.coursera.org/specializations/deep-learning
Books:
- https://www.amazon.com/gp/product/B014X01SS0/
- http://www.deeplearningbook.org/
- http://neuralnetworksanddeeplearning.com/
- https://www.safaribooksonline.com/library/view/deep-learning...
Math:
- http://www.fast.ai/2017/07/17/num-lin-alg/
- https://www.khanacademy.org/math/linear-algebra
- https://www.khanacademy.org/math/statistics-probability
- https://www.khanacademy.org/math/calculus-home
JavaScript ML:
getting your feet wetandrew ng's machine learning course: https://www.coursera.org/learn/machine-learning
to get up to date on convnet architecture
Fei-Fei Li and Karpathy's cs231n: https://cs231n.github.io/
if you want to go deep
geoff hinton's neural networks for machine learning coursera: https://www.coursera.org/learn/neural-networks
Hi there! I'm looking for an easy way to get started with AI/ML/DL.I don't necessarily need to go super deep into details, I'm more interested in a practical high-level overview.
I know about Andrew Ng course [1], 3blue1brown videos [2], and Berkeley AI course [3]. What else would you recommend?
[1] https://www.coursera.org/learn/machine-learning
[2] https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi
[3] https://www.youtube.com/playlist?list=PLIeooNSdhQE5kRrB71yu5yP9BRCJCSbMt
Brushing up on your math will definitely help! But it's not strictly necessary. It really depends on how deep you want to go.For the Neural Network type stuff we used in this work, I would recommend Michael Nielsen's awesome website as a starting point http://neuralnetworksanddeeplearning.com/ and keras https://keras.io/ is the easiest NN library to pick up and get something going with. Andrew Ng's mooc https://www.coursera.org/learn/machine-learning is also a good starting point for some slightly more general machine learning background.
If you want to avoid the math (not my personal recommendation), I would start there and just mess around. Build small things and start reading more as you get comfortable. Its definitely an area I would encourage learning in an iterative way: try to learn a small amount, try and apply it, repeat.
Here are the resources I found useful: ========================================== Advices from Open AI, Facebook AI leadersCourses You MUST Take:
Machine Learning by Andrew Ng ( https://www.coursera.org/learn/machine-learning ) /// Class notes: ( http://holehouse.org/mlclass/index.html )
Yaser Abu-Mostafa’s Machine Learning course which focuses much more on theory than the Coursera class but it is still relevant for beginners.
( https://work.caltech.edu/telecourse.html )
Neural Networks and Deep Learning (Recommended by Google Brain Team) ( http://neuralnetworksanddeeplearning.com/ )
Probabilistic Graphical Models ( https://www.coursera.org/learn/probabilistic-graphical-model... )
Computational Neuroscience ( https://www.coursera.org/learn/computational-neuroscience )
Statistical Machine Learning ( http://www.stat.cmu.edu/~larry/=sml/ )
From Open AI CEO Greg Brockman on Quora
Deep Learning Book ( http://www.deeplearningbook.org/ ) ( Also Recommended by Google Brain Team )
It contains essentially all the concepts and intuition needed for deep learning engineering (except reinforcement learning). by Greg
2. If you’d like to take courses: Linear Algebra — Stephen Boyd’s EE263 (Stanford) ( http://ee263.stanford.edu/ ) or Linear Algebra (MIT)
( http://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebr... )
Neural Networks for Machine Learning — Geoff Hinton (Coursera) https://www.coursera.org/learn/neural-networks
Neural Nets — Andrej Karpathy’s CS231N (Stanford)
Advanced Robotics (the MDP / optimal control lectures) — Pieter Abbeel’s CS287 (Berkeley)
https://people.eecs.berkeley.edu/~pabbeel/cs287-fa11/
Deep RL — John Schulman’s CS294–112 (Berkeley) http://rll.berkeley.edu/deeprlcourse/
I am sitting in the same boat. Being a web developer for a couple of years, I wanted to try out a different domain. So I started to take Andrew Ng's course on Coursera [0]. Highly recommended. I supplement the course with audio and text by listening to the Machine Learning Guide Podcast [1] and by reading The Master Algorithm [2].In addition, I started to apply my learnings in JavaScript [3]. Even though it's not the best language for ML, it makes it simpler to learn only one new thing and stick to known technologies for the rest. I have lined up ~7 articles about ML in JavaScript, so if you are interested, you can keep an eye on it :)
- [0] https://www.coursera.org/learn/machine-learning/
- [1] http://ocdevel.com/podcasts/machine-learning
- [2] https://www.goodreads.com/book/show/24612233-the-master-algo...
- [3] https://www.robinwieruch.de/linear-regression-gradient-desce...
Intro to AIhttps://www.udacity.com/course/intro-to-artificial-intellige...
Machine Learning
https://www.coursera.org/learn/machine-learning
The Pacman programming exercises in python
http://ai.berkeley.edu/project_overview.html
And the Kaggle Titanic Survivability dataset
https://www.kaggle.com/c/titanic
But if you desire an even gentler intro. Try Daniel Shiffman's Nature of Code in P5
best of luck ;)
I highly recommend Andrew Ng's Coursera courses for both Machine Learning and Deep Learning. Good for beginners, Math is taught along with the course, and gets you a solid foundation:https://www.coursera.org/learn/machine-learning/
https://www.coursera.org/learn/neural-networks-deep-learning...
What? No. Why in the world do people even ask this kind of question. To a first approximation, the answer to "is it too late to get started with ..." question is always "no".If no, what are the great resources for starters?
The videos / slides / assignments from here:
http://ai.berkeley.edu/home.html
This class:
https://www.coursera.org/learn/machine-learning
This class:
https://www.udacity.com/course/intro-to-machine-learning--ud...
This book:
https://www.amazon.com/Artificial-Intelligence-Modern-Approa...
This book:
https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-T...
This book:
https://www.amazon.com/Introduction-Machine-Learning-Python-...
These books:
http://greenteapress.com/thinkstats/thinkstats.pdf
http://www.greenteapress.com/thinkbayes/thinkbayes.pdf
This book:
https://www.amazon.com/Machine-Learning-Hackers-Studies-Algo...
This book:
https://www.amazon.com/Thoughtful-Machine-Learning-Test-Driv...
These subreddits:
http://machinelearning.reddit.com
These journals:
This site:
Any tips before I get this journey going?
Depending on your maths background, you may need to refresh some math skills, or learn some new ones. The basic maths you need includes calculus (including multi-variable calc / partial derivatives), probability / statistics, and linear algebra. For a much deeper discussion of this topic, see this recent HN thread:
https://news.ycombinator.com/item?id=15116379
Luckily there are tons of free resources available online for learning various maths topics. Khan Academy isn't a bad place to start if you need that. There are also tons of good videos on Youtube from Gilbert Strang, Professor Leonard, 3blue1brown, etc.
Also, check out Kaggle.com. Doing Kaggle contests can be a good way to get your feet wet.
And the various Wikipedia pages on AI/ML topics can be pretty useful as well.
https://www.coursera.org/learn/machine-learningNot a book but excellent primer course
You can also dive in first and then cover the math behind ML, by taking Andrew Ng's courses. https://www.coursera.org/learn/machine-learning https://www.coursera.org/specializations/deep-learning
I consider Andrew Ng's ML course - https://www.coursera.org/learn/machine-learning the best place to start, in addition to his https://deeplearning.ai courses.
Andrew Ng's tutorials[1] on Coursera are very good.If you're into python programming then tutorials by sentdex[2] are also pretty good and cover things like scikit, tensorflow, etc (more practical less theory)
[1] https://www.coursera.org/learn/machine-learning [2] https://pythonprogramming.net/data-analysis-tutorials/
For those who are unfamiliar with coursera or interested in just the videos (and NO certificate) you can enroll in "AUDIT" mode:AUDIT MODE: http://image.ibb.co/iwm0xF/ng.png
The deep-learning course consist of 5 subcourses:
https://www.coursera.org/learn/neural-networks-deep-learning
https://www.coursera.org/learn/deep-neural-network
https://www.coursera.org/learn/machine-learning-projects
https://www.coursera.org/learn/convolutional-neural-networks
https://www.coursera.org/learn/nlp-sequence-models
The deep-learning course is a different course than the prerequisite machine-learning course:
This one appears to be (but it's also not available for enrollment just yet). Then, for example, his ML course ( https://www.coursera.org/learn/machine-learning ) is available for purchase: http://collabshot.com/show/1hWhMQ
The courses are not yet live. Meanwhile, here is a list of 23 Deep Learning online courses aggregated (aggregated by my company): https://www.class-central.com/report/deep-learning-online-co...Also, link to Andrew Ng's original ML class: https://www.coursera.org/learn/machine-learning
Andrew Ng has an excellent ML course on coursera [1] that is very light on math.
Yes, I did my research but there is no such interactive tutorial online like Treehouse or Codecademy. There are so many tutorials but none of it tells you the whole path.Here are the resources I found useful:
========================================== Advices from Open AI, Facebook AI leaders
Courses You MUST Take: Machine Learning by Andrew Ng ( https://www.coursera.org/learn/machine-learning ) /// Class notes: ( http://holehouse.org/mlclass/index.html )
Yaser Abu-Mostafa’s Machine Learning course which focuses much more on theory than the Coursera class but it is still relevant for beginners.( https://work.caltech.edu/telecourse.html )
Neural Networks and Deep Learning (Recommended by Google Brain Team) ( http://neuralnetworksanddeeplearning.com/ )
Probabilistic Graphical Models ( https://www.coursera.org/learn/probabilistic-graphical-model... )
Computational Neuroscience ( https://www.coursera.org/learn/computational-neuroscience )
Statistical Machine Learning ( http://www.stat.cmu.edu/~larry/=sml/ )
From Open AI CEO Greg Brockman on Quora
Deep Learning Book ( http://www.deeplearningbook.org/ ) ( Also Recommended by Google Brain Team )
It contains essentially all the concepts and intuition needed for deep learning engineering (except reinforcement learning). by Greg
2. If you’d like to take courses: Linear Algebra — Stephen Boyd’s EE263 (Stanford) ( http://ee263.stanford.edu/ ) or Linear Algebra (MIT)( http://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebr... )
Neural Networks for Machine Learning — Geoff Hinton (Coursera) https://www.coursera.org/learn/neural-networks
Neural Nets — Andrej Karpathy’s CS231N (Stanford) http://cs231n.stanford.edu/
Advanced Robotics (the MDP / optimal control lectures) — Pieter Abbeel’s CS287 (Berkeley) https://people.eecs.berkeley.edu/~pabbeel/cs287-fa11/
Deep RL — John Schulman’s CS294–112 (Berkeley) http://rll.berkeley.edu/deeprlcourse/
From Director of AI Research at Facebook and Professor at NYU Yann LeCun on Quora
In any case, take Calc I, Calc II, Calc III, Linear Algebra, Probability and Statistics, and as many physics courses as you can. But make sure you learn to program.
https://www.coursera.org/learn/machine-learning
One word: https://www.coursera.org/learn/machine-learning
Machine Learning by Andrew Ng (Stanford)
The course is also quite easy to follow without buying the book. I love the exercises in which you are programming an intelligent agent to move through a maze. It reminded me of how we learned programming in university using Karel The Robot.This alongside Andrew Ng's Machine Learning course was my first exposure to the field. https://www.coursera.org/learn/machine-learning
I can also recommend Sebastian Thrun's Artificial Ingelligence for Robotics course: https://www.udacity.com/course/artificial-intelligence-for-r...
One of our guys started a tutorial series on writing an AI to play the game, DOOM. It assumes very little knowledge and is a fun exercise to do when taking a break from some of the great courses posted here. It's no replacement for the excellent course work, but it is fun.: https://www.codelitt.com/blog/doom-ai/My favourite course for grasping the foundations of the concepts was Andrew NG's course (although it seems like you're beyond this now): https://www.coursera.org/learn/machine-learning
I think the best way to learn, is to build things though. Have you checked out the Kaggle challenges? https://www.kaggle.com/ Those will give you great practical skills.
I noticed that Andrew's course is still available.https://www.coursera.org/learn/machine-learning
Is it still a good introduction to machine learning? It's several years old now. Are there better courses available?
Andrew Ng's Coursera course simply titled "Machine Learning" is good - it addresses the mathematics of fundamental algorithms and concepts while giving practical examples and applications: https://www.coursera.org/learn/machine-learningRegarding books, there are many very high quality textbooks available (legitimately) for free online:
Introduction to Statistical Learning (James et al., 2014) http://www-bcf.usc.edu/~gareth/ISL/
the above book shares some authors with the denser and more in-depth/advanced
The Elements of Statistical Learning (Hastie et al., 2009) http://statweb.stanford.edu/~tibs/ElemStatLearn/
Information Theory: Inference & Learning Algorithms (MacKay, 2003) http://www.inference.phy.cam.ac.uk/itila/p0.html
Bayesian Reasoning & Machine Learning (Barber, 2012) http://web4.cs.ucl.ac.uk/staff/D.Barber/pmwiki/pmwiki.php?n=...
Deep Learning (Goodfellowet al., 2016) http://www.deeplearningbook.org/
Reinforcement Learning: An Introduction (Sutton & Barto, 1998) http://webdocs.cs.ualberta.ca/~sutton/book/ebook/the-book.ht...
^^ the above books are used on many graduate courses in machine learning and are varied in their approach and readability, but go deep into the fundamentals and theory of machine learning. Most contain primers on the relevant maths, too, so you can either use these to brush up on what you already know or as a starting point look for more relevant maths materials.
If you want more practical books/courses, more machine-learning focussed data science books can be helpful. For trying out what you've learned, Kaggle is great for providing data sets and problems.
Do this course and you'll get a very good idea of what's happening, and it's free: https://www.coursera.org/learn/machine-learning
I am taking Machine Learning on coursera by Andrew Ag. Initially I was intimidated by the idea of ML as I had no prior programming experience. I started learning data science stuff less than 6 months ago. I started to feel motivated and confident about ML by taking this course. I highly recommend it.
Machine Learning by Andrew Ng https://www.coursera.org/learn/machine-learningThe maths is fairly straightforward and the concepts are explained well.
TL;DR - read my post's "tag" and take those courses!---
As you can see in my "tag" on my post - most of what I have learned came from these courses:
1. AI Class / ML Class (Stanford-sponsored, Fall 2011)
2. Udacity CS373 (2012) - https://www.udacity.com/course/artificial-intelligence-for-r...
3. Udacity Self-Driving Car Engineer Nanodegree (currently taking) - https://www.udacity.com/course/self-driving-car-engineer-nan...
For the first two (AI and ML Class) - these two MOOCs kicked off the founding of Udacity and Coursera (respectively). The classes are also available from each:
Udacity: Intro to AI (What was "AI Class"):
https://www.udacity.com/course/intro-to-artificial-intellige...
Coursera: Machine Learning (What was "ML Class"):
https://www.coursera.org/learn/machine-learning
Now - a few notes: For any of these, you'll want a good understanding of linear algebra (mainly matrices/vectors and the math to manipulate them), stats and probabilities, and to a lessor extent, calculus (basic info on derivatives). Khan Academy or other sources can get you there (I think Coursera and Udacity have courses for these, too - plus there are a ton of other MOOCs plus MITs Open Courseware).
Also - and this is something I haven't noted before - but the terms "Artificial Intelligence" and "Machine Learning" don't necessarily mean the same thing. Based on what I have learned, it seems like artificial intelligence mainly revolves around modern understandings of artificial neural networks and deep learning - and is a subset of machine learning. Machine learning, though, also encompasses standard "algorithmic" learning techniques, like logistic and linear regression.
The reason why neural networks is a subset of ML, is because a trained neural network ultimately implements a form of logistic (categorization, true/false, etc) or linear regression (range) - depending on how the network is set up and trained. The power of a neural network comes from not having to find all of the dependencies (iow, the "function"); instead the network learns them from the data. It ends up being a "black box" algorithm, but it allows the ability to work with datasets that are much larger and more complex than what the algorithmic approaches allow for (that said, the algorithmic approaches are useful, in that they use much less processing power and are easier to understand - no use attempting to drive a tack with a sledgehammer).
With that in mind, the sequence to learn this stuff would probably be:
1. Make sure you understand your basics: Linear Algebra, stats and probabilities, and derivatives
2. Take a course or read a book on basic machine learning techniques (linear regression, logistic regression, gradient descent, etc).
3. Delve into simple artificial neural networks (which may be a part of the machine learning curriculum): understand what feed-forward and back-prop are, how a simple network can learn logic (XOR, AND, etc), how a simple network can answer "yes/no" and/or categorical questions (basic MNIST dataset). Understand how they "learn" the various regression algorithms.
4. Jump into artificial intelligence and deep learning - implement a simple neural network library, learn tensorflow and keras, convolutional networks, and so forth...
Now - regarding self-driving vehicles - they necessarily use all of the above, and more - including more than a bit of "mechanical" techniques: Use OpenCV or another machine vision library to pick out details of the road and other objects - which might then be able to be processed by a deep learning CNN - ex: Have a system that picks out "road sign" object from a camera, then categorizes them to "read" them and use the information to make decisions on how to drive the car (come to a stop, or keep at a set speed). In essence, you've just made a portion of Tesla's vehicle assist system (first project we did in the course I am taking now was to "follow lane lines" - the main ingredient behind "lane assist" technology - used nothing but OpenCV and Python). You'll also likely learn stuff about Kalman filters, pathfinding algos, sensor fusion, SLAM, PID controllers, etc.
I can't really recommend any books to you, given my level of knowledge. I've read more than a few, but most of them would be considered "out of date". One that is still being used in university level courses is this:
https://www.amazon.com/Artificial-Intelligence-Modern-Approa...
Note that it is a textbook, with textbook pricing...
Another one that I have heard is good for learning neural networks with is:
https://www.amazon.com/Make-Your-Own-Neural-Network/dp/15308...
There are tons of other resources online - the problem is separating the wheat from the chaff, because some of the stuff is outdated or even considered non-useful. There are many research papers out there that can be bewildering. I would say if you read them, until you know which is what, take them all with a grain of salt - research papers and web-sites alike. There's also the problem of finding diamonds in the rough (for instance, LeNet was created in the 1990s - but that was also in the middle of an AI winter, and some of the stuff written at the time isn't considered as useful today - but LeNet is a foundational work of today's ML/AI practices).
Now - history: You would do yourself good to understand the history of AI and ML, the debates, the arguments, etc. The base foundational work come from McCulloch and Pitts concept of an artificial neuron, and where that led:
https://en.wikipedia.org/wiki/Artificial_neuron
Also - Alan Turing anticipated neural networks of the kind that wasn't seen until much later:
http://www.alanturing.net/turing_archive/pages/reference%20a...
...I don't know if he was aware of McCulloch and Pitts work which came prior, as they were coming at the problem from the physiological side of things; a classic case where inter-disciplinary work might have benefitted all (?).
You might want to also look into the philosophical side of things - theory of mind stuff, and some of the "greats" there (Minsky, Searle, etc); also look into the books written and edited by Douglas Hofstadter:
https://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach
There's also the "lesser known" or "controversial" historical people:
* Hugo De Garis (CAM-Brain Machine)
* Igor Aleksander
* Donald Michie (MENACE)
...among others. It's interesting - De Garis was a very controversial figure, and most of his work, for whatever it is worth - has kinda been swept under the rug. He built a few computers that were FPGA based hardware neural network machines that used cellular automata a-life to "evolve" neural networks. There were only a handful of these machines made; aesthetically, their designs were as "sexy" as the old Cray computers (seriously).
Donald Michie's MENACE - interestingly enough - was a "learning computer" made of matchboxes and beads. It essentially implemented a simple neural network that learned how to play (and win at) naughts and crosses (TIC-TAC-TOE). All in a physically (by hand) manipulated "machine".
Then there is one guy, who is "reviled" in the old-school AI community on the internet (take a look at some of the old comp.ai newsgroup archives, among others). His nom-de-plume is "Mentifex" and he wrote something called "MIND.Forth" (and translated it to a ton of other languages), that he claimed was a real learning system/program/whatever. His real name is "Arthur T. Murray" - and he is widely considered to be one of the earliest "cranks" on the internet:
http://www.nothingisreal.com/mentifex_faq.html
Heck - just by posting this I might be summoning him here! Seriously - this guy gets around.
Even so - I'm of the opinion that it might be useful for people to know about him, so they don't go to far down his rabbit-hole; at the same time, I have a small feeling that there might be a gem or two hidden inside his system or elsewhere. Maybe not, but I like to keep a somewhat open mind about these kinds of things, and not just dismiss them out of hand (but I still keep in mind the opinions of those more learned and experienced than me).
EDIT: formatting
Without doubt do the Andrew Ng course on Machine Learning.https://www.coursera.org/learn/machine-learning
It's excellent.
Perhaps not exactly the right link, but Andrew Ng's Machine Learning course (also from Stanford) teaches exactly the required things in the first three weeks: https://www.coursera.org/learn/machine-learning
> As someone who's interested in taking the Udacity course, would your recommend it?So far, yes - but that has a few caveats:
See - I have some background prior to this, and I think it biases me a bit. First, I was one of the cohort that took the Stanford-sponsored ML Class (Andrew Ng) and AI Class (Thrun/Norvig), in 2011. While I wasn't able to complete the AI Class (due to personal reasons), I did complete the ML Class.
Both of these courses are now offered by Udacity (AI Class) and Coursera (ML Class):
https://www.udacity.com/course/intro-to-artificial-intellige...
https://www.coursera.org/learn/machine-learning
If you have never done any of this before, I encourage you to look into these courses first. IIRC, they are both free and self-paced online. I honestly found the ML Class to be easier than the AI class when I took them - but that was before the founding of these two MOOC-focused companies, so the content may have changed or been made more understandable since then.
In fact, now that I think about it, I might try taking those courses again myself as a refresher!
After that (and kicking myself for dropping out of the AI Class - but I didn't have a real choice there at the time), in 2012 Udacity started, and because of (reasons...) they couldn't offer the AI Class as a course (while for some reason, Coursera could offer the ML Class - there must have been licensing issues or something) - so instead, they offered their CS373 course in 2012 (at the time, titled "How to Build Your Own Self-Driving Vehicle" or something like that - quite a lofty title):
https://www.udacity.com/course/artificial-intelligence-for-r...
I jumped at it - and completed it as well; I found it to be a great course, and while difficult, it was very enlightening on several fronts (for the first time, it clearly explained to me exactly how a Kalman filter and PID worked!).
So - I have that background, plus everything else I have read before then or since (AI/ML has been a side interest of mine since I was a child - I'm 43 now).
My suggestion if you are just starting would be to take the courses in roughly this order - and only after you are fairly comfortable with both linear algebra concepts (mainly vectors/matrices math - dot product and the like) and stats/probabilities. To a certain extent (and I have found this out with this current Udacity course), having a knowledge of some basic calculus concepts (derivatives mainly) will be of help - but so far, despite that minor handicap, I've been ok without that greater knowledge - but I do intend to learn it:
1. Coursera ML Class 2. Udacity AI Class 3. Udacity CS373 course 4. Udacity Self-Driving Car Engineer Nanodegree
> Do you think the course prepares you enough find a Self-Driving developer job?
I honestly think it will - but I also have over 25 years under my belt as a professional software developer/engineer. Ultimately, it - along with the other courses I took - will (and have) help me in having other tools and ideas to bring to bear on problems. Also - realize that this knowledge can apply to multiple domains - not just vehicles. Marketing, robotics, design - heck, you name it - all will need or do currently need people who understand machine learning techniques.
> Would you learn enough to compete/work along side people who got their Masters/PhD in Machine Learning?
I believe you could, depending on your prior background. That said, don't think that these courses could ever substitute for graduate degree in ML - but I do think they could be a great stepping stone. I am actually planning on looking into getting my BA then Masters (hopefully) in Comp Sci after completing this course. Its something I should have done long ago, but better late than never, I guess! All I currently have is an associates from a tech school (worth almost nothing), and my high school diploma - but that, plus my willingness to constantly learn and stay ahead in my skills has never let me down career-wise! So I think having this ML experience will ultimately be a plus.
Worst-case scenario: I can use what I have learned in the development of a homebrew UGV (unmanned ground vehicle) I've been working at on and off for the past few years (mostly "off" - lol).
> Appreciate your input.
No problem, I hope my thoughts help - if you have other questions, PM me...
i was quite put off by it. i feel like the teaching technique is pretty poor and the focus in on all the wrong things. mainly the tech gets in the way for learning. i don't want to figure out how to learn numpy when i'm trying to learn how to understand deep learning, that in itself is hard enough. i quite after a week (i did the stanford course first and this was going to be my second).i would recommend the coursera course by andrew ng. i had an amazing time. the code stays out of your way and he walks you through the algorithms and explains the theory very well.
i just started the fast.ai by jeremy howard, and literally have been blown away but the course. it is AMAZING! by lesson 3 i'm able to build cnn models and score on top 20% in kaggle competitions. not bad for a complete novice. HIGHLY RECOMMENDED.
once im done with the fast.ai course i may look back around to google's deep learning course. i think it may be easier for more experienced users to digest its info.
https://www.coursera.org/learn/machine-learning
Edit: added fast.ai link
These 3 are the most well know and well regarded 0-to-hero type intro courses online, and high-school math is sufficient to follow along (but pick only one and go start to finish!):* https://www.udacity.com/course/intro-to-artificial-intellige... (by Peter Norvig - director of research @ Google & Sebastian Thrun - lead dev of google self driving car and founder of google x, now at gerogia tech uni) - great if you want a more "deep thinking" style intro to AI
* https://www.udacity.com/course/intro-to-machine-learning--ud... (Sebastian Thrun & Katie Malone - former physicist and data scientist great at explaining stuff so that anyone can grok it) - great if you want a more "down to earth" engineering style intro with simple clear examples
* https://www.coursera.org/learn/machine-learning (Andrew Ng @ Stanford & chied scientist at Baidu, former Google researcher) - great if you want a "bottom up", from math, through code/engineering, with less fuzzy big picture stuff - this is a great intro, even if Andrew Ng is less of a rock-star-presenter, if you want to start from math details up take this one!
Oh, and kaggle: https://www.kaggle.com/ . If you get stuck on anything, google the relevant math, pick up just enough to have an intuition and carry on.
You're still in college so you have plenty of time to learn well the required math, it's better to get a broad picture of the field ASAP imho! Then when you'll take the math classes, you'll already have "aha, this feels my gap about X and Y" and "aha, now I get why Z" and you'll really love that math after you already know what problems it solves!
(PS if you're less of a "highly logico-intuitive" person and more "analytical rigorous thinker" instead, just ignore my last paragraph and focus on the math, but try to get some deep intuition of probability along the way)
The Coursera Machine Learning course just started (I assume you could still join). I just finished the second week (I'm trying to keep a week ahead due to the somewhat unpredictable nature of my schedule lately), and have been enjoying it so far.The first couple weeks are all about univariate and multivariate linear regression (as well as an optional linear algebra refresher on matrix operations).
I'll tell you how I started my journey:I took the Stanford ML Class in 2011 taught by Andrew Ng; ultimately, Coursera was born from it, and you can still find that class in their offerings:
https://www.coursera.org/learn/machine-learning
On a similar note, Udacity sprung up from the AI Class that ran at the same time (taught by Peter Norvig and Sebastian Thrun); Udacity has since added the class to their lineup (though at the time, they had trouble doing this - and so spawned the CS373 course):
https://www.udacity.com/course/intro-to-artificial-intellige...
https://www.udacity.com/course/artificial-intelligence-for-r...
I took the CS373 course later in 2012 (I had started the AI Class, but had to drop out due to personal issues at the time).
Today I am currently taking Udacity's "Self-Driving Car Engineer" nanodegree program.
But it all started with the ML Class. Prior to that, I had played around with things on my own, but nothing really made a whole lot of sense for me, because I lacked some of the basic insights, which the ML Class course gave to me.
Primarily - and these are key (and if you don't have an idea about them, then you should study them first):
1. Machine learning uses a lot of tools based on and around probabilities and statistics.
2. Machine learning uses a good amount of linear algebra
3. Neural networks use a lot of matrix math (which is why they can be fast and scale - especially with GPUs and other multi-core systems)
4. If you want to go beyond the "black box" aspect of machine learning - brush up on your calculus (mainly derivatives).
That last one is what I am currently struggling with and working through; while the course I am taking currently isn't stressing this part, I want to know more about what is going on "under the hood" so to speak. Right now, we are neck deep into learning TensorFlow (with Python); TensorFlow actually makes things pretty simple to create neural networks, but having the understanding of how forward and back-prop works (because in the ML Class we had to implement this using Octave - we didn't use a library) has been extremely helpful.
Did I find the ML Class difficult? Yeah - I did. I hadn't touched linear algebra in 20+ years when I took the course, and I certainly hadn't any skills in probabilities (so, Kahn Academy and the like to the rescue). Even now, while things are a bit easier, I am still finding certain tasks and such challenging in this nanodegree course. But then, if you aren't challenged, you aren't learning.
Learn Python stack: scipy, numpy, pandas, scikit-learn, jupyter, matplotlib/seaborn.Learn machine learning tools: XGBoost, Scikit-learn, Keras, Vowpal Wabbit.
Do data science competitions: Kaggle, DrivenData, TopCoder, Numerai.
Take these courses: https://www.coursera.org/learn/machine-learning http://work.caltech.edu/telecourse.html
Work on soft skills: Business, management, visualization, reporting.
Do at least one real-life data science project: Open Data, Journalism, Pet project.
Contribute to community: Create wrappers, open issues/pull reqs, write tutorials, write about projects.
Read: FastML, /r/MachineLearning, Kaggle Forums, Arxiv Sanity Preserver.
Implement: Recent papers, older algorithms, winning solutions.
As a software engineer you have a major advantage for applied ML: You know how to code. AI is just Advanced Informatics. If you want to become a machine learning researcher... skip all this and start from scratch: a PhD. Else: Learn by doing. Only those who got burned by overfit, will know how to avoid it next time.
For a ML intro Coursera's machine learning course https://www.coursera.org/learn/machine-learning is great. I have not been through the entire course but for someone who has no background in it, its a good intro as the video themselves are solid.
Gain background knowledge first, it will make your life much easier. It will also make the difference between just running black box libraries and understanding what's happening. Make sure you're comfortable with linear algebra (matrix manipulation) and probability theory. You don't need advanced probability theory, but you should be comfortable with the notions of discrete and continuous random variables and probability distributions.Khan Academy looks like a good beginning for linear algebra: https://www.khanacademy.org/math/linear-algebra
MIT 6.041SC seems like a good beginning for probability theory: https://www.youtube.com/playlist?list=PLUl4u3cNGP60A3XMwZ5se...
Then, for machine learning itself, pretty much everyone agrees that Andrew Ng's class on Coursera is a good introduction: https://www.coursera.org/learn/machine-learning
If you like books, "Pattern Recognition and Machine Learning" by Chris Bishop is an excellent reference of "traditional" machine learning (i.e., without deep learning).
"Machine Learning: a Probabilistic Perspective" book by Kevin Murphy is also an excellent (and heavy) book: https://www.cs.ubc.ca/~murphyk/MLbook/
This online book is a very good resource to gain intuitive and practical knowledge about neural networks and deep learning: http://neuralnetworksanddeeplearning.com/
Finally, I think it's very beneficial to spend time on probabilistic graphical models. Here is a good resource: https://www.coursera.org/learn/probabilistic-graphical-model...
Have fun!
Courses You MUST Take:1. Machine Learning by Andrew Ng ( https://www.coursera.org/learn/machine-learning ) /// Class notes: ( http://holehouse.org/mlclass/index.html )
2. Yaser Abu-Mostafa’s Machine Learning course which focuses much more on theory than the Coursera class but it is still relevant for beginners.( https://work.caltech.edu/telecourse.html )
3. Neural Networks and Deep Learning (Recommended by Google Brain Team) ( http://neuralnetworksanddeeplearning.com/ )
4. Probabilistic Graphical Models ( https://www.coursera.org/learn/probabilistic-graphical-model... )
4. Computational Neuroscience ( https://www.coursera.org/learn/computational-neuroscience )
5. Statistical Machine Learning ( http://www.stat.cmu.edu/~larry/=sml/ )
If you want to learn AI: https://medium.com/open-intelligence/recommended-resources-f...
You can start with free coursera course https://www.coursera.org/learn/machine-learning/ , it starts 17 octand then continue with https://www.coursera.org/learn/neural-networks/
If you want to jump right in with "hello world" type TensorFlow (a tool for machine learning), see https://news.ycombinator.com/item?id=12465935 (how to fit a straight line using TensorFlow)If you like to study/read: the famous Coursera Andrew Ng machine learning course: https://www.coursera.org/learn/machine-learning
If you just want course materials from UC Berkeley, here's their 101 course: https://news.ycombinator.com/item?id=11897766
If you want a web based intro to a "simpler" machine learning approach, "decision trees": https://news.ycombinator.com/item?id=12609822
Here's a list of top "deep learning" projects on Github and great HN commentary on some tips on getting started: https://news.ycombinator.com/item?id=12266623
If you just want a high level overview: https://medium.com/@ageitgey/machine-learning-is-fun-80ea3ec...
It really depends on how you learn.Traditionally the best answer is to do Andrew Ng's Machine Learning course[1]. It's a great course, and you won't regret doing it, but it is kind of annoying that it is in a language (Matlab/Octave) you'll (hopefully) never use again.
A lot of people now recommend working through CS229[2]. I haven't looked at it depth, but I've been impressed with a lot of the class projects.
If you like books, then Statistical Learning in R [3] is generally well regarded.
If you like doing stuff, then Kaggle and SciKit-Learn will throw you in the deep-end. Just be aware you can't just program, though - you really do need to understand some theory. It's good to run into a problem, and then really, really understand the reasons behind what you are seeing.
[1] https://www.coursera.org/learn/machine-learning
So I've been feverishly researching both topics, and how to learn them. I've decided to take these 2 courses from Coursera (starting soon, in Oct 2016). Both are free, and for the ML course, one can pay after completing it and get a certificate (there's no certificate for the Bitcoin course).https://www.coursera.org/learn/machine-learning
https://www.coursera.org/learn/cryptocurrency#
Hope you too will join these, and post updates on this thread right here.
I am a python programmer who is now interested in learning machine learning. I came across two courses. One is from Andre NG hosted in coursera https://www.coursera.org/learn/machine-learning and another one is Data Science Curriculum from Microsoft hosted in edx https://www.edx.org/microsoft-data-science-curriculum.. So which one is better for me to study?
Do you know about Coursera Machine Learning Course:- https://www.coursera.org/learn/machine-learning
> Is there any way for those of us with average intelligence to contribute to tools like this?The people doing this aren't magical geniuses; they've just put the time and work into the subject and have been able to get themselves into a position they can do this all day surrounded by others they can collaborate with.
As with most human endeavors, the trick is to just get started, and not get frustrated and give up when it turns out you don't know anything at first. Some people don't mind starting with a ton of abstract learning about the subject, others prefer trying to accomplish specific tasks, learning the theory along the way.
For your specific question, as with all software, there's likely a lot to be done that has little to do with the main task of the tool and is just the everyday tasks of ease of use, interoperation with other tools, testing, etc. If on the other hand you want to get into the scary world of AI, like many others I'd recommend the Coursera machine learning course as a great place to start[1]
Thank you, I actually just found him on Coursera( https://www.coursera.org/learn/machine-learning ) before your reply. I will definitely check it out.I don't think that I want to make the switch, just know what is what and dabble a little bit.
it's very good, but personally I'd start with the Andrew Ng and Hinton courseshttps://www.coursera.org/learn/machine-learning https://www.coursera.org/learn/neural-networks
I think the Udacity course is best if you know principles of machine learning and want to apply them in a more professional toolchain and learn Tensorflow
One hypothesis is that there is a trend of non ML-familiar developers currently working on getting more grasp on ML. Such repositories provide something that e.g. web developers can take a look at, with reduced friction.Disclaimer: I'm such a developer! (currently going through the last bits of https://www.coursera.org/learn/machine-learning ) - but I've noticed other around me recently.
Here is a list of top 16 machine learning books aimed at the data scientist (not what you asked but there is a short description with each book). These books are used by universities like Stanford, Caltech, MIT, Harvard, etc.And just to make sure that you are aware of it, there are lots of opencourseware with lecture notes and videos.
Caltech/Yaser Abu-Mostafa book info + lecture video at https://work.caltech.edu/telecourse.html
Stanford/Andrew Ng for course info see http://cs229.stanford.edu/ for video lectures see https://www.coursera.org/learn/machine-learning
The article mentions https://www.coursera.org/learn/machine-learningdoes anybody know:
- How much work is required by week?
- Pre-requisite?
- Programming language used?
Other feedbacks?
You can work through the Coursera variant of Andew Ng's course without a deep math background: https://www.coursera.org/learn/machine-learningMore in-depth videos of the course are on YouTube: https://www.youtube.com/playlist?list=PLA89DCFA6ADACE599
If you are interested in learning the basics of Machine Learning I really recommend Andrew Ng's course on Coursera[0]. It starts off very basic and requires almost no prior knowledge other than some linear algebra. It evolves to more advance topics like Neural Networks, Support Vector Machines, Recommender Systems, etc. It is amazing how much you can do after just a few weeks of lessons. It's a very practical course with real world examples and exercises each week. The focus is mostly on using and implementing machine learning algorithms and less so on how and why the math behind them works. (To me this is a negative, but I'm sure some people will appreciate that.)
It's part of the course URL when you're enrolled at the course home, e.g:
(see https://github.com/coursera-dl/coursera-dl/wiki )https://class.coursera.org/algs4partI-010 -> algs4partI-010 https://www.coursera.org/learn/machine-learning/home/welcome -> machine-learning
The ML course has quite some time ago been made available as an untimed "always-on" course at
I just started the Coursera Machine Learning course. I know that it's probably a bit under your skill level, but the second half of the class might give you some broad education about what's possible in the field of machine learning. https://www.coursera.org/learn/machine-learning/
I believe that the best way to learn ML is by first learning to program the algorithms and then learning the math. This is the opposite to what people is used to do, but I think it's better. The reason is because programming ML is easy, but the math behind it is very complex. I would suggest to start with scikit tutorial http://scikit-learn.org/stable/tutorial/ and later with Ng course https://www.coursera.org/learn/machine-learning . Then a good book is Pattern Recognition and Machine Learning, from Bishop.
Helpful FYI: If you're interested in learning about Machine Learning (so you can use TensorFlow and Rescale, etc), I've found this to be an incredible resource: https://www.coursera.org/learn/machine-learning/
To actually learn machine learning algorithms i found the coursera (stanford) course to be excellent. Minimal programming and math knowledge needed.
The possibility of deep NLP suggest that there are tremendous opportunities for building a personal assistant. For Deep NLP, I would suggest course CS224D at Stanford on YouTube (going on now but also delivered last year: https://www.youtube.com/watch?v=kZteabVD8sUFor Deep NLP, you will need to be solid on linear algebra and machine learning. For introduction to machine learning, check out Andrew Ng at Coursera: https://www.coursera.org/learn/machine-learning and my favorite talks on Linear Algebra are the ones done by Gilbert Strang: http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-...
For web crawling, there are plenty of open source libraries. If you are not familiar with it, check out the Common Crawl: http://commoncrawl.org/ This is a great source of data to crawl.
If you focus solely on NLP and data from the Common Crawl (or even Wikipedia), then you will see where you stand as the smoke clears and you feel comfortable with the state of the art techniques.
Ignore all the naysayers. The good news is that it has never been easier to get started in deep NLP. Once you have the experience of training a model and seeing how well it works, you can decide on the next steps. Perhaps, you will find a niche that is not well-served that you can go after as a first step of a personal assistant.
Good luck.
If I didn't get this course[1], I wouldn't understand what you are talking about.
Andrew Ng's Coursera course on Machine Learning:https://www.coursera.org/learn/machine-learning
There's also this course on Neural Networks by Geoffrey Hinton:
https://www.coursera.org/course/neuralnets
If you do the Andrew Ng course, you'll have to learn/know Octave (or Matlab). Otherwise, Python is very heavily used in ML these days and you could do a lot worse than learning Python. R and Octave are both very useful as well. And, as you note, there is a lot of machine learning software available in the JVM world as well. Scala in particular seems to be gaining some ground in this world.
If you haven't already, you should check out the first and second week of Andrew Ng's Coursera Course on Machine learning. He exclusively talks about gradient descent the first few weeks. https://www.coursera.org/learn/machine-learning
Andrew Ng has a machine learning course online if you are interested: https://www.coursera.org/learn/machine-learning
Part of self-teaching may include taking formal online coursework voluntarily. For example I'm currently halfway through https://www.coursera.org/learn/machine-learning
MOOCs.I see Andrew Ng's class is being offered again for the first time in a few years ( https://www.coursera.org/learn/machine-learning ), but other great classes aren't, like LAFF http://www.ulaff.net/ , Thiel's startup class etc.
Seems like a travesty that these incredible classes are created by our best minds, but then aren't continuously offered. (the materials are available for self-study, but not the graded homework, support forums, TAs, certificates of accomplishment etc.)
Coursera, the prof, the university, have no incentive to keep it going. Philanthropists should really fund continuing development of the best-of-the-best MOOCs so students can keep learning, best practices can keep improving.
There is no good central discovery and reputation for MOOCs. There needs to be a place I can go and see that e.g. LAFF is the most popular / highest rated for intro to linear algebra, and here's how much work it represents.
There are universities who start online programs, but what we really need is an online 'degree' grantor who can say, OK, you've taken these online MOOCs from various institutions, I can tell from the fact that you logged in with your finger, your device's camera, metrics like typing style, word frequency for essays, etc. that you actually did the work, these courses are worth X number of points, here's a 'degree' or a few numbers describing the quantity and quality of your work in various disciplines at various places.
And then the best of the best should be able to tap funds to be continuously offered.
It seems more like an object for a non-profit startup (should be self-sustaining but doesn't seem like the sort of thing that should be in IPO candidate or revenue-maximizing, will turn into University of Phoenix)
Andrew Ng's popular Machine Learning course goes over most of the topics in the slides: https://www.coursera.org/learn/machine-learningLinear and logistic regression, gradient descent, clustering, support vector machines, bias and variance (one of the slides was taken from the course), neural networks, etc...
I signed up for this last night. Really looking forward to it.
Basic question(s) as I am not a data scientist but have just taken a machine learning course ( https://www.coursera.org/learn/machine-learning/ )Won't trying different combinations of hyper parameters/lambda (over a small range) help us arrive better instead of manually tuning it? Or is that what the author meant by manual tuning?
Links,Andrew Ng's ML Class - https://www.coursera.org/learn/machine-learning
Daphne Koller's PGM Class - https://www.coursera.org/course/pgm
Dan Jurafsky's and Christopher Manning's NLP Class - https://www.coursera.org/course/nlp
To install http://tensorflow.org/get_started/os_setup.mdThey have some general walkthrough tutorials http://tensorflow.org/tutorials/mnist/beginners/index.md
and a nice overview on machine learning. you will need to setup an account. It is free and very informative. https://www.coursera.org/learn/machine-learning/home/week/1
hundreds of resources for machine learning can be found here http://www.machinelearningsalon.org/assets/the-machine-learn...
TIME SENSITIVE note --The guide's primary recommended course is Andrew Ng's Machine Learning course. Current session started November 2nd, you must enroll by the 7th. Another session is starting November 30th.
https://www.coursera.org/learn/machine-learning
Cheers!
I'm about to start the assignment for the 5th week of Machine Learning on Coursera https://www.coursera.org/learn/machine-learning
A new session of Andrew Ng's Machine Learning class (a version of his Stanford class) starts at Coursera on Monday. It's a quite manageable introduction to the field, with some hands-on programming involved. There's just the right mix of math and theory in there, with some refresher material for some of the math.It's as good a place to start as any, and the benefit of a scheduled class is that you'll have a community doing the same work at the same time to help you out.
Thanks for this. Incidentally, the second paper you link to is co-auhored, among others, by Daphne Koller, who teaches [this great course on probabilistic graphical models]( https://www.coursera.org/course/pgm ) and Andrew Ng, who teaches [the best-known intro MOOC in machine learning]( https://www.coursera.org/learn/machine-learning/home/welcome ).
I am learning the course of Machine Learning [1] at Coursera. I didn't know he co-founded Coursera. Can't believe this awesome course is free. Andrew Ng is really a good teacher. Thank you Andrew Ng and Coursera.
I'm taking his machine learning course [1] and it's absolutely fantastic. It's one of the mondern wonders of the internet that you can have such a tutor for free. Plus it's fascinating to see what people go on to do after the course [2].[1]: https://www.coursera.org/learn/machine-learning/
[2]: https://syrah.co/joshdickson40/5604e5e10fc1786b0152a51a
For those that don't know-- although Octave is interpreted, the interpreted part acts as an interface to highly optimized vector operations under the covers. Signal processing and a lot of other tasks come down to manipulating large arrays of data using similar operations across the entire array. Although Octave is interpreted, these kinds of operations execute very nicely inside Octave. Octave also lets you write those kinds of operations at a very high level, like a = b * c, and under the covers it's doing millions of operations.If you'd like to give Octave a try and learn about Machine Learning at the same time, try this excellent and fun free course! https://www.coursera.org/learn/machine-learning
One of the later lessons in that class is a mind-blowing signal processing thing. In that exercise, they show how you can put multiple mics in a room, with multiple people talking over each other, and the computer separates out the different sources of sounds, and outputs a clean wav file for each sound source with the sounds isolated from each other. It blew my mind, and was implemented in Octave. And they teach you exactly how to do it yourself.
All the above concepts can, of course, be done in C++ or NumPy or whatever, they just use Octave to teach the course.
The group is held by Prof. Ng which has a ML course on coursera https://www.coursera.org/learn/machine-learning - lecture notes of the in class course are here http://cs229.stanford.edu/materials.html (but without the lecture it may be.. without the lecture:))
For anyone interested, I have been really interested in deep learning and have been using the following resources:For image processing (CNN) https://cs231n.github.io/
For natural language processing (RNN) http://cs224d.stanford.edu/syllabus.html
I also found the following coursera helpful https://www.coursera.org/course/neuralnets https://www.coursera.org/learn/machine-learning
Here might be a good place to start learning: https://www.coursera.org/learn/machine-learning/Much of what research is, is understanding what you're working on in the first place. Getting a solid foundation is a must, or you risk being very lost for some time, and will be fundamentally limited in what you can contribute.
I think you are talking about Andrew Ng's course.I completed it and can't recommend it more highly. It is a really excellent, dense course and Ng is a very good teacher.
This course is great: https://www.coursera.org/learn/machine-learning It's all done in GNU Octave, which is mostly compatible with MATLAB.
If this feels like jumping in the deep end, I highly recommend Stanford's online course on this subject:
I recommend this course for a general overview on machine learning: https://www.coursera.org/learn/machine-learningThere are also some good resources in edX...
SEEKING WORK – REMOTEI've worked for 4 startups and on several projects doing web development. I was also Community TA for the Startup Engineering [1] class and for the Machine Learning [2] class at Coursera (Stanford).
I work mostly as a backend engineer and occasionally fixing and writing some Javascript on the frontend (jQuery, Backbone.js). I also can oversee backend development by doing project management and issues and tasks coordination.
I use a methodology for each project like setting up a deployment process/git branching model (development, staging, production), etc., and I'm very pragmatic about researching and using proven solutions (ie: code) to each problem. I code in Python: Django, Tornado, GAE and node.js: Express. Git for source control (Github/Bitbucket). Linux, vim.
Drop me a line: [email protected]
I really have to take exception to this (characterizing MOOCs as some sort of useful-only-for-signalling high-tech "vocational training" for the privileged).I've been working through Andrew Ng's Machine learning class ( https://www.coursera.org/learn/machine-learning/home/welcome ) on Coursera, and I think it's wonderful. It begins a bit slow-paced, and I definitely supplement the lectures with readings and the class notes for CS 229 ( http://cs229.stanford.edu/materials.html ) that broadly match the content of the online course, but I absolutely love the course.
The lectures are well-paced and have 'in-line' quizzes to test your understanding as you go. The problem sets are easy to do at any time, with optional components and instructions that let you understand the material better if you want to deep dive. The course itself is available to start whenever you choose , which means barrier for entry is very low.
MOOCs may not be everything that they first promised, but they definitely win in terms of the sheer accessibility of content and the flexibility of the format. I would not be learning machine learning right now if the only available format was dead-tree or (worse) putting together information piecemeal from blog posts.
I have a folder to bookmark machine learning resources.Here's another good one from the creator of coursera (Stanford grad I think)
https://www.coursera.org/learn/machine-learning/home/info?ut...
Maybe have a look at this also: https://www.coursera.org/learn/machine-learning/
[1] -- First, you need to learn machine learning(ML) basics. Andrew Ng's course on Coursera is a good start: https://www.coursera.org/learn/machine-learning/home/infoIt doesn't teach you ML with Python but it is extremely important to learn the ML concept without any programming language in mind. In addition to that course, any Google search will help you a lot. There are a lot of good explanations of ML concepts on various websites. If you don't understand how algorithms work, you will end up with copying and pasting example codes without knowing what you're doing. You need to imagine what you want to do in your head before you type any letter.
[2] -- Once you have the initial introduction, you can use Python to implement ML concepts. Fortunately, Python has a very easy to learn ML package: Scikit-learn ( http://scikit-learn.org ). It's free and is used by various companies such as Spotify and Evernote. Scikit-learn has a great documentation and many examples that will make the whole learning process exciting.
[3] -- After you feel comfortable with ML in Python, if you don't have datasets of your own, you can find a lot of datasets on UC Irvine's machine learning repository: http://archive.ics.uci.edu/ml/
The more you practice, the more comfortable you feel with playing with data. To cover a ML technique very well, play with every single parameter of the scikit-learn functions of that technique by using the same dataset. Also, always try to include visualization of the data (scikit-learn has examples with matplotlib to learn from how to do it) so you can actually see the changes of the implementation when parameters of the function change. This will make everything a lot easier.
Good luck!
Machine Learning is a sub-field of computer science and an area of intense current research. It has nothing to do with Python (a programming language) except that some machine learning algorithms might be implemented in Python.You might find Andrew Ng's Stanford Coursera course a good place to start. https://www.coursera.org/learn/machine-learning/home/info .
I started with Andrew Ng's Machine Learning course on Coursera [1]. He presents the entire subject, including NNs and prerequisite theory, in a non-intimidating, intuitive fashion. There are simple coding exercises, such as digit recognition using NNs.Once you're familiar with the basics, you can go deeper into the subject with the books suggested here.
I'm doing the Coursera machine learning course. You guys can try it too : https://www.coursera.org/learn/machine-learning . It's very relevant to this topic. Good explanation is presented here too.
There is a nice book by my profs (Y. Bengio, A. Courville) and a former student of the lab (I. Goodfellow) here: http://www.iro.umontreal.ca/~bengioy/DLbook/ The chapter on RNNs is pretty enlightening. You probably want to start with something the goes through feedforward networks, convolutional, etc. first though.Andrew Ng's Coursera course does a super basic NN in MATLAB which might be good to shake the rust off [1]. Hugo Larochelle's youtube course [2], Geoff Hinton's Coursera course [3], and Nando's youtube Deep Learning course [4] are all very good. There are also some great lectures from Aaron Courville from the Representation Learning class that just finished here at UdeM [5]
If you want to do this for real (not self teaching RNN backprop on toy examples) tool-wise you generally go with either Theano (my preference) or Torch - implementing the backwards path for these (and verifying gradients are correct) is not pretty.
Theano does it almost for free, and Torch can do it at the module level. Either way you definitely want one of the higher order tools!
[1] https://www.coursera.org/learn/machine-learning
[2] https://www.youtube.com/watch?v=SGZ6BttHMPw&list=PL6Xpj9I5qX...
[3] https://www.coursera.org/course/neuralnets
Machine learning seems like something that's become really critical to know; unfortunately it wasn't offered at my undergrad university. Can anyone recommend some books or online courses that are good to start with?So far I've found these, but I have no idea if they're good or not:
* https://www.coursera.org/learn/machine-learning
* https://work.caltech.edu/lectures.html