What do you get when you let a monkey randomly smash the buttons on a typewriter?

Hamlet from Shakespeare, of course. And Romeo and Juliet. And every other finite string that is possible.

Don't believe me? Keep reading. ↓
Let's start at the very beginning!

Suppose that I have a coin that, when tossed, has a 1/2 probability of coming up heads and a 1/2 probability of coming up tails.

If I start tossing the coin and tracking the result, what is the probability of 𝑛𝑒𝑣𝑒𝑟 having heads?
To answer this, first, we calculate the probability of no heads in 𝑛 tosses. (That is, the probability of 𝑛 tails.)

Since tosses are independent of each other, we can just multiply the probabilities for each toss together.
By letting 𝑛 to infinity, we obtain that the probability of never tossing heads is zero.

That is, we are going to have heads come up eventually with probability 1.
Instead of coin tosses, we can talk about arbitrary events.

If an event has a nonzero probability and you have infinite attempts, 𝑖𝑡 𝑤𝑖𝑙𝑙 ℎ𝑎𝑝𝑝𝑒𝑛 with probability 1.
Now, let's apply that to our monkey, infinitely typing away at the typewriter.

What is the probability that six random consecutive keystrokes result in the string "Hamlet"?

First, each keystroke matching the right character is 1/(number of keys).
Because the keystrokes are independent, the probability of a given string is the product of the probabilities for each keystroke matching the individual character.
Now, let's calculate the probability that the entire Hamlet play by Shakespeare is typed randomly.

Since the entire play has 194270 characters, and there are 100 possible keys to hit, this probability is extremely small.

Still, it is larger than zero.
Thus, if our monkey keeps typing infinitely, the entire Hamlet play will appear somewhere. (Along with every other finite string you can imagine.)

However, this takes a 𝑣𝑒𝑟𝑦 long time on average.
If the probability of a given string occurring is 𝑝, the expected number of attempts to randomly generate it is 1/𝑝.

So, if 𝑝 is as small as randomly typing the entire Hamlet play, then 1/𝑝 is going to be astronomical.
(If you are not familiar with the concept of expected values, take a look at the simple explanation I posted a while ago.)

It states that given infinite time, a monkey randomly smashing the keys of a typewriter will type any given text.

Next time when you say, "even a monkey can do it", be careful. Monkeys can do a lot.
Recently, I have been thinking about probability a lot.

In fact, I am writing the probability theory chapters of my book, Mathematics of Machine Learning. The early access is just out, where I publish one chapter every week.

tivadar.gumroad.com/l/mathematics-…
I post several threads like this every week, diving deep into concepts in machine learning and mathematics.

If you have enjoyed this, make sure to follow me and stay tuned for more!

The theory behind machine learning is beautiful, and I want to show this to you.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Tivadar Danka

Tivadar Danka Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @TivadarDanka

21 Sep
You don't need to go to a university to learn machine learning - you can do it from your living room, for completely free.

Here is an extensive list of curated free courses and tutorials, from beginner to advanced. ↓

(Trust me, you want to bookmark this tweet.)
This is how I'll group the courses.

Machine learning
├── Getting started
├── Computer vision
├── NLP
├── Reinforcement learning
└── Applications

Coding
├── Python
├── R
├── Javascript
└── Machine learning frameworks

Let's start!
Machine learning
└── Getting started

1. Neural networks (by @3blue1brown)

youtube.com/playlist?list=…
Read 40 tweets
16 Sep
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.

Let's start with the fundamentals!
Read 11 tweets
14 Sep
You are (probably) wrong about probability.

If I toss a fair coin ten times and it all comes up heads, what is the chance that the 11th toss will also be heads? Many think that it'll be highly unlikely. However, this is incorrect.

Here is why!

↓ A thread. ↓
In probability theory and statistics, we often study events in the context of other events.

This is captured by conditional probabilities, answering a simple question: "what is the probability of A if we know that B has occurred?".
Without any additional information, the probability that eleven coin tosses result in eleven heads in a row is extremely small.

However, notice that it was not our case. The original question was to find the probability of the 11th toss, given the result of the previous ten.
Read 10 tweets
1 Sep
The early access of my Mathematics of Machine Learning book is launching today!

One chapter per week, we go from basics to the internals of neural networks. We are starting with vector spaces, the scene where machine learning happens.

Here is why they are so important!

🧵 👇🏽
As you probably know, data is represented by vectors.

Data points are just tuples of measurements. In their raw form, they are hardly useful for us. They are just blips in space.
Without operations and transformations, it is difficult to predict class labels or do anything else.

Vector spaces provide a mathematical structure where operations naturally arise.

Instead of a blip, just imagine an arrow pointing to the data point from a fixed origin.
Read 11 tweets
27 Aug
The Mathematics of Machine Learning book early release is launching in September 1st! Exciting times are ahead :)

If you are interested in understanding the mathematics of machine learning, this is the book for you.

tivadar.gumroad.com/l/mathematics-…
In the early access program, I'll release the sections of this book as I write them.

During our time together, my goal is to guide you through the inner workings of machine learning, from high school mathematics to backpropagation.
This is the release calendar for 2021.

Part 1: Linear algebra

1. Vector spaces (September 1st)
2. Normed spaces (September 8th)
3. Inner product spaces (September 15th)
4. Linear transformations (September 22th)
Read 7 tweets
23 Aug
Machine learning is more than function fitting.

Even though most of us are introduced to the subject through this example, fitting functions to a training dataset seemingly doesn't give us any deep insight about the data.

This is what's working behind the scenes!

🧵 👇🏽
Consider a simple example: predicting the value 𝑦 from the observation 𝑥; for instance 𝑦-s are real estate prices based on the square footage 𝑥.

If you are a visual person, this is how you can imagine such dataset.
The first thing one would do is to fit a linear function 𝑓(𝑥) = 𝑎𝑥 + 𝑏 on the data.

By looking at the result, we can see that something is not right. Sure, it might capture the mean value for a given observation, but the variance and the noise in the data is not explained.
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(