GithubHelp home page GithubHelp logo

htnani / machine-learning Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jayurbain/machine-learning

0.0 1.0 0.0 453.42 MB

Machine learning course materials

Jupyter Notebook 80.83% Python 0.65% HTML 9.40% CSS 0.06% JavaScript 9.06%

machine-learning's Introduction


Machine Learning

This course provides an introduction to machine learning. Machine learning explores the study and construction of algorithms that can learn from and make predictions on data. Such algorithms operate by building a model from example inputs in order to make data-driven predictions or decisions, rather than following strictly static program instructions.

Topic categories include supervised, unsupervised, and reinforcement learning. Students will learn how to apply machine learning methods to solve problems in computer vision, natural language processing, classification, and prediction. Fundamental and current state-of-the-art methods including boosting and deep learning will be covered. Students will reinforce their learning of machine learning algorithms with hands-on tutorial oriented laboratory exercises using Jupyter Notebooks.

Prerequisites: MA-262 Probability and Statistics; programming maturity, and the ability to program in Python.

Helpful: CS3851 Algorithms, MA-383 Linear Algebra, Data Science.

ABET: Math/Science, Engineering Topics.

2-2-3 (class hours/week, laboratory hours/week, credits)

Lectures are augmented with hands-on tutorials using Jupyter Notebooks. Laboratory assignments will be completed using Python and related data science packages: NumPy, Pandas, ScipPy, StatsModels, Scikit-learn, Matplotlib, TensorFlow, Keras, PyTorch.

Prerequisites: MA-262 Probability and Statistics; programming maturity, and the ability to program in Python.

Helpful: CS3851 Algorithms, MA-383 Linear Algebra, Data Science.

ABET: Math/Science, Engineering Topics.

Outcomes:

  • Understand the basic process of machine learning.
  • Understand the concepts of learning theory, i.e., what is learnable, bias, variance, overfitting.
  • Understand the concepts and application of supervised, unsupervised, semi-supervised, and reinforcement learning.
  • The ability to analyze a data set including the ability to understand which data attributes (dimensions) affect the outcome.
  • Understand the application of learned models to problems in classification, prediction, clustering, computer vision, and NLP.
  • Understand deep learning concepts and architectures including representation learning Multi-layer Perceptrons, Convolutional Neural Networks, Recurrent Neural Networks, and Attention Mechanisms.
  • The ability to assess the quality of predictions and inferences.
  • The ability to apply methods to real world data sets.

References:

Hands-On Machine Learning with Scikit-Learn and TensorFlow Concepts, Tools, and Techniques to Build Intelligent Systems, Aurélien Géron. O'Reilly Media, 2017

Deep Learning with Python, François Chollet. Manning, 2017.

Deep Learning, Ian Goodfellow, Yoshua Bengio, and Aaron Courville. MIT Press, 2016.

[An Introduction to Statistical Learning: with Applications in R]. Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani. 2015 Edition, Springer.](http://www-bcf.usc.edu/~gareth/ISL/ISLR%20Seventh%20Printing.pdf)

Python Data Science Handbook, Jake VanderPlas, O'Reilly.

Mining of Massive Datasets. Anand Rajaraman and Jeffrey David Ullman. http://infolab.stanford.edu/~ullman/mmds.html


Week 1: Intro to Machine Learning, Linear Regression

Lecture:

  1. Introduction to Machine Learning
  • Demonstrations
  1. Linear Regression

Lab Notebooks:

Optional tutorial notebooks:

Outcomes addressed in week 1:

  • Understand the basic process of machine learning:
  • Understand the concepts and application of supervised, unsupervised, semi-supervised, and reinforcement learning.

Week 2: Gradient Descent Learning, Logistic Regression

Lecture:

  1. Gradient Descent
  1. Logistic Regression

Lab Notebooks:

Optional exercise:

Online Machine Learning with Stochastic Gradient Descent

Outcomes addressed in week 2:

  • Understand the concepts of learning theory, i.e., what is learnable, bias, variance, overfitting.
  • Understand the concepts and application of supervised, unsupervised, semi-supervised, and reinforcement learning.

Week 3: Model Selection and Regularization, Decision Trees

Lecture:

  1. Model selection and regularization

  2. Decision Trees, Overfitting, Model Selection, Techniques to Improve Classifier Accuracy Slides

Lab Notebooks:

Introduction to Machine Learning with SciKit Learn.ipynb
Supervised Learning - Linear Regression Submission required
Supervised Learning - Logistic Regression Submission required
Generalized Linear Models Optional

Outcomes addressed in week 3:

  • Understand the concepts of learning theory, i.e., what is learnable, bias, variance, overfitting.
  • Understand the concepts and application of supervised, unsupervised, semi-supervised, and reinforcement learning.
  • The ability to analyze a data set including the ability to understand which data attributes (dimensions) affect the outcome.

Week 4: Probabilistic Models

Lecture:

  1. Validation, Bagging, Boosting, Random Forests

  2. Naive Bayes Slides 87-102

  3. Bayesian Networks optional

Lab Notebooks:

Outcomes addressed in week 4:

  • Understand the concepts of learning theory, i.e., what is learnable, bias, variance, overfitting.
  • Understand the concepts and application of supervised, unsupervised, semi-supervised, and reinforcement learning.
  • The ability to analyze a data set including the ability to understand which data attributes (dimensions) affect the outcome.
  • Understand the application of learned models to problems in classification, prediction, clustering, computer vision, and NLP.

Week 5: Unsupervised Learning

Lecture:

  1. K-Means Clustering
  2. Hierarchical Agglomerative and Probabilistic Clustering

Lab Notebooks:

Outcomes addressed in week 5:

  • Understand the concepts and application of supervised, unsupervised, semi-supervised, and reinforcement learning.
  • The ability to analyze a data set including the ability to understand which data attributes (dimensions) affect the outcome.
  • Understand the application of learned models to problems in classification, prediction, clustering, computer vision, and NLP.

Week 6: Midterm, Dimensionality Reduction

Lecture:

  1. Dimensionality Reduction

  2. Midterm exam

Lab Notebooks:

  • SVD Hands-on only
  • PCA Hands-on only

Outcomes addressed in week 6:

  • Understand the concepts and application of supervised, unsupervised, semi-supervised, and reinforcement learning.
  • The ability to analyze a data set including the ability to understand which data attributes (dimensions) affect the outcome.

Week 7: Introduction to Neural Networks and Deep Learning

Lecture:

  1. Deep Learning Introduction 1

  2. Deep Learning Introduction 2

  3. Backpropagation

Lab Notebooks:

Option 1

Note: need to prune answers from notebooks

Outcomes addressed in week 8:

  • Understand the concepts of learning theory, i.e., what is learnable, bias, variance, overfitting.
  • Understand the concepts and application of supervised, unsupervised, semi-supervised, and reinforcement learning.
  • Understand the application of learned models to problems in classification, prediction, clustering, computer vision, and NLP.
  • Understand deep learning concepts and architectures including representation learning Multi-layer Perceptrons, Convolutional Neural Networks, Recurrent Neural Networks, and Attention Mechanisms.

Week 8: Deep Learning for Computer Vision

Lecture:

  1. Deep Learning for Computer Vision

  2. Convnets

Lab Notebooks:

Keras Intro Submission required
Image Classification Submission required

Note: need to prune answers from notebooks

Outcomes addressed in week 9:

  • Understand the concepts of learning theory, i.e., what is learnable, bias, variance, overfitting.
  • Understand the concepts and application of supervised, unsupervised, semi-supervised, and reinforcement learning.
  • Understand the application of learned models to problems in classification, prediction, clustering, computer vision, and NLP.
  • Understand deep learning concepts and architectures including representation learning Multi-layer Perceptrons, Convolutional Neural Networks, Recurrent Neural Networks, and Attention Mechanisms.

Week 9: Deep Learning for NLP

Lecture:

  1. NLP Classification

  2. Optional Convnets for Structured Prediction

  3. NLP Translation

Lab Notebooks:

Note: need to prune answers from notebooks

Outcomes addressed in week 9:

  • Understand the concepts of learning theory, i.e., what is learnable, bias, variance, overfitting.
  • Understand the concepts and application of supervised, unsupervised, semi-supervised, and reinforcement learning.
  • Understand the application of learned models to problems in classification, prediction, clustering, computer vision, and NLP.
  • Understand deep learning concepts and architectures including representation learning Multi-layer Perceptrons, Convolutional Neural Networks, Recurrent Neural Networks, and Attention Mechanisms.

Week 10:  Generative Deep Learning

Lecture:

  1. Future Challenges

  2. Auto-encoder, Variational Auto-encoder, GANs TBD: probably too advanced

Lab Notebooks:

Complete assignments

Outcomes addressed in week 10:

  • Understand the concepts of learning theory, i.e., what is learnable, bias, variance, overfitting.
  • Understand the concepts and application of supervised, unsupervised, semi-supervised, and reinforcement learning.
  • Understand the application of learned models to problems in classification, prediction, clustering, computer vision, and NLP.
  • Understand deep learning concepts including representation learning.

machine-learning's People

Contributors

jayurbain avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.