0 1 00:00:00,580 --> 00:00:06,140 In the last lesson, we spoke about supervised learning as a form of machine learning. 1 2 00:00:06,190 --> 00:00:13,270 So this is where when you're training up your computational model, you're providing labeled data. So your 2 3 00:00:13,270 --> 00:00:20,290 data is clean and everything that you feed into the model has a label that the computer can understand. 3 4 00:00:20,290 --> 00:00:26,710 So, for example, you could feed in loads and loads of pictures of flowers and each flower has a string 4 5 00:00:26,980 --> 00:00:28,950 that labels what it is, 5 6 00:00:28,960 --> 00:00:32,430 so roses or chrysanthemums, or whichever. 6 7 00:00:32,440 --> 00:00:38,440 Now, we're going to talk about unsupervised learning and this is when the teacher goes out of the room 7 8 00:00:38,530 --> 00:00:40,760 and all the children go crazy. 8 9 00:00:40,810 --> 00:00:41,710 No, I'm just kidding. 9 10 00:00:41,710 --> 00:00:49,660 It's one of the other major types of machine learning. Now, with unsupervised learning, instead of providing 10 11 00:00:49,660 --> 00:00:55,440 training data where each and every piece of data that you feed into the model is clearly labeled, 11 12 00:00:55,450 --> 00:01:01,870 instead, you're just feeding it a whole bunch of data, and you want the model to work out some sense in 12 13 00:01:01,870 --> 00:01:08,800 that data set. So it learns to find structure in your unstructured data. 13 14 00:01:08,800 --> 00:01:14,950 So in unsupervised learning, you might have a whole bunch of data that looks like this. And you're not 14 15 00:01:14,950 --> 00:01:22,000 really telling the computer what all the data means, but instead, you want the computer to simply learn 15 16 00:01:22,210 --> 00:01:29,800 and be able to see this data seems to be organized in a particular fashion, and you can actually divide 16 17 00:01:29,800 --> 00:01:32,220 them roughly along this line, 17 18 00:01:32,500 --> 00:01:39,160 and the computer can see the structure within the data so being able to differentiate that this might 18 19 00:01:39,160 --> 00:01:44,740 be two separate groups of data, having something more in common with each other than the other group. 19 20 00:01:44,740 --> 00:01:51,610 So one type of unsupervised learning is called clustering and this is where the computer learns and 20 21 00:01:51,610 --> 00:01:58,900 looks at the data and all of its various features, and figures out that all the data belongs in separate 21 22 00:01:59,170 --> 00:02:04,480 clusters, instead of a across-the-board random set of crosses. 22 23 00:02:04,480 --> 00:02:10,240 We actually have discrete clusters that probably can be categorized as grouped in clusters. 23 24 00:02:10,270 --> 00:02:12,860 So let me illustrate this with a real-life example. 24 25 00:02:12,880 --> 00:02:14,620 I think you'll make it a lot more clear. 25 26 00:02:14,980 --> 00:02:19,420 Now, let's say that you work on the engineering team at Facebook. 26 27 00:02:19,540 --> 00:02:26,380 Now, one of the problems that you're tasked with solving is, how do you get more users to engage more 27 28 00:02:26,380 --> 00:02:27,520 on Facebook? 28 29 00:02:27,520 --> 00:02:32,020 This is the dilemma that real-life Facebook engineers are faced with every day. 29 30 00:02:32,230 --> 00:02:38,050 So one of the ways of increasing engagement is by putting people in touch with friends that they didn't 30 31 00:02:38,050 --> 00:02:42,380 know were on Facebook or friends that they have an added as a friend yet. 31 32 00:02:42,670 --> 00:02:46,500 So how can you do that if they're not searching for those friends? 32 33 00:02:46,510 --> 00:02:54,520 Well, if you look into the data on Facebook, you might be able to see that this person is connected to 33 34 00:02:54,520 --> 00:02:55,390 this person. 34 35 00:02:55,690 --> 00:03:01,360 So that could be through the fact that they have both added each other as friend or maybe, you know, 35 36 00:03:01,390 --> 00:03:09,920 the guy on the left has tagged the woman on the right or various other activities that show this connection. 36 37 00:03:09,940 --> 00:03:16,630 Now, if you map this out to all the users, you'll be able to see all of their interconnected relationships 37 38 00:03:17,080 --> 00:03:20,580 and you can see which users are linked to whom. 38 39 00:03:20,590 --> 00:03:27,940 Now, even as we look at this using the human eye, you can sort of see clusters appearing, right? 39 40 00:03:27,940 --> 00:03:31,840 So maybe this is a cluster or a friendship group 40 41 00:03:32,260 --> 00:03:34,960 and this is another cluster friendship group. 41 42 00:03:34,960 --> 00:03:42,160 So using clustering and using unsupervised learning, just by looking at the Facebook raw data, the machine 42 43 00:03:42,160 --> 00:03:49,030 learning algorithm is able to tell who probably belongs in certain social groups all without any sort 43 44 00:03:49,030 --> 00:03:50,070 of training data. 44 45 00:03:50,080 --> 00:03:56,800 You know I didn't say that these and these friends are in my close inner circle or those and those friends 45 46 00:03:56,830 --> 00:03:59,920 are in my basketball team or whichever, 46 47 00:03:59,920 --> 00:04:06,690 but all of this data is worked out based on these patterns that are recognized by the computer. 47 48 00:04:06,940 --> 00:04:13,360 So what can you do using clustering? What is a application of this type of machine learning? 48 49 00:04:13,360 --> 00:04:17,050 Well, let's zoom in on this particular social circle. 49 50 00:04:17,140 --> 00:04:23,720 Now, you can see that this lady here is not yet linked to these two people, right? 50 51 00:04:23,920 --> 00:04:31,750 Even though she seems to belong in the same social group. So she probably knows those two people, but 51 52 00:04:31,750 --> 00:04:34,380 just hasn't yet added them as a friend. 52 53 00:04:34,390 --> 00:04:39,970 So if you go onto Facebook, one of the most prominent things that you see nowadays at the top is this 53 54 00:04:39,970 --> 00:04:47,800 bar where it says, "People You May Know," and the Facebook machine learning algorithm is using clustering 54 55 00:04:47,830 --> 00:04:55,420 and using unsupervised learning to look at these maps of social networks figuring out who belongs in 55 56 00:04:55,420 --> 00:05:02,330 which social circles and the people that you might know who are also in the same circle as you, but you 56 57 00:05:02,330 --> 00:05:04,920 haven't yet added them as a friend. 57 58 00:05:04,970 --> 00:05:10,140 So this is how it figures out some of those people who you might want to add as friends. 58 59 00:05:10,220 --> 00:05:13,940 Now, if you add more people as friends, then you have more interactions, 59 60 00:05:14,030 --> 00:05:17,850 you see more of their pictures, increasing engagement on Facebook. 60 61 00:05:17,900 --> 00:05:18,670 And there we go, 61 62 00:05:18,680 --> 00:05:21,330 job done using machine learning. 62 63 00:05:21,350 --> 00:05:28,040 So this is called clustering and it is a type of unsupervised machine learning. 63 64 00:05:28,070 --> 00:05:32,990 Now, there's quite a few other types of unsupervised machine learning, but it's beyond the scope of this 64 65 00:05:32,990 --> 00:05:39,920 talk at the moment. We're currently working hard on entire suite of machine learning lessons in order 65 66 00:05:39,920 --> 00:05:46,220 to teach machine learning in a way that's easily understood and we can go into deeper topics like reinforcement 66 67 00:05:46,220 --> 00:05:49,850 learning, back propagation, and lots, lots more. 67 68 00:05:49,850 --> 00:05:56,990 But for now, we've spoken about the two major types of machine learning which are supervised learning 68 69 00:05:57,890 --> 00:06:00,680 and unsupervised learning. 69 70 00:06:00,680 --> 00:06:05,240 Now, in the next lesson, I'm going to talk to you about one of my favorite types of deep learning which 70 71 00:06:05,300 --> 00:06:07,270 is reinforcement learning. 71 72 00:06:07,700 --> 00:06:09,320 So I'll see you on the next lesson.