Understanding Machine Learning through Memes
By: Harsh Aryan
Tags: Programming, Deep Learning, Data Science, Science, Machine Learning

“What we learn with pleasure, we never forget” — Alfred Mercier

What better way to have fun than scrolling some memes?

Machine Learning has become an imperative part of our everyday lives. But so have memes. As a proof, we now have more memes every day than them Good Morning wishes in family groups.

Well, why do we need to learn ML? What is ML?

Machine learning is a specific field of AI where a system learns to find patterns in examples in order to make predictions.

Computers learning how to do a task without being explicitly programmed to do so.

Or, in a more friendly definition, Machine Learning Algorithms are those that can tell you something interesting about the data (patterns !), without you having to write any custom code specific to the problem. Instead of writing code explicitly, we feed data to these ML algorithms and they build their own logic based on the data and its patterns.

An example, again, is that you can make an ML model to automatically detect and delete them Good morning wishes posters/images with striking accuracy.

Irritating, aren’t they ?

And that’s just the tip of the iceberg. There’s a lot more that is done using ML. If you see your daily usage, everything from Google Search prediction, Autocorrect, weather prediction, Google assistant (or Siri or Alexa), facial recognition; requires and implements ML in one way or another.

So I guess you’d know by now what can ML do.

So here’s one on that:

PS: ML enables the machine to do it all. Paint a canvas, write a symphony et all.

And memes might as well be one good way to get started with ML, and this blog might help.

For those of you who are already “Machine Learning Enthusiasts”, you’d have no difficulty relishing these meticulously made mesmerizing ML memes.

If you’re someone who doesn’t know much about ML, here’s what Andrew Ng’s got to say:

So the first question, again, What is ML?

We saw the definition already, well, here’s a memer’s take on this:

MATH + ALGORITHM = MACHINE LEARNING

And here’s what Wikipedia says:

Machine learning (ML) is the scientific study of algorithms and statistical models that computer systems use to perform a specific task without using explicit instructions, relying on patterns and inference instead.

Decide for yourself what you like better.

You’d notice the word statistics in the definition. Well ML did pop up out of Statistics and even today, some of the models used regularly are nothing but statistical calculations.

So, we now present, this:

And

Mathematics and ML have had a long long relationship.

And because of this relationship, many students find it hard to study ML, because, well, Maths.

I so wanted to share this ML meme. ;)

true, indeed :(

But then,

Well this is one of Andrew Ngs favourite dialogue(Andrew Ng: hailed as god by people starting ML from his courses (they’re goood goood courses, see this course, and this one too from deeplearning.ai ) )

Those who know, know.

But you don’t need to have had scored an A (or A+ ;) in maths to be able to use ML for your projects or be well versed with these models. And many a people don’t even care about the mathematics behind ML.

So one more question that arises frequently is :

How are ML and AI different?

Jokes apart, Artificial Intelligence is defined as any technology which appears to do something smart, or say, mimics Human Behaviour. This can be anything from programmed software to deep learning models which mimic human intelligence.

Whereas Machine learning is a specific kind of artificial intelligence but rather than a rule-based approach, the system learns how to do something from examples rather than being explicitly told what to do.

At this point, you’d be impressed by what ML and AI can do, but there’s a dangerous aspect to it as well. If not used carefully, this tech can be dangerous, but thats not as much of an issue as the media portrays it to be.

Another term that’s often interchangeably used with ML is Deep Learning

So what is Deep Learning?

Crying yet?

No, not this 😂.

So Deep learning is a specific type of machine learning using a technique known as a neural network which connects multiple models together to solve even more complex types of problems. (more on Neural Network later)

This is the relation between AI, ML and DL.

There are different types and Models of ML.

One of the most basic ones is Linear Regression or Regression:

Regression is one of the most important and broadly used machine learning and statistics tools out there. It allows you to make predictions from data by learning the relationship between features of your data and some observed, continuous-valued response. Regression is used in a massive number of applications ranging from predicting stock prices to understanding gene regulatory networks.

Then there’s k-means for Clustering algorithms.

Now, clustering means determining how closely related items are to each other, and arranging them to form clusters of related data items. K-means algorithm is an iterative algorithm that tries to partition the dataset into ‘k’ pre-defined distinct non-overlapping subgroups (clusters) where each data point belongs to only one group.

See how easily you can grasp this concept using this meme .

k = 4 ; 😛

Most importantly, there’s Neural Network.

Neural networks are a set of algorithms, modelled loosely after the human brain, that are designed to recognize patterns. That’s it. Some nodes or say neurons connected to each other which pass information like the ones in the brain do. Here each neuron processes the info and passes on to the next one.

Initially, like a child’s brain, the neural net is random, it hasn’t learnt anything and as we feed data to it, it starts learning. As a child slowly learns features one by one, with increasing complexity, so does a neural network.

Source : Analytics India Webiste

More on Neural network in this blog.

If you don’t train it properly, or before training it’ll give random results

NN uses a function called as Activation function that activated neurons depending on different conditions.

For example there’s Relu, Rectified Linear Unit, which activates a neuron only if output (y=wx+b) is greater than zero.

Well here’s one meme for the ones who know NN already.

The explanation of this meme is beyond the scope of this blog. Try contacting your nearest ML expert for the explanation.

One advanced model frequently used these days is GAN (Generative Adversarial Network)

Basically these are Neural Net technology which, given a training set, can learn to generate new data with the same statistics as the training set data.

For example, it can create new faces, new paintings which will look like any other but which actually does not even exist but are made by your machine. See, the machine is actually learning.

How do you do ML? What is the language? What framework?

Thanks to the modern frameworks (tf, keras, theano, pytorch and others) used these days, writing code for an ML model has become just a few lines work. You can use Python or even C++ together with these libraries.

So what is Keras?

Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabling fast experimentation.

So, What is Tensorflow?

TensorFlow is a free and open-source software library which is a symbolic math library, and is used extensively for machine learning applications such as neural networks. Tf enables you to write complex code in a few lines.

Also, you can use pretrained models and tweak some parameters to get the result of your choice.

So,

*Stay cool and learn ML meme*

Signing off…

This blog was a part of Learning ML series by the author. Click here to get to the previous part of the series. The aim of this blog was to present some of the most relatable ML memes I found throughout the web (including ones I made and ones I collected)in a learning handbook kind of format so as to act as a beginner’s guide, with the fun ;)