Convert Figma logo to code with AI

louisfb01 logostart-machine-learning

A complete guide to start and improve in machine learning (ML), artificial intelligence (AI) in 2024 without ANY background in the field and stay up-to-date with the latest news and state-of-the-art techniques!

4,394
574
4,394
2

Top Related Projects

186,879

An Open Source Machine Learning Framework for Everyone

scikit-learn: machine learning in Python

62,199

Deep Learning for humans

85,015

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 "start-machine-learning" repository by louisfb01 is a comprehensive guide for beginners to start their journey in machine learning. It provides a curated list of resources, tutorials, and learning paths to help newcomers navigate the complex field of machine learning and artificial intelligence.

Pros

  • Offers a well-structured learning path for beginners
  • Covers a wide range of machine learning topics and applications
  • Regularly updated with new resources and information
  • Includes both free and paid learning materials

Cons

  • May be overwhelming for absolute beginners due to the vast amount of information
  • Some linked resources may become outdated over time
  • Lacks hands-on coding examples within the repository itself
  • Primarily focuses on external resources rather than original content

Getting Started

To get started with this resource:

  1. Visit the repository at https://github.com/louisfb01/start-machine-learning
  2. Read the README.md file for an overview of the learning path
  3. Choose a starting point based on your current knowledge level
  4. Follow the provided links to external resources and tutorials
  5. Track your progress using the suggested roadmap

Note: This repository is not a code library, so there are no code examples or quick start instructions to provide. Instead, it serves as a curated guide to external learning resources for machine learning.

Competitor Comparisons

186,879

An Open Source Machine Learning Framework for Everyone

Pros of tensorflow

  • Comprehensive, industry-standard machine learning framework
  • Extensive ecosystem with tools, libraries, and community support
  • High-performance, scalable for large-scale deployments

Cons of tensorflow

  • Steeper learning curve for beginners
  • More complex setup and configuration
  • Overkill for simple machine learning projects

Code comparison

start-machine-learning:

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

# Basic ML workflow
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = LogisticRegression()
model.fit(X_train, y_train)

tensorflow:

import tensorflow as tf

# Basic neural network
model = tf.keras.Sequential([
    tf.keras.layers.Dense(64, activation='relu', input_shape=(input_dim,)),
    tf.keras.layers.Dense(1, activation='sigmoid')
])
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(X_train, y_train, epochs=10, batch_size=32)

start-machine-learning is a curated resource for beginners, offering a structured learning path and simplified examples. It focuses on foundational concepts and practical implementations using popular libraries like scikit-learn.

tensorflow is a powerful, flexible framework for advanced machine learning and deep learning tasks. It provides low-level and high-level APIs, allowing for complex model architectures and customization.

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 scientific Python libraries
  • Optimized for performance and scalability, suitable for production environments

Cons of scikit-learn

  • Steeper learning curve for beginners due to its extensive functionality and API
  • Requires more setup and configuration compared to a curated learning resource
  • May be overwhelming for those just starting their machine learning journey

Code Comparison

start-machine-learning:

# Machine Learning Roadmap
1. Learn Python basics
2. Understand data manipulation with pandas
3. Explore machine learning concepts

scikit-learn:

from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
clf = RandomForestClassifier()
clf.fit(X_train, y_train)

start-machine-learning is a curated learning resource designed to guide beginners through the process of learning machine learning, providing a structured roadmap and resources. On the other hand, scikit-learn is a powerful, production-ready machine learning library that offers a wide range of algorithms and tools for experienced practitioners. While start-machine-learning focuses on education and getting started, scikit-learn is geared towards practical implementation and advanced usage in real-world scenarios.

62,199

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 pre-trained models and extensions

Cons of Keras

  • Steeper learning curve for beginners
  • More complex setup and configuration
  • Focused solely on deep learning, not broader machine learning concepts

Code Comparison

Start Machine Learning:

# No specific code examples available

Keras:

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

model = Sequential()
model.add(Dense(64, activation='relu', input_dim=100))
model.add(Dense(10, activation='softmax'))

Summary

Start Machine Learning is a curated list of resources for beginners, offering a broad introduction to machine learning concepts. Keras, on the other hand, is a powerful deep learning library for experienced practitioners. While Start Machine Learning provides a gentler entry point, Keras offers more advanced capabilities for building and training neural networks.

85,015

Tensors and Dynamic neural networks in Python with strong GPU acceleration

Pros of pytorch

  • Comprehensive deep learning framework with extensive functionality
  • Large, active community providing support and contributions
  • Highly optimized for performance and GPU acceleration

Cons of pytorch

  • Steeper learning curve for beginners
  • More complex setup and installation process
  • Requires more code for basic tasks compared to high-level libraries

Code Comparison

start-machine-learning:

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

# Load data, split, train, and predict

pytorch:

import torch
import torch.nn as nn
import torch.optim as optim

# Define model, loss, optimizer
model = nn.Linear(input_size, output_size)
criterion = nn.MSELoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)

Summary

start-machine-learning is a curated resource for beginners to learn machine learning concepts and tools. It provides a structured learning path with tutorials and resources.

pytorch is a powerful deep learning framework used for building and training neural networks. It offers flexibility and performance but requires more in-depth knowledge to use effectively.

The choice between the two depends on the user's goals and experience level. start-machine-learning is better for beginners seeking an introduction to ML, while pytorch is ideal for those diving deep into neural networks and advanced ML applications.

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

Pros of ML-For-Beginners

  • Comprehensive curriculum with 12 weeks of lessons
  • Includes quizzes, assignments, and hands-on projects
  • Covers a wide range of ML topics and applications

Cons of ML-For-Beginners

  • May be overwhelming for absolute beginners
  • Requires more time commitment due to its extensive content
  • Less focus on practical implementation and deployment

Code Comparison

ML-For-Beginners:

from sklearn.model_selection import train_test_split
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)

start-machine-learning:

import pandas as pd
from sklearn.preprocessing import StandardScaler
data = pd.read_csv('data.csv')
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

ML-For-Beginners provides a more structured approach with a full curriculum, making it suitable for those who prefer a guided learning experience. It offers a broader coverage of ML topics but may require more time investment.

start-machine-learning is more concise and focuses on practical implementation, making it ideal for those who want to quickly get started with ML projects. It may be more suitable for beginners who prefer a hands-on approach with less theoretical depth.

Both repositories offer valuable resources for learning machine learning, catering to different learning styles and preferences.

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 hands-on exercises and Jupyter notebooks
  • Regularly updated with new content and examples

Cons of handson-ml2

  • Steeper learning curve for beginners
  • Requires more time investment to work through all materials
  • May be overwhelming for those new to machine learning

Code Comparison

start-machine-learning:

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

# Basic data loading and model training

handson-ml2:

import numpy as np
import tensorflow as tf
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier

# More advanced techniques and libraries

Summary

handson-ml2 offers a more in-depth exploration of machine learning concepts with practical exercises, making it suitable for those looking to dive deep into the field. It covers a wider range of topics and uses more advanced libraries like TensorFlow.

start-machine-learning provides a gentler introduction to machine learning, focusing on the basics and using simpler libraries. It's more accessible for beginners but may not cover as much ground as handson-ml2.

Both repositories offer valuable resources for learning machine learning, with the choice depending on the user's prior experience and learning goals.

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

Start Machine Learning in 2024 - Become an expert for free!

A complete guide to start and improve in machine learning (ML), artificial intelligence (AI) in 2024 without ANY background in the field and stay up-to-date with the latest news and state-of-the-art techniques!

This guide is intended for anyone having zero or a small background in programming, maths, and machine learning. There is no specific order to follow, but a classic path would be from top to bottom. If you don't like reading books, skip it, if you don't want to follow an online course, you can skip it as well. There is not a single way to become a machine learning expert and with motivation, you can absolutely achieve it.

All resources listed here are free, except some online courses and books, which are certainly recommended for a better understanding, but it is definitely possible to become an expert without them, with a little more time spent on online readings, videos and practice. When it comes to paying courses, the links in this guide are affiliated links. Please, use them if you feel like following a course as it will support me. Thank you, and have fun learning! Remember, this is completely up to you and not necessary. I felt like it was useful to me and maybe useful to others as well.

Don't be afraid to repeat videos or learn from multiple sources. Repetition is the key of success to learning!

Maintainer: louisfb01, also active on YouTube and as a Podcaster if you want to see/hear more about AI! You can also learn more twice a week in my personal newsletter! Subscribe and get AI news and updates explained clearly!

Twitter

Feel free to message me any great resources to add to this repository at bouchard.lf@gmail.com

Tag me on Twitter @Whats_AI or LinkedIn @Louis Bouchard if you share the list!

Want to know what is this guide about? Watch this video:


👀 If you'd like to support my work, you can check to Sponsor this repository or support me on Patreon.


Table of Contents

Start with short YouTube video introductions

Start with short YouTube videos introductions

This is the best way to start from nothing in my opinion. Here, I list a few of the best videos I found that will give you a great first introduction of the terms you need to know to get started in the field.

Another easy way to get started and keep learning is by listening to podcasts in your spare time. Driving to work, on the bus, or having trouble falling asleep? Listen to some AI podcasts to get used to the terms and patterns, and learn about the field through inspiring stories! I invite you to follow a few of the best I personally prefer, like Lex Fridman, Machine Learning Street Talk, Latent Space Podcast, and obviously, my podcast: Louis Bouchard Podcast, where you will learn about incredibly talented people in the field with inspiring stories sharing the knowledge they worked so hard to gather.

Follow free online courses on YouTube

Follow free online courses on YouTube

Here is a list of awesome courses available on YouTube that you should definitely follow and are 100% free.

Read articles

Read many articles

Here is a list of awesome articles available online that you should definitely read and are 100% free. Medium is pretty much the best place to find great explanations, either on Towards AI or Towards Data Science publications. I also share my own articles there and I love using the platform. You can subscribe to Medium using my affiliated link here if this sounds interesting to you and if you'd like to support me at the same time!

Read Books

Read some books

Here are some great books to read for the people preferring the reading path.

Great books for building your math background:

A complete Calculus background:

These books are completely optional, but they will provide you a better understanding of the theory and even teach you some stuff about coding your neural networks!

No math background for ML? Check this out!

No math background for ML? Check this out!

Don't stress, just like most of the things in life, you can learn maths! Here are some great beginner and advanced resources to get into machine learning maths. I would suggest starting with these three very important concepts in machine learning (here are 3 awesome free courses available on Khan Academy):

Here are some great free books and videos that might help you learn in a more "structured approach":

If you still lack mathematical confidence, check out the Read books section above, where I shared many great books to build a strong mathematical background. You now have a very good math background for machine learning and you are ready to dive in deeper!

No coding background, no problem

No coding background, no problem

Here is a list of some great courses to learn the programming side of machine learning.

Check out the Louis Bouchard podcast for more AI content in the form of interviews with experts in the field! An invited AI expert and I will cover specific topics, sub-fields, and roles related to AI to teach and share knowledge from the people who worked hard to gather it.

Follow online courses

(Optional) Get a better understanding and more guided practice by following some online courses

If you prefer to be more guided and have clear steps to follow, these courses are the best ones to do.

For specific applications:

Get your models online and show them to the world:

Practice, practice, and practice!

Practice is key

The most important thing in programming is practice. And this applies to machine learning too. It can be hard to find a personal project to practice.

Fortunately, Kaggle exists. This website is full of free courses, tutorials and competitions. You can join competitions for free and just download their data, read about their problem and start coding and testing right away! You can even earn money from winning competitions and it is a great thing to have on your resume. This may be the best way to get experience while learning a lot and even earn money! Another great opportunity for projects is to follow courses that are oriented towards a specific application like the AI For trading course from Udacity.

You can also create teams for kaggle competition and learn with people! I suggest you join a community to find a team and learn with others, it is always better than alone. Check out the next section for that.

Want to build language models/apps? Check this out (Now with LLMs!)!

I had a lot of requests from people wanting to focus on natural language processing (NLP) (models dealing with language) or even learn machine learning strictly for NLP tasks. This is a section dedicated to that need. Happy NLP learning!

  • A complete roadmap to master NLP in 2022
  • Become an NLP pro with Coursera's Natural Language Processing Specialization by deeplearning.ai - Paid "Break into the NLP space. Master cutting-edge NLP techniques through four hands-on courses!"
  • An NLP Nano Degree! — Paid "Learn cutting-edge natural language processing techniques to process speech and analyze text. Build probabilistic and deep learning models, such as hidden Markov models and recurrent neural networks, to teach the computer to do tasks such as speech recognition, machine translation, and more!"
  • NLTK Book is the free resource to learn about fundamental theories behind NLP: https://www.nltk.org/book/
  • Looking to build a quick text classification model or word vectorizer, fasttext is a good library to quickly train up a model.
  • Huggingface is THE place to get modern day NLP models, and they also include a whole course about it.
  • SpaCy is great for NLP in production, as it does NLU, NER, and one can train classification, etc with it. It's also able to add customized steps or models into the pipeline.
  • Prompting! Prompting is a new skill that you should master if you want to build NLP-related apps. This is a great course I am contributing to, intending to teach prompting and give tips for specific models.

Train, fine-tune, and use Large Language Models!

  • LangChain & Vector Databases in Production - An amazing free resource we built at Towards AI in partnership with Activeloop and the Intel Disruptor Initiative to learn about LangChain & Vector Databases in Production. "Whether you are an experienced developer who's a newcomer to the AI realm or an experienced machine learning enthusiast, this course is designed for you. Our goal is to make AI accessible and practical, transforming how you approach your daily tasks and the overall impact of your work."
  • Training & Fine-Tuning LLMs for Production - An amazing free resource we built at Towards AI in partnership with Activeloop and the Intel Disruptor Initiative to learn about Training & Fine-Tuning LLMs for Production. "If you want to learn how to train and fine-tune LLMs from scratch, and have intermediate Python knowledge as well as access to moderate compute resources (for some cases, just a Google Colab will suffice!), you should be all set to take and complete the course. This course is designed with a wide audience in mind, including beginners in AI, current machine learning engineers, students, and professionals considering a career transition to AI. We aim to provide you with the necessary tools to apply and tailor Large Language Models across a wide range of industries to make AI more accessible and practical."
  • Building LLMs for Production: Enhancing LLM Abilities and Reliability with Prompting, Fine-Tuning, and RAG - by Towards AI. "Discover the key tech stacks for adapting Large Language Models to real-world applications, including Prompt Engineering, Fine-tuning, and Retrieval Augment Generation."

Twitter

More Resources

Join communities!

Save Cheat Sheets!


👀 If you'd like to support my work, you can check to Sponsor this repository or support me on Patreon.

Or support me by wearing cool merch!


Follow the news in the field!

  • Subscribe to YouTube channels that share new papers - Stay up to date with the news in the field!

  • LinkedIn Groups

  • Facebook Groups

    • Artificial Intelligence & Deep Learning - The definitive and most active FB Group on A.I., Neural Networks and Deep Learning. All things new and interesting on the frontier of A.I. and Deep Learning. Neural networks will redefine what it means to be a smart machine in the years to come.
    • Deep learning - Nowadays society tends to be soft and automated evolving into the 4th industrial revolution, which consequently drives the constituents into the swirl of societal upheaval. To survive or take a lead one is supposed to be equipped with associated tools. Machine is becoming smarter and more intelligent. Machine learning is inescapable skill and it requires people to be familiar with. This group is for these people who are interest in the development of their talents to fit in.
  • Newsletters

    • AlphaSignal — The Most Read Technical Newsletter in AI
    • AI News - by Swyx & friends - a lot of LLM aid going on indexing ~356 Twitters, ~21 Discords, etc. (I personally mostly read the main recap)
    • Inside AI - A daily roundup of stories and commentary on Artificial Intelligence, Robotics, and Neurotechnology.
    • AI Weekly - A weekly collection of AI News and resources on Artificial Intelligence and Machine Learning.
    • AI Ethics Weekly - The latest updates in AI Ethics delivered to your inbox every week.
    • Louis Bouchard Weekly - One and only one paper clearly explained weekly with an article, video demo, demo, code, etc.
    • Toward's AI newsletter - Summarizing the most interesting news and learning resources weekly as well as community updates from the Learn AI Together Discord community. Perfect for ML professionals and enthusiasts.
  • Follow Medium accounts and publications

    • Towards Data Science - "Sharing concepts, ideas, and codes"
    • Towards AI - "The Best of Tech, Science, and Engineering."
    • OneZero - "The undercurrents of the future. A Medium publication about tech and science."
    • Louis Bouchard - "Hi, I am Louis (loo·ee, French pronunciation), from Montreal, Canada. I try to share and explain artificial intelligence terms and news the best way I can for everyone. My goal is to demystify the AI “black box” for everyone and sensitize people about the risks of using it."
  • Check this complete GitHub guide to keep up with AI News

Find a machine learning job

  • Read this section from the article full of interview tips and how to prepare for them.
  • Learn how the interview process goes and getting better at preparing for them by watching how others did it, like the interview series I ran with experts from NVIDIA, Zoox (Self-driving company), D-ID (Generative AI Startup), etc.

AI Ethics


Tag me on Twitter @Whats_AI or LinkedIn @Louis Bouchard if you share the list!

👀 If you'd like to support my work, you can check to Sponsor this repository or support me on Patreon.

This guide is still regularly updated.