Algorithms!! We are surrounded by them. They are the reason why you were able to see this post. Yet many of us don't know a thing about them!
So What Are Algorithms?!
Well by definition an algorithm is "a process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer." But what does that even mean?! Well let me show you an example.
Let's say you want to count the number of people in a park. Well, here is how you'd normally do that:
- Start from zero
- Point at each person you see
- When you see a person one to the number you have.
Pretty simple Right! You just created a list of instruction which are followed in order to complete a certain task and in its most simple term an algorithm is just that. A set of instruction to be followed in order to achieve a main objective. That objective can be anything from how many sides a square has to what content a user might be interested in. Now that you have an idea of what an algorithm is let's move on to some real life examples. In real life, algorithms are the power of bots that several companies use. Google for example uses algorithms to suggest content on Youtube and here on Steemit an algorithm is used to sort the post according to the newest one in the "new" tab.
How Algorithms are made?!
Okay so we know that an algorithm is a set of instructions and that they are used by companies all the time but how does one goes about making one?! Well aside from linear algebra and some other technical stuff, in order to make a successful algorithm we have to talk about Machine Learning.
In the beginning, we would build algorithms by giving them instructions we could explain. IF this then That But we can't always explain complex problems by providing simple instructions. Lets take a look at a simple example, you want to make a bot with the ability to recognize people. You as a person can recognize people in photos but how can you communicate that to a computer?! After all, you just know a person when you see it and this is really the core of the problem. You want the algorithm to do a task that you are not able to describe.
So what do we do?! Well, we create two simple bots, one that can build other bots and another that can teach the created bots. For this example, we'll call the first one "Bot A" and the other "Bot B". So Bot A goes and make a bunch of bots and sends them to Bot B. So Bot B is supposed to "teach" but in reality he doesn't. He gives the bots tests which he made from data given to him by humans and which he has the model answer for and grades the bots accordingly. So here the test would be a bunch of images with the question being "does it contain a person or not?".
Since the bots were never taught and Bot A never knew how to point out a person in a picture, all the bots score terribly but here's the thing the best bot aka the one with the highest score is sent back to Bot A with the message make bots similar to this. So Bot A goes and makes a new bunch of bots and there are sent again to Bot B to be tested. This time there is a new best bot with a higher score. This process is repeated over and over until we end up with a bot that can for certain recognize a person in a picture it has never seen before.
But what if you want the bot to recognize humans even if the picture is distorted or tilted?! Well you'll just have to increase the number of questions. So in actuality, the test isn't ten photos it's a million and Bot A doesn't build 5 bots it build thousands. This is why companies are after data. More data equals more questions and more questions equals better bots. Once we finally have a good enough bot the algorithm has changed so much and became so complex that humans and even Bot A and B cannot explain how it works. That's why companies value their algorithms. They cost money and effort to build.
If you would like more content like this please like and follow for more. As always have a great day and I'll see you in the next one.
This post has received a 5.88 % upvote from @sleeplesswhale thanks to: @thepsychguide.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Sneaky Ninja Attack! You have been defended with a 1.10% vote... I was summoned by @thepsychguide! I have done their bidding and now I will vanish...Whoosh
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
You got a 8.33% upvote from @yourwhale courtesy of @thepsychguide!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
!originalworks
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
The @OriginalWorks bot has determined this post by @thepsychguide to be original material and upvoted it!
To call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit