Source : www.Kaytranada.com |
How much can machines learn? Dancing may be a stretch as in Kaytranada’s new album, but with a little guidance, systems can ‘learn’ how to make IoT better at predicting what could happen.
The amount of sensor data to analyze and act upon in IoT
systems is daunting. Data scientists can analyze mountains of data to identify
patterns and define the corresponding business rules on what action to take.
But conditions keep changing and new factors appear that could affect the
outcome. How do you make sure that they business rules in your IoT system keep
evolving with new information?
Simple IoT applications such as turning a motor off when its
temperature is too hot where there is just a single variable to consider is
relatively straightforward. Identifying correlations between dozens of inputs,
which could affect the outcome, is much harder. Consider a more complicated
case where you have to determine when to dispatch a truck to replenish supplies
in a vending machine based on sensor data from the vending machine reporting
sales and inventory level along with overlay information such as local weather
forecasts, local events, advertising campaigns. Guess wrong and you lose sales
by not having enough to sell. That’s where ‘machine learning’ comes in.
“Machine learning gives computers the
ability to learn without being explicitly programmed so that they can create algorithms that can learn from and
make predictions on data” explained Arthur Samuel on of the
pioneers in this field. https://en.wikipedia.org/wiki/Machine_learning
1.
Supervised Learning is
based on developing an algorithm based on a set of examples. For instance, in a
simple example this could be historical data based on sales per day. The
algorithm develops a pattern between day of the week and sales and uses this to
forecast how often to replenish the vending machine.
2.
Unsupervised Learning does not provide the algorithm with labels for
the values (e.g. sales / day) to analyze. Instead it presents all the data to
the system to analyze that may identify patterns or correlations that are not
so obvious. E.g., price discounts, traffic patterns; local events may all
influence the replenishment schedule.
Algorithms evolve faster as more sensor
data is provided and can then predict a future outcome. This prediction is then
compared to the actual outcome, which gives the algorithm more feedback so that
can be further refined to become more accurate. In our example, the algorithm
may predict that vending machine sales double on the weekends during summer.
Actual results however might show that long weekends have triple the sales of
regular weekends and some weekends see no spike in sales. Such inputs enable
the algorithm to keep ‘learning’ and get better at predicting demand.
So consider incorporating machine
learning into your IoT project to get the best results and ensure that the
business rules your application uses evolve with changing conditions. Here are four helpful machine-learning tools
to consider:
- Microsoft Azure https://azure.microsoft.com/en-us/documentation/articles/machine-learning-algorithm-choice/
- IBM http://www.ibm.com/internet-of-things/learn/what-is-watson-iot/
- Google https://googleblog.blogspot.com/2015/11/tensorflow-smarter-machine-learning-for.html
- SPLUNK https://splunkbase.splunk.com/app/2890/#/overview
And to see what learning machines might
eventually learn to do one day, check out Kaytranada’s wonderful new video
here. https://www.youtube.com/watch?v=KZnou4zthz4
Deepak is the Chief Solutions Architect at SkilledAnalysts.com which helps clients assess how the Internet-Of-Things (IoT) could meet their business needs. Through their customized IoT proof-of-concepts, clients can evaluate how well an IoT solution would work for them - before making a major investment.