This repository contains tutorials on the introductory mathematical concepts required for studying statistics and machine learning. Code to solve mathematical problems is written in R
, Python
and Julia
.
Topics | Tutorials |
---|---|
🔢 | Introduction to numbers (Updated) |
🔢 | Introduction to algebra (Updated) |
🔢 | Introduction to functions |
🔢 | Introduction to summations |
🍪 | Introduction to set theory |
🍪 | Introduction to combinatorics |
🃏 | Introduction to probability theory |
🃏 | Conditional probability |
🃏 | Bayes theorem |
🎢 | Introduction to derivatives |
🎢 | Introduction to integration |
🎢 | Differential equations |
🎢 | Multivariable functions |
🎢 | Differentiation of multivariable functions |
🔢 | Exponents and logarithms |
🔢 | Logarithms and information theory |
🧭 | Introduction to trigonometry |
🧭 | Introduction to distance metrics |
🧭 | Cosine similarity applications |
🥢 | Introduction to linear systems |
🥢 | Introduction to vectors |
🥢 | Vector norms and embeddings |
🏬 | Introduction to matrices |
🥢 | Linear transformations |
🥢 | Applications of eigenvalues and eigenvectors |
This project was created using the following setup:
- R package dependencies are managed using renv for R version 4.1.2 (2021-11-01).
- Python virtual environment and package dependencies are managed using
poetry
forPython 3.9.6
. A local version ofPython 3.9.6
was installed and activated usingpyenv local 3.9.6
via the terminal. - The Julia version used is
julia version 1.7.3
.
Writing mathematical proofs might feel archaic but they are a great way to help you reason why mathematical concepts should behave consistently (and not just because your textbook says so). There are multiple approaches to proving a mathematical statement or concept. Sadly, there is no magical rule to selecting the correct method for each scenario - mathematicians often have to try multiple approaches before they find the right one.
Direct proof
- Occurs when you need to prove that A and B are equivalent.
- Start by assuming A is true.
- Construct a definition statement for A (use a fixed but arbitary example of A).
- Extend and simplify mathematical definitions derived from A to reach B.
- When you are asked if A and only A is true, then B is true, first suppose A to reach B. Then suppose B to reach A.
Induction proof
- Occurs when you need to prove that something is true for all cases.
- Start by proving the base case when
$n = 1$ . - Assume that the case is also true for some integer
$k$ . - Prove that the case for
$k + 1$ also holds i.e. prove the next incremental step up a ladder stretching to infinity.
Uniqueness proof
- Occurs when you need to prove that a solution is unique.
- Show that there is one solution first.
- Show that there is a second solution and that the first and second solutions must be equal.
Proof by contradiction
- Start by assuming that the incorrect state is true i.e. that eigenvectors are linearly dependent.
- Prove that the assumption does not hold and contradicts itself.
- Therefore prove that the reverse state is actually true.
- A guide to linear algebra for applied machine learning by Pablo Caceres
- The Mathematics for Machine Learning textbook by Marc Peter Deisenroth, A Aldo Faisal and Cheng Soon Ong - Cambridge University Press
- The Probability for Data Science textbook by Stanley H Chan - Michigan Publishing
- The Probabilistic modelling tutorials by Michael Betancourt - GitHub
- Writing mathematical operations in LaTex/R - Wikibooks
- Introduction to university mathematics [YouTube lecture series ]https://www.youtube.com/playlist?list=PL4d5ZtfQonW1xKVEtYJd1iu9m52ATG7SV by the Department of Mathematics - Oxford University.