I can tell you're yearning, to learn about machine learning.
Tags: machinelearning, beginners, javascript
Published: 2020-05-24 21:41:43

Greetings! How's it going? I hope you and your family are doing well and staying safe during these difficult times. I'm going to assume since you took time out of your day to click on this link, that means you are interested in machine learning. Let's not waste any more time and get straight into it shall we? 

First things first. What the heck is machine learning? Machine learning is a subset of [artificial intelligence](http://jmc.stanford.edu/artificial-intelligence/what-is-ai/index.html) that aims to enable computers to learn from data, and even improve without being explicitly programmed. Arthur Samuel, the inventor of machine learning, coined the phrase machine learning in 1952. That same year, Arthur would go on to develop the very first machine learning program. The program was designed to play checkers, and the program would look for ways to get better by correcting its mistakes each time it played. Crazy, I know. How is this possible? Let's take a look at this quiz below to see how.

**Fill in the blanks**
* 4
* 8
* ??
* 16
* ??

I just gave you a quiz out of the blue and you still managed to correctly guess **12** and **20**. This is exactly the kind of behavior that developers are trying to achieve when making machine learning algorithms. To give computers the ability to predict an unknown outcome by picking up on patterns each time a program is run. 

Machine learning is present everywhere in our day to day lives. Every time we ask _Siri_ or _Alexa_ a question, to face recognition to open our phones, to getting product recommendations based off of something we recently purchased online, machine learning is is the diving force behind all of that and more. There are three different strategies for creating machine learning algorithms:

* [Supervised machine learning](https://www.dummies.com/programming/big-data/data-science/how-does-machine-learning-work/)
* [Unsupervised machine learning](https://www.dummies.com/programming/big-data/data-science/how-does-machine-learning-work/)
* [Reinforcement machine learning](https://www.dummies.com/programming/big-data/data-science/how-does-machine-learning-work/)

In general, supervised machine learning works by feeding the computer a labeled input and labeled output, so that the computer can make a connection between the two sets of data. You repeat this process many times, eventually, the algorithm picks up a pattern between the inputs and outputs. Now, you can feed it a brand new input, and it will predict the output for you. 

In general, unsupervised machine learning works by feeding the computer an example input without labeling the expected output. You repeat this process many times, eventually, the computer will combine your inputs into groups that are related. Now, you can feed it a brand new input, and the computer will predict which cluster it belongs with so it can then predict the output for you. 

In general, reinforced machine learning works very similar to supervised machine learning where you feed a computer a labeled input. The difference is instead of explicitly feeding the computer a labeled outcome to check for, you set up a system to either reward or penalize the computer based off a given output. The more you repeat this process the better the computer will become better at choosing the right output based off of prior rewards and penalizes.

Machine learning is one of the fastest growing areas in computer science, and does not seem to be slowing down. Almost any programming language can be used to write machine learning applications, however having to write every single algorithm from scratch can be extremely time-consuming. Popular languages such as Python, C++, Java and JavaScript have pre-built libraries to assist you in creating your first machine learning program. I hope after reading this blog, you will venture out and dive even deeper into discovering what machine learning is all about. I know I will! Until next time!