What is the course about?
Vectors are the basic building-blocks of most science and technology. They “package up” data in a way that has very useful structural features. The theory of vectors – known as “linear algebra” – is one of the most elegant and complete in all of mathematics and has extremely wide-ranging applications.
This course looks at the theory of vector spaces in some detail, with a particular emphasis on those areas that underpin machine learning. This makes it an ideal partner for our course Machine Learning with Python but it’s also designed to stand alone.
Rather than focusing on practical methods and techniques, here we emphasise understanding of fundamental principles. This leads us a little way into pure mathematics, but in the spirit of this course everything will be developed “from the ground up” and we assume no particular mathematical knowledge or skill. We will emphasis concepts rather than calculation: the computer can do that for us when we need it, but first we must understand what to ask it to calculate and why!
We will therefore work with pen and paper and no coding is required. However, those who want to apply this material to their programming will certainly be able to do so, whatever language they may be using. Beyond machine learning, these ideas are highly relevant to other coding topics such as computer graphics and vision, VR, games, data mining and algorithms. Furthermore, they are useful outside programming in physics, engineering, finance and countless other disciplines.
What will we cover?
• Scalars, vectors and vector algebra (addition, scalar multiplication, dot product, cross product)
• Vector spaces and their transformations (matrices and matrix algebra)
• The very basics of differential vector calculus (partial derivative, gradient)
• Optimisation through gradient descent
What will I achieve?
By the end of this course you should be able to...
• Express appropriate ideas in the language of linear algebra.
• Solve algebraic problems involving vectors, scalars and matrices.
• Describe some elements of the theory of linear algebra.
• Solve some simple vector calculus problems.
• Explore more deeply into linear algebra or vector calculus through independent study.
What level is the course and do I need any particular skills?
This course uses lots of algebra. Although we develop everything from scratch, some facility with school algebra will be helpful. For example, if 3x + 2 = 14, what is the value of x?
You do not need to know anything at all about machine learning or programming, or to have met calculus before.
How will I be taught, and will there be any work outside the class?
We will use a mixture of presentation, discussion and problem-solving in class.
Are there any other costs? Is there anything I need to bring?
When I've finished, what course can I do next?
Introduction to Python, introduction to machine learning.