Introduction to Machine Learning

learn " how a machine learns " ,   from very basic

getting started with angular
What is Machine Learning
If you're on this tutorial page , it probably means that you've heard the term Machine Learning more than once. So today let's begin our ML or Machine Learning season by asking ourselves the following question.
What is Machine Learning ?
If you search web with this same question , Google gives you around 16,70,00,000 results. So in this tutorial let's take a different approach let's meet machine learning first and then decide what it is. The aim of our machine learning season is to help our readers get going with machine learning in real projects. We aim to create very concise and mission oriented tutorials in this season which will help the readers to kickstart their journey as quickly as possible. By the end of this season , you should be able to answer this tough question What is Machine Learning with your own experiences. For now just think of machine learning as ::
Machine Learning = Data + Problem + Algorithms + Training + Evaluation + Prediction
Don't worry if that sounds like a mathematical equation , let's try to drill down into each of these points one by one.
machine learning with python
Data is to machine learning what books have been to human learning. Data is a core ingredient for any machine learning task , just think of the following and notice how all these machine learning activities are dependent on data ::
  1. Pattern recognition :: needs a lot of data to train the model first.
  2. News Articles Clustering :: needs the data on which to form clusters.
  3. Fraud Detection / Anamoly Detection :: first we need to train the algorithm by feeding both positive and negative cases.
  4. Stock Market Prediction :: again past stock market data is used to train the model to be able to predict future price.
And we also need to know that in most of the practical scenarios , we don't get the data the way a machine learning algorithm expects it to be , so in all such cases, we've to clean and prepare the data which in itself is a skill to master.
Obtaining Data :: These days it's very easy to get the data needed for training machine learning algorithms for learning and educational purposes , 2 of the most useful sources are listed below ::
  1. ML Data Org :: data repository for ml
  2. Sklearn :: sample datasets ready to be imported
Problem Definition
Whether Problem Definition should come before or after data is something we can always question about but the truth is that one can't exist without the other. You can't do much with your data unless you've a problem you're trying to solve and vice versa. So defining the problem proves to be very useful when talking about machine learning. The more clarity we have on the problem the better we can get our algorithms to perform. When we say define a problem , it doesn't really mean you've to go into details of defining the problem but having an idea can help , just for an example ::
Problem Definition Example-1 I've got the data of my daily activities for past 8 months , I want to train a model to classify my days based on whether I read something on a particular day or not.
The problem definition can be as simple as the above or it can be complicated one like:
Problem Definition Example-2 I've periodic stock market data for 10 companies , I want to forecast which of these will bring most profits in the coming days.
Simple or complex , it's always good to know where you want to apply machine learning.
In machine learning , algorithms can be classified on the basis of the task they perform. Some algorithms may work on continuous data while others may be used with discrete data. Knowing the right algorithm to perform the task is one of the responsibilities of data scientists or ML engineers. Some of the examples of commonly used machine learning algoritms are ::
  1. Regression Algorithms :: Used with continuous data to predict future values after being trained on past data.
  2. Clustering Algorithms :: Used when we need to cluster or group a given set of data into segments.
  3. Classification Algorithms :: Used to work with classification tasks , e.g. whether a transaction is a fraudulent or normal transaction.

  4. Note that a given machine learning task can usually be accomplished in more than one ways. Usually we go with the one which produces the best results efficiently. In some cases it's also common to combine different machine learning algorithms in the same task.
Training is the process where in an algorithm processes the data and prepares a mathematical model which can then be used to make predictions on the unseen data. Based on the mode of training , machine learning or ml can be categorized into following categories ::
  1. Supervised Learning :: When the data fed to the algorithm is labeled , i.e. result is known for a given set of input features , then the learing process is called Supervised Learning example of supervised learning are Linear Regression , Logistic Regression , Neural Networks etc
  2. Unsupervised Learning :: When the data fed to the algorithm is not labeled , i.e. no y value known for a given set of x features , then the learning is said to be Unsupervised Learning , K means clustering is an example of Unsupervised Learning

Evaluation is the task of evaluating a learned ML model to see how accurate it is. For the evaluation purposes we usually divide our data into 70:30 proportion [ may vary team to team , task to task ] , 70% being the data used for training the model and then after the model is trained , the remaining 30% data is used to evaluate the model. Evaluating the model gives us more confidence about the accuracy of the model.
Once the model has been trained and evaluated for accuracy , then it's time to use that model for predictions. Usually trained models can be serialized , stored and transferred from one machine to another and can later on loaded back into memory. Once a model has been trained , it no longer needs the data on which it was trained. So it can be deployed to other machine [ e.g. Servers ] etc. It's always important to evaluate the model's accuracy on real scenarios over the time to be able to make precise and accurate predictions.

In this tutorial on introduction to machine learning , we learned about some very core ideas in machine learning. We came up with our hypothesis for definition of machine learning as given below ::
Machine Learning = Data + Problem + Algorithms + Training + Evaluation + Prediction
And we also tried to gain insights into each of the components in our machine learning equation. Hope this tutorial added to your knowledge on machine learning and we hope you're enjoying learning machine learning.
If you want to get notified when new machine learning tutorials are launched, please don't forget to subscribe below.

More from RISHABH.IO

developed & nourished with by