Can Software be Derived From Data?

Nancy Anderson
Posted by

Expect to hear the term machine learning frequently now that cloud computing and advanced computer software are in the mainstream of technology. Discover what it means for your business, the economy and commerce as more programmers create software derived from data.

How Machine Learning Works

Machine learning is not artificial intelligence, although people may use the two phrases interchangeably. Machines capable of learning are everywhere in society. Examples include virtual assistants like Siri and Alexa, facial recognition software and even, to a lesser degree, self-driving cars. The key to creating this technology is data gathering.

The more data a computer program obtains, the more accurate the program becomes. Software derived from data processes the vast amounts of information computers can collect. For example, a computer in a factory gathers information from sensors all over a production line. Software compiles the data, analyzes the data and then compares it the known tolerances and stresses of a prototype run. The computer might then be able to suggest improvements. It might also know when to shut down certain machines and when to help people collaborate to improve production in real-time.

Advanced Algorithms

Machine learning works by using algorithms, or mathematical functions built into the program that allows it to expand when it learns more information. Programmers only have to write one algorithm into the overall software, and then the data improves the results. Think of an algorithm as a recipe. The software gathers data about how the recipe turns out the first time, the second time and then the 2,000th time it runs the data. When the computer runs the recipe the first time, it might look the same as it does on the 2,000th run. However, the computer learns with each run, and the 2,000th result is much improved over the first one.

In terms of technology, facial recognition is one way that algorithms work in machine learning. Programmers input data to the program for it to recognize photos of cats. In addition to inputting photos of cats, programs throw in pictures of dogs, rabbits, chickens, humans and elephants for comparison. Eventually, the program becomes really good at identifying pictures of cats. This is called supervised learning, because programmers instructed the algorithm to find good photos, or the cats, while eliminating non-cat pictures.

Unsupervised learning goes a step further. Programmers instruct the software to gather data, and the program determines what normal parameters are. If there are any deviations from those normal parameters, the software can alert people to any changes. As an example, search engines may make recommendations to users based on past searching behavior.


The one major limitation to machines that can learn comes from the data itself. If an algorithm receives bad data, the software gets bad results. Look at what happened with Taybot in 2016 when Microsoft tried to experiment with human conversation after analyzing Twitter posts. What happened was that the AI system spat out hate speech less than a day into the experiment.

Machine learning enhances society in many ways, such as helping doctors diagnose patients, creating predictions for the stock market, improving computer memory and automating more computer processes. Although humanity isn't as the level of Hal 9000 yet, technology is moving in that direction.

Photo courtesy of Robert Couse-Baker at


Become a member to take advantage of more features, like commenting and voting.

Jobs to Watch