June 2016

Babel Buster Network Gateways: Big Features. Small Price.
Control Solutions, Inc. - Minnesota

(Click Message to Learn More)

Machine Learning in HVAC Controls

HVAC systems are often non-linear, poorly behaved, noisy, and very unpredictable under real-world circumstances.
Mike Donlon
Mike Donlon,
Director Research & Development,

New Products
Control Solutions, Inc
Site Search
Securing Buildings News
Past Issues
Secured by Cimetrics


The past decade has provided the world with great advances in artificial intelligence and machine learning. Although large numbers of engineers and scientists worked on artificial intelligence (AI) throughout the 1980’s and 90’s, few real advances were made, and even fewer made their way into practical systems and products. However, starting around 2005, breakthroughs in the discipline started appearing that began working their way into our daily lives. Speech recognition error rates dropped significantly, allowing people (finally) to speak to command their phones and computers. Facial recognition was starting to be used in industries as diverse as security and social media. Email providers began using AI to detect and eliminate spam. Other examples include product recommendations, medical diagnostics, image labelling, financial forecasting, and the list goes on. Artificial Intelligence is here and increasing in both power and scope every year. The algorithms and techniques that make up this computer revolution are continually becoming more standardized and more accessible to developers.

However, it is not always so simple. There are many algorithms and techniques that fall under the umbrella of Artificial Intelligence. Most of the techniques fit only a narrow set of applications. For many complex computer problems, there still are no readily available solutions. For others, knowing the exact technique to use and how to use it can be quite difficult and require significant expertise.

As is often the case, the building automation industry lags behind larger industries in terms of cutting-edge technology. Sectors like military and defense, consumer electronics and telecommunications tend to lead the pack, but there are many opportunities to leverage these new technologies in the building automation industry. In particular, the use of Machine Learning in large HVAC / mechanical systems has real promise. Machine Learning can change the way we approach things like:

Imagine a building automation system that “learns” from all of the information it contains: data entered by users, every command and adjustment that was given for control, and all of the observations it has made monitoring the points of a particular building. This data spans years. Such a system could potentially:

But before jumping head, let’s review some fundamentals…


The term “Artificial Intelligence” has been around since the mid 50’s. Although still used in popular culture, it has become less fashionable in the computer science community. Originally, “Intelligence” was considered to be something innately human, so anything done by a machine was considered “artificial”.

Avoiding these philosophical arguments, computer scientists now generally consider “Human Intelligence” and “Machine Intelligence” as separate. Classically—considering only isolated tasks—computers are better at performing raw math calculations as well as storing and retrieving data. In contrast, humans are better at pattern recognition and learning.

Today we use the term “Machine Learning” to describe the new class of algorithms that have become staples of modern programming. These algorithms use large amounts of real world data to “train” generalized computer programs to perform tasks more analogous to human problem solving.

Classical Programming vs Machine Learning

So how does machine learning software differ from classically programmed software?

Classically programmed software typically involves highly structured data that is well-understood by professionals. Programmers use professional knowledge to script a computer program that is in turn used as a tool. Classically, every operation of the program is scripted out by humans—line by line. There are many problems that can’t be solved that way. For many such problems, we turn to machine learning.

Machine learning problems typically involve large amounts of unstructured and seemingly unrelated data. Although we may know that some solution actually exists, we cannot simply script a solution for it.  We don’t possess the knowledge to do so.

Take for example the problem of looking at a picture and asking someone to identify what the picture is. Let’s further limit the answer to a short set of items: a tree, dog, cat, car, or person. In the problem, a computer takes a collection of 1 million pixels and tries to classify the collection as one of the items (1 through 5). A human can do this almost instantly with no effort just by looking at it and telling you what it is. Easy, right? But ask the human to write an algorithm to take the 1 million pixel values and use math to come up with that answer of how he “calculated” that it was a tree. He cannot. If you think you can, I challenge you to do so. Thousands of brilliant people have failed to do so effectively for decades.

So rather than manually code the exact computer solution line by line, machine learning takes a different approach. Programmers write a single large algorithm that relates every single pixel to every other pixel with adjustable weights. That’s often hundreds of millions or even billions of adjustable weights. An artificial neural network is one such implementation.

For the algorithm to “learn”, pictures are “shown” to the computer and it gives an answer—probably incorrectly. Next the correct answer is given and used to adjust all those weights to bring the system closer to identifying it correctly next time. This “learning” continues over thousands of images and answers. Eventually, the computer can “answer” the question of what the image is by itself without being given the answer.

So you might wonder: “Now that we’ve trained the computer and it contains the final algorithm, we can find out what that is, right?” Well, not really. That’s because it’s just millions and millions of numbers being multiplied and added together in the way that makes no real sense to us. A human could not have coded this mess by hand. It was built using the brute force of a computer and training on vast amounts of real-world data. Although greatly oversimplified, this explanation should give you a basic idea of Supervised Learning and classification.

Machine Learning Applications

So what characteristics should you look for when identifying problems that might be a good fit for Machine Learning? You should look for:

Again, think of the problem of a picture of a tree. There are lots of pixels (megapixels in fact). There is a huge, almost infinite number ways of arranging those pixels to get a picture that could be identified simply as a tree. Pictures can be noisy and distorted. But an overall pattern can be inferred from lots of poor data to get a simple answer: Tree.

In building automation, systems like lighting, fire, electrical distribution, and access control are not the best candidates for machine learning. That’s because their behavior is fairly well-defined. We don’t need computer learning to predict what happens when we turn one or more lights on. They go on and burn an exact and pre-defined amount of energy. Of course, occupancy patterns and usage patterns would arguably be good problems for machine learning.

In contrast, consider HVAC systems. They are significantly more complex than these other building systems. HVAC systems are often non-linear, poorly behaved, noisy, and very unpredictable under real-world circumstances. What’s misleading about HVAC systems is that many engineers think of them as being very well-defined. Well-defined behavior is especially true within a single piece of equipment from a single manufacturer given ideal parameters. The engineers who design such equipment do a thorough job of designing, testing and documenting the characteristics of their equipment. These characteristics can then be translated directly into sensors, points, and control logic. That is, skilled technicians can manually “script” logic based on these known characteristics. In these cases, machine learning offers little help. So HVAC systems are often thought to be easily controlled and understood. This is far from being the only case.

Non-Ideal Equipment

The well-defined behavior of HVAC equipment becomes less true when equipment is installed outside of design criteria, or as it starts to age. In such cases, it is very difficult for technicians to know the best way to control such equipment. Sadly, this is all too often the case in real-world environments. In these less-than-ideal circumstances, machine learning can supplement classically scripted programming to learn about the behavior of equipment.

A typical scenario would be to first install the equipment and control it according to standard practices. Then let the control, history and machine learning begin assisting. The amount of time required to learn depends on the application and algorithm. After some period of learning, the algorithm would reach some confidence level of predictability. It creates a model that predicts the behavior of equipment. This could then be used by the technician to try and simulate the effect of different control strategies. This learned knowledge would be used as a tool to help him tackle a unique installation of equipment.

Systems of Equipment

The real golden opportunity is in using “Machine Learning” with entire systems of equipment that are inter-connected throughout entire large buildings. With full systems, the number of unknowns, errors and design deviations in a completed building are much higher than in individual equipment. Although these HVAC systems are designed by engineers, the number of and configuration of equipment varies so greatly that most HVAC systems in large buildings are essentially unique. That is, no two system installations are exactly alike. Given that a new and unique system cannot be built and tested beforehand, there is a limit to what could be known about them.

Control Solutions, Inc All of these problems combined give us a building HVAC system that requires a lot of care and maintenance and is often not completely understood. This is where machine learning can help. There are many Machine Learning algorithms that turn out to be well-suited to assist us in these applications. We can use them to treat all HVAC building data as a single massive interrelated system, identifying patterns and relationships beyond human ability. Modern computers and algorithms allow us to do that.

So in a full HVAC system, the building automation system starts with thousands of data points that are seemingly unrelated. It gathers and stores those points from many disparate sources and incorporates them into a single large model. That’s the input.

The desired output (the thing that we are trying to calculate) would be predicted point values and patterns. From the initial installation, every time the prediction period elapses, the correct value is used to train the model. Over time, the predicted values throughout the building could be marked with high confidence. Eventually, machine learning algorithms incorporated into a BAS would build a model that could be used to predict future values accurately.

Especially valuable predictions would be information like energy usage, equipment faults and comfort. Intelligent building systems that learn on their own could help us save energy (and money), while providing comfort to tenants with less maintenance and specialized expertise.


There is tremendous potential to apply recent advances in machine learning to large HVAC systems. This is particularly true when trying to model entire systems of equipment in large buildings. Existing Machine Learning techniques could be applied to create sophisticated and accurate models of large systems. Although several hurdles still exist, preliminary research and development on real-world data from large buildings has yielded very encouraging results.

About the Author

Mike Donlon is the Director of Research and Development and one of the owners of
Computrols. He received his Bachelor’s Degree in Electrical Engineering from the University of New Orleans in 1986. He returned to UNO to get his Master’s Degree in Engineering and focused his studies on computer vision and image processing. While in graduate school, he was employed as a research assistant at Kresge Hearing Institute of the LSU Medical Center. In 1989 he was hired by Computrols as the principle software developer for the original CBAS computer system. Soon afterward he was invited by the company’s originators to become an equity partner. Since then his duties have been to oversee all software and hardware development for the company as well as researching and applying new technologies to Building Automation. His recent areas of interest include machine learning, building system modelling and open source technologies for building automation.

Mike is scheduled to speak on the topic of machine learning in HVAC controls at the upcoming BOMA conference in Washington D.C.  For additional details visit:



Reliable Controls
[Click Banner To Learn More]

[Home Page]  [The Automator]  [About]  [Subscribe ]  [Contact Us]


Want Ads

Our Sponsors