A free online ML-course from Stanford's Andrew Ng: https://www.coursera.org/course/ml
Here's a good start, Tom Mitchell's _Machine Learning_
http://www.cs.cmu.edu/~tom/mlbook.html
You could sign up for the Stanford or Udacity machine learning classes. You don't get credits, but you get a certificate.
Stanford's machine learning course is really good, totally recommend it. You can find it here: http://www.ml-class.org/course/auth/welcome
Hello Ravi and all others interested in NNs:
Here is a possible way to learn machine learning, at least about perceptron NNs. All are welcome to test this software package.
1.- Download and unzip the following
http://www.matematica.ciens.ucv.ve/dcrespin/Pub/Crespin.zip
2.- Install the CNNB software. The installation step is similar to any other Windows application: Double click on the executable. Load some neural network data file (several are created during install, or load your own). For example, load sonar.vpo
3.- For a feeling of the size of an uploaded file, click "Open with Notepad" [visible after loading] and, once in Notepad, uncheck "Wrap" in the Format menu, and maximize the window.
4.- To calculate architecture and weights click "Build". For a better view of a calculated NN, click the corresponding "Open with Notepad". Also, with a simple click you can save the calculated NN weight file. There are various file extension like .vpo, .hvs and .sgm, all explained in the tutorial. But you can bypass these explanations and proceed directly with the GUI.
5.- To evaluate the calculated NN on other data files click "Open to Evaluate". For example, all sonar files are 60-dimensional vectors. XOR files vary from dimension 2 to 13. If your loaded or built NN numerical data file does not match the dimension of data to be loaded for evaluation, you will get a warning message. Just choose any data file with appropriate dimension.
6.- Click "Evaluate".
You can do other things, like adjust at will the weights of calculated NNs so that they perform accurately for sigmoid NNs, or you can evaluate sigmoid NNs, etc.
For details about CNNB, and for NN theory and mathematics, click on the pdf Tutor, pdf Glossary and pdf Primer buttons. As you will see, parameters are chosen by moving scroll bars. Everything is either slide-scroll-bar or click-and-play.
The package performs in stable manner. If any difficulty appears I appreciate you let me know.
Best regards
Daniel Crespin
Here is a website with a lot of material. Ranging from coin tossing to Bayesian Networks and HMMs.
http://select.cs.cmu.edu/class/10701-F09/
It is very good/clear material from a machile learning course given at CMU by Carlos Guestrin, but it is PhD level. No video lectures.
I liked "Pattern Recognition and Machine Learning" by Bishop. I would advise it, it gives a generally broad view, its technical but not too much and gives a good understanding of relations between (supposedly) different approaches.
Check standford machine learning video tutorial, if u really want a solid understanding.. Just google it
Here are some basic notes, http://robotics.stanford.edu/~nilsson/mlbook.html And, you should add to your collection the landmark paper that lead to IBM’s Watson “beating the two top Jeopardy champions of all time”, A THEORY OF THE LEARNABLE by L. G. Valiant, Aiken Computation Lab, Harvard, 1984 (Google it of course)
For I.B.M., …[this]… was not merely a well-publicized stunt and a $1 million prize, but proof that the company has taken a big step toward a world in which intelligent machines will understand and respond to humans…”
This “stunt” is important for reviving interest in AI and polishing its reputation, which never hurts when it comes to obtaining funding.
The best way to start with machine learning is to start with Artificial Intelligence a good book for this is Artificial Intelligence by Kevin Rich and Knight. And also try to go through the formal reasoning languages like LISP and PROLOG which gives some basic insights to machine reasoning and symbolic processing.
Another good book is:
Data Mining: Practical Machine Learning Tools and Techniques, Third Edition (The Morgan Kaufmann Series in Data Management Systems)
Machine learning have 2 components, the way I see it.
1 - Data mining
2 - Data organization
After retrieving data machine learning attempts to describe that data or make sense of the information so that it can be regurgitated in a manner that is understandable by us humans or used to perform some tasks.
A good book to use is "Introduction to machine learning", by Ethem Alpaydin. And it will help quite a bit in the field to learn as much statistics as you can since the deeper concepts in the field use quite a bit of statistics.
At the undergraduate level, or if you can't speak mathematics fluently, Marsland does a good job of covering the important algorithms (http://www.amazon.com/Machine-Learning-Algorithmic-Perspective-Recognition/dp/1420067184).
If you want to specialize in ML, of course, you will eventually need to read deeper material such as Bishop. In that regard, Hastie et al have a wonderful (if slightly dated) text available as a free PDF: http://www-stat.stanford.edu/~tibs/ElemStatLearn/
I know I am biased but let me suggest you my handbook on Statistical foundations of machine learning... :-)
http://www.ulb.ac.be/di/map/gbonte/mod_stoch/syl.pdf
Toby Segaran , "Programming Collective Intelligence" Oreilly - highly recommended.
There are also some relevant videos here included as part of a general AI course - http://rakaposhi.eas.asu.edu/cse471/
Note the page takes a while to load as it has embedded Youtube videos.
Best,
Miles
Try to read an introductory book on Artificial Intelligence . A the same time, try to learn some LISP and Prolog which are programming languages associated with artificial intelligence. I think it is the first step in learning machine learning .Then you have to go for a book in Data mining. I believe that this is a good plan to learn Machine Learning.
Best regards, Ruben
A free online ML-course from Stanford's Andrew Ng: https://www.coursera.org/course/ml
You could start from here:
1. Pattern Classification (2nd Edition) by Richard O. Duda, Peter E. Hart and David G. Stork (Oct 2000)
2. The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition (Springer Series in Statistics) by Trevor Hastie, Robert Tibshirani and Jerome Friedman (Feb 9, 2009)
I am guessing it is already mentioned above, but let me emphasis that Prof. Andrew Ng's course on machine learning is fantastic. I see there are suggestions of good books, but it might be easier if someone explains the basic concepts and techniques. There is no substitute for a good teacher. Once you go through the course, you can then easily read other materials, such as Tibshirani or Bishop as has been suggested above, but first go sign up for the course. It is free and it is really fascinating, specially for a beginner. There are other very interesting course offerings on coursera.org, and new ones are being added. I took two courses offered by Coursera.org and both are fantastic, rigorous and highly recommended.
www.coursera.org
Good luck.
Depends what type of ML you want to do and what your ai background is, ESP re cs and math.
Devin Hosea
Alpha Venture Labs LLC
The Elements of Statistical Learning: Data Mining, Inference, and Prediction, by Trevor Hastie, Robert Tibshirani and Jerome Friedman
FInally, apart Ng's lectures, I would also recommend the online, free, Udacity courses on artificial inbtelligence (programming a robotic car) which are entirely Python based.
You may also want to check this course from the University of Toronto: www.coursera.org/course/neuralnets
A great and easy to read overview of Artificial Intelligence and its transition to Machine Learning, co-authored by a Berkeley professor and the now director of search quality at Google, is:
Stuart Russell & Peter Norvig (2009). Artificial Intelligence: A Modern Approach.
My favorite textbook for explaining the math and theoretical concepts behind machine learning, which is also beautifully written, is:
Christopher M. Bishop (2007). Pattern Recognition and Machine Learning.
Caltech has recently announced a free online machine learning video library ( http://www.work.caltech.edu/library/ ), which is based on the earlier telecourse ( http://work.caltech.edu/telecourse.html ). Enjoy!
Definitely ML-Course is the best starting point (I think), you learn a lot.
Besides Andrew Ng's excellent course on Coursera, I consider the two books recommended by Paul King essential for "efficiently covering the basics" and going beyond them. Russel&Norvig's book is simpler to grasp, but Bishop's offers far more insight when you are a bit advanced in ML.
To understand machine learning one needs an understanding of Aritficial Intelligence . The good books for AI are by Kevin and Knight and also AI authored by Luger. You can also go through the links of Carnegie Mellon University where extensive research is done on AI and machine learning.
A staple of Machine Learning text books is probably Tom Mitchell's book, "Machine Learning", http://www.cs.cmu.edu/~tom/mlbook.html. It's probably one of the best places to start as it slowly moves you from rule induction, decision trees and neural networks onward to increasingly complex concepts. A good arena and api to play with for machine learning in java is the WEKA toolkit. Hope this helps you get started.
I think that any foray into machine learning needs a good understanding of probability and stats, so if you need a brush up the Kahn Academy covers the basics quite well.
Here's an excellent book covering many of the important concepts: http://www.amazon.com/Machine-Learning-Tom-M-Mitchell/dp/0070428077/ref=sr_1_1?s=books&ie=UTF8&qid=1345043596&sr=1-1&keywords=machine+learning
Gary Marrs "A staple of Machine Learning text books is probably Tom Mitchell's book, "Machine Learning", http://www.cs.cmu.edu/~tom/mlbook.html. It's probably one of the best places to start as it slowly moves you from rule induction, decision trees and neural networks onward to increasingly complex concepts."
It is true that it is a good place to start. However, Mitchell himself said back in 2007 that it was already extremely dated. There are many new techniques that aren't mentioned in that book because they hadn't been developed yet.
I very much like the style of Prof. Daphne Koller who recently wrote a really, really thick book on this topic :) You can find the associated course on
https://www.coursera.org/course/pgm
It is called "Probabilistic Graphical Models" but I would boldly argue that this currently is the state of the art in machine learning :)
Machine Learning is a very vast area which covers almost all area of AI. It actually adds flavor to your dish. If you practically want to study Ml, then I suggest you take the book Data Mining: Practical Machine Learning Tools and Techniques and work with weka for start.
There is an interesting article in Oct. 2012 issue of the Comm. of the ACM titled, "Things to know about Machine Learning". Haven't read it yet !!!
before anything i recommend that,machine learning needs strong base of mathematics(statistics and linear algebra),if your mathematics background is weak,first review math and then start to study machine learning.for beginning machine learning like other friends commented above,the book written by Prof Tom Mittchell is very excellent book.
best regards
Master student in artificial intelligence at Iran University of Science and Technology
Farbod Taymouri
@Hichem Omrani:yes you are right,all of these you mentioned is very important to machine learning,but one thing that i think is more important than them is Imaginatioan :)
i have same question for academic work in financial Time Series for forecasting with Machine Learning which method do you suggested for master thesis and what methodology is state of art in this area now day ?thanks.
JMLR (http://jmlr.csail.mit.edu/papers/special/feature03.html) is a very good collection of Machine learning topics starting from very basics to complex machine learning issues. You would find these papers very interesting.
I too recommend Prof Ng's on-line course on Coursera. There are other complementary courses that you may choose from depending on your background and requirement.
Agreed with Amit Amit. Tom M. Mitchell is the bible for those who are new to Machine Learning/Artificial Intelligence.
Stephen Marsland provides a good introduction to the fundamentals of machine learning in his book 'Machine Learning: An Algorithmic Perspective' (2009), Witten et. al also provide a very good practical introduction to using machine learning to solve real world problems in 'Data Mining: Practical Machine Learning Tools and Techniques'. Witten's book is also good because it supports WEKA, a popular open-source machine learning tool, which is a good place to start experimenting with machine learning techniques without having to first implement them yourself.
If you want a more rigorous mathematical overview of the fundamentals of machine learning then I would definitely recommend Christopher Bishop's 'Pattern Recognition and Machine Learning' book (2006) and Duda et. al 'Pattern Recognition' (2nd Edition, 2000). Both of these books will give you a much more in-depth on the core topics of machine learning.
If you combine these books with Andrew Ng's Stanford online lectures then this should give you a fairly good entry into the world of machine learning.
There is an excellent course 'Learning from Data' on youtube by Abu-Mostafa from Caltech - a course book has been published in the spring of 2012. It consists of 18 lectures, high quality stuff
Reading, Reading and reading help build your essential knowledge teach you how to finf the problem logically.
I would follow Nicholas advise. The selection of what references to use depends on your background.
Data Mining -Practical Machine Learning Tools and Techniques
http://www.amazon.com/Data-Mining-Practical-Techniques-Management/dp/0123748569/ref=rec_dp_3
A classical reference for pattern recognition is the book of Duda & Hart (may be related to machine learning only, however, b ut a good intro to the domain in any case):
http://books.google.fr/books/about/Pattern_classification.html?id=YoxQAAAAMAAJ&redir_esc=y
Hi, I advise you to begin with some simple kernel methods such as one-class-svm. It is a simple by efficient machine learning algorithm used for classification and regression. Thus, it and can be used for prediction. But for you, as beginner, it is better for to try some very simple implementations using some frameworks such as matlab. If you have any question let me know. Good luck
There's a basic book from Tom Mitchell with the title "Machine Learning". It starts with simple Decision Trees.
Hello,
As pointed out above, Andrew Ng's Coursera material is quite nice. Also, I'd recommend you get to know WEKA. It's powerful, easy to use and free. Moreover, they have a "dedicated" textbook, which may be a nice combo to get you started.
Cheers,
http://www.cs.waikato.ac.nz/ml/weka/
After taking a University course in Machine Learning last semester, i realized that Andrew Ng's online ML course in coursera is nothing more than a motivational series of videos. If you really want to pursue Machine Learning as a research subject, you should have pretty good understanding in basic Mathematical disciplines of 1.Probability and Statistics (Probability distributions, Estimators like MLE, etc.)
2. Linear Algebra (Eigen vectors, SVD etc, etc.)
3. Optimization (Lagrangian dual, gradient descent, and many more..)
Understanding of Real Analysis and Functional Analysis is also desired..(So Calculus is the backbone of ML just as for any engineering discipline)
Initial topics covered in any machine learning course will be about regression and classification algorithms like linear regression, logistic regression and Support Vector Machines(SVM). Then according to the taste of the person teaching the course, there might be lectures about Neural networks, reinforcement learning, dimensionality reduction techniques like Principal Component Analysis, then graphical models, boosting methods, learning theory, kernel methods, approximate inference techniques etc.
There are different streams inside machine learning. Some people work in the area of "Learning Theory" where they study theoretical bounds on the performance of different learning algorithms... Then there is probabilistic graphical models (eg:- Hidden Markov Models, Conditional Random Filelds, their Representation, Inference and Learning- A good online course is Daphne Koller's coursera PGM course), Nonparametric Bayesian methods and their inference etc.
If you are kind of interested in ML jobs, then better concentrate on Data Mining where the importance is on 'getting the job done' rather than the elegance of the algorithms. They deal with 'Big Data' which is a big deal nowadays.
Regarding text books, Bishop's "Pattern Recognition and Machine Learning" really worth buying. You should have good hands on fundamental mathematics to read this book (I personally don't prefer Duda Hart- it seems to be very outdated considering the fact that it has no chapters on Bayesian Inference and it discusses pretty old non-statistical methods of machine learning)..
Hi Ravi,
The following is a tentative syllabus for the Machine Learning.
1. Introduction to Machine Learning. Univariate linear regression. (Optional: Linear algebra review.)
2. Multivariate linear regression. Practical aspects of implementation. Octave tutorial.
3. Logistic regression, One-vs-all classification, Regularization.
4. Neural Networks.
5. Practical advice for applying learning algorithms: How to develop, debugging, feature/model design, setting up experiment structure.
6. Support Vector Machines (SVMs) and the intuition behind them.
7. Unsupervised learning: clustering and dimensionality reduction.
8. Anomaly detection.
9. Recommender systems.
10. Large-scale machine learning. An example of an application of machine learning.
I advises u to start from joint to Coursera ( ML course) that present free by Pro. Andrew Ng from Stanford University .
where this couse have vido lecture , some of Q and A and exerersizes,
https://class.coursera.org/ml-003/class/index
Good Luck
Speaking as someone who is more familiar with recommender systems than the other portions of machine learning.I'll tell you what helped me out a lot. I took a higher level stats course that covered topics such as PCA and ANOVA (these are two of the big ones).
Then I studied how the usual unsupervised learning models work, Clustering (k-means variants,DBSCAN, Hierarchical clustering topdown vs bottom up), Gaussian Models, PCA and Covariance (the stats class helped here) as these are usually used as a pre-procesing step in recomender systems.I have not studies Hidden Markov Models but I've been told they can provide better detection results depending on the data set.
That will be the common answer you will come across for every machine learning and knowledge discovery problem you face. There is no "best" learning system, classification system, or statistical method. You need to know your data-set well enough to realize where one approach might be better than others.
as far as books go I don't know one single good book. I would just recommend using the weka tool and manual for supervised learning techniques and then going to scikit-learn.org reading their instructions and playing with the examples provided for the unsupervised learning. I find that the best way to learn is to do.
CalTech machine learning course, Learning From Data, is very good:
http://work.caltech.edu/telecourse.html
So is the textbook:
http://www.amazon.com/Learning-From-Data-Yaser-Abu-Mostafa/dp/1600490069/ref=sr_1_1?ie=UTF8&qid=1370529364&sr=8-1&keywords=learning+from+data
Course video segments are also organized into a library:
http://work.caltech.edu/library/
The course itself may have ended but there is still the online forum, and course materials will still be on the web. Good luck!
ELEMENTS OF STATIS TICAL LEARNING (Hastie, Tibshirani, Friedman) at http://www-stat.stanford.edu/~tibs/ElemStatLearn/
Hi Ravi,
I will recommend you "Pattern Recognition and Machine Learning" by Christopher M. Bishop [ http://research.microsoft.com/en-us/um/people/cmbishop/prml/]. You can also check "Data Mining: Practical Machine Learning Tools and Techniques" by Ian H. Witten et al. Andrew Ng's ML course on Coursera is great to start with.
Regards,
Aziz
In addition to the Coursera course by Andrew Ng; I would suggest to go through two wonderful books. 1. Bayesian reasoning and Machine Learning by David Barber. 2. Machine Learning by Kevin Murphy. The book by Christopher Bishop, though a bit old, is also a good starting point. A lot depend on what domain you wish to apply machine Learning. Some domain specific books (such as on text Analytics) also describe the techniques as they are used in that domain.
IDSIA, a research unit, publishes many good papers on artificial intelligence. Some of these explain introductory concepts quite well. Coming from a non-science background, I have learnt quite a bit about neural networks and their applications from this collection of papers.
Following YouTube playlist has an undergraduate machine learning course which is easy to understand compared to Prof. Andrew's lessons.
https://www.youtube.com/watch?v=pid0lUH467o&list=PLE6Wd9FR--Ecf_5nCbnSQMHqORpiChfJf
Mr Samer Schaat idea is good,,,start online ML course of Andrew NG by Stanford's University,,,and you can follow book: by Bishop, and other book by Hadoop
I believe the best way to get into the field is to read... a lot! My top-4 machine learning books to get started:
A discussion of these books is available on http://www.visiondummy.com/machine-learning-books/
In reference to Nicholas Gillian's remarks (Hi, Nick!), I'd recommend Ng's online lectures from Stanford Engineering Everywhere / YouTube, not those from his Coursera course. The SEE lectures are far more comprehensive.
Hello,
I believe the answer you are looking for are in detail in this quora link :
https://www.quora.com/How-do-I-learn-machine-learning-1/answer/Xavier-Amatriain?share=12251f24&srid=ztlj