Image processing is a very popular topic in machine learning. The idea is pretty self-explanatory: creating models that can analyze images and make inferences on top of them. By inference, you can understand this as detecting objects in an image, classifying images, and so on.
AWS offers a set of built-in algorithms you can use to train image processing models. In the next few sections, you will have a look at those algorithms.
As the name suggests, the image classification algorithm is used to classify images using supervised learning. In other words, it needs a label within each image. It supports multi-label classification.
The way it operates is simple: during training, it receives an image and its associated labels. During inference, it receives an image and returns all the predicted labels. The image classification algorithm uses a CNN (ResNet) for training. It can either train the model from scratch or take advantage of transfer learning to pre-load the first few layers of the neural network.
According to AWS’s documentation, the .jpg and .png file formats are supported, but the recommended format is MXNet’s RecordIO.
The semantic segmentation algorithm provides a pixel-level capability for creating computer vision applications. It tags each pixel of the image with a class, which is an important feature for complex applications such as self-driving and medical image diagnostics.
In terms of its implementation, the semantic segmentation algorithm uses the MXNet Gluon framework and the Gluon CV toolkit. You can choose any of the following algorithms to train a model:
All these options work as an encoder-decoder neural network architecture. The output of the network is known as a segmentation mask.
Just like the image classification algorithm, the main goal of the object detection algorithm is also self-explanatory: it detects and classifies objects in images. It uses a supervised approach to train a deep neural network.
During the inference process, this algorithm returns the identified objects and a score of confidence regarding the prediction. The object detection algorithm uses Single Shot MultiBox Detector (SSD) and supports two types of network architecture: Visual Geometry Group (VGG) and Residual Network (ResNet).
That was such a journey! Take a moment to recap what you have just learned. This chapter had four main topics: supervised learning, unsupervised learning, textual analysis, and image processing. Everything that you have learned fits into those subfields of machine learning.
The list of supervised learning algorithms that you have studied includes the following:
Remember that you can use linear learner, factorization machines, XGBoost, and KNN for multiple purposes, including solving regression and classification problems. Linear learner is probably the simplest algorithm out of these four; factorization machines extends linear earner and is good for sparse datasets, XGBoost uses an ensemble method based on decision trees, and KNN is an index-based algorithm.
The other two algorithms, Object2Vec and DeepAR, are used for specific purposes. Object2Vec is used to create vector representations of the data, while DeepAR is used to create forecast models.
The list of unsupervised learning algorithms that you have studied includes the following:
K-Means is a very popular algorithm that is used for clustering. PCA is used for dimensionality reduction, IP Insights is used for pattern recognition, and RCF is used for anomaly detection.
You then looked at regression models and K-Means in more detail. You did this because, as a data scientist, you should at least master these two very popular algorithms so that you can go deeper into other algorithms by yourself.
Then, you moved on to the second half of this chapter, where you learned about textual analysis and the following algorithms:
Finally, you learned about image processing and looked at the following:
Since the topics covered in this chapter are very important with regard to the AWS Certified Machine Learning Specialty exam, you are highly encouraged to jump into the AWS website and search for machine learning algorithms. There, you will find the most recent information about the algorithms that you have just learned about. Please make sure you do it before taking the exam.
That brings you to the end of this quick refresher and the end of this chapter. In the next chapter, you will learn about the existing mechanisms provided by AWS that you can use to optimize and evaluate these algorithms.