In the same video, it is being explained 2 times that if we are not expert in calculus, it’s OK not to understand what’s going on and can just remember some magic formulas.
For those who take lessons to train a neural network, I guess they can just take the software, put the values, get the results. If it doesn’t work, try other recommended or random values and make it work.
For the rest of us who are here to genuinely try to understand what’s going on, it is a bit frustrating.
To make things much clearer, maybe reducing the number of symbols and using human names that make sense could help?
x1, x2, w1, w2, z, wT, b, yHat, sigma, L, a, y, z … in one singe line…
Our images, our pixels, our colors, our minimums, our errors, our slopes, they all seem long gone…
Thank you for your comment and suggestions. As you may aware that ML is heavily based on mathematics, that is why those notations are used.
Prof Ng is trying to make the course content reachable to learners from a wider background, however, having some maths knowledge would definitely help. Bearing in mind that these courses are almost degree level of education. If you would like help with some resources, here is a link to Khan Academy. They offer a range of subjects online free of charge. I have used it myself and have directed learners there for Maths skills such as Algebra.
Yes. Mathematics especially Linear Algebra, Calculus and some Probanility and Statistics are the heart of Machine learning. Apart from Khan Academy that @Kic recommended, you can take a look at the Mathematics for Machine Learning Specialization. The instructor is very good in explaining stuff in interesting and easy to understand manner. Hope that help a little.
As @Kic mentioned, some of this stuff is university-level math. To put things into perspective, it takes months/years to fully understand and be fluent with these equations.
If you are determined to understand it, I recommend re-watching the video a couple of times and re-writing the equation yourself using more familiar terms (ex. weights instead of w, weight_feature_1 instead of w1, activations of a, etc). It could be a good exercise to help you understand these equations.
Rest assured, many researchers and people in this space have spent many hours staring at these equations, to the point where all these letters are as familiar to them as the complete terms are. It just takes more time, but if you work with it enough, it eventually gets familiar.
Otherwise, you can simply take the equations as they are and skip the deeper explanation. That’s fine too for most practical AI applications.
I’m not sure what these random values are? If a model isn’t performing as well as you’d like it, you should carry our error analysis to try and find the problem and fix it. It shouldn’t be random. Prof Ng goes through these steps in the later courses of DLS.
Thanks everyone for your suggestions. Andrew Ng does make an amazing job making things understandable to the people unfamiliar with the subject, which is why I love so much his lessons. I just need to get more familiar with it, I can’t realistically hope all this to happen magically at staring just a few minutes at a video. I just need to take time for my brain to see more [of those high quality] data
I am now doing the whole course week all over again, with better understanding of the meaning of the symbols.
Changing the names does make it easier to write, but does not make things easier to understand. By now, we had already successfully changed what normal people use to name things (when familiar with English language), changing the names of everything, calling a parameter a w, a picture a x, an error in prediction a L, a variation/variation (or slope) a derivative, a bias a b, and now, we successfully changed the name of a prediction twice, it became “y^” then “a”… ?!
Also the derivatives themselves also changed notation several times…
I’m going to be sarcastic here, but if I had to invent a way to make things more difficult to understand while simplifying notation and keep the logic, I am not sure I could have done much better.
I think this habit for those who play daily with those weird terms (jargon) to not understand how much an obstacle it is for ‘normal’ people to understand what exactly is being explained is why I lost interest in Maths at school despite sciences were my passion and my IQ far from being below average.
The point I want to make here, is that when dealing with teaching, it’s OK to slowly teach jargon/simpified notation during lessons, but as long as you always use words that make sense (the concept) to the common people during complex explanation and not just read those jargon letters.
Obviously, being able to still use normal words to explain is why I have watch many hours of Andrew Ng lessons in the past days, but I have to say, this lesson and the next video do a bad job at this, at a moment that seems very important in the lesson. That being said, don’t get me wrong, for most of videos in the lessons, he does a fantastic job at making the concepts accessible with understandable terms.
You will find those notations used in ML in almost all the books and literatures. In regard to concept related to those notations, there are indeed concepts associated with those notations. If you consider what a Neural network neuron does and the process happens within the neuron, you will understand why the use of y, a, and ŷ. Just to illustrate, here is a link that explains what ŷ is in statistical terms. Here is just one of the diagrams showing the calculations take place in a neuron:
As said earlier in the thread, this specialization of courses is almost university level of education. One of the pre-requisites suggested is the equivalent of US high school maths in Algebra, and Calculus. It is never too late to catch up. After all, learning does not stop at certain age, especially now, so many opportunities to learn for free.
Well, I studied math all the way to the graduate school level and with math you also need to learn both the concepts and the notation that the practitioners use to express the concepts. It’s like learning a language: you need to think in the language. If you don’t have the patience to attend to both, then it is not a surprise that you find this frustrating. What we are doing here is math, but applied to a specific topic, so you have all the same issues that the practitioners of the field get to make the rules. When you are the teacher, you can make your own rules, but Prof Ng is the boss here, so we have to learn both his notation and the concepts.
@vmandrilly I would like to offer my perspective as a fellow learner, in my case, someone who’s quite deficient in math (yet I still get an enormous amount out of @andrew 's teaching style).
In my youth, I always struggled with math, and I never took courses in calculus, linear algebra, statistics, etc. But thanks to the internet and free learning resources (such as MIT’s OpenCourseware), we can learn from the best (eg, Gil Strang teaching linear algebra) to name just one. There’s also Khan Academy as mentioned by @kic).
You can start coming to grips with the symbols by visiting Wikipedia, which breaks down things by focus area (eg, Calculus, probability theory and statistics, and so on. Another resource that you might find helpful is Google’s machine learning crash course. You’ll find videos and tutorials about all manner of topics, including gradient descent. (I haven’t looked at this in a while… I like the Coursera materials much better). For myself, I’m going to take the Coursera Math for Machine Learning course to better focus my learning efforts. Best of luck to you.
Thanks very much for your perspective and all the links! If you’ve actually taken the MIT Gil Strang Linear Algebra course, then you’re more than prepared in terms of the level of Linear Algebra knowledge that you need for MLS and DLS here. If you also have experience in python, you could jump right into MLS first without starting with M4ML. Any of the courses that involve programming here assume that you have solid knowledge of python as a prerequisite. They will explain numpy, but you need to already be comfortable with python.
Thanks for explanations (symbols) and extra course recommendations (maths).
I discovered playing the game of translating and rewriting everything in my own language is actually fun, and will help learning those symbols abbreviations.
Exactly! We have learners from many different backgrounds who have their own learning styles, but we have only one course. Therefore, the personalization really starts with the learners.