Hey guys what's going on this is Caleb with Dev slopes and in this video we're going to be talking about
machine learning.
We're going to just kind of do a brief umbrella discussion about machine learning at large.
Before we dive into the code and actually start using Core M-L in our apps First we need to understand
what is machine learning.
We also are going to talk a bit about how it works and why should we be using machine learning.
OK what's the point.
Why why should we do it.
But first let's go and just talk about what is machine learning machine learning is basically a way
that our programs that are applications can learn from various data that's been passed into our application
and then make predictions based on that information.
In the example of the app that you'll build in this course we use core M-L we use machine learning to
classify information that comes in through a photo.
Then our our model which we'll talk about the trained model later.
Basically the model is going to take that input data as a photo.
It will analyze patterns it can see in the photo and then it can use that information to make a prediction
based on what it already knows.
So that's pretty cool.
A definition I really like of machine learning is right here.
OK.
And it's pretty vague but I'm going to go into detail about it later.
Machine learning gives computers the ability to learn without being explicitly programmed.
So I did not have to write the code to tell my app how to identify a remote or a window or an umbrella.
I didn't have to tell it to do that.
I used a pre-trained model.
Think of that like a brain.
K. when you are a baby you have a brain obviously but it's still developing it's still learning and
growing.
So you need to have experiences you need to be exposed to different kinds of information.
You need someone to teach you right.
Maybe your parents teach you oh this is hot.
Don't touch the stove.
They tell you that it's hot and you probably know that but you don't understand and don't experience
it until you touch the stove.
Wow that's hot.
And you make that connection in your brain a pre-trained model is kind of like that.
OK.
Data scientists are kind of like parents in a way because they train these these machine learning models
to understand information and to classify it.
So it's exposed to a lot of different kinds of information.
Maybe the data scientists expose their model to hundreds of different pictures of TV remotes.
So that the model can identify OK when I see a shape that's about this size that has a bunch of square
buttons in a certain grid an order with different colors it knows to classify that and observe those
patterns and then based on that it can make a prediction with a certain level of confidence.
OK that's really cool.
Now basically the computer has been trained it's learned what makes a remote What makes an umbrella
and based on its experience and what it's learned it's able to make a prediction.
Very very cool.
This technology of computers being able to learn without being explicitly programmed is pretty incredible
in my opinion and the implications of how machine learning could change the world and are changing the
world go beyond just simple apps that classify photos.
Doctors are using machine learning to identify and diagnose certain diseases.
It could even be used for like relationship stuff it can be used to identify patterns and habits maybe
for like relationship or matchmaking.
It can be used to analyze very expensive and costly manufacturing procedures like will this engine work
or will a certain part fail it can make predictions based on how it has been trained.
KAYE there's lots of very cool ways in the real world that machine learning could be used.
OK.
There are a couple different ways that machine learning works and now we're into the how does it work.
Part of this video.
So there is something called supervised machine learning where basically when the model is being trained
the data scientists or whomever is programming it they might show it a picture of a dog and say OK this
is a dog.
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
a dog.
All right.
And so then the model can tell.
OK this is a dog this is not a dog.
Now the issue though is that supervised M-L requires a lot of human input to verify that the model is
is doing it correctly.
OK.
OK so since the model is being supervised the human is saying yep that's a dog.
OK.
This is not a dog.
This is a cat.
This is a dog.
This is the dog.
The model can learn and identify patterns and then based on that in the future it can classify new data
it receives and make a prediction based on what it has already seen of cats and dogs it could analyze
the photo and realize OK so some eggs are very big Some dogs are very small but most cats are about
the same size.
OK.
A cat has a smaller nose than most dogs and a dog has a bigger nose than most cats.
So based on those patterns it can see in the photo it can make predictions.
Very cool.
Be unsupervised machine learning there's also unsupervised machine learning and based on some inherent
characteristics of those images passed in the model can start to identify patterns and make its own
predictions in its own classifications.
Kate that's very very cool.
And there are of course a couple of different ways that data is structured in machine learning models
but most of the time it will be structured in either a decision tree where basically one decision yes
or no lead you to another part of the tree yes or no lead you to another part of the tree and so on
and so forth until it can make a prediction with a fairly high level of confidence.
Beyond that there are artificial neural networks which basically connect data that is similar or related
case similar to how our brain works with different synopses and different nodes in our brains for creating
thoughts and memories and artificial neural network works just like that where it makes connections
and it makes observations based on patterns and related data that it already knows about.
Very very cool.
Those are just two common ways that data is structured for a machine learning model.
And now we should talk about why use machine learning in our apps what's the point.
Why should I use this.
And I'm going to tell you the number one reason is that it makes it easy for you to personalize your
app for your user.
If you integrate machine learning you can add features to your app that pay attention to what your user
does and make suggestions and predictions based on that.
If you've ever shopped on Amazon.com you know when things pop up that say recommended for you or based
on this we think you might like this other product.
It uses a bunch of data from people buying things all over the Internet and then based on what other
people have purchased it can make a recommendation to you because of your shopping habits.
It finds people like you that buy things like you and recommends things that you might like that's machine
learning.
OK there's lots of great applications for this to make your apps tailored specifically to your user.
The coolest thing is that machine learning is easy and available to use.
Now for iOS Yes that's what we're going to learn in this course.
And it's so cool.
So let's go ahead let's stop talking about machine learning at large and let's dive into core Armel
for iOS.
We'll see in the next video.