• Stars
    star
    104
  • Rank 330,604 (Top 7 %)
  • Language
  • Created almost 4 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A beginner's roadmap to getting started in Machine Learning, by COPS IIT(BHU).

AI-roadmap

A beginner's roadmap to getting started in Machine Learning, by COPS IIT(BHU).

Motivation

If you do a quick google search: "How can I learn Machine Learning", you will receive a lot of content. Most of this content will probably not be well suited for you, possibly because such content is mostly created for a large audience. (so you may find it boring/too slow, and sometimes misleading)

We, however have been in the same place as you are now (freshmen or sophomores), so we know exactly what you need to know, and what you might be interested in.

So, here is a guide to all the resources you will require to properly get introduced to machine learning and artificial intelligence. Try to follow the sequence, and skip whatever you already know.

The list is very selective. There may be a lot of resources out there, but we feel that this list will be the best for you, in terms of content and difficulty.

A quick tip: Although this roadmap is well built, we will keep adding updates to make sure the site is upto date with new and awesome content posted daily on the internet. So, make sure to star this repository on github, and also add watch for "All Activities", just to make sure you dont miss any updates on this.

Table of Contents:

1. Before we start:

A word of advice: For working independently, you need to exploit the power of Google. If you find something unfamiliar, just do a quick google search. After some practice, you will start recognizing which sites to trust.

1.1. Preparing your Machine (not compulsory, but recommended)

Dual boot your machine with Ubuntu 20.04​ LTS. Working with linux is comparatively much easier than Windows.

1.2. Basic Installations

If you are using linux, installing these will be a piece of cake!

  • Install git
  • Install OpenCV (A Computer Vision library)
  • Install the latest version of Pytorch (A widely used Deep Learning framework).
  • Install VScode

A word of advise: My journey of using text editors are as follows: Codeblocks -> Sublime -> VSCode. I personally find VScode cool, because it comes under "text editors" and not "IDEs", so it is light-weight. And on top of that, there are some cool extensions which make your life easy.

Adding to the above advice: If you are using VScode, make sure you take advantage of debugging. Here's a quick demo.

1.3. Setting up your Github account

Github is the opensource platform that lets you share code. Having an active github account will surely be helpful. If you haven't, quickly sign up on www.github.com.

1.4. Getting to know what u're getting youself into.

Complete Level 0 and 1 from here before starting with the resources below. You will also get a high level intuition from here.

2. Recommended Resources

2.1. Python 3.6

If you have some experience in c, c++ or java, then you will find python very easy to follow. Apart from the syntax, Python is basically english :)

I recommend python 3.6 (as of 2021) due to its compatibility with most frameworks. Watch this tutorial series by Sentdex. First 30 videos should be enough, but feel free to complete the playlist.

Also, dont start learning the syntax. You can always google!

2.2. Coursera Course on Machine Learning

This course by Andrew NG is the launchpad for most Ai enthusiasts. You can mix it up with this StatQuest playlist.

A word of advise: Don't enforce yourself to complete these lectures. Generally I hear people get overwhelmed with too much math. For ML, you do require some basic understanding, but it doesn't mean you have to be a pro. If you dont find it interesting, dont worry. There are a lot of other exciting topics waiting for you!

2.3. Linux Terminal

This is one of the fundamental requirements for any computer scientist. This will help you get started.

2.4. Git

Formal introduction: Git is a version control system, which will be very handy while writing code, and colaborating with people.

The git and github introduction by Daniel Shiffman should be a quick and easy way to get familiarized.

A word of advise: You may want to watch these in 1.5x to 3x depending on your caliber. For those thinking that youtube only allows upto 2x: there are chrome extensions that allow upto 16x playback speeds :)

2.5. Numpy

Crudely speaking this is MATLAB for Python. I suggest you do this after the Andrew NG course. You can go to its official tutorial or learn it with hands-on deep learning experience via deeplearning.ai’s first course.

2.6. Pandas

This is one of the most crucial and powerful libraries in data science. To begin with, you end up learning how to read and write CSV and JSON files as well as how to manipulate Data Frame rows, columns, and contents. Again, Sentdex to the rescue.

A word of advise: Don't enforce youself! Just keep watching till you think you have a good idea. Rest can be managed with google search.

2.7. Matplotlib

Learn how to plot basic graphs. Its very important to visualize your data. The pyplot submodule should be enough for the beginning. Sentdex is your savior again.

2.8. OpenCV

OpenCV is one of the best computer vision libraries out there. May god bless sentdex.

A word of advise: This could be very interesting, since you can play with data generated you! So try to use your webcam's live feed for all the tranformations discussed in this playlist.

2.9. Google Colab

Colab lets you train your models online. SO, it prevents you from frying your laptop (Machine learning generally required huge compute and may require overnight training).

Here is the official tutorial. Give it a brief read, just to know how things work.

2.10. Gym

OpenAI’s gym is a toolkit for the development of reinforcement learning algorithms. It has many agents and environments for which state, action, observation, returns based on actions, etc. can be generated. You can follow the official documentation.

Get it installed and play around with it for a while. Give this a read. Possibly try running it, locally or on colab.

2.11. Stanford’s Courses for NLP, CV, RL

No other course will give you as good an introduction and insight as the ones given by the Stanford lectures. The concepts are explained well, and after completing them, you yourself will know what to do next, because these lectures give you all the tools you will require for the topic.

If possible, do the course assignments too.

Computer Vision CS231: ​ ​ Youtube Link Course Link

Reinforcement Learning CS234: ​ Youtube link​ ​ Course Link

Natural Language Processing CS224: ​ Youtube link​ ​Course Link

A word of advise: The same advise goes here: "Don't enforce youself!". But if you are like us, you may find these so interesting that you may feel compelled to complete this. You can pick one, or do all three. But I would suggest you to try atleast the first 2-3 lectures of each, before coming to conclusions.

2.12. Some useful resources for RL

Understanding the concepts in Reinforcement Learning directly from the course can be somewhat challenging. Hence, we provide some additional resources to help you have a smooth experience.

The following two courses can be helpful. If you find CS234 too hard to follow, you can start with either of the two courses below:

2.12. Pytorch Tutorials

You will be doing most of your work in Pytorch (because it is the easiest to use and provides fast prototyping). I recommend pytorch official docs. After completing the Stanford lectures, it will be easy for you to follow.

More Repositories

1

GSoC-Accepted-Proposals

This repository serves as an archive of GSoC - Google Summer of Code accepted proposals of IIT (BHU), Varanasi students.
252
star
2

IITBHU-Wiki

Comprehensive guide for new entrants of IIT(BHU)
30
star
3

HCSFL

Client Selection for Federated Learning with Heterogeneous Resources in Mobile Edge
Python
30
star
4

Hacker-Introduction

29
star
5

cops-website

COPS Official Website
HTML
28
star
6

AI-exercise

A month long exercise containing a series of tasks, that will help you get comfortable with AI.
18
star
7

hackalog-frontend

The home for hackathons organized under COPS IIT(BHU).
TypeScript
18
star
8

CoffeeAndCode

Weekly Dev Challenges
17
star
9

csoc-2019-namecards

COPS Repository for Contributors Namecards
HTML
15
star
10

hello-cops

Print "Hello COPS" in different programming languages
C++
15
star
11

introduction-to-github

Introduction to open source development
12
star
12

sdg-site

Club of Programmers Software Development Guild Site
Vue
11
star
13

Model-Extraction-Attacks-Video-Classification

Package containing the whole implementation of our end to end model extraction algorithm, This Secured Second in InterIIT Tech meet
Python
10
star
14

opensource-iitbhu

A repository for Open Source Group under Club of Programmers, IIT BHU.
9
star
15

csoc-2019-algorithms

Repository for algorithms contributed in CSOC
C++
8
star
16

mlss18-assignment3

ML Summer School (2018) - Assignment 3
Jupyter Notebook
8
star
17

mlss18-assignment4

ML Summer School (2018) - Assignment 4
Jupyter Notebook
7
star
18

mlss18-assignment2

ML Summer School (2018) - Assignment 2
Jupyter Notebook
7
star
19

telegram-bots

The telegram bots developed and used by the COPS Dev Group.
TypeScript
6
star
20

hackalog-backend

Python
5
star
21

Algorithms

Simple algorithms in all programming languages
Python
5
star
22

winter19-task1

JavaScript
5
star
23

mlss18-assignment1

ML Summer School (2018) - Assignment 1
Jupyter Notebook
5
star
24

csoc18-week5

Django Website made by beginners
Python
4
star
25

Study-Portal

TypeScript
4
star
26

ML-talks

Contains links and presentation files for talks (held weekly) on machine learning.
Jupyter Notebook
4
star
27

csoc-2021-task-1

This repository contains csoc week1 projects
3
star
28

csoc-leaderboard

Vue
3
star
29

ML-Paper-Discussions

Contains papers and presentation files for weekly paper discussions.
3
star
30

Code-Of-Conduct

Code of Conduct of Club of Programmers, IIT BHU Varanasi
3
star
31

csoc-2021-namecards

COPS Repository for Contributors Namecards
JavaScript
3
star
32

Vital-Extraction-Challenge

Jupyter Notebook
2
star
33

IG-website

SCSS
2
star
34

mlss18-assignment1-sol

Solution to Assignment 1 - ML Summer School (2018)
Jupyter Notebook
2
star
35

csoc-2020-task-3

This repository holds the Third Dev Task for COPS Summer of Code based on Django REST Framework. Leaderboard is live at https://csoc.copsiitbhu.co.in/ Task: https://csoc-task-3.herokuapp.com/
Python
2
star
36

ccc

COPS Compiler Collection
C
2
star
37

cops-site-practice

Vue
2
star
38

csoc-2020-task-1

This repository holds the first dev task for Cops Summer of Code. Leaderboard is live at https://csoc.copsiitbhu.co.in/ Task: https://csoc-task1.netlify.app/
HTML
2
star
39

CHIP8-Collection

This repository contains various implementations of CHIP 8 Emulator in different languages
2
star
40

csoc-2021-algorithms

Repository for algorithms contributed in CSOC 2021
C++
1
star
41

MultiAgent_Grid

Python
1
star
42

Debugit_2022

1
star
43

csoc-2021-task5-Django-REST-Framework

Python
1
star
44

DevTalks

Hosts Issues to track proposals of talk/workshop etc for COPS Dev meetups
1
star
45

csoc-2020-task-2

This repository holds the Second Dev Task for COPS Summer of Code. Leaderboard is live at https://csoc.copsiitbhu.co.in/ Task: https://csoc-task2.herokuapp.com/
Python
1
star
46

csoc-dev-week4

1
star
47

discord-bot

A Discord Bot built upon slash commands provided by Discord Beta. It works on the principle of webhooks by awaiting commands and can be deployed on serverless architecture like Vercel.
TypeScript
1
star
48

csoc-ml2k19-assignment-1a

First assignment of CSOC ML
Jupyter Notebook
1
star
49

WebVR-Assignment-1

WebVR Virtual tour
JavaScript
1
star
50

IG-Project-Ideas

1
star
51

Previewer

Android SDK/Library for generating a preview for each kind of file (pdf / pptx / doc / mp4) present locally in the device.
Kotlin
1
star