• Unit 4: Machine Learning Algorithms

    In this unit, we will explore the full range of key ML algorithms. We will delve into important classification and regression algorithms and the key distinctions between these two kinds of supervised ML. The unit covers representative classification and regression algorithms and how to assess their performance in predicting new inputs. You will also get an overview of how unsupervised learning, reinforcement learning, and neural networks are used in modern AI applications.

    Completing this unit should take you approximately 10 hours.

    • 4.1: Classification Algorithms

      Supervised ML algorithms are commonly used in two important applications: classification and regression. Classification algorithms aim to use available data to establish the general pattern that characterizes the "category" of the data. Once trained on available data, these algorithms can predict the new data category. For example, by seeing many pictures of cars, the algorithm classifies a new picture as a Car or Not a Car. Regression algorithms are used to predict numerical values. For example, knowing the credit scores of thousands of consumers given their financial portfolio, this algorithm can predict the credit score of a new person given her financial data.

      You will learn to analyze if a particular supervised ML problem can be solved with a classification or regression algorithm. The section introduces a simple classification algorithm called K nearest neighbors. We will describe the conceptual and mathematical underpinnings of the algorithm and then illustrate code segments that use the Python Scikit library to implement this algorithm for specific datasets.e
    • 4.2: Classification Algorithm Performance

      Machine learning models may work well in theory, but they may not work well in practice for a variety of reasons. Several metrics are used to assess the accuracy and performance of classification algorithms. As we review, we will discuss false positives and false negatives in classification and performance metrics like precision, recall, confusion matrix, etc., to evaluate how well an algorithm delivers results.

      Finally, this section introduces you to the linear regression algorithm to predict values in continuous domains. It is one of the most common machine learning methods and is used in various problems where the relationship between the variables and the output is assumed to be linear.

    • 4.3: Linear Regression Algorithms

      This section explains the methods and metrics to assess the performance of a regression algorithm using residual calculations such as mean square error (MSE), root mean square error (RMSE), etc. Linear regression has several advanced options for the improvement of results through methods for "regularization". These include ridge and lasso regression and another technique called gradient boosting. These options often result in better performance in terms of prediction accuracy.

    • 4.4: Other Supervised ML Classification Algorithms

      Once you learn how to use one of the models for classification (like K-NN) or a regression model (like linear regression), you can quickly learn all the other options. Libraries tend to make it easier to change these options through simple parameters. Another important element is understanding how to analyze a problem to decide what kinds of models make the most sense for that problem. This is an important skill to learn.

    • 4.5: Unsupervised Learning and Reinforcement Learning

      This section gives an overview of unsupervised ML, which is useful in finding patterns in data about which very little is known (recall that supervised ML requires training data for which the correct output is known for the training set). These methods are based on advanced statistics. They can be useful in giving users some insights about data patterns that are otherwise impossible to see. A second element of this unit is an overview of reinforcement ML. Reinforcement ML covers cases where there is no "right" answer; the agent tries to find the best or optimal strategy to maximize some reward function. This algorithm is great for dynamic optimization problems, such as a robot trying to find fuel in a maze.

    • 4.6: ML Using Neural Networks

      This section covers the vast subject of neural networks. This technology could be a course unto itself. We will describe the basics of neural networks and some of the marvelous applications of this technology in modern life. In addition, we will introduce the different types of neural networks and how they are trained and deployed to predict the results for new inputs. In doing so, we will give an overview of artificial neural networks (ANN), recurrent neural networks (RNN), and convolutional neural networks, along with some of their applications.