Machine Learning by Andrew Ng | Stanford University | Coursera
- https://www.coursera.org/learn/machine-learning
- Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you'll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. Finally, you'll learn about some of Silicon Valley's best practices in innovation as it pertains to machine learning and AI.
- This course provides a broad introduction to machine learning, datamining, and statistical pattern recognition. Topics include: (i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). (iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI). The course will also draw from numerous case studies and applications, so that you'll also learn how to apply learning algorithms to building smart robots (perception, control), text understanding (web search, anti-spam), computer vision, medical informatics, audio, database mining, and other areas.
WEEK 1
Introduction
- Machine Learning
- Grew out of work in AI
- New capability for computers
- Examples
- Database mining
- Large datasets from growth of automation / web
- E.g. Web click data, medical records, biology, engineering
- Applications can't program by hand.
- E.g. Autonomous helicopter, handwriting recognition, most of Natual Language Processing (NLP), Computer Vision.
- Self-customizing programs
- E.g. Amazon, Netflix product recommendations
- Understanding human learning (brain, real AI)
- Database mining
- Machine Learning definition
- Arthur Samuel (1959). Machine Learning : Field of study that gives computers the ability to learn without being explicitly programmed.
- Tom Mitchel (1998). Well-posed Learning Problem : A computer program is said to learn from experience E with respect to some task T and some perfromance measure P, if its performance on T, as measured by P, improves with experience E.
- T : classifying emails as spam or not spam.
- E : watching you label emails as spam or not spam.
- P : the number (or faction) of emails correctly classified as spam / not spam.
- Machine learning algorithms
- Supervised learning
- Unsupervised learning
- Others : Reinforcement learning and recommender systems
- Practical advice for applying learning algorithms
- Supervised Learning
- "right answers" given
- Regression : Predict continous/real valued output
- E.g. You have a large inventory of identical items. You want to predict how many of these items will sell over the next 3 months.
- Classification : Discrete valued output
- E.g. You'd like software to examine individual customer accounts, and for each account decide if it has been hacked/compromised.
- Unsupervised Learning
- No feedback based on the prediction results
- Clustering
- E.g. Take a collection of 1 million different genes, and find a way to automatically group these genes into groups that are somehow similar or related by different variables, such as lifespan, location, roles, and so on.
- E.g. Given a set of news articles found on the web, group them into set of articles about the same story.
- E.g. Given a database of customer data, automatically discover market segments and group customers into different market segments.
- Non-clustering
- E.g. The "Cocktail Party Algorithm", allows you to find structure in a chaotic environment. (i.e. identifying individual voices and music from a mesh of sounds at a cocktail party).
- Octave for prototype