Basic Machine Learning Tutorial Series-1

Raju Thapa
AIDevNepal
Published in
5 min readApr 15, 2018

Machine Learning (ML) is one of the world’s exciting technology in modern days. The main objective of machine learning is to make computers learn on their own. I am trying to create a mini series on this topic to kick-start machine learning beginners who are really passionate or enthusiastic in this field. We will be making our hands dirty with coding machine learning basic stuffs using famous framework: Scikit-Learn. So that you will get confidence to start deep diving and implement machine learning solutions to real world problems.

ROADMAP:

Part-I : Introduction, Definitions and Applications of Machine Learning

Part-II : Types of Machine Learning

Part-III : Various Algorithms Used in Machine Learning

Part-IV : Intro to ML Framework — Scikit-Learn Basics

Part-V : Machine Learning — Linear Regression Coding Tutorials

Part-VI : Machine Learning — Classification-Iris Dataset Coding

Part-VII : The Mathematics of Machine Learning

Part-I : Introduction, Definitions and Applications of Machine Learning

What is Machine learning?

Machine learning is a branch of Artificial Intelligence (AI) coined in 1959 by Arthur Samuel. It is one of the buzzword in Computer Science today which is evolved from the study of Pattern Recognition and computational learning theory in Artificial Intelligence.

Image source : https://assets.entrepreneur.com

Machine Learning Definition:

“Machine Learning is the field of study that gives computers the ability to learn without being explicitly programmed.”

More Technical Definition:

Tom M. Mitchell provided a widely quoted, more formal definition of the algorithms studied in the machine learning field: “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.”

To simplify, this basically means, in machine learning, for any task a machine improves it’s performance with its previous experience.

More Simpler Explanation:

In this world, human learns many things from their past experiences. Many future activities results depending upon the past human experiences. But computers need to be told i.e. we need to give instructions for them to perform certain actions. So that computers follow our instructions through various programming languages. So, the question arises, can we get computers to learn from their past experiences? And the answer today is: YES WE CAN. The past experiences for computers is the DATA. Hence, in Machine Learning computer learns from the data.

Image source: youtube | A friendly Introduction to Machine Learning — Luis Serrano

Simple Analogy:

Let us take an analogy how a child learns his/her first alphabets ABCDE.., words and finally sentences. A teacher teaches A, B, C, D,.. and so on at the very first day. Next day, the child is able to grasp some alphabets and can figure it out what it is. Like this way, day by day a child is taught or trained. If child is able to know some alphabets that is taught yesterday, we can say that child is able to “LEARN”. Child keeps learning from his/her past (yesterday) experience and finally be able to know all the English alphabets and recognize it well. Furthermore, he/she will be able to know words, and can recognize the word as well as sentences that is not taught to him/her earlier. This is child’s learning process.

Image source: https://i.ytimg.com

Similarly, we train our machine with the data i.e. experience for machine. So that machine develops an algorithms with the help of data being passed to it by recognizing the patterns of the data. Machine starts learning from it. After that if we provide unknown data that is out of the training data, it is able to recognize or classify it successfully. This is the how machine learning works in general.

Image source: https://cdn-images-1.medium.com

Thus, we can say that the process of learning begins with the observations or data in order to figure out patterns and make better decision/predictions in the future based on the example data we supply. The computer can automatically gives output without human intervention or assistance. We can conclude that machine learning explores the study and construction of algorithms that can learn from and make prediction on data.

Applications of Machine Learning :

At the beginning stage, we get encouraged and motivated if we can explore the areas where machine learning is widely used. Some examples and applications where machine learning is used today are:

  1. Youtube Video Recommendations
  2. Amazon Product Recommendations
  3. Google Services : Google Assistant, Google Photos, Google Search
  • Gmail: Spam/Not-spam
  • Google maps: Extract street names and house numbers from photos taken by Street View cars and increase the accuracy of search results

4. Paypal: Fraud Detection

5. Robotics

6. Self Driving Cars

7. Snap-chat: Algorithm finds your face, detects your mouth, eyes, nose; locating facial features.

8. Face Detection, Image recognition , Handwriting recognition

9. Voice Recognition System — Siri, Cortana

10. Netflix — Video Recommendation Engine

11. Online Customer Support

12. Video Surveillance

13. Security

And many more…

Interesting Fact:

Google’s DeepMind project “AlphaGO” Artificial Intelligence — computer program that plays the board game ‘go’ has defeated the world’s number one Go player Ke Jie. Go game is considered to be one of the world’s most complex games, and is much more challenging for computers than chess.

Image source: BBC.com

What do you need to start coding Machine Learning?

  1. Basic tools for data science like :
  • Basics of Python
  • Numpy (Numerical Computation)
  • Pandas (Data wrangling/munging, data analysis)
  • Matplotlib (Data Visualization)

(Online study resources: Dataquest, DataCamp, Sololearn App etc.)

These are the prerequisites to learn and code machine learning. They will help you to pre-process your data before applying machine learning algorithms.

2. Mathematics:

Some of the maths topics which you can learn are listed below. I will try to give insights on these topics in upcoming tutorials.

  • Statistics and Probability
  • Linear Algebra
  • Multivariate Calculus
  • Algorithms & Complexity
  • Others

(Online study resources: Gilbert Strang Linear algebra-youtube, Khan Academy-youtube etc.)

Recommended: Coursera Andrew Ng Machine Learning Course (Free)

Next: Types Of Machine Learning

References:

https://en.wikipedia.org/wiki/Machine_learning

http://www.expertsystem.com/machine-learning-definition/

https://www.quora.com/

https://www.youtube.com/watch?time_continue=26&v=IpGxLWOIZy4

--

--

Raju Thapa
AIDevNepal

Data Science — AI/ML Practitioner — “Knowledge not shared is wasted” — Clan Jacobs