Git Product home page Git Product logo

machine-learning-curriculum's Introduction

Machine Learning Curriculum

Machine Learning is a branch of Artificial Intelligence dedicated at making machines learn from observational data without being explicitly programmed.

Machine learning and AI are not the same. Machine learning is an instrument in the AI symphony — a component of AI. So what is Machine Learning — or ML — exactly? It’s the ability for an algorithm to learn from prior data in order to produce a behavior. ML is teaching machines to make decisions in situations they have never seen.

Machine Learning in General

Study this section to understand fundamental concepts and develop intuitions before going any deeper.

A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.

Reinforcement Learning

Building a machine that senses the environment and then chooses the best policy (action) to do at any given state to maximize its expected long-term scalar reward is the goal of reinforcement learning.

Deep Learning

Deep learning is a branch of machine learning where deep artificial neural networks (DNN) — algorithms inspired by the way neurons work in the brain — find patterns in raw data by combining multiple layers of artificial neurons. As the layers increase, so does the neural network’s ability to learn increasingly abstract concepts.

The simplest kind of DNN is a Multilayer Perceptron (MLP).

Convolutional Neural Networks

DNNs that work with grid data like sound waveforms, images and videos better than ordinary DNNs. They are based on the assumptions that nearby input units are more related than the distant units. They also utilize translation invariance. For example, given an image, it might be useful to detect the same kind of edges everywhere on the image. They are sometimes called convnets or CNNs.

Recurrent Neural Networks

DNNs that have states. They also understand sequences that vary in length. They are sometimes called RNNs.

Best Practices

Open Source Trained Models

Interesting Techniques & Applications

Nice Blogs & Vlogs to Follow

Impactful People

  • Geoffrey Hinton, he has been called the godfather of deep learning by introducing 2 revolutionizing techniques (ReLU and Dropout) with his students. These techniques solve the Vanishing Gradient and Generalization problem of deep neural networks. He also taught a Neural Networks course at Coursera.
  • Yann LeCun, he invented CNNs (Convolutional neural networks), the kind of network that is really popular among computer vision developers today
  • Yoshua Bengio another serious professor at Deep Learning, you can watch his TEDx talk here (2017)
  • Andrew Ng he discovered that GPUs make deep learning faster. He taught 2 famous online courses, Machine Learning and Deep Learning specialization at Coursera.
  • Juergen Schmidhuber invented LSTM (a particular type of RNN)
  • Jeff Dean, a Google Brain engineer, watch his TEDx Talk
  • Ian Goodfellow, he invented GANs (Generative Adversarial Networks), is an OpenAI engineer
  • David Silver this is the guy behind AlphaGo and Artari reinforcement learning game agents at DeepMind
  • Demis Hassabis CEO of DeepMind, has given a lot of talks about AlphaGo and Reinforcement Learning achievements they have
  • Andrej Karparthy he teaches convnet classes, wrote ConvNetJS, and produces a lot of content for DL community, he also writes a blog (see Nice Blogs & Vlogs to Follow section)
  • Pedro Domingos he wrote the book The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World, watch his TEDx talk here

Libraries, Frameworks and Services

Glancing at their GitHub statistics can give you an estimate for how active/popular each of them is.

AutoML

Make machine learns without the tedious task of feature engineer, model selection, and hyperparameter tuning that you have to do yourself.

Let the machine does machine learning for you!

Cutting-Edge Research

Steal the most recent techniques introduced by smart computer scientists (could be you).

Practitioner Community

Thoughtful Insights for Future Research

Uncategorized

Other Big Lists

I am confused, too many links, where do I start?

If you are a beginner and want to get started with my suggestions, please read this issue: off99555#4

Disclaimer

This is a really big list because I also point to other people's list to ensure that most of the resources are accessible from this page without you looking anywhere else.

Most of these resources are the ones I enjoy reading/watching. I wouldn't put something that I am not interested in here.

NOTE: There is no particular rank for each link. The order in which they appear does not convey any meaning and should not be treated differently.

How to contribute to this list

  1. Fork this repository, then apply your change.
  2. Make a pull request and tag me if you want.
  3. That's it. If your edition is useful, I'll merge it.

Or you can just submit a new issue containing the resource you want me to include if you don't have time to send a pull request.

The resource you want to include should be free to study.


Built with Spacemacs

machine-learning-curriculum's People

Contributors

adventuresinml avatar imgbot[bot] avatar off99555 avatar thatandresv avatar

Watchers

 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.