Machine learning algorithms establish rules and processes that are used while processing a specific problem. These algorithms analyze data to predict the probable results of certain behaviors. As new data is received, these algorithms learn, optimizing and improving their responses using feedback from previous performances.
Combinations of machine learning algorithms can produce artificial intelligence (AI).
Machine learning algorithms are designed to learn from observations. They analyze data and detect data patterns. The more data these algorithms process, the smarter they become, improving their overall predictive performance. Computers develop responses using these algorithms, which monitor the computer user’s repetitive behaviors and actions.
With a variety of machine learning algorithms available, and new ones emerging, it is important to select the most appropriate algorithms for the business’s needs. Some services provided by machine learning algorithms are:
- Phone-answering services
- Market research
- Dynamic pricing and advertising
- Fraud detection
- Personal assistants
- Image recognition
- Speech recognition
- Self-driving cars
Machine learning was originally designed to support artificial intelligence, but along the way (late 1970s-early ’80s), it was discovered machine learning could also perform specific tasks.
Three Types of Machine Learning Algorithms
When training a machine learning algorithm, large amounts of appropriate data are needed. There are three basic types of machine learning algorithms: supervised learning, unsupervised learning, and reinforced learning.
Supervised learning algorithms: Both input and the desired output are presented to the algorithm, and it must learn how to respond to the input to achieve the desired output. This is accomplished by using statistically representative sample inputs and corresponding outputs.
For example, training an algorithm to recognize a generic cat within a photograph would require showing it photographs of different cats, as well as photos of other animals, for purposes of comparison. When the algorithm is shown a picture with a cat in it, the algorithm recognizes a cat based on its previous training. This is done by comparing the specific features, or characteristics, of the input image with the features it has been trained to recognize.
Unsupervised learning algorithms: This is used when there are only input variables and no specifically desired output. Unlabeled training data is used to model the data’s underlying structure. There are three kinds of unsupervised learning:
- Clustering: Used for grouping samples/objects into a cluster, based on their similarities. Objects in one cluster are more alike than to the objects in another cluster. Clustering is often used with recommendation engines (customers purchasing this product also purchased _____), biological data analysis (identifying cancer cells), and social network analysis (maps and measures relationships).
- Association: Used to find co-occurrences (statistical probability of events happening simultaneously). This form of unsupervised learning is used extensively for market-basket analysis. An example of an association model would be predicting a customer purchasing bread has a 90% probability of also purchasing butter.
- Reinforcement learning: A type of machine learning algorithm that learns to determine the best next step, based on previous experiences. Reinforcement algorithms normally use a trial-and-error process. For example, to earn points, a video game player must move to certain locations, at certain times. If a reinforcement algorithm is playing the game, it would start with random movements. Over time, the algorithm learns where and when it needs to move the game’s character to increase its points total.
- Dimensionality Reduction: Reduces the number of variables within a data set while still ensuring the important information is still communicated. Feature extraction methods and feature selection methods are commonly used. Dimensionality reduction is often used for image compression, reducing neural network architectures with autoencoders, and can reduce the data storage space needed.
Deep Learning Algorithms
Deep learning is considered a form of machine learning and uses algorithms inspired by the structure and function of the brain to form artificial neural networks. An artificial neural network is a combination of algorithms that assure the system behaves in ways similar to the human brain.
Deep learning reduces the need for some of the data preprocessing that is normally used with machine learning. These algorithms can take in and process unstructured data, such as images and text, and automate feature extraction, eliminating some dependency on human support.
For instance, a group of photos showing different pets needs to be categorized by type, such as “cat,” “dog,” “guinea pig,” and “goldfish.” Deep learning algorithms can decide which features (ears, nose, general shape) are most useful in distinguishing one animal from another.
Deep learning algorithms are typically designed to promote building much larger and more complex neural networks. The most popular deep learning algorithms are:
- Convolutional Neural Network
- Recurrent Neural Networks
- Long Short-Term Memory Networks
- Stacked Auto-Encoders
- Deep Boltzmann Machine
Machine learning algorithms are used in selfdriving cars and require extensive amounts of data on driving to function safely. Machine learning algorithms in self-driving cars must continuously sense and interpret the surrounding environment and make predictions of potential changes to that surrounding environment. This is accomplished by dividing the process into four tasks:
- Object detection
- Object identification or recognition
- Object classification
- Object localization and prediction of movement
The machine learning algorithms for self-driving cars can be divided roughly into four categories: pattern recognition algorithms, cluster algorithms, regression algorithms, and decision matrix algorithms. It should be noted, however, that one category of machine learning algorithms can be synergistically used to perform two or more tasks. For instance, a regression algorithm can be used for both object detection and the prediction of movement.
In advanced driver assistance systems (ADAS) – technologies that assist drivers in driving and parking functions, which are also used in self-driving cars – the images received through the car’s sensors contain a variety of data about the surrounding environment. Images based on radar or cameras are used in localization and actuation to create an image-based model. Pattern recognition algorithms are designed to screen out unusual or unnecessary data points. Recognizing patterns in the data is part of the classification process. These algorithms can also be categorized as data reduction algorithms.
Pattern recognition: These algorithms are designed to screen out unusual data points, and are needed before classifying the objects. They help with filtering the data received through sensors by identifying object edges. Pattern recognition algorithms combine circular arcs and line segments in a variety of ways to recognize objects.
Clustering: There are times when the images received are not clear, making it difficult to locate objects. This could be the result of discontinuous data, low-resolution images, or very few data points. Clustering algorithms are good at finding a structure from data points.
Regression algorithms: These algorithms are useful for predicting events. Regression is a supervised machine learning algorithm that helps with mapping predictive relationships. Regression analysis will estimate the relationship between existing variables, and compare the variables’ effects using different scales. The three primary metrics used are:
- Shape of the regression line
- Number of independent variables
- Type of dependent variables
Regression algorithms use the repeatability of the environment to create a statistical model of relationships between a captured image and the location of a given object within that image. This statistical model may be trained offline and offers quick online detection with image sampling. Neural network regression, bayesian regression, and decision forest regression (and others) are typically used with self-driving cars.
Decision Matrix Algorithms: These algorithms are used primarily for decision-making. They are good for identifying, analyzing, and assessing the performance of relationships established between sets of values. Determining if a car should turn left or needs to brake is based on the confidence algorithms have in recognition and the prediction of moving objects.
These algorithms are made up of multiple decision models that have been independently trained. Their predictions are combined to produce an overall decision. AdaBoosting and Gradient boosting are popular decision-making algorithms.
Machine Learning on the Edge
Machine learning is a technology that is still finding new uses. Using machine learning on the edge is one of these new uses.
With the rise of the Internet of Things, an explosion of smart devices connected to the cloud was developed. Unfortunately, the network could not support the surge in demand. As a result, cloud networks became congested, and there were often delays due to distance.
Edge machine learning provided a solution to the network congestion and delays in working with the edge (data latency).
Integrating ML into the edge resolves latency problems and helps to distribute the computing load. It speeds up the decision-making process and can provide better real-world results in real time. Edge devices will continue sending data to the cloud, but only when needed. The ability to locally process some data in real time, while screening for data that should be sent to the cloud, is what makes this system so efficient.
Image used under license from Shutterstock.com