Skip to content

This is a repository dedicated to comprehensive guide to Machine Learning.

Notifications You must be signed in to change notification settings

LaxmanSinghTomar/Machine-Learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Machine-Learning:chart_with_upwards_trend:

This is a repository dedicated to comprehensive guide to Machine Learning.

Overview ⚡

One of the major difference between Humans & Machines is Humans learn from past experiences whereas Machines need to be told what to do which is known as Programming. You write a set of Instructions which they follow. Now the Question arises, can we get Machines learn from experiences too? The answer is Yes! That's what Machine Learning is all about. The idea of getting Machines learn without being explicitly programmed is known as Machine Learning. In case of Machines, experiences are referred as Data. In 1998 Tom Mitchell quoted:

A computer program is said to learn from experience E with respect to some task T and some performance measure P, if it's performance on T as measured by P, improves with experience E.

Let's understand it in Layman Terms. Suppose you wish to throw the Basketball 🏀 in the basket. If you're a noob like me, you might use too much force on first attempt and will get failed 😞. In second attempt your force was fine enough but it didn't get in there; maybe your throwing angle needs to be changed a little bit. What's happening here, you're learning what needs to be done in order to get your ball in basket. And eventually you'd see after many attempts you succeeded 😌. Here:

  • T : To put the Basketball in basket
  • E : Learning several things viz. force to be applied, throwing angle
  • P : Number of Successful attempts with respect to Total Attempts

Here's another simple example. Suppose you have a program which watches which email you don't mark as spam and which one you do. Based on that terms, it learns how to better filter spam emails. What's the task T here?

  • T : Classifying emails as spam or not spam
  • E : Watching you label emails sas spam or not spam
  • P : Number of emails correctly classified as spam or not spam Easy isn't it?

Applications Of Machine Learning:computer:

There are wide variety of uses of Machine Learning. Some of them are listed below:

  • Health Care : Drug Discovery/Manufacturing, Medication, Diagnosis of Diseases
  • Product Recommendations : Recommending Products & Servies based on what you prefer
  • Face & Object Detection : Identify faces and objects in images and videos
  • Predictions : Predictions about weather, finance etc. and many more...

Need of Machine Learning:exclamation:

Machine Learning is a part of what we call Artificial Intelligence or AI. There are many kinds of complex problems which are beyond Human mind's capability. A realization came in according to which, we can only perform such tasks if they are handed over to Machines. They can learn by themselves and can provide us meaningful results. As there is large amount of Data out there and our brains cannot find patterns in each one of them quickly, Machine Learning came into existence by providing results in less time. But earlier, due to Computers not having better hardware for such computations it was not as effective; until recently since 2006 it saw a major change. Now we have better hardware to support us through. And that's where Machine Learning pulled off a revolution.

Types of Machine Learning:zap:

There are three types of Machine Learning:

  1. Supervised Learning
  2. Unsupervised Learning
  3. Reinforcement Learning

Supervised Learning:zap:

In Layman terms, it means that we are gonna teach computer how to do something. In Supervised learning, system tries to learn from the previous examples. We give it a right data set in which the right answers are given. Mathematically, it tries to identify a relationship between Inputs (x) and Outputs (Y). This mapping can be represented as: Y = f(x). It can be further divided into two kinds of problems named as Regression Problem and Classification Problem.

  • Regression Problem : Predicting continuous valued output like Prices.
  • Classification Problem : Classifying output as categories like Yes or No.

Unsupervised Learning:zap:

In Layman terms, it means that we are gonna let the computer learn by itself. In Unsupervised learning, system is left to figure out interesting things on its own. We have Input (x) here without having corresponding Output (Y). Unlike Supervised Learning, Machine here is left to find answers on their own in absence of correct answers. It can be further divided into two kinds of problems known as Clustering Problem and Association Problem.

  • Clustering Problem : When you wish to identify groups in your Data like groups of individuals and their preferred beverages.
  • Association Problem : When you wish to identify rules that describe large portions of your Data like people exercising also tend to do Yoga.

Reinforcement Learning:zap:

In Layman terms, it means that computer will strengthen itself on it's own. In Reinforcement learning, system approaches a goal in an environment in which it's rewarded or punished as per the feedback it provides. Using this approach, Machine learns to make specific decisions by trial and error method continuously.

Machine Learning & Mathematics:grey_exclamation:

Machine Learning makes use of different disciplines of Mathematics like Statistics, Probablity, Linear Algebra & Calculus. With the help of all of them, we look for different patterns which drive our way through meaningful results.

Why do we even need Mathematics?:thought_balloon:

Well it's a legit question. There are various reasons why Mathematics of Machine Learning is important. Approaching Machine Learning without knowing the underlying Mathematics behind it, is like performing a brain surgery without knowing how to apply a band-aid. Some of the reasons to learn Mathematics for Machine Learning are listed below:

  1. Selecting the appropriate Machine Learning Model by taking several things into consideration like Accuracy, Training Time, Number of Features, Complexity Of Machine Learning Model and kind of data you have.

  2. Identifying the appropriate Parameters and Features.

  3. Determining Underfitting & Overfitting using Bias-Variance Tradeoff.

There are many more reasons behind Inclusion of Mathematics in Machine Learning & we will look through them as we progress further in this journey.

What level of Mathematics is Required?:thought_balloon:

This question is arguable as apart from the necessary Mathematics of Machine Learning, it depends on Interest of an individual. But the minimum amount of Mathematics required for Machine Learning or Data Science is:

  1. Linear Algebra (Matrix Operations, Projections, Factorisation, Symmetric Matrices, Orthogonalisation)

  2. Probability Theory and Statistics (Probability Rules & Axioms, Bayes’ Theorem, Random Variables, Variance and Expectation, Conditional and Joint Distributions, Standard Distributions)

  3. Calculus (Multi-Variable)

  4. Algorithms and Complex Optimisations (Binary Trees, Hashing, Heap, Stack)

Conclusion:speech_balloon:

Now we know what is Machine Learning, it's applications and it's pre-requisites. As once Richard Feynman pointed out:

Rigor and Clarity are not synonymous.

I will try to strike out a balance between them. Stay tuned for more content!:muscle:

Click here to navigate to the contents!

About

This is a repository dedicated to comprehensive guide to Machine Learning.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published