Once we've studied art ends, we can go even deeper into how deep learning can be used on text.
That's the next course natural language processing with deep learning in Python or deep learning in
Python Part six.
In this course, we look at a very important concepts called the word embeddings.
These allow us to turn words which are categorical variables into vectors, which are numbers that a
neural network can read.
This is why it's very important to have studied unsupervised learning before this, because finding
word embeddings is actually an unsupervised task.
Word embeddings also allow us to make use of pre-training, which was discussed in deep learning in
Python Part four.
In this course, we also look at a very advanced model for doing sentiment analysis called a recursive
neural network or a tree neural network.
This is an example of a dynamic neural network because it changes its structure based on what input
you give it.
Most deep learning libraries are not equipped to handle dynamic neural networks, and I demonstrate
what happens if you try to build one the naive way you basically and the building a separate neural
network for each of your training samples, and it's going to eat up all your RAM and make your computer
slow down to a crawl.
So you get a firsthand perspective of why working with dynamic neural networks is not easy.
But luckily, we are able to make use of our knowledge of recurrent neural networks.
And remember, that's the prerequisite to this course in order to convert a tree into a sequence which
Noonan is capable of handling.
So that's why CNN's is a prerequisite to this course.
Now you'll notice that this course deep in OP, has no outgoing edges.
This is because it's the most advanced course that I have on this path.
For now, I certainly plan on expanding in this direction in the future.
However, this is not the last deep learning course in the series.
After this, we have deep reinforcement learning, which is deep learning in Python Part seven.
With that said, I think now is a good time to go back and start exploring the reinforcement learning
path.
So you'll notice that I have Bayesian machine learning feeding into reinforcement learning.
On the surface, these two courses might seem unrelated, but there is a very important concept you'll
learn that applies to both called the Explore exploit dilemma in Bayesian machine learning.
You learn this idea in the context of trying to optimize it, click through rate or a conversion rate,
or, in other words, the number of times people buy things from your website versus the number of times
people visit at your web site.
Very practical concept.
I think if you do anything related to e-commerce now in reinforcement learning, we look at the Explore
exploit dilemma again.
But in the context of playing games, reinforcement learning is like a third branch of machine learning,
whereas the other two are supervised and unsupervised learning.
The main difference is that supervised and unsupervised learning look at static data and reinforcement
learning.
The idea is more like you have a robot living in the real world.
It can take the experiences it had today and based on them, behave more intelligently tomorrow.
So the learning paradigm in reinforcement learning is sequential.
This is opposed to supervised, unsupervised learning, where your dataset usually resides in some file
on your hard drive.
So in reinforcement learning, part one, we get all the basics, as you might expect.
This is a prerequisite to deep reinforcement learning, since deep reinforcement learning applies those
concepts to more difficult games.
But you'll notice that this is not the only prerequisite to deep reinforcement learning, as the title
suggests.
This is also dependent on knowledge of deep learning, in particular convolutional neural networks.
But as we know, in order to build a CNN, we have to know how to build a regular neural network, which
means we have to know what a neural network is and why it's useful and so on.
So in deep reinforcement learning, these two paths converge.
You combine your knowledge of both reinforcement learning and deep learning in this course.
Now, the reason it depends on CNN's and not say aren't ends, which is over here is because we'll be
learning to play visual games.
So for example, we can learn how to play a video game like Pong, a breakout which are classic Atari
games from the old days.
And so those are images because they're basically screenshots from the screen.
In the future, we might end up applying Ardennes, in which case Ardennes will become a prerequisite
to that course.
So that's the end of the reinforcement learning path for now.
I'm very excited to bring you more updates in this area in the future.
Let's now jump back to logistic regression.
Where we can see another outgoing age to supervised machine learning.
So why is this edge here?
Well, you may recall that linear regression and logistic regression are both linear models that do
regression and classification, respectively.
These are both supervised learning tasks.
And so it makes sense that now that you know, one model for regression and one model for classification,
it's time to dig deeper into supervised learning.
The thing with linear regression and logistic regression is that they aren't really different models.
They are both just the line because they do different tasks.
The techniques and interpretations are slightly different, though.
And there are, of course, different models that are not linear models that can do these tasks, and
that's what this course is all about.
In this course, we look at classic supervised machine learning techniques like K Nearest Neighbor Decision
Trees, the perceptron and the Bayes classifier.
Much like how logistic regression was the basic building block of the neural network.
Classic models like decision trees are the basic building block of ensemble methods.
So that's why this course is a prerequisite to ensemble machine learning.
Again, we use the same logo with a different color to signify that these two courses are very closely
related in ensemble machine learning, we learn how to combine multiple decision trees in different
ways in order to make some very powerful classifiers.
What's really remarkable about these methods is that they are very easy to plug and play on data.
So if you're looking for a plug and play solution without having to learn a lot of theory, then deep
learning is most likely not for you.
But ensemble methods are a great fit.
Deep learning is very dependent on hyper parameters, and if you choose incorrectly, your model will
perform very poorly.
Sometimes it requires immense computing power to find good hyper parameters.
This is an active area of research it has not yet solved.
This is why you can implement what you see in a deep learning paper.
But suppose the author left out some seemingly insignificant detail, so you end up having to make an
assumption and then your results end up totally different.
So deep learning is fragile, but luckily ensemble methods are not.
We focus on two very famous ensemble methods the random forests and Ada Boost, so that's everything
on these supervised machine learning track for now.
Next, we see an edge going from supervised machine learning to unsupervised machine learning, in particular
cluster analysis.
The reason we study supervised learning before unsupervised learning is because unsupervised learning
is a little more abstract.
It takes more effort on the student's part to realize why it's practical and what it can be used for.
Cluster analysis shows us how to model data that does not come with targets, as you might guess, we
do this in the form of clustering.
The idea behind clustering is very simple.
We want to know how many naturally occurring groups of data there are and what are the relationships
between the data in these clusters.
So for example, if you were clustering books, you might find a book about Steve Jobs and a book about
Elon Musk in the same cluster.
This cluster is probably about tech companies in Silicon Valley.
But you don't need a label in your data to tell you that you can discover it yourself by looking at
how the data naturally groups together.
Now, as I mentioned earlier, I think once you learn about both supervised and unsupervised learning,
you'll be ready to jump into reinforcement learning.
I haven't made cluster analysis a prerequisite to reinforcement learning since none of the material
depends on this course, but it's good to know about these techniques so that you have a more mature
and experienced view on machine learning.
What is sort of a sequel to cluster analysis is hidden Markov models.
The reason might not be clearer first, so let me give you two reasons.
Number one.
They're both unsupervised machine learning models, just that H.M. Ms is harder, so it's natural to
learn about clustering first.
Clustering is also about static data, whereas humans are about sequences, so it's similar to the process
we did in deep learning.
We looked at static data like images, then sequential data like text.
Reason number two, in cluster analysis, we learn about a technique called the Gaussian mixture model,
which we make use of in the emem course.
One key point is they both learn by using the expectation maximization algorithm, so it's good to first
see the EMR algorithm on a simple model.
And then when you see em again on a more complicated model like the hmm, it won't be as intimidating.
One key concept you learn in your members is the mark of assumption that just means the current state
depends only on the previous state, but not any states before it.
This is a simplifying assumption that usually makes the math easier to work with.
You will also notice that we encounter the mark of assumption in reinforcement learning.
However, it's not too hard to learn it from scratch.
And so for that reason, I do not consider humans to be a prerequisite to reinforcement learning.
The mark of assumption is really the only thing they have in common.
There is also a slight connection between cluster analysis and unsupervised deep learning, so I'm not
going to draw the link right now, but I sometimes consider this to be unsupervised machine learning
part one and this to be unsupervised machine learning part two.
We also see that each imams feeds into the renowned course, which is about deep learning.
So why might that be?
This is, of course, because both these models are models that can learn about sequences in particular.
In both these courses, we model text as sequences.
But whereas the HMO makes use of the mark of assumption, the Arnon does not enhance the Arnon is a
more powerful model.
And so this just goes along with the main theme that we always go from simple, basic models to more
complex models.
This is also something you should do in your work as well.
If you start with a simple model, you often find that it is faster and more robust.
Complex models sometimes break down, but they are also more difficult to implement and might not even
be fast enough.
Of course, that's just a generalization, so you always want to analyze engineering tradeoffs individually
for every problem you have.
Now there is one last link in this part of the graph here that I want to explain.
And that's the first, you know, because you can see that it depends on supervised machine learning
and feeds into deep NLP.
The main purpose of this basic NLP course is to apply basic machine learning models to text.
So that's why supervised machine learning comes before it is because that this course was all about
basic machine learning models.
The important skills for NLP was not the implementation of those models, but rather a bigger picture
perspective on how machine learning is used.
What is the interface between the data in the model?
What does the model do?
What is its input and output?
How is the output interpreted?
And so we take those principles and we apply them to text, and this way we can see that text can be
created in such a way that you don't have to think about it any differently than any other data.
This reinforces the principle that all data is the same.
The machine learning model doesn't care what your data is.
All it sees is a table of numbers.
It doesn't care if it's text or images or radio signals from space.
The model just does what it was designed to do on the numbers that you give it.
So this course gives you a high level systems perspective on working with machine learning models in
text.
This easy NLP course also feeds into deep NLP, which is, of course, not so easy because it depends
on a lot of background in deep learning.
One of the main questions I get in the NLP course is how do I improve the results of these basic models?
And a lot of the time the answer to that is, well, you have to use a more complex model.
But of course, that necessitates learning how that complex model works.
And deep NLP is an example of that because we learn a state of the art method for sentiment analysis,
whereas in Easy A.P., we used only a linear model.
So it's important to understand that while yes, it's possible to improve the predictive ability on
simple, basic models, as you can see, it's not always an easy path to get there.
So you have to make sure you're prepared.
Case in point, just look at all the time spent just to get to deep in LP.
It's not an easy task.
Let's now scroll over to ganze and variational auto encoders.
Just like how deep reinforcement learning is not related to deep in LP, this isn't really related to
deep reinforcement learning either.
This is deep learning part eight by order of creation only.
It is the spiritual sequel to Unsupervised Deep Learning, which was deep learning in Python Part four.
OK, so just to reiterate, this is part six, part seven and part eight.
By order only, but they are not related to each other conceptually, although it's always nice to know
all these things because more context makes future things easier to learn.
So the reason this is linked to this is because Gans and variational auto and coders are also unsupervised
deep learning models.
But whereas unsupervised deep learning was all about how to improve supervised learning, Gans and variational
auto encoders don't have any direct benefit to supervised learning at all.
Although we do make use of supervised learning within the course, in this course, the focus is on
generating images.
We've seen that Gans can create photorealistic images based on a dual neural network system.
That's pretty cool because before Gans, we didn't have any kind of machine learning model that could
generate real looking images.
Nowadays, Gans are able to generate high resolution, high quality images of people that you can't
even tell are not real people.
It certainly makes the idea of the Matrix seem very possible.
All right, so I hope you found this lecture helpful.
We saw that these courses are related to each other in some pretty complicated ways.
Learning machine learning is not exactly linear.
Sometimes you have to take one course before you can take the next.
Sometimes one course might just be related to another course by some key concepts.
But maybe in one context, it's a lot easier to understand.
So remember to keep in mind that these arrows did not all indicate strong prerequisites, but rather
there's just a relationship between the two courses.
I hope that this lecture explained any nuances between what is a prerequisite and what is not.
And I hope I did a good job of answering which order should you take these courses in and why?