Look at this beautiful framework.
Now we've covered each of these stamps briefly.
We're going to we're going to dive into each of them one by one.
The first one is problem definition.
The question you're trying to answer in the first step is what problem are we trying to solve.
But before we get into different types of machine learning problems it's important to note machine learning
isn't the solution to every problem.
And I think that that's we'd been in a machine learning course but this is this is an important concept
to remember so when shouldn't you use machine learning.
Well will a simple hand coded instruction based system work then you should favor the simpler system
over the machine learning system such as if you wanted to make the favorite chicken dish we used before
an example if you had the ingredients and you knew the exact steps you had to take to create your favorite
chicken dish.
It's probably best that you choose a simple system over using machine learning to try and figure the
steps out other than these kind of scenarios where you know the simple ham coding instruction based
system already most of the time you can probably find value using machine learning now comes the first
step in identifying the problem we're trying to solve as a machine learning problem we can do this by
matching our problem the one we're working on it might be a business problem or some other kind of problem
to the main types of machine learning problem.
These are supervised learning unsupervised learning transfer learning and reinforcement learning.
We're going to be focused on supervised learning unsupervised learning and transfer learning.
Why.
Because this is the most common ones you'll find and you'll come across in practice and then the ones
when I was Machine Learning engineer when I work on machine learning problems that have proven time
and time again to be useful supervised learning is called supervised learning because you have data
and labels a machine learning algorithm tries to use the data to predict a label if it guesses the label
wrong the algorithm corrects itself and tries again.
This act of correction is why it's called supervised.
It's like if you were trying to guess the stamps it took to turn a set of ingredients the data into
your favorite chicken dish the label.
If you tried once and got it wrong you'd tell yourself this was wrong.
Maybe next time we'll try something different.
A supervised learning algorithm repeats this process over and over and over again trying to get better
the main types of supervised learning problems a classification and regression classification involves
predicting if something is one thing or another such as if you wanted to predict whether or not a patient
had heart disease or not based on their medical records or what type of dog brain was in an image if
there are only two options.
It's called binary classification.
If there are more than two options it's called multi class classification.
So trying to predict heart disease or not heart disease would be binary classification because there's
only two classes heart disease or not heart disease and trying to predict different dog breeds based
on photos in in images would be multi class classification because there are many different kinds of
dog breeds regression problems involve trying to predict a number you might hear it referred to as a
continuous number as well which just means a number which can go up or down a classical regression problem
is trying to predict the sale price of a house based on things like number of rooms the area it's in
how many bathrooms it has or trying to predict how many people will buy a new app based on Web site
visits and clicks unsupervised learning has data but no labels.
For example you might have the purchase history of all customers at your store and your marketing team
wants to send out a promotion for next summer but they know not everyone will be interested in new summer
clothes.
So they come to you as the in-house data science and machine learning engineer and ask Do you know who
is interested in summer clothes.
The thing is you don't either but you know you can figure it out from the data you have.
So you decide to run an algorithm to find patterns in the data and group customers who purchase similar
things together.
Once it's finished you notice two groups one group of customers who purchase only during winter time
and one group of customers who purchase mostly during summertime.
You label them with winter customers and some customers and send them to your marketing team and they
thank you for saving them sending out thousands of unwanted emails.
I'm sure you've probably got some of those kind of emails in your email inbox before what's important
to note here is that you provided the labels they weren't there to begin with but the patterns were
and that's what the machine learning algorithm found and after inspecting the groups you're the one
who saw the commonalities and applied the labels such as summer or winter problems like this are also
called clustering or putting groups of similar examples together.
Recommendation problems such as recommending what music someone should listen to based on their previous
music choices often start out as unsupervised learning problems like this transfer learning leverages
what one machine learning model has learned in another machine learning for example say you're trying
to predict what dog breed appears in a photo that's a cute dog.
That's my that's my poppy 7 and that's Bella in the background.
She's posing.
She knows she's she knows she's on this election you could find an existing model which is learned to
decipher different car types and fine tune it for your task.
Why is this valuable.
Because training a machine learning algorithm which means letting it find all of the patterns in data
can be a very expensive task to find patterns in data.
Machine learning algorithm has to make millions of calculations.
And although computers are very fast at making calculations making calculations aren't free.
So instead of learning everything about different photos from scratch such as what patterns different
trees look like what different shapes are like the rectangle down here what grass looks like the car
type model.
The machine learning model which has figured out what kind of different cars look like has already done
most of these things if you've already tried to model it might have already figured out okay.
These are trees not cars these are grass.
And so it kind of has an idea of what different patterns look like.
Now you can think of this as being the same as when you write an essay versus writing poetry although
the writing styles are different.
The writing that you do uses the same fundamental principles.
So we can take this car model that identifies different cars and use its foundational patterns and apply
it to our dog breed problem of course is a few more steps involved here.
But that's the basic premise of transfer learning reinforcement learning involves having a computer
program perform some actions within a defined space and rewarding it for doing it well or punishing
it for doing poorly.
A good example is teaching a machine learning algorithm to play chess.
The chess board is a divine space and actions are moving pieces.
And when I say punishment or reward these things could be as simple as updating a score with plus one
if it wins a negative one if it loses the machine linings algorithms goal could be to maximize the score.
So this means if you've done it right it should learn moves which lead to wind reinforcement learning
is what was used for deep mines Alpha go to become the best go.
A complicated Chinese ball game far more complicated than chess player of all time defeating many go
world champions and although promising reinforcement learning has yet to find its way into too many
practical applications.
And since we're focused on building practical solutions we've decided to focus on the other kinds of
learning such as supervised learning unsupervised learning and transfer learning throughout this course.
Now you know the major types of learning you've now got the tools to tackle step one in the framework
problem definition aligning the problem you're trying to solve to a machine learning problem.
So for supervised learning you might say I know my inputs and outputs such as I've got patient records
could be the inputs and outputs whether or not the patient has heart disease or your inputs could be
the parameters of a different house and the number of rooms where it's located how many bathrooms there
are and your outputs are how much the house costs.
So it's a regression problem and for unsupervised learning you might say I'm not sure of the outputs
but I do have inputs such as customer purchases and you're trying to figure out which customers are
most similar to each other or for transfer learning.
You might think my problem might be similar to something else.
Can I leverage one existing machine learning model has learned and use it in my own now.
Don't worry if these kinds of learning are sort of going over your head at the moment we're going to
be building a hands on project for each of these learning types supervised unsupervised and transfer
throughout the course.
In the meantime have a think about some of the problems you face day to day.
Could any of them be classified as a machine learning problem.
Are you trying to classify whether one thing is something or another.
That's a classification problem.
Do you ever try to predict what a what a number might be that could be a regression problem.