Convert Figma logo to code with AI

yanshengjia logoml-road

Machine Learning Resources, Practice and Research

3,245
1,211
3,245
5

Top Related Projects

185,446

An Open Source Machine Learning Framework for Everyone

scikit-learn: machine learning in Python

61,580

Deep Learning for humans

82,049

Tensors and Dynamic neural networks in Python with strong GPU acceleration

12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all

A series of Jupyter notebooks that walk you through the fundamentals of Machine Learning and Deep Learning in Python using Scikit-Learn, Keras and TensorFlow 2.

Quick Overview

The yanshengjia/ml-road repository is a comprehensive roadmap and resource collection for machine learning enthusiasts and practitioners. It provides a structured learning path, covering various aspects of machine learning, deep learning, and artificial intelligence. The repository serves as a guide for both beginners and experienced professionals looking to expand their knowledge in the field.

Pros

  • Offers a well-organized and structured learning path for machine learning
  • Includes a wide range of topics, from basic concepts to advanced techniques
  • Provides links to high-quality resources, including courses, books, and papers
  • Regularly updated with new content and resources

Cons

  • May be overwhelming for absolute beginners due to the vast amount of information
  • Some linked resources may become outdated or unavailable over time
  • Lacks interactive elements or hands-on exercises within the repository itself
  • Primarily focuses on theoretical knowledge rather than practical implementation

Getting Started

To get started with the ml-road repository:

  1. Visit the GitHub repository: https://github.com/yanshengjia/ml-road
  2. Browse through the README.md file to get an overview of the roadmap
  3. Choose a starting point based on your current knowledge level
  4. Follow the links provided for each topic to access learning resources
  5. Track your progress by checking off completed topics
  6. Contribute to the repository by suggesting new resources or improvements through pull requests

Competitor Comparisons

185,446

An Open Source Machine Learning Framework for Everyone

Pros of TensorFlow

  • Extensive ecosystem with robust tools and libraries
  • Large community support and frequent updates
  • Production-ready with scalability for enterprise applications

Cons of TensorFlow

  • Steeper learning curve for beginners
  • More complex setup and configuration
  • Heavier resource requirements

Code Comparison

ml-road:

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

TensorFlow:

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers

model = keras.Sequential([
    layers.Dense(64, activation='relu', input_shape=(784,)),
    layers.Dense(10, activation='softmax')
])

Key Differences

  • ml-road focuses on providing a learning roadmap and resources for machine learning
  • TensorFlow is a comprehensive framework for building and deploying machine learning models
  • ml-road uses simpler, high-level libraries like scikit-learn
  • TensorFlow offers more flexibility and control over model architecture and training

Use Cases

  • ml-road: Ideal for beginners learning machine learning concepts
  • TensorFlow: Suitable for advanced projects, research, and production deployments

scikit-learn: machine learning in Python

Pros of scikit-learn

  • Comprehensive and well-established machine learning library with a wide range of algorithms and tools
  • Extensive documentation, community support, and integration with other popular data science libraries
  • Actively maintained by a large team of contributors, ensuring regular updates and improvements

Cons of scikit-learn

  • Steeper learning curve for beginners due to its extensive functionality and API
  • May be overkill for simple machine learning tasks or projects with limited scope

Code Comparison

ml-road:

import numpy as np
from sklearn.linear_model import LinearRegression

X = np.array([[1], [2], [3], [4], [5]])
y = np.array([2, 4, 5, 4, 5])

model = LinearRegression()
model.fit(X, y)

scikit-learn:

from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)

The ml-road example provides a basic implementation of linear regression, while the scikit-learn example showcases additional features like train-test splitting and model evaluation, demonstrating its more comprehensive approach to machine learning tasks.

61,580

Deep Learning for humans

Pros of Keras

  • Mature, widely-used deep learning framework with extensive documentation
  • Supports multiple backend engines (TensorFlow, Theano, CNTK)
  • Large community and ecosystem of extensions and pre-trained models

Cons of Keras

  • More complex and feature-rich, potentially overwhelming for beginners
  • Focused specifically on deep learning, not a general machine learning resource
  • Steeper learning curve for those new to neural networks

Code Comparison

Keras (model definition):

from keras.models import Sequential
from keras.layers import Dense

model = Sequential([
    Dense(64, activation='relu', input_shape=(784,)),
    Dense(10, activation='softmax')
])

ml-road (no equivalent code, as it's a learning resource repository)

Additional Notes

ml-road is a curated list of machine learning resources and learning paths, while Keras is an actual deep learning library. ml-road serves as a guide for learners, covering various ML topics, whereas Keras is a tool for implementing neural networks.

ml-road may be more suitable for beginners looking to explore different areas of machine learning, while Keras is better for those ready to dive into practical deep learning implementations.

82,049

Tensors and Dynamic neural networks in Python with strong GPU acceleration

Pros of pytorch

  • Extensive, production-ready deep learning framework with broad industry adoption
  • Large community and ecosystem of tools, extensions, and pre-trained models
  • Highly optimized performance for GPU acceleration

Cons of pytorch

  • Steeper learning curve for beginners compared to ml-road's curated resources
  • Larger codebase and more complex architecture
  • Focused solely on deep learning, while ml-road covers broader ML topics

Code Comparison

ml-road example (basic linear regression):

from sklearn.linear_model import LinearRegression

model = LinearRegression()
model.fit(X_train, y_train)
predictions = model.predict(X_test)

pytorch example (basic neural network):

import torch.nn as nn

class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.fc = nn.Linear(input_size, output_size)
    
    def forward(self, x):
        return self.fc(x)

ml-road is a curated collection of machine learning resources and tutorials, while pytorch is a comprehensive deep learning framework. ml-road is better suited for beginners looking to learn ML concepts, while pytorch is ideal for practitioners implementing advanced deep learning models in production environments.

12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all

Pros of ML-For-Beginners

  • More comprehensive curriculum with structured lessons and quizzes
  • Regularly updated with contributions from the community
  • Includes practical projects and hands-on exercises

Cons of ML-For-Beginners

  • May be overwhelming for absolute beginners due to its breadth
  • Focuses more on theory and concepts than practical implementation
  • Requires more time commitment to complete the entire course

Code Comparison

ML-For-Beginners:

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = LogisticRegression()
model.fit(X_train, y_train)

ml-road:

import tensorflow as tf
from tensorflow import keras

model = keras.Sequential([
    keras.layers.Dense(64, activation='relu', input_shape=(784,)),
    keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

The ML-For-Beginners repository provides a more structured learning path with a focus on various ML concepts, while ml-road offers a concise roadmap with practical code examples. ML-For-Beginners is better suited for those seeking a comprehensive understanding of ML, whereas ml-road is more appropriate for quick reference and implementation guidance.

A series of Jupyter notebooks that walk you through the fundamentals of Machine Learning and Deep Learning in Python using Scikit-Learn, Keras and TensorFlow 2.

Pros of handson-ml2

  • More comprehensive coverage of machine learning topics
  • Includes Jupyter notebooks with interactive code examples
  • Regularly updated with new content and improvements

Cons of handson-ml2

  • May be overwhelming for absolute beginners
  • Focuses primarily on TensorFlow and Scikit-learn

Code Comparison

ml-road:

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

handson-ml2:

import tensorflow as tf
from tensorflow import keras
import matplotlib.pyplot as plt
import numpy as np

Summary

handson-ml2 is a more extensive resource for learning machine learning, offering in-depth coverage of various topics with interactive Jupyter notebooks. It's particularly useful for those interested in TensorFlow and Scikit-learn. However, it might be challenging for complete beginners.

ml-road provides a more focused roadmap for learning machine learning, which may be more suitable for beginners. It covers a range of topics but may not go into as much depth as handson-ml2.

Both repositories offer valuable resources for learning machine learning, with handson-ml2 being more comprehensive and ml-road potentially more accessible for newcomers to the field.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Machine Learning Road

Machine Learning Resources, Practice and Research.

Disclamier

The resources in this repo are only for educational purpose. Do not use resources in this repo for any form of commercial purpose.

If the author of ebook found your intelligence proprietary violated because of contents in this repo, please contact me and I will remove relevant stuff ASAP.


Courses

Course NameInstitutionLecturerLinkCategory
Machine LearningCourseraAndrew Ng[Coursera][Bilibili][Youtube]Machine Learning
Machine Learning FoundationsNational Taiwan UniversityHsuan-Tien Lin[Bilibili][Youtube]Machine Learning
Machine Learning TechniquesNational Taiwan UniversityHsuan-Tien Lin[Bilibili][Youtube]Machine Learning
Machine LearningStanfordAndrew Ng[Netease][Youtube]Machine Learning
Deep Learningdeeplearning.aiAndrew Ng[Netease][Coursera]Deep Learning
CS231n: Convolutional Neural Networks for Visual RecognitionStanfordFei-Fei Li[Homepage][Youtube]Deep Learning, Computer Vision
CS224n: Natural Language Processing with Deep LearningStanfordChristopher Manning[Homepage][Youtube]Deep Learning, NLP
Deep Learning for Natural Language ProcessingOxford UniversityPhil Blunsom[Homepage][Slides]Deep Learning, NLP
Applied Deep Learning / Machine Learning and Having It Deep and StructuredNational Taiwan UniversityYun-Nung Chen, Hung-Yi Lee[Homepage][Youtube]Machine Learning, Deep Learning
CS 20: TensorFlow for Deep Learning ResearchStanfordChip Huyen[Homepage][Github]Deep Learning
CS 294: Deep Reinforcement LearningUC BerkeleySergey Levine[Homepage][Youtube]Deep Learning, Reinforcement Learning
Neural Networks for NLPCMUGraham Neubig[Homepage]NLP, Deep Learning
Mathematics of Deep LearningNYUJoan Bruna[Github]Deep Learning
Introduction to NLPStanfordDan Jurafsky, Chris Manning[Youtube]NLP
Text Mining and AnalyticsUIUCChengXiang Zhai[Coursera]NLP
Machine Learning Crash Course with TensorFlow APIsGoogleGoogle[Homepage]Machine Learning, Tensorflow
CS230: Deep LearningStanfordAndrew Ng, Kian Katanforoosh[Homepage]Deep Learning
Intro to Deep Learning with PyTorchFacebook AIFacebook AI[Udacity]Deep Learning, PyTorch
Introduction to Deep LearningUC BerkeleyAlex Smola, Mu Li[Youtube][GitHub]Deep Learning
Foundations of Machine LearningNYUMehryar Mohri[Homepage]Machine Learning
DS1003 Machine LearningNYUJulia Kempe, David Rosenberg[Homepage][Slides] [Youtube][Assignments]Machine Learning
TensorFlow in PracticeCourseraLaurence Moroney[Coursera]TensorFlow
DS-GA 1008 Deep LearningNYUYann LeCun, Alfredo Canziani[Homepage] [YouTube][Bilibili]Deep Learning, PyTorch
Deep Learning for Human Language ProcessingNational Taiwan UniversityHung-yi Lee[Homepage] [YouTube]Deep Learning, NLP

Books

Book NameAuthorLinkCategory
机器学习周志华[Amazon][JD]Machine Learning
Deep LearningIan Goodfellow, Yoshua Bengio, Aaron Courville[PDF][中文版]Deep Learning
Machine LearningTom Mitchell[PDF]Machine Learning
Pattern Recogniton and Machine LearningChristopher Bishop[PDF][中文版]Machine Learning
The Elements of Statistical LearningTrevor Hastie, Robert Tibshirani, Jerome Friedman[PDF]Machine Learning
Data Mining: Practical Machine Learning Tools and TechniquesIan H. Witten, Eibe Frank[PDF]Data Mining
Artificial Intelligence: A Modern ApproachSturart J. Russell, Peter Norvig[PDF]AI
Machine Learning: A Probabilistic PerspectiveKevin P. Murphy[PDF]Machine Learning
Natural Language Processing with PythonStven Bird, Ewan Klein, Edward Loper[PDF][Link]NLP
Getting Started with TensorflowGiancarlo Zaccone[PDF]Tensorflow
Hands-On Machine Learning with Scikit-Learn and TensorFlowAurélien Géron[PDF][Github]Machine Learning
Deep Learning with PythonFrançois Chollet[PDF][Github]Deep Learning
Probabilistic Graphical Models: Principles and TechniquesDaphne Koller, Nir Friedman[PDF]Probabilistic Graphical Model
Speech and Language ProcessingDan Jurafsky, James H. Martin[Homepage][PDF]NLP
Neural Network Methods for Natural Language ProcessingYoav Goldberg[PDF]NLP
统计学习方法李航[Amazon]Machine Learning
Natural Language ProcessingJacob Eisenstein[PDF]NLP
Dive into Deep Learning 动手学深度学习Aston Zhang, Mu Li, Zachary C.Lipton, Alexander J.Smola[中文版] [PDF] [Website] [GitHub] [Jupyter]Deep Learning
Feature Engineering for Machine LearningAlice Zheng, Amanda Casari[PDF][译]Machine Learning, Feature Engineering
Machine Learning YearningAndrew Ng[译][在线阅读]Machine Learning
Foundations of Machine LearningMehryar Mohri[PDF][HomePage]Machine Learning

Papers

NLP

  • Tixier A J P. Notes on Deep Learning for NLP[J]. arXiv preprint arXiv:1808.09772, 2018. [Link]