 Hello everyone in this talk, we will be discussing introduction to machine learning. The contents of this talk, what is machine learning, what does it do and what does it comprise of what are the different types of machine learning. Then we will learn about different techniques of hyper parameter optimization, then we will learn about how do we create pipelines for learning and evaluation of different models of machine learning. At the end, we will be seeing different applications of machine learning. Machine learning is one of the branches of artificial intelligence, you may have heard about artificial intelligence. There are several algorithms for learning hidden patterns from data. Machine learning comprises of different fields of studies, such as linear algebra statistics and probability. These two fields form the mathematical foundation of machine learning. We have the mathematical foundation coming from these two fields we need to program these mathematical equations to apply machine learning on different data sets. We need data analysis and visualization techniques for analyzing our raw data, because raw data is never clean. It contains lots of noise and outliers we may need to remove them so that our machine learning algorithms can learn on clean data and produce meaningful results, find meaningful patterns from the data. Machine learning is a broad field of study. The algorithms it offers can be applicable to data sets from different fields, such as these data sets may include protein and DNS sequences, weather data, then stock and house prices and different images biomedical images. Here, in this slide we will learn about different types of machine learning. Machine learning algorithms are classified into two types supervised and unsupervised the difference between supervised and unsupervised. In supervised learning, we have labels defined for each data point. The labels can also be known as classes or targets or outputs, but in unsupervised learning we do not have any target. There are other variants of machine learning, such as reinforcement learning semi supervised learning. But in this session, we are not going to learn about those will be focusing only on supervised learning supervised learning also has two different types, one is classification, and other is regression. In classification, the output is categorical. The classes can be specified as integers, but in regression, the output is a real number. We learn real numbers. Classification. As on the previous slide, we discussed classification is a supervised learning, it needs to have a class. First of all, the algorithms learned on training data or existing data, then it tries to predict the classes or targets. It predicts the classes by learning a decision boundary on the right we can see an image where a straight line divides the two classes of circles. Class one and class two. This straight line in real life may not be a straight line it can be a curve as well because our data may contain nonlinearities to learn these nonlinearities. Machine learning offers nonlinear algorithms as well. The algorithms, which do classification, they are called classifiers. The examples of data sets, which do classification can be tumor or no tumor data set or rain or no rain data sets. An example data set for classification can be seen in this slide. We can see one table in this slide. Each column in this table of data is a feature. The data set is a breast tumor data set. Therefore, the features are related to best tumor, for example, clump thickness, cell size, uniformity, and so on. The last column in this data set is a target, which means that whether each row is classified into cancer or not breast tumor or not. As a class says that they, there is no tumor. The class as one says that there is tumor. We will learn about regression. As we learned in the previous slides that regression is also a kind of supervised learning technique, because it also has targets. The only difference with classification is that here the targets are real numbers. In this slide, we can see that one straight line is fitting through all the blue circles, which are the targets. This straight line may not be a straight line. In real life, it could be a curve as well. In these nonlinear or linear curves, there are separate algorithms offered for regression. The algorithms, which are used for regression tasks, these are called regressors. The example data sets, which fall in the category of regression tasks are temperature forecast stock and house prices prediction, and so on. One example data set of a regression task is as follows. It's a body fat data set. Here we try to predict the percentage of body fat using different features of human body. For example, age, weight, height, the width of neck and chest and biceps. These are actually features. What we saw in the classification task on the on the right most column, we have a target defined. This target is body fat percentage, and we can see that these are real numbers, which makes it regression tasks. The algorithms, which we have been discussing for classification and regression, these algorithms have lots of attributes, which are not learned by the algorithms themselves. The values of these attributes need to be set by the user, because there are no ideal values for these attributes. The ideal values of these attributes depend on the problem at hand and the data itself. Therefore, it varies from data to data. And it needs to be set by the user, but we cannot set any value to these hyper parameters because they are directly linked to the performance of the algorithm. So we need to find the optimal values of these attributes. First of all, these attributes are called hyper parameters. In the example flow chart, we can see that there is one elastic net regressor algorithm, which has four different hyper parameters alpha normalize fit intercept and to I, a couple of these hyper parameters have real numbers. They can take only real numbers. And there are two other hyper parameters which are of bull nature and they can take only two or false. How to find an ideal combination of values of these hyper parameters to get the best accuracy for elastic net regressor. There are two techniques for that grid search and random search. In grid search, we define discrete values of each hyper parameter for example, alpha takes a positive real number. Then we can define four different values of alpha between one and 10, like one and three and seven and 10. Then for normalize we can specify true and false, same for fit and set for to I, we can specify four different numbers such as point one point three point five and one. For grid search, our algorithm creates all versus all combinations of these discrete values of all hyper parameters, and for each combination, it tries to find an accuracy. The combination which gives the best accuracy are the best hyper parameters for elastic net regressor for a particular data set. Random search works a bit differently. In this we don't need to specify discrete values for each hyper parameters, we can provide a range. For example, for alpha hyper parameter we can specify a range between one and 10. For each iteration, it tries to sample one value between this range and specify an accuracy for that. And the combination which gives the best accuracy is the best hyper parameter. There are different techniques for hyper parameter optimization. For example, Bayesian optimization, but it's a bit complicated and it's not easy to interpret. Therefore, we are not discussing it here. Now we will learn about two learning and evaluation techniques. How does our machine learning algorithms interact with the data. First is k fold cross validation. In this, the entire data set is divided into k equal parts. We can take an example like five fold cross validation, then our data is divided into five different parts, and they are equal in size. In the right we can see that our data set is divided into into four parts for training and one part for validation. The training part is used for training the algorithm and the validation part is used for evaluating the model. How good our model has learned in the second fold or second iteration. We see that the validation set has shifted to the left. Now, the blue part, the blue part here is actually used for validation and the yellow part are used for training. And then it the iteration goes on for five times. After that, we, we can say that each part of the training data has been used either for training or for validation. In each iteration we get an accuracy score, and then we can average the accuracy score, and we say that our five fold cross validation accuracy score is, for example, say 85%. Another technique for learning and evaluation could be to divide the entire data set into training and test parts. We learn on the training part and we evaluate on the test part test part is totally unseen while training the model has not seen the any samples from the test part while training. It's only used for evaluating the model so that we can get an unbiased estimate of the accuracy. Now, as a last slide, we will discuss briefly about different applications of machine learning. As we learned in the first slide that machine learning works on wide variety of data sets in bioinformatics, it finds its use for protein structure prediction. We see that in the image, we have one protein sequence and this forms a structure and which defines its functions. Then machine learning algorithms are found in use for drug response prediction. What are the different chemical properties of which affect the the biological functions. Try it can be analyzed with machine learning. Then biological age prediction can also be done with machine learning by analyzing gene expression and DNA methylation patterns in the cells. We have x-ray and CT scans, which can be analyzed and patterns can be extracted from these biological images. Then apart from bioinformatics there are different fields where machine learning is used, for example in computer vision and image recognition, which is used in robotics and self driving cars. Then in speech recognition it's used natural language processing, for example Google Translate uses machine learning or deep learning techniques for analyzing the text. In this introduction to machine learning, we learned about what is machine learning and what are the different fields it comprises of what are the different types of machine learning supervised and unsupervised. Then we saw what kind of data sets can be present for classification and regression. For classification we have categorical variables, targets are integers, in regression our targets are real numbers. Then we saw why do we need to do hyperparameter, hyperparameter optimization, and what are the different techniques for that. Then we saw a couple of evaluation techniques such as cross validation and dividing data into tests and train parts. Then at the end we saw different applications of machine learning. Thank you.