1 00:00:00,000 --> 00:00:04,578 [MUSIC] 2 00:00:04,578 --> 00:00:08,558 But before we delve into the course itself, let's just talk about what we're 3 00:00:08,558 --> 00:00:12,680 assuming you have as background in order to successfully complete this course. 4 00:00:13,730 --> 00:00:16,490 So in terms of math background, we're assuming that you know 5 00:00:16,490 --> 00:00:20,780 very basic calculus like how to take the derivative of a single variable. 6 00:00:20,780 --> 00:00:21,940 Function. 7 00:00:21,940 --> 00:00:25,300 But even that we're gonna walk through fairly slowly, but 8 00:00:25,300 --> 00:00:26,910 it's good if you remember it. 9 00:00:26,910 --> 00:00:30,750 We're also gonna assume that you know how to do very basic linear algebra 10 00:00:30,750 --> 00:00:36,240 manipulations like how to multiply to vectors, to matrices, 11 00:00:36,240 --> 00:00:41,470 and also of course what the notion is of a matrix and a vector, but again, we're 12 00:00:41,470 --> 00:00:45,740 gonna step through these ideas fairly slowly at the beginning of the course. 13 00:00:45,740 --> 00:00:49,500 In terms of programming experience, we've tried to make this course 14 00:00:49,500 --> 00:00:53,710 as open as possible to people having preferences in different languages. 15 00:00:53,710 --> 00:00:56,970 We're gonna, encourage the use of Python. 16 00:00:56,970 --> 00:01:00,090 But this is not actually required. 17 00:01:01,780 --> 00:01:05,340 So all of our programming assignments, we're gonna provide you with some starter 18 00:01:05,340 --> 00:01:08,170 code and that starter code will be in Python. 19 00:01:08,170 --> 00:01:12,340 So of course it's helpful if you are familiar with Python, but 20 00:01:12,340 --> 00:01:15,430 again you're welcome to use any language you would like. 21 00:01:15,430 --> 00:01:20,130 We're focused on teaching you the concepts of machine learning 22 00:01:20,130 --> 00:01:23,660 rather than any specific implementation details. 23 00:01:23,660 --> 00:01:26,620 But, I should mention that if you did programming assignments for 24 00:01:26,620 --> 00:01:31,470 the first course, you are set for what will be required in this course. 25 00:01:31,470 --> 00:01:33,370 So in the first course of this specialization, 26 00:01:33,370 --> 00:01:38,400 we relied on pre-implemented algorithms like GraphLab Create, but in this course, 27 00:01:38,400 --> 00:01:41,450 we're actually going to teach you all the all the algorithmic details and 28 00:01:41,450 --> 00:01:46,230 how to implement these algorithms so that you can code these up yourself. 29 00:01:46,230 --> 00:01:51,200 So in particular, in this course, we're suggesting that you use SFrames, 30 00:01:51,200 --> 00:01:56,900 which from the first course you remember is an open source library that allows for 31 00:01:56,900 --> 00:02:00,930 really scalable and efficient data manipulation, but you're welcome to use 32 00:02:00,930 --> 00:02:06,040 any data structure that you would like or library such as pandas. 33 00:02:06,040 --> 00:02:08,480 And for our assignments. 34 00:02:08,480 --> 00:02:11,520 The structure of the assignments are going to start with exploring high level 35 00:02:11,520 --> 00:02:13,540 concepts in the first part and 36 00:02:13,540 --> 00:02:16,970 then delving into that implementation details of each of the algorithms. 37 00:02:16,970 --> 00:02:20,340 So for the first part, we're going to encourage the use of pre-implemented 38 00:02:20,340 --> 00:02:24,210 algorithms, so that you can test these high level concepts without getting bogged 39 00:02:24,210 --> 00:02:27,490 down in potential bugs in your actual implementation. 40 00:02:27,490 --> 00:02:30,750 And then in the second part, once you've explored those concepts, 41 00:02:30,750 --> 00:02:34,910 then we're gonna have you actually implement all the algorithms from scratch 42 00:02:34,910 --> 00:02:38,991 without relying on these pre-implemented methods. 43 00:02:40,180 --> 00:02:44,000 If you're using Python, you will be using the Numpy library for 44 00:02:44,000 --> 00:02:45,990 manipulating matrices and vectors. 45 00:02:47,090 --> 00:02:49,320 Okay, so the net result is that in this course, 46 00:02:49,320 --> 00:02:53,510 you're really gonna get your hands dirty in implementing all the methods. 47 00:02:53,510 --> 00:02:57,150 Related to regression that you saw in the first foundational course this 48 00:02:57,150 --> 00:03:00,000 specialization as well as a bunch of new methods that we're 49 00:03:00,000 --> 00:03:02,310 gonna explore in this course. 50 00:03:02,310 --> 00:03:03,030 So finally, 51 00:03:03,030 --> 00:03:06,840 let's discuss what computing resources you guys need and there are two options. 52 00:03:06,840 --> 00:03:12,850 Either, you have your own computer and it can actually be a fairly basic computer. 53 00:03:12,850 --> 00:03:17,500 But if you are gonna use SFrames, you are gonna need a 64-bit machine. 54 00:03:17,500 --> 00:03:21,510 You'll also need to have access to the internet, of course, to watch 55 00:03:21,510 --> 00:03:26,540 these wonderful videos, as well as to implement your programming assignments. 56 00:03:26,540 --> 00:03:30,890 And you'll need the ability to install and run Python. 57 00:03:32,140 --> 00:03:35,050 And any libraries we're using associated with that and 58 00:03:35,050 --> 00:03:39,720 to store a few gigabytes of data, but the alternative, especially if you 59 00:03:39,720 --> 00:03:44,960 don't have a 64-bit machine, is we're providing a set of machines in the cloud 60 00:03:44,960 --> 00:03:50,350 that are pre-configured with everything you'll need for this course. 61 00:03:50,350 --> 00:03:54,430 So all you'll need is internet access to access those machines in the cloud. 62 00:03:55,850 --> 00:03:59,330 So now that you guys are psyched about this course, let's get started. 63 00:03:59,330 --> 00:04:03,409 [MUSIC]