Introduction to Machine Learning
Machine learning concepts have been around for a long time and ML applications are widely used across the software industry. In simpler terms, machine learning is nothing but Training machines to receive input data (Training Data) and predict an output value (Machine learning model). In this article, you will get to know the introduction of machine learning and its types at the beginner level.
I am borrowing words from “Tom Mitchell” about machine learning
A (machine learning) 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.
What does machine learning do in simpler terms?
In simpler terms, Machine learning finds meaningful patterns in the data.
Machine learning uses statistical techniques (Pillar of machine learning) to give machines/computers the ability to make data-driven decisions rather than being explicitly programmed for carrying out a certain task.
The goal of machine learning is to learn, predict and improve over time when they are exposed to new data/historical data.
Why machine learning is needed?
In general, terms say a problem is complex and cannot be solved using a traditional programming method then you have to consider ML. We can consider machine learning in some of the below use cases
- If you are going to deal with a huge amount of data to discover, predict and optimize on one problem. E.g. Pattern detection with live traffic on the databases in peak and off-peak hours.
- Scalability – Large scale problem to understand the data. Say if you have a large dataset without a machine and you have to find patterns in sensitive transaction data ( ex: Stopped or Crashed or No Data or Breach) you cannot yield accurate results in a short duration.
- Data Cleansing. Clean the data to remove noise, inconsistent data, errors in the training data e.g. Anomaly detection
Note: You don’t need to consider machine learning if you are doing calculations around payroll.
Type of Machine learning
Machine learning can be implemented in several ways.
i) Supervised Learning [Training data Includes desired output]
The goal of supervised learning is to train the machine with the data (with the known desired output) and the machine learns the algorithm to get that outcome.
Example: Used where the historical data predicts likely future events. Say you have 10,000 photos of cars and flights (5000 each) and the labels for which photo contains which animal (Photo-1 Car, Photo-2 = Flight).
Some of the algorithms currently being used for supervised learning are:
- Linear Regression: Draw a line that best fits the data scattered on a graph. Produces continuous variables (e.g. height in inches)
- Logistic Regression : Predicts a binary outcome based on a series of independent variables e.g. If you are trying to predict whether some has heart disease or not based on the health parameters.
- K-Nearest Neighbours: Find the ‘k’ examples which are most similar to each other. Then, given a new sample, which is the new sample most closely aligned with?
- Support vector machines: Can be used for classification or regression. Try to find the best way to separate data points using multiple planes.
- Decision Trees and Random forests: Can be used for classification and regression.
- Decision trees split data based on the criteria (e.g. Average heat rate “is over 50” or “lower than 65”) eventually getting to a point where the data can’t be split anymore (you can define this).
- Random forest is a combination of many decision trees, effectively leveraging and combining the choices of many models.
- AdaBoost/Gradient boosting algorithm: Can be used for classification or regression. Boosting is a method of training a series of weak learners whose job is to improve others. Gradient boosting trains any model in a sequential manner and the difference between both algorithms is to identify the shortcomings of weak learners.
- Neural Networks : Neural networks takes a series of inputs, manipulate the input with linear and non-linear functions. This combination is used to estimate almost anything.
Note: There are tons of different models and ML algorithms to consider while solving a problem. This is not the complete list because machine learning is a very wide field and listed above is commonly used across industry.
ii) Unsupervised Learning [Training data doesn’t Include desired output]
In Unsupervised Learning, the machine will be given a lot of data (Desired output are not known) and the machine uses algorithms to find out general patterns in the data.
Example: Used to explore the data and find grouping and structure within it. Say you have 10,000 transactions and 9997 are similar but 3 of them are outlandish, which 3? This kind of problem is called anomaly detection.
Some of the algorithms currently being used for Unsupervised learning are:
- K-means Clustering: Choose ‘k’ number of cluster, each cluster receives a center node at random, and with each iteration, the center node (Also called as the centroid) move farther away from each other. Once the centroid stop moving, each sample is assigned a value equivalent to the closest centroid.
- Visualization and dimensionality reduction:
- a) Principle component analysis: reduce data from more dimensions to lower dimensions whilst attempting to preserve the variance.
- b) Autoencoders: Learn a lower-dimensional encoding of data. For E.g. compress the image of 100 pixels into 50 pixels representing the same information as the 00 pixels.
- c) t-Distributed Stochastic Neighbour Embedding (t-SNE): Good for visualizing high-dimensionality data in a 2D or 3D space.
- Anomaly Detection:
- One-class classification: Train a model on only one-class, if anything lays outside of this class, it may be an anomaly. Eg: Events of the computer network traffic, which are usually in abundance.
iii) Reinforcement Learning [Rewards from the sequence of Actions]
In Reinforcement learning, the machine continuously left to learn from the environment (trial & error) in an iterative fashion.
Example: It is used to learn the best policy. Say the agent could be a ChessPlayerX(a chess-playing algorithm), the environment is a virtual chessboard, and the actions are moving pieces. If a piece moved to a negative position, the algorithm gets penalized, if it takes an opponent’s piece it gets rewarded. The strategy an agent learns (based on the actions it gets rewarded for) is called a policy.
My Two Cents
It’s good to know about Clustering, regression, classification ensemble models however these algorithms are now being taken care of by Auto ML packages.
Now the hiring organizations are not giving more importance if you fill up your resume with these algorithms.
Rather the focus is more on how good you are in the following areas.
- How you approach a given business problem.
- What different types of hypotheses you generate. ( This is a very important step)
- How you decide that a given problem statement is just a metrics or standard deviation or predictive analytics.
- Lastly, how well you can articulate and explain the analysis outcome.
- Understand the implications of using Machine learning.
If you are focused on this, you are on the right path. Remember algorithms can be automated by Auto ML tools and packages but the above-mentioned 5 points cannot be automated as each problem statement is unique and this can be done only by the human brain and not by any tools.
Machine learning (ML) is a way to apply human experience to machines to train them to perform tasks better than human. It is about manipulating different algorithms that allow machines to iteratively learning from data on their own.