“系统工程师可以更容易地使用上面列出的方法和算法,以便在他们的嵌入式系统中结合有效的分析。在这个由三部分组成的系列的最后一篇文章中,我们将介绍实时执行分析和预测控制并将它们集成到一个整体解决方案中,包括传感器和嵌入式系统以及企业 IT 系统和云基础设施。
”作者:Paul Pilotte
在第 1 部分中,我们通过BuildingIQ智能气候控制系统和Scania紧急卡车制动系统等示例,推动了在嵌入式系统中使用分析。我们涵盖了数据访问、数据预处理和最具预测性特征的识别。现在让我们转向开发预测分析算法本身。
开发分析算法
重要的是要考虑分析算法是否是您的最佳方法。在系统行为可以通过已知的科学方程很好地表征的情况下,经过验证的数学建模可以是一种简单而有效的方式来满足设计目标。这种方法使用数据拟合、统计建模、ode 和 pde 求解以及参数估计等技术。以这种方式构建的模型具有通过历史数据或基于第一原理预先确定的优势,可以在嵌入式系统上实现内存和计算效率,并且可以更简单地开发和维护。因此,在考虑以数据为中心的机器学习技术之前,首先要谨慎考虑“主力”建模方法是否可以满足您的设计目标。然而,对于越来越多的设计挑战,例如在 BuildingIQ 示例中动态设置气候控制点或在斯堪尼亚制动应用中进行对象识别,机器学习是最好的方法。
机器学习
机器学习算法使用计算方法直接从数据中“学习”信息,而不依赖于预定方程作为模型。事实证明,这种使用数据本身训练模型的能力为预测建模开辟了广泛的用例——例如金融信用评分和电影、歌曲和零售购买的在线推荐。在嵌入式系统中,机器学习用于快速增长的应用范围,包括人脸识别、肿瘤检测、电力负荷预测以及前面提到的 BuildingIQ 和 Scania 应用。“大数据”、计算能力和软件工具的可用性提高,使得在工程应用程序中使用机器学习比以往任何时候都更容易。
机器学习大致分为两种类型的学习方法,监督学习和无监督学习,每一种都包含针对不同问题量身定制的几种算法。
监督学习是一种使用已知数据集(称为训练数据集)进行预测的 机器学习。 训练数据集包括输入数据和标记的响应值。监督学习算法从中寻求建立一个模型,该模型可以预测新数据集的响应值。测试数据集通常用于验证模型。使用更大的训练数据集通常会产生具有更高预测能力的模型,可以很好地泛化新数据集。
监督学习包括两类算法:
分类:用于分类响应值,其中数据可以分为特定的“类别”。常见的分类算法包括支持向量机 (SVM)、神经网络、朴素贝叶斯分类器、决策树、判别分析和最近邻 ( k NN)。
回归:用于预测何时需要连续响应值。常见的回归算法包括线性回归、非线性回归、广义线性模型、决策树和神经网络。
选择算法取决于许多设计因素,例如内存使用情况、预测速度和模型的可解释性。其他考虑因素包括是否需要单类或多类响应,以及预测变量是连续的还是分类的。由于模型仅与使用的标记训练数据一样好,因此在使用具有代表性的训练数据集时要小心。机器学习工作流程从选择特征开始,然后指定训练和验证集,使用多种算法进行训练,最后评估结果。图 2 所示的交互式应用程序使机器学习工作流程易于学习和使用。
无监督学习是一种机器学习,用于从由没有标记响应的输入数据组成的数据集中进行推断。
聚类分析是最常见的无监督学习方法,用于探索性数据分析,以发现数据中的隐藏模式或分组。k-means 是一种流行的集群建模算法,它根据到集群质心的测量距离将数据划分为 k 个不同的集群。
层次聚类使用了一种不同的方法来构建多层次的层次聚类树,它提供了视觉解释,但计算要求更高,因此不太适合大量数据。
其他算法包括高斯混合模型、隐马尔可夫模型和自组织神经网络图。
BuildingIQ 团队使用聚类分析作为其模型创建过程的一部分。他们使用 k-means 聚类和高斯混合模型来分割数据,并确定燃气、电力、蒸汽和太阳能对加热和冷却过程的相对贡献。
深度学习
对于涉及图像、文本和信号的分类问题,深度学习已成为一种新的高级分析类别。当在大型标记训练数据集上进行训练时(通常需要使用图形处理单元 (GPU) 进行硬件加速以及强化训练和评估),深度学习模型可以达到最先进的精度,有时在对象分类方面的表现甚至超过人类水平。对于图像分类,卷积神经网络(CNN) 变得流行,因为它们通过直接从原始图像中提取特征来消除手动特征提取的需要。这种自动特征提取使 CNN 模型对于诸如对象分类等计算机视觉任务具有高度的准确性。
系统工程师可以更容易地使用上面列出的方法和算法,以便在他们的嵌入式系统中结合有效的分析。在这个由三部分组成的系列的最后一篇文章中,我们将介绍实时执行分析和预测控制并将它们集成到一个整体解决方案中,包括传感器和嵌入式系统以及企业 IT 系统和云基础设施。
分享到:
猜你喜欢