Machine Learning - In laymen's terms

in #technology8 years ago

As I mentioned in various articles before, I love technology and the latest tech that I am playing with involves Machine Learning. I want to write a post for the non-technical people to assist them with understanding the basics. To all the specialists out there, please add to the comment section and correct me where I am wrong.


Image Source

First of all, computer programming in general is not as difficult as it sounds. If we break computer programming down to its most simplistic form. There are only a few things you need to be able to programme - and I did this for many years by the way. You need some logic (this is why women struggle to programme - this is just a joke ladies :) ), and then you need to understand the syntax of the language.

The syntax of a programming language, is the words which is available in the dictionary of the specific language you are programming in. So when you understand what you want to programme, you just need to apply the logic of what you want to do then write the words (syntax) down. Most programming languages then that you compile the code, from where it runs the programme.

A compiler is a piece of software which is built into the programming language, which then checks the "Syntax" and various other rules which you need to comply to in order for the software to run successfully.

Hello World

This is a geeky thing which all of us as programmers use, to do our first program when we learn to programme in a new land programming.

So here is the code to display the words "Hello World: on a computer screen in various languages:

Visual Basic Syntax

' A "Hello, World!" program in Visual Basic.
Module Hello
Sub Main()
MsgBox("Hello, World!") ' Display message on computer screen.
End Sub
End Module

C# .Net Syntax

// Hello1.cs
public class Hello1
{
public static void Main()
{
System.Console.WriteLine("Hello, World!");
}
}

Pyhton Syntax

print "Hello World"

All three of the above examples will have the exact same result. It will display the words "Hello World" on the screen. Each of the different languages, just have different syntax :)

Machine Learning

Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI.

The statement above, basically says that we are now moving one level up with the logic part of programming computers. So we are writing code using the logic, and syntax, to create programmes that will teach itself to learn. The syntax will just be different, depending on what programming language you use. The logic part is however a different story. It is taking logic to the next level :) This is where we get to Algorithm's, as we need somehting to base the Machine Learning concept on.

An algorithm (pronounced AL-go-rith-um) is a procedure or formula for solving a problem.

Machine Learning Algorithm's

During the past years, scientists has been working hard at finding the perfect algorithm to use for Machine Language, or in other words, finding the easiest way for to create an environment where a computer can learn to learn

There is a very informative article from way back in 2013 which explains the different type of algorithm's in laymen's terms. You can read the article here.

There are many ways in which an algorithm can be used to model the problem based on the interaction with its experience with the environment.

Most of the time textbooks will say that we first need to consider the "Learning Style" which an algorithm may adopt.

The high level list of machine language learning style can be described as Supervised Learning, Unsupervised learning, Semi-Supervised learning or Reinforcement learning.

Supervised Learning


Source

In the supervised learning environment , you need to take some

"Input Data" or training data and has a known label or result such as spam/not-spam or a stock price at a time.

A know label basically mean you know that result you are looking for but does not know what the answer will be before you do the "test". This is where it becomes interesting.

A model is prepared through a training process where it is required to make predictions and is corrected when those predictions are wrong. The training process continues until the model achieves a desired level of accuracy on the training data.

Read the above sentence carefully. You take a model (training process) - so it is list of things that you want to try to predict, and when it is incorrectly predicting you "fix" it until it is to be more accurate. So you are teaching the program, to learn what is wrong and then make it "more" right.

Example problems are classification and regression.
Example algorithms include Logistic Regression and the Back Propagation Neural Network.

Unsupervised learning.


Source

Input data is not labelled and does not have a known result.
A model is prepared by deducing structures present in the input data. This may be to extract general rules. It may through a mathematical process to systematically reduce redundancy, or it may be to organize data by similarity.

So the data that you are using as input does not have a known result. Logical isn't it (sorry ladies :))

A model is prepared by deducing structures present in the input data. This may be to extract general rules. It may through a mathematical process to systematically reduce redundancy, or it may be to organize data by similarity.

So the programme will break down the structure of the input data to get a conclusion based on something that you tell the programme. If you use a mathematical process you programme will be reducing the number of redundant options .

Example problems are clustering, dimensionality reduction and association rule learning.

Example algorithms include: the Apriori algorithm and k-Means.

Semi-Supervised learning


Source

Input data is a mixture of labelled and unlabelled examples.
There is a desired prediction problem but the model must learn the structures to organize the data as well as make predictions.

Example problems are classification and regression.
Example algorithms are extensions to other flexible methods that make assumptions about how to model the unlabelled data.

Semi-Supervised learning is basically a combination of both the above, Supervised and Unsupervised learning methods.

Practical example

A cool example of an ensemble of lines of best fit. Weak members are grey, the combined prediction is red.
Plot from Wikipedia, licensed under public domain.

I will also write a post algorithms grouped by similarity as there are many algorithms involved and available for machine learning.

If you have some time please watch this documentary (50 Minute video), about how the guys from IBM used Machine Learning to build a computer, based on the IBM Watson technology, to compete in the American TV Show Jeopardy.

This was many years ago and if f you take the speed of how fast technology grows, into account, just think what is possible today.

Happy Steeming


If you enjoy my articles please follow me on my blog at @jacor

Sort:  

Good and interesting topic. Not an easy topic to get across to non-geeks.


Image credit giphy.com
Us girls be like! Duh!? LOL! Can you rewrite the post english! 😂

Just a joke :)

Yes i know! Lol! I just had to get in on it! Hehe! Great post , I reblogged! ✌👍😉

Thanks @karenmckersie just followed you :) Love people with a sense of humor :)

My son showed me how to post this pic here :)

Great post for beginners to machine learning!

Coin Marketplace

STEEM 0.16
TRX 0.15
JST 0.028
BTC 56905.43
ETH 2398.24
USDT 1.00
SBD 2.26