Artificial Intelligence and Machine Learning

We live in an era where there are self-driven cars. Machines, which are capable of performing various tasks such as notifying you with some new cuisines in your area or even play a game like an expert which requires specific complex strategies to be made. Well, this is just the beginning. The speed with which machines are transforming or rather let me rephrase it as developing themselves will lead to much more drastic changes in the society in the forthcoming years to come. Now, since we are starting to have a fair idea about what will happen, let us talk about how this will happen? That is, who is to be held responsible for all these actions?

Artificial Intelligence

From Google to Netflix, Facebook to Amazon, Artificial Intelligence is scattered everywhere. Ever wondered, how you get just the movie or series recommended which you wanted to watch on Netflix? How does your Facebook feed differ from that of your friends or family? Did you ever come across the smart reply feature of Gmail, which helps you with multiple options which will suit the reply response? It works for me every time. So, how does all this happen, how can machines be so accurate in these entirely different areas? The answer to all that is, AI.

The term Artificial Intelligence was coined by the ‘father of AI’, John McCarthy in the year 1956. According to John McCarthy,

“Artificial Intelligence is the science and engineering of making intelligent machines, especially intelligent computer programs.”

Since its discovery, the graph of its evolution has been exponential. Let us look at some of the various activities which machines with AI programming tend to perform:

  • Voice Recognition: Amazon`s ‘Alexa,’ Apple`s ‘Siri,’ Microsoft`s ‘Cortana,’ Google`s ‘Google Assistant’ uses this technology to perform various tasks assigned to them by us humans.
  • Quick Estimation: Apps like Uber use this feature to estimate the expected arrival of the vehicle or even the fare of the entire trip.
  • Recommendation engine: Netflix, Facebook uses this for a better recommendation of contents for its users.

If we start counting the places where AI comes into the picture, then it will take us our whole day or may be even more to list them out.

Now let us shift our focus to how artificial intelligence is implemented. Is it programmed with the help of a programming language? If it is programmed, in our other article about what is programming, we said that “Programming is nothing but a set of instructions,” so if it is a set of instructions, how come Google assistant has all the answers or technically speaking, 'instructions' pre-written for all the questions which cross my mind. Even I don`t know it will strike me beforehand, how does someone be aware of that and he/she gives the instruction concerning it, before I ask. Let me tell you if you don`t know already. Yes! It is programmed with the help of programming languages, but it differs from our traditional programming. And how is that?

Machine Learning

Machine learning is one of the most diligent areas in Artificial Intelligence, though it is not the only one, many people tend to confuse that it is the only path which leads to AI. Machine Learning is a subset of Artificial Intelligence.

Relation between AI and Machine Leaning
Fig.1 - Relation between AI and Machine Leaning

The machines have evolved with time due to considerable advances in the machine learning algorithms. Machines are improving day by day in tasks, which could have accomplished only by humans, in the past.


Now, machine learning isn`t something which has come up in recent years, because don`t you think the term ‘Machine Learning’ is quite antique. Well, that`s because it came into action initially in the 1950`s when computer pioneer Arthur Samuel questioned ‘Can computers think and behave like humans?’ With this question, there came a serious change in technologies, and we were introduced to Machine Learning.
In this area of Machine Learning, there weren`t any detailed instructions provided regarding the desired output to be received, instead data pertaining to that desired output was provided in addition to some necessary tools, and the computer was left alone to decide the fate of the output. Did it get the exact desired result which was expected in the very first attempt? Definitely NO! But there was scope adaptation and evolution which will help the machines learn and improve with multiple efforts. I reckon there is not much difference between this process and how we humans learn.
In machine learning, after the data is assigned to the machine, it starts to perform certain small tasks on the basis of the data, and afterward, it applies special algorithms, and with the help of that it looks for patterns in the data and finally executes the rest of the task.

You can think of algorithms as, human is to rules is the same as machines is to algorithms.

Difference between Traditional Programming and Machine Learning

Let us start with a statement, ‘Traditional Programming directly contradicts Machine Learning.’ In our traditional programming, we use to get our output result on the basis of some inputs which we use to provide and in addition to that we use to instruct the computer on how to use those inputs. Whereas in machine learning, we provide some inputs and leave the rest of the job to the computer to act on those inputs itself.
In simple words, in machine learning, instead of instructions, data is fetched. Let me tell you one of the most exciting things which come along with this type of programming. Sometimes the programmer may be unaware of the actual code behind a decisive action of the machine.

Let us take a real-time example. You have your spam folder in the mail section where usually all the unwanted advertisements and junk email goes, right? Say you are coding for any Credit Card advertisements to fall under your spam section. You don`t want them in your inbox. So if you are filtering by the help of ‘Credit Card’ keyword, some vital messages following your credit card may fall under the spam section too. If you are trying with the help of the credit card company’s name, again you are expected to be held with the same fate. Now, this was traditional programming, let us take a look at the example with machine learning coming into play. They process some of the examples of the previously received credit card advertisements email and classify them as data. On the basis of this data, they analyze the scenario and work upon the future emails you receive. It is the exact practice of our Gmail application, though a 100% success rate is not guaranteed, since you would have noticed till date some of the essential emails fall under the spam section, but the accuracy is regularly increasing.


Different types of Machine Learning

There isn`t any particular hard and fast rule which needs to be followed while using machine learning. Actually, if you look at the bigger picture there are three ways in which a machine learns:

  1. Supervised Learning
  2. Unsupervised Learning
  3. Semi-Supervised Learning

Say, you are playing a game on a Play Station, and you are using the Play Station for the first time. There are three ways in which you can approach. You can have a friend of yours teach you the controls and you can play a game or two with him, and then you will be on your own. This is Supervised Learning. The other approach being, you sit and watch your friend play and learn just by observing him. This is Unsupervised Learning. The final approach being, you are given the controls, and then you see your friend play and adapt accordingly.


Summary

With technologies advancing day by day, artificial intelligence seems to be the future. There are many ways in which one can program concerning AI, one out of many approaches being machine learning. But it differs from the traditional method of programming. If I had to explain the difference in one sentence, I would say, in conventional programming, we order the computer to perform the instructions given to them, and in machine learning, we provide the data to the machine and let them learn accordingly all by themselves. There are three different methods in which a machine can learn and operate, namely, Supervised, Unsupervised and Semi-Supervised Learning.

Author : Satyam Kumar -


You will also like:


What is Programming and Programming Language

"PROGRAMMING" is the word which we all come across quite often. Let us see what that means.

Learning Journal

What is Kafka?

Apache Kafka comes in three flavours. Learn all from experts.

Learning Journal

When to use <section>

HTML5 has seen the introduction of many sectioning elements that can be used to mark up your web pages.

Learning Journal

Tail Recursion

Tail recursion is another concept associated with recursion. Learn with examples.

Learning Journal

Pattern Matching

Scala takes the credit to bring pattern matching to the center.

Learning Journal