Machine Learning for Engineering and Science Applications
Professor Dr. Balaji Srinivasan
Department of Mechanical Engineering
Indian Institute of Technology, Madras
Summary and road ahead
(Refer Slide Time: 0:15)
Welcome back in this final video for the course I will just summarize what we were able to do
within the course, also what we were not able to do within this course and how you can move
forward within your journey in machine learning.
(Refer Slide Time: 0:32)
So the topics that we covered primarily apart from mathematics was basically introductory
machine learning so this is just sort of a brief taste you got of machine learning, we just had 30
hours, we also (looked like) looked at some few applications, okay. So please do not take this
course as being a thorough course in machine learning you just got an overview, machine
learning is a vast subject, but hopefully you got some idea of what things are happening within
this field.
The first part of the course was deep learning and specifically we looked at ANNs, CNNs and
RNNs, once again all our discussions were kind of preliminary here we only looked at backprop
very very briefly, thorough courses and machine learning will actually go into it our point was to
be able to give you a flavour of what these things are, why they get into trouble and how they
work and how maybe you can play around with them so that when you want to apply it a lot of
black box tools are nowadays available even tensorflow and when you want to apply it hopefully
you should have some background in what these methods are.
So that is what we covered that was a good portion of the course, deep learning itself was a good
solid portion of the course. We also had brief discussions of classical machine learning (binat
trees) binary trees, random forests unfortunately we did not have time to discuss applications of
that Doctor Ganapathy’s team itself has done a lot of work on binary trees and random forests
within medical imaging, they have publications there too.
SVM are classic algorithms they are slowly going out of fashion, but as has happened throughout
history within not only machine learning but also in general numerical methods there are things
that go out of fashion and then come back, but unfortunately we did not have too much time to
discuss SVM, it is a very interesting algorithm in itself, very different from the kind of
algorithms that we saw, again we saw a brief introduction KNN and then of course we had
unsupervised learning algorithms such as K-means and PCA.
Now one thing that you can do when you face a practical problem, let us say you are looking at
just to give you an example weather prediction or monsoon prediction within India, okay. So
India itself has you know you can see that maybe up north will be different from west, will be
different from the east, will be different from the south, but maybe there are other natural
portions that kind of aggregate properly.
Now instead of trying to predict whole the whole of the monsoon in the country at one shot you
could probably figure out that there are four different kind of networks that predict in a particular
area well, now how could you figure this out? If you try to put (the gate) the data and try and get
an unsupervised algorithm within there, okay when I say data I am being deliberately vague this
word data is overloaded but let us say you find out genuinely that there are four clusters four
types of behaviours maybe K-means can help you there, may be PCA can help you there, you
can think of unsupervised algorithms as sort of a precursor to even supervised algorithm so that
is one thing. So that is one place where you can apply unsupervised algorithms.
Naive Bayes again we discussed only very very briefly but oftentimes when your data is sparse
by sparse I mean it is you do not have too much of a data set, Naive Bayes can perform
sometimes surprisingly well, even though the assumptions are all actually unphysical it tends to
perform reasonably well. You also did several other topics there which I am NOT summarizing
here, but apart from this Doctor Ganapathy also covered variational auto-encoder and GANS
which are right now the quote, unquote trending topic within machine learning this is what is
known as generative models and generative models can be useful for many many many different
fields, unfortunately once again we did not have time to discuss applications of that hopefully we
will put up some extra videos after this course is over.
We also discussed a few applications in engineering and science specifically PDE based ones
that we looked at hopefully you can apply it to almost any field that you have looked at atleast in
terms of basic applications that you can do very quickly using machine learning we have
discussed a few applications.
(Refer Slide Time: 5:10)
Now unfortunately the topics we did not cover are larger than the topics which we covered that is
going to be true of any course actually if you want you cannot have both breadth and depth, so
we actually sacrificed depth for breadth within this course. Now one common complaint and I
guess it is not really a complaint but it is a suggestion and we do understand it, we did not cover
coding, we specifically we did not cover coding in frameworks. For example how do you code in
tensorflow, keras, Pytorch, etc we did not have time. And that was honestly speaking that was
not the purpose of this course also, our purpose primarily was if you see some publication or if
you see a paper and lot of people are sharing their papers online, most of this field currently as it
is developing is there only in papers it is not there in a textbook a textbook takes too long to
write and to summarize and by the time the (move) field has moved elsewhere.
We are ourselves planning to write a textbook based on the kind of the material that we covered
so that you have fundamentals, okay. So a textbook can only cover fundamentals and this field as
rapidly as it is growing is basically within papers. So our purpose and if you are able to succeed
in this we will be very happy was that if you take a paper it does not look like all Greek and
Latin to you and you are able to figure out you know at least 50, 60 percent of any publication
the machine learning portions and then you are able to see how this person would have applied
or why this person would have applied this method, now why did this person apply an LSTM
here? Why why a convolutional LSTM here? Why a fully convolutional layer here? Why a
segmentation type of architecture and why an encoder, decoder architecture?
This kind of idea if you are able to create both Doctor Ganapathy and I would be very happy
because then we would have succeeded in the purpose of our course, okay. Because once you
know this then you can implement practically anything because learning these frameworks does
not take too much time, atleast atleast the preliminary functionality of this is not very hard it is
not too hard for you to learn. People are putting up their codes it is the basics, it is the basic idea
that is a little bit hard to get, okay.
So that is one other thing that we did not cover and hopefully we are planning to put on some
extra videos and more about that later. We did not cover applications of many of the algorithms
that we actually talked about, we went through them really rapidly. For example well
convolutional LSTM I just talked about, GANs did not discuss, we did not discuss you know
MLE, MAP and bayesian how do you actually apply them you have just seen them in theory,
they have beautiful applications within inverse problems, I was planning on showing one such
application there but unfortunately time was too short and it would have become a little bit too
complex for you.
Naive Bayes, binary trees, random forests, SVMs, etc there are lot of them have actually got very
very nice applications in engineering and science but this course was too short for us to cover
that. One very important topic that we did not cover is reinforcement learning this is within
engineering and science, it is extremely useful in what is known as controls, how to control
something you know how to make sure that an inverted pendulum stays upright, controlling of an
aircraft etc etc.
So reinforcement learning is slowly it is slowly coming into this field, it has always had heavy
applications within the gaming sorry sort of video game playing that side Google has bought
deep mind which started with doing heavy reinforcement learning for several problems. Now
there is a full course by Professor Balaraman Ravindran on NPTEL, we would very highly
recommend that you go through that course, okay the videos are up online he is the expert on this
topic within India so we would highly recommend that you take a look at in case you are
interested in this field it is a vast field in itself, it would have taken us about a week at least to
give us give you the beginning ideas.
But professor Balaraman Ravindran course is there right now available on NPTEL we would
highly recommend that. The last topic which is expected to get more and more popular in the
future is probabilistic graphical models we do not have time for this.
Now since we did not have time for a lot of topics we are actually planning to upload more
material which will be publicly available on YouTube or some such place if it is a video,
otherwise you know just on our websites if it is a you know written material etc etc. If you are
interested in this material or knowing whenever we put up this material whenever it is probably
we will start doing this this summer May, June, July if you are interested please contact us on
this form on this link here you will just be asked to put an email and if you are interested in some
specific video you can put that.
We have also put up the same link on the forums for those of you who are there currently on the
NPTEL forums. So please contact us here in case you are interested, okay.
(Refer Slide Time: 10:16)
Finally for those of you who have finished this course, several of you have asked us both in our
live sessions, as well as on the forum, on what should you do next? Okay, so first is of course
that the field is moving extremely rapidly, if I tell you to solve problem A today it is quite
possible that somebody might have already solved it by the time I finished speaking, okay so it it
is important to know what your actual interest is.
Now our videos, our course was pitched towards people who are in engineering okay so
something like Chemical Engineering, Mechanical Engineering, maybe even Electrical
Engineering actually the course was neutral to all that except for the last few applications that we
discussed or in physics, chemistry and they are not traditional computer science students, okay.
So we are hoping that you already have some knowledge of some field reasonably well at the
very least at the undergraduate level. In that case you can start thinking about oh this was the
kind of application this person did for CFD, can I try something similar in my field?
Okay, so our experience with the live classes at IIT Madras have been that whenever we present
this course usually several ideas automatically come from the students and we hope that some
such ideas have come to your mind also, okay.
Now if you want to get better expertise in this ideally it is best to start with some paper that
seems interesting to you that is the most important thing please start with something that actually
looks interesting rather than something you know oh I would just like to do it just for the heck of
it, okay so it is much better if you are actually interested with something. Find out some paper
with interesting results and ideally since you are starting, look at some paper who has put up who
have put up their code either on their website or typically most people will put up their codes on
GitHub and they would have given links to that within their paper.
In fact one of the applications we discussed right now have put up their code on GitHub the PDE
paper and that is a good place to start, you can just take a look at it and see how people have
done it, okay. Try to read the paper and without looking at the code try and replicate its results,
then as and when you get stuck that is when you should actually refer to how the people how the
researchers are actually utilized it and put up put it up on there and I have put up on their
website, okay.
So if you I iterate with this with multiple papers you will find yourself very rapidly gaining
confidence in your ability to take an idea and actually execute it as code, okay so that is
important. And once you have some confidence you can try Kaggle which is a sort of data
science computation platform, you can also program some projects ideas of your own from
scratch. Please remember something that we have been emphasizing multiple times any
application comes with two things, you have to have some amount of domain expertise and you
have to have some knowledge of machine learning at least enough to know that why something
would work and why something would not work and what problems you would encounter during
training.
So with this we will end this course, we apologize for all the glitches and hitches that happened
during this course, there were several problems both on the forums as well as in the assignments,
this is the first time that we are running this course on as a MOOC so there were some teaching
troubles hopefully it did not completely spoil your experience of the course and hopefully you
gained something. As I said in case you are able to find yourself understanding something that is
either discussed online or while reading a paper we would be happy that we have actually
succeeded in our aim for this course, thank you and good luck.