Machine Learning, as a tool for Artificial Intelligence, is one of the most widely adopted scientific fields. A considerable amount of literature has been published on Machine Learning. The purpose of this article is to provide an insightful overview of Machine Learning by presenting a high-level definition of that and further break it into its associated categories. The main questions/issues addressed in this article are:
- What is the definition of Machine Learning?
- When it started and what is the trending evolution?
- What are the Machine Learning categories and what kind of approaches exist in Machine Learning?
- What are the real-field challenges of Machine Learning implementation?
The goal of this work is to provide you with an answer for each of the questions mentioned above.
A Simple Definition
Machine learning is learning from data in an automated fashion (ideally without human effort) to build a model that can identify patterns and make accurate judgments. In other words, Machine Learning is the branch of computer science that aims to the development of effective computer programs that are solely operates based on the information extracted from the data.
Machine Learning Evolution
Possibly one of the very first working example of an intelligent system developed by Alan Turing who proposed a ‘learning machine’ that showed the ability to be learned (1950). After that, Marvin Minsky and Dean Edmonds (one of Minsky’s graduate students at Princeton) designed and built the first neural network machine. In the 1990s, the machine learning paradigm turned completely into data-driven approaches and from 2006 deep neural networks became the trending machine learning models with the advent of the massive amount of data and impressive computational power empowered by GPUs.
In practice, machine learning is usually employed as the method of preparing a computer to make reliable predictions based on data. However, its application is not only limited to predictive analysis. Machine Learning aims to make sense of the data and utilize its gained knowledge. The power of machine learning can be summarized in a sentence: accurate automation of complicated tasks whether about learning from the data or performing a task. After this definition, it is crucial to dig into more details. Next, we will describe the different categories of Machine Learning.
Machine Learning Types
Machine Learning has different categories and is usually divided into the following types:
- Supervised learning
- Unsupervised Learning
- Semi-supervised Learning
- Reinforcement Learning
In supervised learning, a function learns to map an input to an output based on input-output pairs of data.
$Y = f(X)$
The function is acquired based on labeled training data with known categories. In supervised learning, each sample includes an input object (\(X\)) and the desired output (\(Y\)). A supervised learning algorithm learns from training data to ideally predict the type of new unseen test examples by mapping them to the known pre-defined labels (this is also called generalization). In other words, supervised learning operates based on the ground truth (prior knowledge of the desired output) which leads to function approximation as its primary goal.
Supervised learning is usually utilized for classification when predicting output categories is desired, or regression, the goal is to estimate a continuous value. Well-known algorithms in supervised learning are logistic regression, naive Bayes, SVM (support vector machines), and random forests. The question is how we can tell the model prediction is correct or not? The answer is straightforward: Supervised learning assumes that we have the right labels; otherwise, we are in trouble!
Machine learning has delivered fantastic improvement in a variety of areas such as image recognition, speech recognition, and autonomous vehicles. These advances have relied mainly on supervised learning and reinforcement learning. Both categories need training flags as “targets” or “correct label.” The practical limit is the human usually determines these signals which requires human resources.
Unsupervised learning is a paradigm devised to empower practical intelligence without human dependency for making sense of data without sticking to specific tasks and supervisory signals. Unsupervised learning trying to primarily address the question of “what can be learned from the data?” rather than “How we can use this data to solve our problem?”.
Unsupervised learning is famous for two of its categories: Clustering and Dimensionality Reduction. k-means is one of the well-known clustering algorithms. We can mention Principal Components Analysis (PCA) and Singular Value Decomposition (SVD) as two of the well-known dimensionality reduction methods as well.
The most significant distinction between supervised and unsupervised machine learning is as follows: Supervise learning paradigm involve labels or supervisory signals supplemented by a human that supervise the algorithm to comprehend and extract relevant features. Unsupervised learning, on the other hand, employs unlabeled data to capture the inherent patterns of data.
Semi-supervised learning is obviously a combination of both which utilize both labeled and unlabeled data. Semi-supervised learning has some advantages: First, the process of labeling vast volumes of data for supervised learning is time-consuming and costly. Furthermore, too much emphasis on the labels prevents digging deeper into the inner data structure and information. The approach is to leverage the abundance amount of unlabeled samples to create a more intelligent machine for supervised tasks.
The question is when semisupervised learning becomes vital: When there is not sufficient labeled data to build a useful model, and it is not possible to get more labeled data, semi-supervised techniques comes to our rescue. A perfect example is the utilization of machine learning in healthcare. In the healthcare domain, due to privacy restrictions, we usually encounter the lack of labeled or structured data. We actually confront the absence of any data! However, we may have a massive amount of unstructured, unlabeled data so we can leverage to have a more effective machine to handle small labeled datasets.
Reinforcement learning to create models to produce a series of decisions. In reinforcement learning an agent discover how to perform in an environment by playing actions and comprehending the consequences and learns to accomplish a purpose in an ambiguous, probably complicated situation. In other words, reinforcement learning aims to conduct a goal-oriented task by determining how to attain an objective through making a sequence of actions along the way; for instance, playing chess and by observing and making decisions through the game.
In reinforcement learning, the machine meets an infield situation. The machine operates in a try-and-error manner to find the solution. The intelligent agent receives a reward or a penalty the conducted action as a guide to how it should behave. The purpose is to maximize the ultimate reward. Although the human developer arranges the reward-penalty policy, e.g., the game rules, no pathway is provided for the agent to solve the problem. The model should decide how to act for reward maximization.
Machine Learning Challenges
Implementation of a prosperous Machine Learning algorithms especially the ones aim to advance the business world and constructing reliable models, and acceptable outcomes are not very trivial. It needs a unique aggregate of domain expertise, knowledge, and data. Some of the hurdles of Machine Learning implementations are noted here:
- It is not straightforward to choose the proper algorithm: There are lots of machine learning algorithms. Despite the facts that algorithms can operate in any general framework, there are special guidelines prepared about which algorithm would be more suitable regarding the application and circumstances. Inappropriate choice of algorithm can generate useless results, heading to a massive failure of the whole work.
- The choice of data: Without data, machine learning is cripple. The quality, quantity, arrangement, and adaptation of data are crucial to the victory of a machine learning resolution. Machine Learning is learning from data. This fact shows the importance of finding and selecting the proper data. This becomes extremely hard when dealing with domains such as healthcare in which the availability of data is very scarce due to privacy restriction.
- Data Preprocessing: available data is usually unstructured and usually consists of missing elements, useless values, outliers and, etc. Collecting, organizing and preprocessing of this kind of data can be a tiresome meandering job. In fact, machine learning researchers spend a lot of time dedicated to this effort. Henceforth, data creation and the collection itself is considered to be a vital contribution in the machine learning world.
Speaking about challenges, there are more changes in practice. There are a lot of other problems. Good Machine Learning talents are in deficiency, and if there are frequent alterings in the partners operating on complicated implementation, various staff changes can be disturbing. Machine Learning is a continually developing field; practices are changing rapidly and needed to be incorporated into scientific and business efforts. In real scenarios, teams usually notice that preceding model and datasets lack proper documentation. In the absence of skilled personnel and the documentation, it is tough for the current operating team to push the effort.
The present study was designed to provide a broad, comprehensive definition of Machine Learning and investigate its associated components. The current research has only examined Machine Learning as a concept and avoided studying particular algorithms. You can find the details regarding some of the Machine Learning algorithm in other articles such as Nearest Neighbor Classifier – A Working Example, Effortless Logistic Regression Using TensorFlow, and Linear Regression using TensorFlow.
Machine Learning with Python and Scikit-learn
- Machine Learning with Scikit-learn, Data School
- Decision Trees, The Grimm Scientist
- Machine Learning with Scikit-learn, Andreas Mueller
- Convolutional Neural Networks with Python, Stanford