1 00:00:00,566 --> 00:00:02,900 Hello and welcome back to the course of Machine Learning. 2 00:00:02,900 --> 00:00:05,900 Previously we talked about the Support Vector Machine algorithm. 3 00:00:05,900 --> 00:00:09,566 And today we're going to talk about the kernel support Vector machine algorithm. 4 00:00:09,566 --> 00:00:11,233 And the intuition behind it. 5 00:00:11,233 --> 00:00:14,566 So as you recall in the support vector machine situation, 6 00:00:14,566 --> 00:00:20,700 we had a set of observations, which belong to different classes. 7 00:00:20,700 --> 00:00:23,833 And the point was to find this decision 8 00:00:23,833 --> 00:00:27,900 boundary between them so that any future observations 9 00:00:28,200 --> 00:00:31,200 could be identified which class they fall into. 10 00:00:31,733 --> 00:00:34,866 And in this case, we can see that, there's a decision boundary. 11 00:00:34,866 --> 00:00:35,700 And the support vector 12 00:00:35,700 --> 00:00:39,533 machine algorithm tells us exactly how to find that boundary. 13 00:00:39,866 --> 00:00:44,466 But what happens when we cannot find a boundary? 14 00:00:44,633 --> 00:00:47,633 What happens in a situation like this, for example. 15 00:00:47,800 --> 00:00:49,033 What what do we do here? 16 00:00:49,033 --> 00:00:51,933 We can't just draw a line through these points, right? 17 00:00:51,933 --> 00:00:55,300 We can't just separate them with a straight line. 18 00:00:55,633 --> 00:00:57,700 We can't separate them with a horizontal line. 19 00:00:57,700 --> 00:00:59,766 We can't separate them with a vertical line. 20 00:00:59,766 --> 00:01:04,200 Whatever we try to do, we cannot separate these points 21 00:01:04,500 --> 00:01:09,666 in the same way that the support vector machine algorithm, told us to. 22 00:01:10,066 --> 00:01:13,133 And so what happens in this situation and why does it happen? 23 00:01:13,200 --> 00:01:16,200 Well, this happens because in this case, 24 00:01:16,400 --> 00:01:20,166 the data is not linearly separable. 25 00:01:20,566 --> 00:01:23,233 So here we've got the two examples side by side on the left 26 00:01:23,233 --> 00:01:24,633 the linearly separable data. 27 00:01:24,633 --> 00:01:27,166 And on the right the non-linearly separable data. 28 00:01:27,166 --> 00:01:32,033 And what's the support vector machine algorithm does is it 29 00:01:32,033 --> 00:01:35,633 helps us find that decision boundary 30 00:01:35,633 --> 00:01:38,633 or correctly place that decision boundary. 31 00:01:38,933 --> 00:01:40,633 But it does have an assumption. 32 00:01:40,633 --> 00:01:43,533 The assumption is that the data is linearly separable. 33 00:01:43,533 --> 00:01:48,533 So basically it's saying that it is possible to place the decision boundary. 34 00:01:48,533 --> 00:01:52,900 So support vector machine algorithm helps us choose the optimal 35 00:01:52,900 --> 00:01:56,533 decision boundary out of the multiple decision boundaries that we can draw. 36 00:01:56,933 --> 00:02:00,733 Whereas in the non linearly separable case we can't even draw one 37 00:02:00,733 --> 00:02:04,700 single decision boundary or linear decision boundary. 38 00:02:04,700 --> 00:02:08,666 So therefore the support vector machine algorithm just won't work by definition. 39 00:02:09,200 --> 00:02:11,300 And so what are we going to do. 40 00:02:11,300 --> 00:02:13,833 Well this is what this section is about. 41 00:02:13,833 --> 00:02:17,933 This section is about coming up with an algorithm that will help us deal 42 00:02:17,933 --> 00:02:21,900 with situations like that where we have to extract this class, 43 00:02:22,600 --> 00:02:25,200 when it is surrounded or, 44 00:02:25,200 --> 00:02:28,200 in other situations where you can't just simply just draw a line. 45 00:02:28,733 --> 00:02:32,733 And the way this section is structured or the intuition tutorials of this section 46 00:02:32,733 --> 00:02:36,133 is, first of all, we're going to explore a method which is called, 47 00:02:36,600 --> 00:02:41,900 going to a higher dimensional space where we will learn how we can take, 48 00:02:42,433 --> 00:02:46,866 this data set and add an extra dimension 49 00:02:47,200 --> 00:02:50,666 into our, space that we're dealing with 50 00:02:50,833 --> 00:02:53,966 and make our data, linearly separable. 51 00:02:53,966 --> 00:02:54,766 So we'll have a look 52 00:02:54,766 --> 00:02:59,266 at a couple of those examples, and then we will discuss the kernel trick, 53 00:02:59,633 --> 00:03:03,633 which allows us to do these things in a more computationally efficient way 54 00:03:03,833 --> 00:03:07,233 without having to deal with multiple, or higher dimensions. 55 00:03:07,500 --> 00:03:10,566 And finally, we will talk about the different types of kernels that exist. 56 00:03:10,700 --> 00:03:13,700 So quite an interesting section ahead, and I can't wait 57 00:03:13,700 --> 00:03:16,466 to see you in the next tutorial. Until then, happy analyzing.