Skip to content

Machine Learning notes based on a course taught by Andrew Ng.

Notifications You must be signed in to change notification settings

alanmenchaca/machine-learning-course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Machine Learning course

Brief description of the course:

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.

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 we'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.

My Course Certificate:

https://www.coursera.org/account/accomplishments/verify/7Y6GJRNEFLH8

Week 1 - Introduction, Model and Cost Function, Parameter Learning, Linear Algebra (Review)

Introduction:

In this module, we introduce the core idea of teaching a computer to learn concepts using data—without being explicitly programmed.

Linear Regression with One Variable:

Linear regression predicts a real-valued output based on an input value. We discuss the application of linear regression to housing price prediction, present the notion of a cost function, and introduce the gradient descent method for learning.

Linear Algebra Review:

This optional module provides a refresher on linear algebra concepts. Basic understanding of linear algebra is necessary for the rest of the course, especially as we begin to cover models with multiple variables.

Week 2 - Multivariate Linear Regression, Computing Parameters Analytically, Octave/Matlab Tutorial

Linear Regression with Multiple Variables:

What if our input has more than one value? In this module, we show how linear regression can be extended to accommodate multiple input features. We also discuss best practices for implementing linear regression.

Octave/Matlab Tutorial:

This course includes programming assignments designed to help to understand how to implement the learning algorithms in practice. To complete the programming assignments, we will need to use Octave or MATLAB. This module introduces Octave/Matlab and shows how to submit an assignment.

Week 3 - Classification and Representation, Logistic Regression Model, Multiclass Classification, Regularization, Solving the Problem of Overfitting

Logistic Regression:

Logistic regression is a method for classifying data into discrete outcomes. For example, we might use logistic regression to classify an email as spam or not spam. In this module, we introduce the notion of classification, the cost function for logistic regression, and the application of logistic regression to multi-class classification.

Regularization:

Machine learning models need to generalize well to new examples that the model has not seen in practice. In this module, we introduce regularization, which helps prevent models from overfitting the training data.

Week 4 - Neural Networks Representation and Applications

Neural Networks: Representation

Neural networks is a model inspired by how the brain works. It is widely used today in many applications: when our phone interprets and understand your voice commands, it is likely that a neural network is helping to understand our speech; when we cash a check, the machines that automatically read the digits also use neural networks.

Week 5 - Cost Function and Backpropagation, Application of Neural Networks

Neural Networks: Learning

In this module, we introduce the backpropagation algorithm that is used to help learn parameters for a neural network. At the end of this module, we will be implementing our own neural network for digit recognition.

Week 6 - Evaluating a Learning Algorithm, Bias vs. Variance, Machine Learning System Design, Handling Skewed Data, Using Large Data Sets

Advice for Applying Machine Learning:

Applying machine learning in practice is not always straightforward. In this module, we share best practices for applying machine learning in practice, and discuss the best ways to evaluate performance of the learned models.

Machine Learning System Design:

To optimize a machine learning algorithm, we’ll need to first understand where the biggest improvements can be made. In this module, we discuss how to understand the performance of a machine learning system with multiple parts, and also how to deal with skewed data.

Week 7 - Large Margin Classification, Kernels, SVM's in Practice

Support Vector Machines:

Support vector machines, or SVMs, is a machine learning algorithm for classification. We introduce the idea and intuitions behind SVMs and discuss how to use it in practice.

Week 8 - Clustering, Dimensionality Reduction, Principal Component Analysis, Applying PCA

Unsupervised Learning:

We use unsupervised learning to build models that help us understand our data better. We discuss the k-Means algorithm for clustering that enable us to learn groupings of unlabeled data points.

Dimensionality Reduction:

In this module, we introduce Principal Components Analysis, and show how it can be used for data compression to speed up learning algorithms as well as for visualizations of complex datasets.

Week 9 - Density Estimation, Building an Anomaly Detection System, Multivariate Gaussian Distribution

Anomaly Detection:

Given a large number of data points, we may sometimes want to figure out which ones vary significantly from the average. For example, in manufacturing, we may want to detect defects or anomalies. We show how a dataset can be modeled using a Gaussian distribution, and how the model can be used for anomaly detection.

Recommender Systems:

When we buy a product online, most websites automatically recommend other products that we may like. Recommender systems look at patterns of activities between different users and different products to produce these recommendations. In this module, we introduce recommender algorithms such as the collaborative filtering algorithm and low-rank matrix factorization.

Week 10 - Gradient Descent with Large Datasets

Large Scale Machine Learning:

Machine learning works best when there is an abundance of data to leverage for training. In this module, we discuss how to apply the machine learning algorithms with large datasets.

Week 11 - Application Example

Application Example: Photo OCR

Identifying and recognizing objects, words, and digits in an image is a challenging task. We discuss how a pipeline can be built to tackle this problem and how to analyze and improve the performance of such a system.

Disclaimer

The solutions to the assignments and quizzes uploaded here are only for reference.


Taught by Andrew Ng. (Instructor)

Offered by Stanford University