[MUSIC] This lecture concludes the general overview part of this course, and this is the last lecture for the specialization students. We have started with the field and the data, talked about the data issues then descriptive, inferential, and predictive analytics. So, it's time for the last topic in this part of the course, Prescriptive Analytics and the State of the Art in data analysis. We'll start with the definitions of course. What is prescriptive analytics? We'll talk about the definition and the role that machine learning play in prescriptive analytics, because most of these analytics are done now with machine learning methods. Then will talk about theoretical considerations, the global view of the prescriptive analytics and what it is about. Then we'll narrow down on the specific details of those theoretical considerations. And we'll talk about two major groups of prescriptive analysis, Stochastic versus Mathematical optimization. If the name sounds scary, don't despair, you will see that they're actually quite easy to understand. Then we'll move on to one special method of linear programming. This method is used quite a bit for all types of analysis, including prescription analytics. We'll talk about an overview of linear programming, the problems set up, and the simplest method that used quite a bit to analyze linear programming problems. With that, are you ready? I am, let's talk about descriptive analytics, the definition and the machine learning overview. I want us to get to the start of the scores, the value of the field. Remember we start talking about the fact that in the lower left hand corner we have very little value and very little difficulty. When we start with information only, we really can't say much about what's going on. As we progress both through the value and the difficulty, we use various methods that get more and more sophisticated, but we get a lot more out of them. For example, halfway through the middle, somewhere between diagnostic analysis or descriptive analytics and predictive analytics, we get the insight at the very top we get the foresight. So, how can we use prescriptive analytics to gain foresight? Prescriptive analytics is a type of data analytics, the use of technology to help businesses make better decisions through the analysis of raw data. It's related to both descriptive analytics and predictive analytics, but emphasizes actionable insights instead of data monitoring. Specifically, prescriptive analytics factors information about possible situations or scenarios available resources, past performance, and current performance. It also suggests the course of action or strategy. It can be used to make decisions on any time horizon from immediate to long term. Prescriptive analytics relies on artificial intelligence techniques mostly such as machine learning. The ability of a computer program without additional human input to understand an advance from data it acquires adapting all the while. Machine learning makes it possible to process a tremendous amount of data available today. As new additional data become available, computer programs adjust automatically to make the use of it, in the process that is much faster and much more comprehensive than human capabilities could manage. Prescriptive analytics go beyond simply predicting options in the predictive model, and actually suggest a range of prescribed actions and the potential outcomes of such actions. Who said, since the prescriptive model is able to predict the possible consequences based on different use of action, it can also recommend the best course of action for any pre-specified outcome. For example, Google's self-driving car Waymo is an example of prescriptive analytics in action. This vehicle makes millions of calculations on every trip that helps the car decide when and where to turn. When to slow down or speed up and when to change lanes, the same decision a human driver makes behind the wheel. In the energy sector, utility companies, gas producers, and pipeline companies all of them use prescriptive analytics to identify factors affecting the price of oil and gas to get the best terms and make the most profit. Most prescriptive analytics is accomplished with machine learning methods, the broader field of machine learning is very large. I am sure you can see anything on this graph, this is okay. We'll look at that one part at the time. Most importantly, I want to say that there are multiple ways to classify machine learning algorithms. Let's start with just the basic classification. Some types of learning described hopes up fields of study comprised of many different types of algorithms such as supervised learning. Others described powerful techniques that you can use on your own projects, for example, transfer learning. Learning problems are divided into supervised, unsupervised, and reinforcement learning. Supervised learning describes a class of problem that involves using a model to learn a mapping between input examples and the target variable. Most of the time classification and regression methods are used in supervised learning. Unsupervised learning describes the class of problems that involves using a model to describe or extract relationships in the data. In this part we're using clustering and density estimation, visualization, and projection. Reinforcement learning describes a class of problems when agent operates in an environment and must learn to operate using feedback. The use of environment means that there is no fixed training dataset. Hybrid solving problems are semi-supervised, self-supervised and multi-instance. Semi-supervised learning is supervised learning where the training data contains very few labeled examples and a large number of unlabeled examples. The goal of semi-supervised learning model is to make effective use of all the available data, not just the label data like in supervised learning. With self-supervised learning, it refers to an unsupervised learning problem that is framed as supervised learning problem, in order to apply supervised learning algorithms to solve it. I know it sounds a bit complex, but trust me it sounds worse than it is. Supervised learning algorithms are used to solve an alternate or pretest task, the result of which is a model or representation that can be used in a solution of the original or actual modeling problem. Multi-instance learning is a supervised learning problem where individual examples are unlabeled, instead bags or groups of samples are labeled and the machine starts from there. Then there are statistical inference methods they include inductive learning, deductive inference, and transdeductive learning. Inductive learning involves using evidence to determine the outcome. Inductive reasoning refers to using specific cases to determine general outcomes from specific to general. Deduction or deductive inference refers to using general rules to determine the specific outcomes, so the other way around. We can better understand induction by contrasting it with deduction. Deduction is the reverse of the induction. If induction is going from the specific to general, then deduction is going from general to the specific. Transdeductive learning is used in the fields of statistical learning theory to refer to predicting specific examples given specific examples from a domain. It is different from induction that involves learning general rules from specific examples, such as specific to specific. So that was a little complex, but let's look at this graph. So, we have induction, deduction, and transduction. Examples provide us with an approximate function and that's the process of induction. Once we have approximate function, we can deduce the values of the function at points of interest, and that is deduction. And then going from examples to the values of the points of interest is the transduction. I can't help it, but notice that this particular graph is a transitive triad. You should probably know what this means by now if you're running two courses this one and the course on network analytics simultaneously, it was a joke of course. Then there is the learning techniques methods, multitask learning, active learning, online learning, transfer learning, and in-sample learning. Multitask learning is a type of supervised learning that involves fitting a model on one dataset that addresses multiple related problems. It involves devising model that can be trained on multiple related tasks in such a way that the performance of the model is improved by training across the tasks as compared to being trained owning a single task. Active learning is a technique where the model is able to acquire a human user operator during the learning process in order to resolve ambiguity during the learning process. Online learning involves using the data available and updating the model directly before prediction is required or after the last observation was made. Online learning is appropriate for those problems where observations are provided over time. And where the probability distribution of observations is expected to also change over time. Therefore, the model is expected to change just as frequently in order to capture and hardness, those real life changes. Transfer learning is a type of learning where model is first trained on one task, then some or all of the model is used as the starting point for related task. And finally, the ensemble learning is an approach where two or more models are fit on the same data and the predictions from each model are combined. You might ask me why they go through all of those definitions. Well this is a review of course, and I wanted to provide you with review of machine learning methods available based on the type of learning. Because I am sure you have heard some of these names before, at least the supervised and unsupervised learning. And if you knew what that means, that's wonderful, if you didn't, I think it's helpful to at least be familiar with those terms. Nobody's going to quiz you on those, but I think I will feel comfortable that you're aware of what they are. But let's continue with the course. Another way to classify machine learning for prescriptive analytics is by specific methods, regardless of the learning type involved. We can start for example with an introduction, and we can talk about the types such as supervised versus unsupervised learning, classification or regression, binary classification or multi-class classification. And in introduction, dividing between the types and concepts. The concept might include parametric and non-parametric models, the cross-dimensionality, overfitting, model selection, cross-validation, no free lunch theorem. Some of those concepts you are already familiar with from the predictive analytics lecture. So it's really very much an introductory topic. The probability theory aspect of machine learning is quite extensive. I will not go over all of these details that look very complicated. What is important to understand is that probability lies at the heart of most machine learning methods, and we offer a full course on probability within our master's program. Generative model for discrete data can be bayesian, beta-binomial or naive bayes and other methods. Again, the names themselves perhaps will not tell you much, what is important to know that there is this class of generative models that uses different type of learning to generate outcomes for discrete data. Remember in the predictive analytics lecture, we've talked a little bit about that. Some of the inferential and predictive methods are also used for prescriptive analysis with machine learning. Such as bayesian's statistics, frequentist statistics, linear and logistic regression, generalized linear model and exponential family of models in general and directed graphical models such as Bayes nets and clustering. Deep learning, also known as deep structured learning, is part of a broader family of machine learning methods based on artificial neural networks with representation learning. Learning can be supervised, semi-supervised or unsupervised. See, we're using those terms already. Deep learning architectures such as deep neural networks, deep belief networks, recurrent neural networks and convolutional neural networks have been applied to fields. Including computer vision, machine vision, speech recognition, natural language processing, audio recognition, social network filtering, machine translation, bioinformatics, drug design, medical image analysis, material inspection and board game programs. I guess in every field of life, hard to say where they were not used. So, prescriptive analytics for latent variables for discrete data includes symbols of tokens, bag of words, distributed states, latent allocation and extensions. So, there are multiple methods that we can use for all of those mentioned problems. Other machine learning methods includes Markov Chain Monte Carlo modeling, such as the Monte Carlo approximation, iterative and non-iterative methods. Undirected graphical models including Markov random fields or Markov networks, conditional random fields. We've talked about Markov networks already a little bit in the networks course. So now, you can see how it can be used with prescriptive analytics. We can also have state-space models, adaptive basis function models, kernels and you know what the kernel is, and sparse linear models and latent linear models. Again, lots of different terms, you don't have to memorize them. It suffices to say that the field of machine learning is very broad. I realized that these terms and methods probably make you a little worry. What are we going to learn? Well, yes, the field is large and there is a lot to learn, and a lot of these methods will cover now machine learning course and other courses. For now, let's turn to theoretical considerations as usual. [MUSIC]