machine-learning-curriculum

所属分类:数值算法/人工智能
开发工具:Others
文件大小:0KB
下载次数:0
上传日期:2024-03-03 09:16:20
上 传 者sh-1993
说明:  学会让机器学习,这样你就不必费力地为它们编程;最终列表
(Learn to make machines learn so that you don t have to struggle to program them; The ultimate list)

文件列表:
img/
LICENSE

# 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. This curriculum is made to guide you to learn machine learning, recommend tools, and help you to embrace ML lifestyle by suggesting media to follow. I update it regularly to maintain freshness and get rid of outdated content and deprecated tools. ## 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`. * [Elements of AI](https://www.elementsofai.com/) A bunch of easy courses teaching AI and machine learning * [COMS W4995 Applied Machine Learning Spring 2020](https://www.cs.columbia.edu/~amueller/comsw4995s20/schedule/) videos and slides of an applied ML course from Columbia University. * [Opinionated Machine Learning Course by Fast.ai](http://course.fast.ai/ml.html) * [Machine Learning Crash Course with TensorFlow APIs](https://developers.google.com/machine-learning/crash-course/) Google's fast-paced, practical introduction to machine learning * [Intro to Machine Learning - Udacity](https://www.udacity.com/course/intro-to-machine-learning--ud120) hands on scikit-learn (python) programming learning on core ML concepts * [Machine Learning: Supervised, Unsupervised & Reinforcement - Udacity](https://www.udacity.com/course/machine-learning--ud262) the 2 instructors are hilarious * [Machine Learning Mastery](http://machinelearningmastery.com/start-here/) carefully laid out step-by-step guide to some particular algorithms * [Andrew Ng's Specialization on Coursera](https://www.coursera.org/specializations/machine-learning-introduction) recommended for people who want to know the details of ML algorithms under the hood, understand enough maths to be dangerous and do coding assignments in python * [ML Recipes - YouTube Playlist](https://www.youtube.com/playlist?list=PLOU2XLYxmsIIuiBfYad6rFYQU_jL2ryal) a really nicely designed concrete actionable content for ML introduction * [Machine Learning is Fun Part 1](https://medium.com/@ageitgey/machine-learning-is-fun-80ea3ec3c471) simple approach to machine learning for non-maths people * [Machine Learning with Python - YouTube Playlist](https://www.youtube.com/playlist?list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v) * [Machine Learning Yearning by Andrew Ng](http://www.mlyearning.org/) * [Landing A Data Job: The Course](https://www.sharpestminds.com/landing-a-data-job-the-course) is an opinionated and practical guideline for people who want to focus on landing a job. For example, they suggest that knowing how decision tree works is already good enough, you don't need to know how all the models work, which is true! But this advice is mostly for tabular data. * [Serverless Machine Learning](https://www.serverless-ml.org/) Build your own Machine Learning Serverless Prediction Service * [Effective MLOps: Model Development](https://www.wandb.courses/courses/effective-mlops-model-development) A free course by Weights & Biases with certification * [Mathematics for Machine Learning and Data Science Specialization](https://www.coursera.org/specializations/mathematics-for-machine-learning-and-data-science) math course by Coursera ### Books * [Machine Learning with PyTorch and Scikit-Learn](https://sebastianraschka.com/books/#machine-learning-with-pytorch-and-scikit-learn) by Sebastian Raschka * [Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition](https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/) by Aurélien Géron is the best selling book because it's great. * https://github.com/fastai/fastbook The fastai book, published as Jupyter Notebooks * https://www.deeplearningbook.org/ math heavy book by Ian Goodfellow and Yoshua Bengio and Aaron Courville * https://christophm.github.io/interpretable-ml-book/ A Guide for Making Black Box Models Explainable * https://themlbook.com/ The Hundred-Page Machine learning book by Andriy Burkov ## 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. * [OpenAI Spinning Up](https://spinningup.openai.com/en/latest/index.html) This is an educational resource produced by OpenAI that makes it easier to learn about deep reinforcement learning (deep RL). * [Basic Reinforcement Learning](https://github.com/vmayoral/basic_reinforcement_learning) An introduction series to Reinforcement Learning (RL) with comprehensive step-by-step tutorials. * [Advanced Topics: RL 2015 (COMPM050/COMPGI13)](http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.html) by [David Silver](http://www0.cs.ucl.ac.uk/staff/d.silver/web/Home.html) (the guy behind [AlphaGo](https://deepmind.com/research/alphago/)) * [An Introduction Book by Richard S. Sutton and Andrew G. Barto](https://webdocs.cs.ualberta.ca/~sutton/book/ebook/the-book.html) * [Deep Reinforcement Learning: Pong from Pixels](http://karpathy.github.io/2016/05/31/rl/) * [Lecture 10: Reinforcement Learning - YouTube](https://www.youtube.com/watch?v=IXuHxkpO5E8) * [A Survey Paper](https://www.jair.org/media/301/live-301-1562-jair.pdf) * [Deep Reinforcement Learning: A Tutorial - OpenAI](https://gym.openai.com/docs/rl) * [CS 294: Deep Reinforcement Learning, Spring 2017](http://rll.berkeley.edu/deeprlcourse/) ## 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](https://en.wikipedia.org/wiki/Multilayer_perceptron) (MLP).
* [THE LITTLE BOOK OF DEEP LEARNING](https://fleuret.org/francois/lbdl.html) This book is a short introduction to deep learning for readers with a STEM background, originally designed to be read on a phone screen. It is distributed under a non-commercial Creative Commons license and was downloaded close to 250'000 times in the month following its public release. * [Full Stack Deep Learning](https://fullstackdeeplearning.com/) Learn Production-Level Deep Learning from Top Practitioners * [DeepLearning.ai](https://www.deeplearning.ai/) a bunch of courses taught by Andrew Ng at Coursera; It's the sequel of [Machine Learning course](https://www.coursera.org/learn/machine-learning) at Coursera. * [Intro to Deep Learning with PyTorch](https://www.udacity.com/course/deep-learning-pytorch--ud188) a course by Facebook AI on Udacity * [A friendly introduction to Deep Learning and Neural Networks](https://www.youtube.com/watch?v=BR9h47Jtqyw) * [A Neural Network Playground](http://playground.tensorflow.org/) Tinker with a simple neural network designed to help you visualize the learning process * [Deep Learning Demystified - Youtube](https://www.youtube.com/watch?v=Q9Z20HCPnww) explain inspiration of deep learning from real neurons to artificial neural networks * [Learn TensorFlow and deep learning, without a Ph.D.](https://cloud.google.com/blog/big-data/2017/01/learn-tensorflow-and-deep-learning-without-a-phd) This 3-hour course (video + slides) offers developers a quick introduction to deep-learning fundamentals, with some TensorFlow thrown into the bargain. * [A Guide to Deep Learning by YN^2](http://yerevann.com/a-guide-to-deep-learning/) a curated maths guide to Deep Learning * [Practical Deep Learning For Coders Course at Fast.ai](http://course.fast.ai/) taught by Jeremy Howard (Kaggle's #1 competitor 2 years running, and founder of Enlitic) * [Deep learning - Udacity](https://www.udacity.com/course/deep-learning--ud730) recommended for visual learner who knows some ML, this course provides high level ideas of deep learning, dense intuitive details put in a short amount of time, you will use TensorFlow inside the course * [Deep Learning Summer School, Montreal 2015](http://videolectures.net/deeplearning2015_montreal/) * [Neural networks class - YouTube Playlist](https://www.youtube.com/playlist?list=PL6Xpj9I5qXYEcOhn7TqghAJ6NAPrNmUBH) * [http://neuralnetworksanddeeplearning.com/index.html](http://neuralnetworksanddeeplearning.com/index.html) a hands-on online book for deep learning maths intuition, I can say that after you finish this, you will be able to explain deep learning in a fine detail. * [The Neural Network Zoo](http://www.asimovinstitute.org/neural-network-zoo/) a bunch of neural network models that you should know about (I know about half of them so don't worry that you don't know many because most of them are not popular or useful in the present) * [Intro to TensorFlow for Deep Learning](https://www.udacity.com/course/intro-to-tensorflow-for-deep-learning--ud187) taught at Udacity * [Primers AI](https://aman.ai/primers/ai/) Here’s a hand-picked selection of articles on AI fundamentals/concepts that cover the entire process of building neural nets to training them to evaluating results. There is also a very detailed Transformer architecture explanation. * [Hugging Face Diffusion Models Course](https://github.com/huggingface/diffusion-models-class) Learn the theory, train the model from scratch, and use it to generate images and audio. * [Deep Learning Fundamentals](https://lightning.ai/pages/courses/deep-learning-fundamentals/) by Lightning.AI with Sebastian Raschka ### 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**. * [How Convolutional Neural Networks work - Youtube](https://www.youtube.com/watch?v=FmpDIaiMIeA) technical explanation including pooling operations, ReLU, fully connected layer, optimization using gradient descent * [Neural Network that Changes Everything - Computerphile](https://www.youtube.com/watch?v=py5byOOHZM8) * [A Beginner's Guide To Understanding Convolutional Neural Networks](https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner%27s-Guide-To-Understanding-Convolutional-Neural-Networks/) * [Deep Learning for Computer Vision (Andrej Karparthy, OpenAI)](https://www.youtube.com/watch?v=u6aEYuemt0M) this is my most favorite video of convolutional net. Andrej explains convnet in detail answering all the curious questions that one might have. For example, most articles only talk about convolution in grayscale image, but he describe convolution in images with color channels as well. He also talks about the concerns and the assumptions that convnets make. This is a great lecture! * [Understanding Neural Networks Through Deep Visualization](http://yosinski.com/deepvis) explains how to visualize a convnet using various techniques ### Recurrent Neural Networks DNNs that have states. They also understand sequences that vary in length. They are sometimes called **RNNs**. * [http://karpathy.github.io/2015/05/21/rnn-effectiveness/](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) * [http://colah.github.io/posts/2015-08-Understanding-LSTMs/](http://colah.github.io/posts/2015-08-Understanding-LSTMs/) * [http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/](http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/) ### Best Practices * [Rules of Machine Learning: Best Practices for ML Engineering](https://developers.google.com/machine-learning/guides/rules-of-ml) it's a document by Martin Zinkevich about Google's best practices in machine learning. * [A Recipe for Training Neural Networks](http://karpathy.github.io/2019/04/25/recipe/) Andrej's blogpost about how to train yourself to be a paranoid machine learning engineer. * [How to debug neural networks. Manual.](https://hackernoon.com/how-to-debug-neural-networks-manual-dc2a200f10f2) * [An overview of gradient descent optimization algorithms](http://ruder.io/optimizing-gradient-descent/index.html) * [Deep Learning Tuning Playbook](https://github.com/google-research/tuning_playbook) A playbook for systematically maximizing the performance of deep learning models. ## Tools Libraries and frameworks that are useful for practical machine learning ### Frameworks Machine learning building blocks * [scikit-learn](https://github.com/scikit-learn/scikit-learn) general machine learning library, high level abstraction, geared towards beginners * [TensorFlow](https://github.com/tensorflow/tensorflow); [Awesome TensorFlow](https://github.com/jtoy/awesome-tensorflow); computation graph framework built by Google, has nice visualization board, probably the most popular framework nowadays for doing Deep Learning * [Keras: Deep Learning for humans](https://github.com/keras-team/keras) Keras is a deep learning API written in Python, running on top of TensorFlow. It's still king of high level abstraction for deep learning. **Update: Keras is now available for TensorFlow, JAX and PyTorch!** * [PyTorch](https://github.com/pytorch/pytorch) Tensors and Dynamic neural networks in Python with strong GPU acceleration. It's commonly used by cutting-edge researchers including OpenAI. * [Lightning](https://github.com/Lightning-AI/lightning) The Deep Learning framework to train, deploy, and ship AI products Lightning fast. (Used to be called PyTorch Lightning) * [JAX](https://github.com/google/jax) is Autograd and XLA, brought together for high-performance machine learning research. * [OneFlow](https://github.com/Oneflow-Inc/oneflow) is a deep learning framework designed to be user-friendly, scalable and efficient. * [Apache MXNet (incubating) for Deep Learning](https://github.com/apache/incubator-mxnet) Apache MXNet is a deep learning framework designed for both efficiency and flexibility. It allows you to mix symbolic and imperative programming to maximize efficiency and productivity. * [Chainer](https://github.com/pfnet/chainer) A flexible framework of neural networks for deep learning * [Vowpal Wabbit](https://github.com/VowpalWabbit/vowpal_wabbit) is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning. There is a specific focus on reinforcement learning with several contextual bandit algorithms implemented and the online nature lending to the problem well. * [H2O](https://github.com/h2oai/h2o-3) is an in-memory platform for distributed, scalable machine learning. * [spektral](https://github.com/danielegrattarola/spektral/) Graph Neural Networks with Keras and Tensorflow 2. * [Ivy](https://github.com/unifyai/ivy) is both an ML transpiler and a framework, currently supporting JAX, TensorFlow, PyTorch and Numpy. Ivy unifies all ML frameworks enabling you not only to write code that can be used with any of these frameworks as the backend, but also to convert any function, model or library written in any of them to your preferred framework! #### No coding * [Ludwig](https://github.com/ludwig-ai/ludwig) Ludwig is a toolbox that allows users to train and test deep learning models without the need to write code. It is built on top of TensorFlow. #### Gradient Boosting Models that are used heavily in competitions because of their outstanding generalization performance. * https://github.com/dmlc/xgboost eXtreme Gradient Boosting * https://github.com/microsoft/LightGBM lightweight alternative compared to xgboost * https://github.com/catboost/catboost A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU. * https://github.com/tensorflow/decision-forests TensorFlow Decision Forests (TF-DF) is a collection of state-of-the-art algorithms for the training, serving and interpretation of Decision Forest models. * [PyTorch](https://github.com/dreamquark-ai/tabnet)/[TensorFlow](https://github.com/titu1994/tf-TabNet) implementation of [TabNet paper](https://arxiv.org/pdf/1908.07442.pdf). Further read: [TabNet balances explainability and model performance on tabular data, but can it dethrone boosted tree models?](https://towardsdatascience.com/tabnet-e1b979907694) #### Time Series Inference Time series data require unique feature extraction process for them to be usable in most machine learning models because most models require data to be in a tabular format. Or you can use special model architectures which target time series e.g. LSTM, TCN, etc. * https://github.com/timeseriesAI/tsai Time series Timeseries Deep Learning Pytorch fastai - State-of-the-art Deep Learning with Time Series and Sequences in Pytorch / fastai. Further read: [tsai — State of the Art Machine Learning for Time Series, Part 1.](https://peijin.medium.com/tsai-state-of-the-art-machine-learning-for-time-series-part-1-dd4cac6707bc) * https://github.com/alan-turing-institute/sktime A unified framework for machine learning with time series * https://github.com/sktime/sktime-dl An extension package for deep learning with Tensorflow/Keras for sktime * https://github.com/tslearn-team/tslearn/ A machine learning toolkit dedicated to time-series data * https://github.com/blue-yonder/tsfresh Automatic extraction of relevant features from time series * https://github.com/johannfaouzi/pyts A Python package for time series classification * https://github.com/facebook/prophet Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth. * https://github.com/philipperemy/keras-tcn Keras Temporal Convolutional Network * [ROCKET: Exceptionally fast and accurate time series classification using random convolutional kernels](https://github.com/angus924/rocket); [MINIROCKET: A Very Fast (Almost) Deterministic Transform for Time Series Classification](https://github.com/angus924/minirocket); these 2 techniques are for extracting time series features. Further read: [ROCKET: Fast and Accurate Time Series Classification](https://pub.towardsai.net/rocket-fast-and-accurate-time-series-classification-f54923ad0ac9) ### Life Cycle Libraries that help you develop/debug/deploy the model in production (MLOps). There is more to ML than training the model. * https://huggingface.co/ Just like GitHub, but for storing ML models, datasets, and apps (they call apps as spaces). They have libraries for you to easily use their models/datasets in your code. The storage is free and unlimited for both public and private projects. * https://wandb.ai/ Build better models faster wi ... ...

近期下载者

相关文件


收藏者