Unsupervised Machine Learning Methods

Unsupervised learning extracts features from data without any human provided classification hints. Most methods involve cluster analysis and grouping based on Euclidean or probabilistic distance. Techniques include hierarchical clustering, k-Means clustering, Gaussian and self-organising maps. Long Short-Term Memory (LSTM) and Convolutional Neural Networks (CNN) and combinations thereof are particularly useful for detecting historical patterns in data.

The large choice of techniques and configurable parameters, called hyperparameters, for each of the techniques means without some experience it takes a long time to stumble upon the optimum ways of working with time series data. Given that the learning parts of machine learning can, in some instances, take days or months just to try out one method with one set of hyperparameters, starting from scratch usually isn’t viable. The number of research permutations is too large.

To complicate matters, techniques also have to be assessed not just on accuracy but also on how easily they can be implemented in real rather than ‘desk’ situation. We cover this more this in Focus on Practical Matters.

SensorCognition™ bypasses these problems as it encapsulates our knowledge of the set of techniques most suitable for use with time series data. Our Edge device provides a ready made system for data capture suitable both for prototyping and actual real use.

Types of Sensor Devices

We work with a range of sensors that send data via Bluetooth including:

The iB01H hall effect sensor is useful because it detects a nearby magnet. The magnet can be stuck on things that open/close such as gates, doors, flaps and machinery.

The iBS02IR detects proximity without any magnet and without physical contact. This makes it useful in close counting or proximity scenarios.

In addition we have some sensors that are open to accepting custom input:

Bluetooth sensors work up to about 50m from the Edge device. Learn about extending the range of sensing.

The Edge device isn’t limited to using sensor data. It can also take in real time data from other systems to provide more context for the machine learning.

Sensor beacons are available on our web store.

Extending the Range of Sensing

We use Bluetooth sensors that send data to our SensorCognition™ Edge device. Bluetooth has a typical range of 50m to 100m but this can be less indoors where there are obstacles such as doors, walls and even people.

We have two ways we extend the sensing range site wide:

Using Bluetooth Mesh

Our SensorMesh™ uses standard Bluetooth mesh to relay sensor data from one or more sensors to the SensorCognition™ Edge device:

The acquisition date/time is preserved with the data so that the delay in the mesh isn’t a factor in the machine learning.

Using LoRa Wireless

Our SensorLoRa™ uses LoRa long range wireless to send sensor data up to 15Km:

Again, the acquisition date/time is preserved with the data so that the delay in the mesh isn’t a factor in the machine learning.

Custom architectures are also possible with multiple Edge devices communicating with one another via Ethernet.

Advantages of Edge Computing

We started supervised machine learning in 2016 using our BeaconRTLS™ platform. BeaconRTLS™ collects data into a database on a server which is the traditional way of collecting data for IoT. The data was extracted from the database and fed into machine learning locally and in the cloud. There were problems with this:

  • Our clients were storing lots of data and using lots of bandwidth, with associated costs.
  • We had to implement a way of using the resulting machine learning models. This involved setting up a server to serve inference results via HTTP in response to input sensor data received via HTTP and MQTT.
  • There wasn’t inherent consistency between the way our learning and inference pre-processed data. It was a manual process to ensure the processing was the same. The data needs to be processed in exactly the same way for learning and inference to get consistent results.
  • For sensors producing lots of data, for example accelerometers, there was prohibitively large data storage and traffic.
  • The server delay was too long for time sensitive events/alerts

In 2017 we moved to using Edge devices. These perform data collection, machine learning and run time inference on only one local device without the need for server storage of data. Sensors producing lots of data are processed quickly with orders of milliseconds latency to generate alerts. Edge devices provide inherent consistency of pre-processing data between learning and production inference.

The edge devices can still communicate with servers but only need to do so to send out alerts with pertinent data. Data storage is local, rather than remote, aiding security and privacy requirements.

Machine Learning Time Series Data

In the past there has been a disproportionate emphasis on vision, sound and writing/language machine learning mainly because these are the things we humans mainly use communicate. However, time series data is also ubiquitous. It’s data that has a time ordering, usually with an associated time stamp. Examples include weather readings, physiological signals, financial data and industrial observations.

To appreciate the scope of time series data, consider that all electronic sensors produce time series data. Industries using sensors include transport, logistics, smart manufacturing, smart cities, automotive, aeronautical, utilities, robotics and health.

Times series can be difficult to analyse because it depends not just on one data point but the relationship between many data points over time. There can be gaps in data and noise that subtly changes the data. The data itself can also be complex in that it can be multi-input, for example accelerometer x,y,z rather than just one value at a time.

Learning the complex structure in time series data requires that patterns , called features, be detected over both short and long sections of data. The data can also vary in average amplitude for analogue data such as acceleration and light and yet we still need to extract the common patterns. Time series data can also arrive at a high data rate. For example, acceleration data can be x,y,z every 100ms (10 times per second) and sometimes faster.

Data produced by sensors isn’t implicitly labelled. That is, there’s nothing classifying the data, as it is produced, that can be used for supervised learning. Instead, any labelling has to be done by hand that can be very time consuming and in many cases isn’t practically possible. Instead, we use unsupervised learning that doesn’t require labelling by humans.

The high visibility of vision, sound and writing/language machine learning has meant that machine learning of time series is less advanced. There has been significant research but much of it isn’t usable on real-world data because many methods aren’t scalable and are hugely computationally intensive. There’s also a lack of knowledge of how to practically implement such machine learning methods. Many organisations also struggle to create data suitable for machine learning.

We are one of a very few companies that have solved the above problems to provide Edge devices that perform machine learning of sensor time series data.