0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式系统的开发分析和规范控制

星星科技指导员 作者:Paul Pilotte 2022-07-05 14:38 次阅读

在第 1 部分中,我们通过BuildingIQ智能气候控制系统和Scania紧急卡车制动系统等示例,推动了在嵌入式系统中使用分析。我们涵盖了数据访问、数据预处理和最具预测性特征的识别。现在让我们转向开发预测分析算法本身。

开发分析算法

重要的是要考虑分析算法是否是您的最佳方法。在系统行为可以通过已知的科学方程很好地表征的情况下,经过验证的数学建模可以是一种简单而有效的方式来满足设计目标。这种方法使用数据拟合、统计建模、ode 和 pde 求解以及参数估计等技术。以这种方式构建的模型具有通过历史数据或基于第一原理预先确定的优势,可以在嵌入式系统上实现内存和计算效率,并且可以更简单地开发和维护。因此,在考虑以数据为中心机器学习技术之前,首先要谨慎考虑“主力”建模方法是否可以满足您的设计目标。然而,对于越来越多的设计挑战,例如在 BuildingIQ 示例中动态设置气候控制点或在斯堪尼亚制动应用中进行对象识别,机器学习是最好的方法。

机器学习

机器学习算法使用计算方法直接从数据中“学习”信息,而不依赖于预定方程作为模型。事实证明,这种使用数据本身训练模型的能力为预测建模开辟了广泛的用例——例如金融信用评分和电影、歌曲和零售购买的在线推荐。在嵌入式系统中,机器学习用于快速增长的应用范围,包括人脸识别、肿瘤检测、电力负荷预测以及前面提到的 BuildingIQ 和 Scania 应用。“大数据”、计算能力和软件工具的可用性提高,使得在工程应用程序中使用机器学习比以往任何时候都更容易。

机器学习大致分为两种类型的学习方法,监督学习和无监督学习,每一种都包含针对不同问题量身定制的几种算法。

pYYBAGLD3I-AYEZdAADSpahNcZo419.png

监督学习是一种使用已知数据集(称为训练数据集)进行预测的 机器学习。 训练数据集包括输入数据和标记的响应值。监督学习算法从中寻求建立一个模型,该模型可以预测新数据集的响应值。测试数据集通常用于验证模型。使用更大的训练数据集通常会产生具有更高预测能力的模型,可以很好地泛化新数据集。

监督学习包括两类算法:

分类:用于分类响应值,其中数据可以分为特定的“类别”。常见的分类算法包括支持向量机 (SVM)、神经网络、朴素贝叶斯分类器、决策树、判别分析和最近邻 ( k NN)。

回归:用于预测何时需要连续响应值。常见的回归算法包括线性回归、非线性回归、广义线性模型、决策树和神经网络。

选择算法取决于许多设计因素,例如内存使用情况、预测速度和模型的可解释性。其他考虑因素包括是否需要单类或多类响应,以及预测变量是连续的还是分类的。由于模型仅与使用的标记训练数据一样好,因此在使用具有代表性的训练数据集时要小心。机器学习工作流程从选择特征开始,然后指定训练和验证集,使用多种算法进行训练,最后评估结果。图 2 所示的交互式应用程序使机器学习工作流程易于学习和使用。

pYYBAGLD3JWAA4H4AAG_LcCGtvU902.png

无监督学习是一种机器学习,用于从由没有标记响应的输入数据组成的数据集中进行推断。

聚类分析是最常见的无监督学习方法,用于探索性数据分析,以发现数据中的隐藏模式或分组。k-means 是一种流行的集群建模算法,它根据到集群质心的测量距离将数据划分为 k 个不同的集群。

层次聚类使用了一种不同的方法来构建多层次的层次聚类树,它提供了视觉解释,但计算要求更高,因此不太适合大量数据。

其他算法包括高斯混合模型、隐马尔可夫模型和自组织神经网络图。

BuildingIQ 团队使用聚类分析作为其模型创建过程的一部分。他们使用 k-means 聚类和高斯混合模型来分割数据,并确定燃气、电力、蒸汽和太阳能对加热和冷却过程的相对贡献。

深度学习

对于涉及图像、文本和信号的分类问题,深度学习已成为一种新的高级分析类别。当在大型标记训练数据集上进行训练时(通常需要使用图形处理单元 (GPU) 进行硬件加速以及强化训练和评估),深度学习模型可以达到最先进的精度,有时在对象分类方面的表现甚至超过人类水平。对于图像分类,卷积神经网络 (CNN) 变得流行,因为它们通过直接从原始图像中提取特征来消除手动特征提取的需要。这种自动特征提取使 CNN 模型对于诸如对象分类等计算机视觉任务具有高度的准确性。

系统工程师可以更容易地使用上面列出的方法和算法,以便在他们的嵌入式系统中结合有效的分析。在这个由三部分组成的系列的最后一篇文章中,我们将介绍实时执行分析和预测控制并将它们集成到一个整体解决方案中,包括传感器和嵌入式系统以及企业 IT 系统和云基础设施。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4785

    浏览量

    101282
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4798

    浏览量

    129515
  • 机器学习
    +关注

    关注

    66

    文章

    8455

    浏览量

    133181
收藏 人收藏

    评论

    相关推荐

    嵌入式机器学习的应用特性与软件开发环境

    作者:DigiKey Editor 在许多嵌入式系统中,必须采用嵌入式机器学习(Embedded Machine Learning)技术,这是指将机器学习模型部署在资源受限的设备(如微控制
    的头像 发表于 01-25 17:05 217次阅读
    <b class='flag-5'>嵌入式</b>机器学习的应用特性与软件<b class='flag-5'>开发</b>环境

    哪些专业适合学习嵌入式开发?

    :涉及传感器技术、网络通信等,是物联网领域的关键技术领域,适合转行到物联网和嵌入式领域。 3)自动化专业:自动化专业的知识对于嵌入式系统的设计和控制至关重要,适合转行到
    发表于 01-03 13:44

    嵌入式系统开发与硬件的关系 嵌入式系统开发常见问题解决

    嵌入式系统开发与硬件的关系 嵌入式系统是专为特定应用设计的计算机系统,它们通常嵌入在所
    的头像 发表于 12-09 09:38 483次阅读

    嵌入式linux开发的基本步骤有哪些?

    嵌入式Linux开发是一个复杂的过程,涉及到硬件选择、操作系统移植、驱动开发、应用程序开发等多个方面。以下是
    的头像 发表于 09-02 09:11 650次阅读

    嵌入式linux开发板怎么操作

    开发板概述 嵌入式Linux开发板是一种专门为嵌入式系统开发而设计的硬件平台。它具有体积小、功耗低、性能高等特点,广泛应用于工业
    的头像 发表于 09-02 09:09 498次阅读

    嵌入式linux开发板芯片的工作原理

    嵌入式Linux开发板是一种基于Linux操作系统嵌入式系统开发平台,它广泛应用于工业控制、智
    的头像 发表于 09-02 09:07 494次阅读

    嵌入式软件开发与AI整合

    嵌入式软件开发与AI整合是当前技术发展的重要趋势之一。随着人工智能技术的快速发展,嵌入式系统越来越多地集成了AI算法,以实现更复杂的智能功能。以下是关于
    的头像 发表于 07-31 09:25 915次阅读
    <b class='flag-5'>嵌入式</b>软件<b class='flag-5'>开发</b>与AI整合

    专家力荐|《嵌入式系统原理与开发——基于RISC-V和Linux系统》新书发售

    当前,嵌入式系统已成为智能设备的核心之一,RISC-V+Linux的开源力量为嵌入式系统注入强大的创新动力。作为中国RISC-V软硬件生态领导者,赛昉科技与业界专家合作推出《
    的头像 发表于 07-24 08:20 722次阅读
    专家力荐|《<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>原理与<b class='flag-5'>开发</b>——基于RISC-V和Linux<b class='flag-5'>系统</b>》新书发售

    嵌入式开发前景怎么样?

    嵌入式开发前景非常广阔,这主要得益于物联网、人工智能、大数据等技术的快速发展,以及嵌入式系统在各个领域的广泛应用。以下是对嵌入式开发前景的详细分析
    的头像 发表于 07-10 09:00 3120次阅读
    <b class='flag-5'>嵌入式开发</b>前景怎么样?

    嵌入式系统怎么学?

    、C++或者Python。这些语言在嵌入式系统开发中都被广泛应用。 3、微处理器/微控制器架构:学习常见的微处理器和微控制器架构,如ARM、AVR、PIC等,了解其特性和应用场景。
    发表于 07-02 10:10

    嵌入式开发者的未来

    和测试这些产品的硬件和软件。汽车行业:现代汽车包含大量的嵌入式系统,例如车载娱乐系统、发动机控制单元、自动驾驶系统等。在这个领域,工程师可以
    的头像 发表于 06-23 08:10 472次阅读
    <b class='flag-5'>嵌入式开发</b>者的未来

    嵌入式系统软硬件基础知识大全

    ,应用程序开发嵌入式系统开发的关键环节。我们还需要了解嵌入式系统的应用程序开发流程,包括需求
    发表于 05-09 14:12

    再谈嵌入式实时操作系统

    程序的可移植性得到了增强,系统开发的工作量减轻的同时也提高了开发效率。对实时性和可靠性日益增长的要求正在塑造某些现代领域的嵌入式实时操作系统的发展方向,例如航空航天、工业
    的头像 发表于 04-09 17:27 872次阅读
    再谈<b class='flag-5'>嵌入式</b>实时操作<b class='flag-5'>系统</b>

    fpga与嵌入式的区别 嵌入式和fpga开发有什么关系

    的,无法进行大规模的硬件级别的修改。这意味着FPGA能更灵活地适应不同的应用场景和变化的需求。 开发周期:FPGA的开发周期相对较短,因为它可以通过重新编程来实现新功能。相比之下,嵌入式系统
    的头像 发表于 03-14 17:04 7143次阅读

    嵌入式软件开发应该掌握哪些知识?

    嵌入式软件开发应该掌握哪些知识? 一、 什么是嵌入式软件? 嵌入式软件通常是指嵌入式系统中运行的
    发表于 02-19 11:23