In this world, the ever-growing pace of technological evolution has led to an increase on the dependence of technology. Though we have control over this technology, what if this technology could understand us?
Yes, that would be pretty amazing and all – but how could we possibly do this? Total understanding might be a tad bit ambitious, but if you want a more basic implementation of this then I’ve got good news for you. We have somewhat achieved this “understanding” by using what is known as Artificial Intelligence. “Artificial Intelligence” or AI as a statement does not imply much – it is an umbrella term given to a vast collection of terminology and complexities. But mostly when people use the term “Artificial Intelligence” (which apparently is quite often), they usually refer to Machine Learning: the process by which technology or software “learns” things.
This “learning” process is quite similar to the way humans learn things – in fact it is modeled the same way – but at the same time is quite different. To implement this “learning” process, there are three paradigms – supervised learning, unsupervised learning and reinforcement learning.
The first paradigm is supervised learning. In this, the data (things which have to be learnt) is divided into two collections: training data and testing data. First, the training data is fed into the program, which is made to recognize it through the the various patterns present in the data (this is more of a trial-and-error thing). Then, its knowledge is tested by using the testing data to see if the resultant output matches with the desired output. If yes, then congratulations! We are done. But if not, then some “knobs and dials” of the program are adjusted, and the process of training and testing continues. There are mainly two types of models the program follows – classification and regression models. Classification is when the program “classifies” the given input. For example – a program which tells if a given picture is of a “cat” or a “dog”. Regression, on the other hand, outputs a numerical value or values based on the input, like in a stock market predictor or something which requires a lot of math and curve fitting stuff (and I mean algebra and calculus, so beware!).
The next paradigm is unsupervised learning, which is the most abstract one of them all. In unsupervised learning, data is given to the program which recognizes the various patterns or other information in the data and outputs it to us. We, the user, may or may not make use of this data. This type of learning is used when the desired output is not known, like in poetry and song generation. It’s kind of like diving into the sea and coming out with either a pearl or a heap of garbage.
The third paradigm, reinforcement learning, function on the principle of a reward-punishment system. Under it, data is given to the program and it makes a certain decision. Of the decision is desirable, then the program is given a “reward” which motivates the program to make that decision more often. Similarly, a “punishment” might be given when the program takes an undesirable decision (or maybe you are just cruel enough to base your program on punishments). In this way, the program “learns” to do certain tasks. This can be achieved through many way like genetic algorithms, natural selection, neural networks and neuroevolution (note that they are all based on real life theories and propositions).
Now I’ve barely scratched the surface over here. There’s just so much coming under machine learning that you can’t just have an article tell you everything. You need to dedicate books on it to get an understanding. Plus there’s a lot of math involved (especially calculus and linear algebra), so you better get ready. It took me four months to get to know about all this, and it’s all just so overwhelming! If you are really interested in knowing more about machine learning, then the Internet is your friend! Go check out some stuff and bask in the glory of computer scien- okay that’s probably too much. But always remember – stay curious!