1
00:00:08,170 --> 00:00:12,430
Hey guys what's going on this is Caleb with slopes and in this video we're going to be talking about

2
00:00:12,430 --> 00:00:13,470
machine learning.

3
00:00:13,470 --> 00:00:19,450
We're going to just kind of do a brief umbrella discussion about machine learning at large.

4
00:00:19,450 --> 00:00:26,020
Before we dive into the code and actually start using Core M-L in our apps First we need to understand

5
00:00:26,200 --> 00:00:28,040
what is machine learning.

6
00:00:28,060 --> 00:00:33,420
We also are going to talk a bit about how it works and why should we be using machine learning.

7
00:00:33,440 --> 00:00:34,240
OK what's the point.

8
00:00:34,250 --> 00:00:35,520
Why why should we do it.

9
00:00:35,710 --> 00:00:42,790
But first let's go and just talk about what is machine learning machine learning is basically a way

10
00:00:42,820 --> 00:00:51,130
that our programs on our applications can learn from various data that's been passed into our application

11
00:00:51,550 --> 00:00:54,260
and then make predictions based on that information.

12
00:00:54,340 --> 00:01:01,120
In the example of the app that you'll build in this course we use core M-L we use machine learning to

13
00:01:01,120 --> 00:01:04,740
classify information that comes in through a photo.

14
00:01:04,900 --> 00:01:09,060
Then our our model which we'll talk about the trained model later.

15
00:01:09,250 --> 00:01:12,940
Basically the model is going to take that input data as a photo.

16
00:01:12,940 --> 00:01:19,150
It will analyze patterns it can see in the photo and then it can use that information to make a prediction

17
00:01:19,570 --> 00:01:21,300
based on what it already knows.

18
00:01:21,460 --> 00:01:22,860
So that's pretty cool.

19
00:01:23,170 --> 00:01:26,630
A definition I really like of machine learning is right here.

20
00:01:26,690 --> 00:01:27,170
OK.

21
00:01:27,270 --> 00:01:30,540
And it's pretty vague but I'm going to go into detail about it later.

22
00:01:30,730 --> 00:01:37,830
Machine learning gives computers the ability to learn without being explicitly programmed.

23
00:01:37,840 --> 00:01:44,580
So I did not have to write the code to tell my app how to identify a remote or a window or an umbrella.

24
00:01:44,590 --> 00:01:46,590
I didn't have to tell it to do that.

25
00:01:46,780 --> 00:01:48,710
I used a pre-trained model.

26
00:01:48,730 --> 00:01:50,440
Think of that like a brain.

27
00:01:50,530 --> 00:01:56,810
When you are a baby you have a brain obviously but it's still developing it's still learning and growing.

28
00:01:56,830 --> 00:02:01,650
So you need to have experiences you need to be exposed to different kinds of information.

29
00:02:01,660 --> 00:02:02,920
You need someone to teach you right.

30
00:02:02,920 --> 00:02:05,810
Maybe your parents teach you oh this is hot right.

31
00:02:05,830 --> 00:02:06,900
Don't touch the stove.

32
00:02:07,030 --> 00:02:12,040
They tell you that it's hot and you probably know that but you don't understand and don't experience

33
00:02:12,040 --> 00:02:13,310
it until you touch the cell.

34
00:02:13,330 --> 00:02:14,370
Wow that's hot.

35
00:02:14,440 --> 00:02:16,390
And you make that connection in your brain.

36
00:02:16,480 --> 00:02:18,570
Pre-trained model is kind of like that.

37
00:02:18,710 --> 00:02:19,130
OK.

38
00:02:19,150 --> 00:02:25,540
Data scientists are kind of like parents in a way because they train these these machine learning models

39
00:02:25,840 --> 00:02:29,250
to understand information and to classify it.

40
00:02:29,410 --> 00:02:32,670
So it's exposed to a lot of different kinds of information.

41
00:02:32,800 --> 00:02:39,290
Maybe the data scientists expose their model to hundreds of different pictures of TV remotes.

42
00:02:39,400 --> 00:02:46,330
So that the model can identify OK when I see a shape that's about this size that has a bunch of square

43
00:02:46,330 --> 00:02:51,520
buttons in a certain grid and order with different colors it knows to classify that and observe those

44
00:02:51,520 --> 00:02:56,500
patterns and then based on that it can make a prediction with a certain level of confidence.

45
00:02:56,590 --> 00:02:57,910
That's really cool.

46
00:02:57,940 --> 00:03:05,620
Now basically the computer has been trained it's learned what makes a remote What makes an umbrella.

47
00:03:05,710 --> 00:03:11,170
And based on its experience and what it's learned it's able to make a prediction very very cool.

48
00:03:11,170 --> 00:03:16,840
This technology of computers being able to learn without being explicitly programmed is pretty incredible

49
00:03:16,840 --> 00:03:22,450
in my opinion and the implications of how machine learning could change the world and are changing the

50
00:03:22,450 --> 00:03:26,630
world go beyond just simple apps that classify photos.

51
00:03:26,680 --> 00:03:32,350
Doctors are using machine learning to identify and diagnose certain diseases.

52
00:03:32,360 --> 00:03:33,110
OK.

53
00:03:33,490 --> 00:03:38,770
It can even be used for like relationship stuff it can be used to identify patterns and habits maybe

54
00:03:38,770 --> 00:03:41,350
for like relationship or matchmaking.

55
00:03:41,350 --> 00:03:48,760
It could be used to analyze very expensive and costly manufacturing procedures like will this engine

56
00:03:48,820 --> 00:03:54,420
work or will a certain part fail it can make predictions based on how it has been trained.

57
00:03:54,520 --> 00:03:59,390
There's lots of very cool ways in the real world that machine learning could be used.

58
00:03:59,620 --> 00:04:00,370
OK.

59
00:04:00,370 --> 00:04:05,780
There are a couple different ways that machine learning works and now we're into the how does it work.

60
00:04:05,800 --> 00:04:06,960
Part of this video.

61
00:04:07,210 --> 00:04:13,720
So there is something called supervised machine learning where basically when the model is being trained

62
00:04:14,170 --> 00:04:20,560
the data scientists or whomever is programming it they might show it a picture of a dog and say OK this

63
00:04:20,560 --> 00:04:21,260
is a dog.

64
00:04:21,370 --> 00:04:27,190
And the model knows OK that's a dog great then it might show a photo of a cat and say OK this is not

65
00:04:27,190 --> 00:04:27,830
a dog.

66
00:04:28,000 --> 00:04:28,660
All right.

67
00:04:28,660 --> 00:04:30,190
And so then the model can tell.

68
00:04:30,190 --> 00:04:31,270
OK this is a dog.

69
00:04:31,270 --> 00:04:32,370
This is not a dog.

70
00:04:32,560 --> 00:04:39,270
Now the issue though is that supervised M-L requires a lot of human input to verify that the model is

71
00:04:39,340 --> 00:04:40,830
is doing it correctly.

72
00:04:41,030 --> 00:04:41,640
OK.

73
00:04:41,910 --> 00:04:46,630
OK so since the model is being supervised the human is saying yep that's a dog.

74
00:04:46,660 --> 00:04:47,080
OK.

75
00:04:47,140 --> 00:04:48,520
This is not a dog.

76
00:04:48,550 --> 00:04:49,520
This is a cat.

77
00:04:49,540 --> 00:04:50,350
This is a dog.

78
00:04:50,350 --> 00:04:51,670
This is the dog.

79
00:04:51,760 --> 00:04:59,260
The model can learn and identify patterns and then based on that in the future it can classify new data

80
00:04:59,260 --> 00:05:04,690
it receives and make a prediction based on what it has already seen of cats and dogs that could analyze

81
00:05:04,690 --> 00:05:11,170
the photo and realize OK so some dogs are very big Some dogs are very small but most cats are about

82
00:05:11,170 --> 00:05:12,240
the same size.

83
00:05:12,250 --> 00:05:12,860
OK.

84
00:05:13,050 --> 00:05:17,410
A cat has a smaller nose than most dogs and a dog has a bigger nose than most cats.

85
00:05:17,410 --> 00:05:21,530
So based on those patterns it can see in the photo it can make predictions.

86
00:05:21,550 --> 00:05:22,530
Very cool.

87
00:05:23,650 --> 00:05:30,010
Be unsupervised machine learning there's also unsupervised machine learning and based on some inherent

88
00:05:30,010 --> 00:05:36,670
characteristics of those images passed in the model can start to identify patterns and make its own

89
00:05:36,670 --> 00:05:39,080
predictions in its own classifications.

90
00:05:39,070 --> 00:05:40,930
Kate that's very very cool.

91
00:05:41,140 --> 00:05:46,900
And there are of course a couple of different ways that data is structured in machine learning models

92
00:05:46,930 --> 00:05:52,810
but most of the time it will be structured in either a decision tree where basically one decision yes

93
00:05:52,810 --> 00:05:57,220
or no lead you to another part of the tree yes or no lead you to another part of the tree and so on

94
00:05:57,220 --> 00:06:02,390
and so forth until it can make a prediction with a fairly high level of confidence.

95
00:06:02,410 --> 00:06:09,660
Beyond that there are artificial neural networks which basically connect data that is similar or related

96
00:06:09,820 --> 00:06:16,030
case similar to how our brain works with different synopses and different nodes in our brains for creating

97
00:06:16,030 --> 00:06:21,040
thoughts and memories and artificial neural network works just like that where it makes connections

98
00:06:21,040 --> 00:06:26,020
and it makes observations based on patterns and related data that it already knows about.

99
00:06:26,080 --> 00:06:26,770
Very very cool.

100
00:06:26,770 --> 00:06:31,750
Those are just two common ways that data is structured for a machine learning model.

101
00:06:32,020 --> 00:06:36,100
And now we should talk about why use machine learning in our apps what's the point.

102
00:06:36,160 --> 00:06:37,260
Why should I use this.

103
00:06:37,420 --> 00:06:42,730
And I'm going to tell you the number one reason is that it makes it easy for you to personalize your

104
00:06:42,730 --> 00:06:44,410
app for your user.

105
00:06:44,650 --> 00:06:50,860
If you integrate machine learning you can add features to your app that pay attention to what your user

106
00:06:50,860 --> 00:06:54,350
does and make suggestions and predictions based on that.

107
00:06:54,610 --> 00:07:01,630
If you've ever shopped on Amazon.com you know when things pop up that say recommended for you or based

108
00:07:01,630 --> 00:07:04,510
on this we think you might like this other product.

109
00:07:04,510 --> 00:07:09,580
It uses a bunch of data from people buying things all over the Internet and then based on what other

110
00:07:09,580 --> 00:07:14,340
people have purchased it can make a recommendation to you because of your shopping habits.

111
00:07:14,440 --> 00:07:19,300
It finds people like you that buy things like you and recommends things that you might like that's machine

112
00:07:19,300 --> 00:07:19,980
learning.

113
00:07:20,000 --> 00:07:26,290
OK there's lots of great applications for this to make your apps tailored specifically to your user.

114
00:07:26,290 --> 00:07:30,160
The coolest thing is that machine learning is easy and available to use.

115
00:07:30,160 --> 00:07:32,860
Now for IO West that's what we're going to learn in this course.

116
00:07:32,860 --> 00:07:34,390
And it's so cool.

117
00:07:34,390 --> 00:07:39,760
So let's go ahead let's stop talking about machine learning at large and let's dive into core Armel

118
00:07:39,790 --> 00:07:40,930
for iOS.

119
00:07:40,930 --> 00:07:42,640
We'll see in the next video.

