这几年来,数据科学与人工智能(AI)技术已成功应用于各个领域各类事件的预测和检测。比如:
网上搜索“机器学习用例”,会搜出连篇累牍的文档链接,都是描述机器学习(ML)算法是怎么检测或预测某些数据领域中的某类事件。
总的说来,成功的机器学习应用肯定是用充足的通用训练集训练出来的。机器学习模型在训练期间应摄入足够的可用样例以学习每一类事件。任何数据科学项目的关键,都是有足够大的事件样例集可供算法训练。
应用机器学习进行IoT事件预测
安全团队能够应用机器学习算法预测和识别机械部件损坏,或者以之检测网络安全事件吗?答案显然是肯定的。数据科学技术在IoT和网络安全领域已经得到了成功的应用。比如说,机器学习在IoT领域的一个经典用例就是需求预测。今晚有多少顾客会光临餐厅?能卖出多少箱奶?明天的用电量是多少?提前知道这些数据可以进行更好的规划。
医疗健康也是IoT数据科学非常常见的一个用例。有很多运动健身应用和设备可以监测我们的关键指标,近实时地提供大量数据供人分析和评估健康状况。
IoT领域另一个常见案例研究是预测性维护。预测机械部件是否需要维护以及何时需要维护,可以优化维护安排,延长机械部件的寿命。鉴于很多机械部件都相当复杂且昂贵,能够做到这一点可是不小的优势。只要数据集可用,这种方法就相当奏效。如果数据集还经过了合理标记,这种方法就更有效了。经过标记的数据意味着描述事件的每个数字向量都被预分配给了某一类事件。
异常发现:寻找非预期事件
数据科学有个特别的分支:异常发现。异常是什么?异常就是相当罕见,难以归入某一特定类型,难以预测。异常事件就是非预期事件,不能以当前所知加以分类。异常是数据科学最难攻破的用例之一:
因此,异常检测的问题可以简单地归结为寻找我们毫无所知的非预期、无样例事件。虽然看起来难以解决,异常检测却还真不是什么罕见用例。比如说:
以上案例,基于已标记数据样例集的传统数据科学方法,是无法应用的。这一问题的解决方案就是对常规算法学习做一些调整。
IoT异常检测
异常检测问题不会提供带已标记样例的经典训练集(出自正常系统的信号和出自类比系统的信号)。这种情况下,我们只能在仅有“正常”样例的训练集上训练机器学习模型,以原始信号和预测信号之间的偏差值来触发异常警报。
IoT数据中,信号时序由特意部署在机械部件上或其周边的传感器产生。时序就是时间变量值序列。IoT环境中,这些变量描述物体的机械属性,由一个或多个传感器测量而得。
这些机械部件通常运转良好。因此,正常状态下的样例很多,而故障情况下的样例却几近于零。关键部件上更是如此,因为位置太过重要,通常在出现故障时导致整个机器报废前就会被换掉。
IoT世界中,一个重要课题就是在事发前预测机械故障发生的概率。如果能预测,我们就可以用足其整个生命周期而又不危及机械链的其他部分。预测机械故障可能迹象的工作,便被称为预测性维护异常检测。