There is a mathematical formula so beautiful that it is almost unbelievable.
Euler's identity combines the famous numbers ๐, ๐, ฯ, 0, and 1 in a single constellation. At first sight, most people doubt that it is true. Surprisingly, it is.
This is why.
๐งต ๐๐ฝ
Let's talk about the famous exponential function ๐หฃ first.
Have you ever thought about how is this calculated in practice? After all, raising an irrational number to any power is not trivial.
It turns out that the function can be written as an infinite sum!
In fact, this can be done with many other functions.
For those that are differentiable infinitely many times, there is a recipe to find the infinite sum form. This form is called the Taylor expansion.
It does not always yield the original function, but it works for ๐หฃ.
Taylor expansions are advantageous for two reasons.
First, we can approximate functions by cutting of the sum at some N.
Second, we can simply extend functions to the complex plane with this formula!
The exponential function is not the only one that can be written as a Taylor series.
We can also do this with the trigonometric functions sine and cosine.
(Feel free to check this by hand using the general Taylor expansion formula.)
By plugging in ๐๐ง into the exponential function, we discover that the complex exponential function can be written in terms of trigonometric functions!
(We use that ๐ยฒ = -1.)
In the special case ๐ง = ฯ, we obtain the famous formula called Euler's identity.
This is how the magic happens.
When asked, Euler's identity often comes up among mathematicians as the most beautiful formula ever.
It is not only amazing because it connects together a bunch of famous constants, but because it establishes a connection between the exponential and trigonometric functions.
If you enjoyed this explanation, consider following me and hitting a like/retweet on the first tweet of the thread!
I regularly post simple explanations of mathematical concepts in machine learning, make sure you don't miss out on the next one!
What you see below is a 2D representation of the MNIST dataset.
It was produced by t-SNE, a completely unsupervised algorithm. The labels were unknown to it, yet it almost perfectly separates the classes. The result is amazing.
This is how the magic is done!
๐งต ๐๐ฝ
Even though real-life datasets can have several thousand features, often the data itself lies on a lower-dimensional manifold.
Dimensionality reduction aims to find these manifolds to simplify data processing down the line.
So, we have data points ๐ฅแตข in a high-dimensional space, looking for lower dimensional representations ๐ฆแตข.
We want the ๐ฆแตข-s to preserve as many properties of the original as possible.
For instance, if ๐ฅแตข is close to ๐ฅโฑผ, we want ๐ฆแตข to be close to ๐ฆโฑผ as well.
Creative abuse of rules can lead to game-changing discoveries.
In high school, you learned that -1 has no square roots. Yet, by ignoring this, you'll soon discover something that changed mathematics forever: complex numbers.
Follow along, and you'll see how!
๐งต ๐๐ฝ
Let's start with a very simple equation:
๐ฅยฒ + 1 = 0
Can we solve this? Not at first glance, since the left side of the equation is always larger than one. This is equivalent to solving
๐ฅยฒ = -1,
which is (apparently) not possible.
But let's disregard this and imagine a number whose square is -1.
Let's appropriately name it the ๐๐๐๐๐๐๐๐๐ฆ ๐๐ข๐๐๐๐ and denote it with ๐.
So, ๐ยฒ = -1.
Now that we have this strange entity, what can we do?
One of the biggest misconceptions regarding education is that its main purpose is to give knowledge you can immediately use.
It is not.
The best thing education can give you is the mental agility to obtain knowledge at the speed of light.
Let's unpack this idea a bit!
1/7
Consider a course where you build a custom neural network framework with NumPy.
This is hardly usable in practice: working with a custom library is insane.
However, if you know how they are built, you only need to learn the interface to master an actual framework!
2/7
By understanding how the framework is built and how the underlying algorithms work, you'll be able to do much more: experiment with custom optimizers, implement your own layers, etc.
3/7
Suppose that you have a trained network and a set of samples ๐. You take this data and run it through the network, storing all intermediate results.
The output of the ๐-th layer is denoted by ๐แตข. These encode the intermediate internal representations of the data.
In general, the further you go, the higher level these representations become.
For a convolutional network, filters in earlier layers detect edges, while later activations represent objects.
Check the fantastic article below for more details!