Once we've studied Arnon's, 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 concept called a Werdum betting's, these allow us to turn
words which are categorical variables into vectors, which are numbers that in turn that word can read.
This is why it's very important to have studied unsupervised learning before this, because finding
Werdum betting's is actually an unsupervised task.
Word embedding also allow us to make use of pre training, which was discussed in deep learning in Python
part for.
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 end up 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
Anadan is capable of handling.
So that's why Arnon's is a prerequisite to this course.
Now, you notice that this course, deep in L.P, 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 corpses 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 visited your website.
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 and reinforcement learning is sequential.
This is supposed to supervise an unsupervised learning where your data set 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, Arnon's, 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 Arnon's, in which case Arnon's 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 you, logistic regression.
Where we can see another outgoing edge to supervise 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 progression 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're both just the line because they do different tasks.
The techniques and interpretations are slightly different to.
And there are, of course, different models that are not linear models that can do these tests, and
that's what this course is all about.
In this course, we look at classic supervised machine learning techniques like Canibus Neighbor Decision
Trees, the Perceptron and the baize 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 that 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 the boost.
So that's everything on the 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 clear at first, so let me give you two reasons.
Number one, they are both unsupervised machine learning models, just that ACMS is harder, so it's
natural to learn about clustering first.
Clustering is also about static data, whereas ECMS 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 same course.
One key point is they both learn by using the expectation maximization algorithm.
So it's good to first see the algorithm on a simple model.
And then when you see them again on a more complicated model like the human, it won't be as intimidating.
One key concept you learn in acronyms 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 encountered the mark of assumption and reinforcement learning, however,
it's not too hard to learn it from scratch.
And so for that reason, I do not consider ECMS 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 learning, so I'm not going
to draw the link right now, but I sometimes consider this to be unsupervised machining part one and
this to be unsupervised machine learning, part two.
We also see that HMS feeds into the answer, of 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 with model text as sequences.
But whereas the HMS makes use of the mark of assumption, he Arnon does not and hence 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 A.P. course you can see there.
It depends on supervised machine learning and feeds into deep enthalpy.
The main purpose of this basic A.P. course is to apply basic machine learning models to text.
So that's why I supervised machine learning comes before it is because that this course was all about
basic machine learning models.
The important skill 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.
In 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 radar 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 A.P. course also feeds into deep entropy, 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 NLB 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 in OP is an example of that because we learn a state of the art method for sentiment analysis,
whereas in SCMP we used on the 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.
It's not an easy task.
Let's now scroll over to Gan's and recreational auto encoders, just like how deep reinforcement learning
is not related to deep in OP, 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 gangs and recreational auto encoders are also unsupervised
deep learning models, but whereas unsupervised deep learning was all about how to improve supervised
learning gains and variation, 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 Gan's can create photo realistic images based on a dual neural network system.
That's pretty cool because before Gan's we didn't have any kind of machine learning model that could
generate real looking images.
Nowadays, Gan's 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 concept, 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, or 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?