Skip to content

Amshra267/ML-work

Repository files navigation

A simple Track for diving into AI-ML

contains the content related to ML and AI

Suggestions before starting

  • The contents in this repo seems too much but don't look too far, complete step by step-
    • I am trying to prepare a general track for you to avoid some stress

      • Upto week 1st - Python(for beginners) and numpy, pandas, matplotlib and seaborn
      • Upto week 2nd - Linear and Logistic Regression (With practice)
      • Upto week 3rd - Deep learning(MLP and keras complete)
      • Upto week 4th - Deep learning(CNN with practice)
      • Upto week 5th - Deep learning(NLP)
    • If you are unable to complete the materials just gain basic intutitions within the given time and later complete at your own pace.

  • It is advisable to view videos at 1.25x or 1.5x as most of them are usually slow
  • If you find any difficulty during learning, just start an issue in the issue section of this github repository.
  • I tried my best and used my own experience in compiling materials, you can use any other sources which makes you feel comfortable.
  • lastly i will suggest some blogging sites and search engines which helps you most of the time.

Blogs and extra resources - Your companion for ML-AI(Any time you have any doubt just raise an issue or search in below sites)

Blogs

Podcasts

E-mail Newsletters

The Batch by deeplearning.ai

Materials

If you are a keen reader then here are some books which you can read for learning ML

Prerequisite

No prequisite, but you need to learn things constantly if you are starting with python or if this is your starting into programming languages.

Softwares requirement


python IDLE (3.7 or above) with jupyter notebook or Anaconda

Libraries

Python library is a collection of functions and methods that allows you to perform many actions without writing your code from scratch. Each library in Python contains a huge number of useful modules that you can import for your every day programming.

There are many other libraries used in Machine learning, details regarding those will be given along with subsequent materials later.

what actually AI is ?


According to Wikipedia- Artificial intelligence (AI) is wide-ranging branch of computer science concerned with building smart machines capable of performing tasks that typically require human intelligence. ... It is the endeavor to replicate or simulate human intelligence in machines. if you want to know more about what AI, follow this link


Machine learning


machine learning is the subfield of AI that helps the computers to realize a task without being explicitly programmed.

A more detailed introduction about ML and its types is given here, and if you are intrested in videos see this

Those who are new and learning ML first time

Lets starting with ML algorithms

Linear regression and logistic regression


  • Machine Learning by Andrew Ng Coursera This course has some code written in octave not in python don't worry just gain the intutition and may be its seems boring but stick to it and complete first three weeks
    • Week 1 - Introduction, Linear Regression with One Variable, Linear Algebra Review,
    • Week 2 - Linear Regression with Multiple Variables,
    • Week 3 - Logistic Regression, Regularization

Install required Libraries Needed

  • Scipy - USE pip install scipy in command prompt or Anaconda Powershell
  • Sklearn

More links for mastering the topic (Optional)

  1. Linear Regression:
  2. Logistic Regression:

Practie all that you have studied on a competetion hosted at kaggle

What is kaggle? Answer is here how to use kaggle kernels

Practicing linear regression at housing price prediction dataset at kaggle here

  • For start working look at some kernelscode notebooks, these helps you to get started.
  • And of course if you want to see more you can go at the kernel section on kaggle to see more such notebooks. Practicing logistic regression at dataset at kaggle here
  • if you want you can go at the kernel section on kaggle to some notebooks to get started.

Deep Learning

Here comes the deep learning....

MLP(Multi layer perceptron Neural Networks)


In deep learning, we will focus on Neural Networks, moving on from Logistic Regression.

Bare Essentials

Neural networks and deep learning by Andrew NG. Do this, assuming you have completed the Machine Learning course by Andrew NG. If you haven't please go through that course first and make sure complete week 5 in it.

Neural Networks: Playground Exercises by Google(Do see it once. Not absolutely essential, but very helpful for visualizing and building simple neural networks on the go and seeing the results)

Libraries Due to the advancement in deep learnig, there are different types of programming frameworks (which performs similar tasks) available like-

  • Tensorlow(older version 1.1)
  • keras(with tensorlow as backend lastest tensorflow 2.0)
  • Torch
  • Theano
  • Pytorch and many more...

We use here keras due to easier code implementation and someone is intrested, they can use torch also

Video Series on working with Keras (Both installation and Code practice in keras)(Intermediate level). You can leave the backend selected as Tensorflow. The videos on deployment and Tensorflow.js are not required to be seen. Don't worry about CNNs as it comes later.

Keras Official Documentation

Use all the knowledge of neural nets and work on the same dataset given for logistic regression and compare the results of both


CNN (Convolutional Neural Neetworks)

Before starting CNN it is important that you have completed these things:

  1. Neural networks and deep learning by Andrew NG.

  2. Machine Learning course by Andrew NG till week 5(optional if the above course is done).

After completing them you will understand the working of neural networks(forward and backward propagation) and why they are so powerful.

Now we are ready to dive into basics of CNN. Follow this link.

Convolutional Neural Networks | Coursera

The first 10 lectures of this course will give you a basic idea of working and the later are concentrated on some application part: Object detection, Face recognition and Neural Style Transfer.


Implementation

Hello World

Basic implementation of CNNs and neural networks:

The MNIST database (Modified National Institute of Standards and Technology database) is a large database of handwritten digits that is commonly used for training various image processing systems.The database is also widely used for training and testing in the field of machine learning.The MNIST database contains 60,000 training images and 10,000 testing images.You can found the MNIST practice comp held at kaggle here. For any help look at the kernels available on kaggle

Diving Deeper and most important video

Image segmentation



Finally Sequence Models and NLP(natural language processing)


In this section, we focus on Sequence modelling and its applications in the field of Natural Language Processing(NLP)

Prerequisites

To properly understand the material of NLP, the following material should be well understood or the material covered in the courses:-

→ Convolutional Neural Networks by Andrew Ng on Coursera

→ Scikit-learn, numpy, pandas, matplotlib

Let's get started

You all have seen how a convolutional network works and how to use image data and train a model to classify images. While dealing with image data, there was no question on how to represent an image for training the model because it was already given in pixel form i.e. you don't need to work on how to represent the images. But this is not the case with text data.

Text data in its raw form is just a string which makes no sense to the computer or a model cannot be trained on it until it has been converted into numerical vectors. There are various processes how it is done,

Tokenization, Stemming, Lemmatization etc. are few of the techniques to process data before training the ML model on it.

There is a python text processing module known as NLTK(Natural Language ToolKit) for performing the text processing tasks as described. The working examples and the tutorial of the module and these preprocessing techniques are given in detail in the article described below.

NLTK for Beginners -NLP

The documentation for the NLTK can be accessed here and the book based on the documentation can be assessed here.

Here comes Deep Learning

Like any other machine learning task, NLP tasks such as POS tagging, NER classification etc. also gives state-of-the-result with deep learning techniques.

The following course discusses most the techniques and types of deep learning architectures used in NLP.

**Sequence Models | Coursera by Andrew NG

It is advisable to view all the video provided in the course in addition to the quizzes. However, the assignment part of the course is optional. The course discusses the basic techniques without going into very deep technical details of the methods.

For Other Materials, if you completed the above things then you will be able to search by your own

Enjoy Learning


Advance (Optional)(For those who are highly intrested in knowning the underlying maths behind Machine learning)

Matrix calculus and maths behind neural network

For those who are highly interested in how backpropagation occurs in CNN can follow this blog:

Back Propagation in Convolutional Neural Networks - Intuition and Code

Some may find a bit maths-extensive but getting just a basic idea is enough and it helps in better understanding.

if you are keen book reader then

You can do a specialization on Machine learning mathematics on coursera

  • It includes
    • Linear Algebra
    • Multivariate Calculus
    • PCA for dimensionality reduction

feature engineering in data

Vectorization and some basic python broadcasting

KFold validation with image data generator

Stacking for neural networks

an introductory notebook for some os and glob command can be found here