# How do we create an algorithm?

How do we create an algorithm?

an algorithm is a mathematical formula. As mathematical formulas, they can be very complex or very simple, depending on the problem we need to solve.

In general, we first try to decompose the problem into small subproblems that are simpler and easier to solve. Lately, a new type of algorithms have appeared, linked to Artificial Intelligence, called Machine Learning algorithms. For these algorithms, the logic is a bit different, they get to learn a general model out of a group of examples.

How?

A very representative example is image classification. We create a data base with a lot of images (millions), and for each image we identify the object in it.The algorithm looks at all of them and learns what is it, specifically, that allows us to distinguish a certain object. This process is called ‘training’. After training, the algorithm can identify the same objects it saw, but on different new images.

Another very interesting example is the work developed last year in DeepMind, Google’s start up specialized in Artificial Intelligence. The idea is pretty similar to image classification, but in this case, they make the computer learn (train) by playing videogames. The ‘correct’ answer is obtained when the algorithm finishes a level, and ultimately, the whole game.They have shown that an algorithm can learn and win [in march 2016 the algorithm AlphaGo won a human playing Go, this was a major scientific achievement in the Artificial Intelligence community].

Is it easy to commercialize algorithms?

Since algorithms are like formulas, you cannot commercialize them. IN fact, even to create a patent you need to specify specifically the use of the algorithm, the are of application, etc.

¿Are they controlled by an elite?

It depends what we call an elite. Is the aeronautic world managed by an elite? Yes and no. Evidently there is a very technical knowledge that, since it is pretty new, it is not widely spread. But there is a great amount of free online courses given by the best researchers in the world. So, the knowledge is there to be learned.

On the other hand, I think bug companies have changed their behaviour lately, and have stared sharing their knowledge by, for example, joining the scientific community and publishing in scientific journals. Apple was one of the only companies that was very restrictive, and a few months ago they have started publishing.

Why?

I think they have come to realize that they benefit more than they lose by sharing. Nobody can challenge they position in the market by knowing only the algorithms that they use.

What percentage of data and what percentage of algorithm is responsible of the success of a company?

This question is very much related to the previous one.The quality of the result is linked to the amount of data you can show the algorithm in the training process. Getting back to the image classification problem, if you don’t have enough images to classify a certain object, the system will not learn correctly, and the production results will be bad. This is why big companies can publish the algorithms they use: they know that without the data, that only they have, the algorithms are not that useful.

How important is talent in the algorithm world?

The techniques that I descriped previously, from machine learning, are pretty new. The scintific article that showed that these techniques (Deep Learning) worked, was published in 2012. We are seeing a race to recruit people that know these techniques and know how to put them in production.

Moreover, these algorithms have proven to work in several areas: image analysis, text analysis, automatic generation of text summaries,… All these applications are very importat in almost any area of the bussiness world.

These algorithms are becoming a fundamental tool for the future, since they will allow to accelerate processes. This is why companies should start creating Data Science departments, that can identify which procedures can be automated, and put the tools to do it. Thus, the talent, understood as the people who know how to put this into place, is very sought-after.

Should we be concerned by the raise of these algorithms?

Deep Learning algorithsm will allow the creation of applications that will make our life easier, thus, in this sense, I don’t think so. This being said, I think we should be concerned on the relationship between the user (provider of his/her information) and the big companies (beneficiearies of this information).

Right now, all social network users, or Google users, we are constantly giving information about our behaviour, preferences, etc. This information is worth a lot of money which is being handled by a very small amount of companies. What is worst: users have no control on this information that they share directly or indirectly. So, in this sense, I think we should be a bit concerned.