Machine learning has become a buzz word in this new era of technologies. Mostly companies and also government agencies are doing focus on machine learning. In recent years, volume of data has grown rapidly and also in coming age, it will grow more rapidly than before. These data need processing for research, analysis, automated result and prediction in different areas.
As per Wikipedia, the word machine learning was coined by Arthur Samuel in 1959 while at IBM who was an American pioneer in the field of computer gaming and artificial intelligence.
In this new era, machine learning is having a big impact on the way of software design with traditional software development models.
What is machine learning?
Machine Learning is a data analytics technique that allows the system to learn from data, identify data patterns and make decisions without being explicitly programmed or with minimal human intervention.
Why is machine learning important?
Data driven decisions are helping to take a good business decision and build customer-oriented relations that keeps a business ahead of the competition. Machine learning helps a lot of different tasks that can do only human such as image recognition, text generation, natural language processing, playing games etc.
Types of machine learning
- Supervised Learning
- Unsupervised Learning
- Semi-supervised Learning
- Reinforcement Learning
Supervised learning uses labeled data for training such as an input where the desired output is known. It can understand through relation of teacher and student. A teacher guides a student what is he/she doing. Is it correct or not? Here, Input is what teacher guides and output is what students learn is correct or not.
Algorithm of this type of machine learning receives a set of inputs along with the corresponding correct outputs. After processing of a set of input, algorithm learns by comparing its actual output with correct outputs to find errors or making a decision or prediction. It the modified the model accordingly. Supervised learning is often used in applications where historical data predict likely future events. For examples fraud detection, email spam detection, diagnostics, image classification, risk management, score prediction.
Unsupervised learning uses unlabeled data for the training. Here, system does not predict the right answer. Let’s take example of school test. There are some questions and answers. Your grade is determined by how close your answers are to the actual ones or the answer key. Now think if there is no answer key and only questions are available. How can grade be determined?
In unsupervised learning, system doesn’t tell the right answer. It actually explores the data and find some structures in it. Take an example of transnational data. We analyse these transactional data and can be identified segments of customers with similar attributes. Self-organising maps, nearest-neighbour mapping, K-means, clustering are some popular techniques that are used for unsupervised learning.
Semi-supervised learning is also use as supervised learning. It is used both labeled and unlabeled data. This type of learning is used for tasks like speech analysis, web content classification.
It is often used for applications like robotics, gaming, navigation etc. Let’s take a simple real-life example to understand it. If you have a dog at your home, you train your dog to perform certain action on blowing the whistle. Now compare it with reinforcement learning.
- Dog as an artificial agent
- Training as an environment where agent interact with
- Actions that agent learns
Reinforcement learning has three primary components:
- Agent (The learner or decision maker)
- Environment (Everything the agent interacts with)
- Actions (What the agent can do)
The main goal in reinforcement learning is to find the best possible policy.
Where is being used machine learning?
Now days, most of the industries have large amounts of data that recognised the value of machine learning. Below some area where it is used:
Banking and financial services use machine learning identifying important insights in data and preventing fraud.
Government agencies use it for public safety and related services.
In healthcare sector, machine learning helps medical experts to analyse data to identify of diseases or symptoms that lead to improve treatments.
Machine learning helps e-commerce companies to capture data, analyse it and use it to personalise shopping experience, also to implement a marketing campaign.
Machine learning are also being used rapidly in areas like defense sector, transportation, oil ad gas, gaming etc.
Below listed some popular tools and packages to implement machine learning:
|Name||Written in language||Algorithms or Features|
|Scikit Learn||Python, Cython, C |
Clustering Dimensionality reduction,
Model selection, Preprocessing
|TensorFlow||Python, C++, CUDA||Provide library for data flow programming|
|Apache Mahout||Java, Scala||Preprocessors, Regression, |
Distributed Linear Algebra
|Accord.NET||C#||Classification, Regression, |
Clustering, Hypothesis Tests & kernel Methods,
Image, Audio & Signal. & Vision
|Shogun||C++||Regression, Classification, Clustering, |
Support vector machines,
Online learning etc.
|Apache Spark MLlib||Scala, Java, Python, R, SQL||Classification, Regression, |
Clustering, Support vector machines,
Dimensionality reduction techniques etc.
There are also more tools like pytorch, pandas, numpy, Matplotlib, Keras.io etc used for machine learning different purposes. As the type of requirements and machine learning industries grow, new tools and packages will build.
Hope you like this and enjoy coding.