As you know, I am working on teaching mathematics in a way that maximizes value for machine learning practitioners.
Do you have any work stories where mathematical knowledge was a genuine advantage?
I would appreciate it if you could share!
I'll start. ↓
As a bioimage analyst, one of my projects involved the pixel-perfect identification of very thin objects: plant seedlings. (Like below.)
This was a classical semantic segmentation problem.
At first, I trained a UNet model using cross-entropy loss, but it didn't quite work.
The problem was that on the segmentation output, objects were not defined at all. My model predicted almost every pixel as background.
With some basic mathematical thinking, I suspected that the problem is caused by the cross-entropy loss.
See, if the vast majority of ground truth pixels belong to the background, cross-entropy loss is small when all pixels are actually predicted as background.
So, I started to look for loss functions that are more sensitive to rare classes.
Again, my mathematical intuition suggested that measuring something like the average overlap ratio per class should work.
Since I knew what I looking for, a quick research gave me what I needed: the Dice loss. (Cool article below if you are interested.)
There is one big reason we love the logarithm function in machine learning.
Logarithms help us reduce complexity by turning multiplication into addition. You might not know it, but they are behind a lot of things in machine learning.
Here is the entire story.
🧵 👇🏽
First, let's start with the definition of the logarithm.
The base 𝑎 logarithm of 𝑏 is simply the solution of the equation 𝑎ˣ = 𝑏.
Despite its simplicity, it has many useful properties that we take advantage of all the time.
You can think of the logarithm as the inverse of exponentiation.
Because of this, it turns multiplication into addition. Exponentiation does the opposite: it turns addition into multiplication.
(The base is often assumed to be a fixed constant. Thus, it can be omitted.)
🤔 Should you learn mathematics for machine learning?
Let's do a thought experiment! Imagine moving to a new country without speaking the language and knowing the way of life. However, you have a smartphone and a reliable internet connection.
How do you start exploring?
1/8
With Google Maps and a credit card, you can do many awesome things there: explore the city, eat in nice restaurants, have a good time.
You can do the groceries every day without speaking a word: just put the stuff in your basket and swipe your card at the cashier.
2/8
After a few months, you'll start to pick up some language as well—simple things, like saying greetings or introducing yourself. You are off to a good start!
There are built-in solutions for common tasks that just work. Food ordering services, public transportation, etc.
3/8
Matrices are the basic building blocks of learning algorithms.
Multiplying the data vectors with a matrix is equivalent to transforming the feature space. We think about this as a "black box", but there is a lot to discover.
For one, how they change the volume of objects.
This is described by the determinant of the matrix, which is given by
• how the transformation scales the volume,
• and how it changes the orientation of basis vectors.
The determinant is given by the formula below. I am a mathematician, and even I find this intimidating.
Data similarity has such a simple visual interpretation that it will light all the bulbs in your head.
The mathematical magic tells you that similarity is given by the inner product. Have you thought about why?
This is how elementary geometry explains it all.
↓ A thread. ↓
Let's start in the beginning!
In machine learning, data is represented by vectors. So, instead of observations and features, we talk about tuples of (real) numbers.
Vectors have two special functions defined on them: their norms and inner products. Norms simply describe their magnitude, while inner products describe
.
.
.
well, a 𝐥𝐨𝐭 of things.