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

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

3天内不再提示

MIT使用贝叶斯推理让计算机程序编写专门为数据分析设计的新程序

DPVg_AI_era 来源:lq 2019-01-21 08:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

MIT的研究人员使用贝叶斯推理,让计算机程序编写专门为数据分析设计的新程序。其目的是减轻那些本身不是人工智能专家的数据科学家的负担。

最近有个非常流行的话题:如何让普通人(普通人指既不是程序员,也不是IT管理员,更不是机器学习科学家的人群)更容易接近人工智能?

比较流行的一种方法是将所有的复杂性抽象到云计算操作中。

然而,本周MIT提出了另一种方法:让机器学习自己完成更多的工作,发明自己的程序,在时间序列分析等特定应用程序中处理数据。

这本身就是人工智能的一个热门领域,让机器建立模型,进而从数据中归纳出答案。

计算机程序设计自动化方法中,“第一个概率程序的贝叶斯合成”

研究人员描述了一种自动创建推断数据模式的程序的方法,这意味着数据科学家不再需要找出适合所研究数据的“模型”。

这项工作发表在计算机协会网站上的一篇论文中,题为《用于自动数据建模的贝叶斯合成概率程序》(Bayesian Synthesis of Probabilistic Programs for Automatic Data Modeling)。

其作者分别是MIT的Feras A. Saad、Marco F. Cusumano-Towner、Ulrich Schaechtle、Martin C. Rinard和Vikash K. Mansinghka。

Saad和他的同事们所要攻克的问题是:找到正确的程序来分析给定的数据集所需的所有工作。

正如他们在文章当中所述,要解决这个问题,将面临如下方面的困难:

用户需要手动选择模型或程序结构;

需要大量的建模专业知识;

建模能力有限;

如果用户没有探索足够广泛的模型或程序结构,可能会丢失数据的重要方面。

为了解决这个问题,他们打算让计算机做决定。

Saad和他的同事们继承了近年来“合成”计算机程序的传统,让一个程序生成另一个程序。

在这方面,有很多值得借鉴的例子,例如Google DeepMind科学家2014年为建立“神经图灵机”所做的努力。 该项目使用所谓的“循环神经网络”来发现简单的计算机算法,例如复制和粘贴文本。

作者的同事通过设计“概率”程序而不是经典的“确定性”程序来做区分。

这意味着在给定特定输入的情况下,程序不一定会产生可预测的输出。相反,程序的输出将反映输入它们的数据的噪声和不确定性。

为了实现这一点,作者使用了贝叶斯统计方法。他们对大量的计算机程序进行取样,并对每个程序的可能性进行评分,以此作为处理想要研究的数据的可能解决方案。

正如作者所说,在所有的计算机程序设计自动化方法中,他们的方法是“第一个概率程序的贝叶斯合成”。

“领域特定语言”构建的程序是关键

帮助研究人员实现这一壮举的是他们做出的一个关键选择:他们开始构建,或“合成”,不仅仅是任意一般类型的计算机程序,而是由“领域特定语言”构建的程序。

MIT的研究人员描述了他们的贝叶斯推理方法在特定领域的语言中搜索表达式的过程,以组合一组可以分析特定类型数据的算法。

DSL是在某种程度上可以匹配它们处理数据的语言。例如,有一些“数据建模”语言可以帮助表示数据中的关系。Yang就是这样一种数据建模语言的名称,用于计算机网络的建模。

通过将他们的方法限制在DSL上,作者适当缩小了计算机程序的“搜索空间”,从而提高了他们找到解决方案的几率,而不是像神经图灵机那样采用更通用的方法。

一旦贝叶斯推理过程装配了一些Winning Program,这些程序就能够对数据进行推理。

例如,作者描述了适合分析多年飞行里程的程序。这是一个时间序列分析问题,所谓的高斯统计过程是合适的。

因此,他们的贝叶斯推断综合了包含高斯过程操作的算法,以找到那些有可能拟合数据的算法组合。

与“卷积神经网络”等一些通用机器学习模型不同,这种方法的一大好处是,合成的程序在某种意义上是可以解释的,它们不是AI中令人恐惧的“黑匣子”。

这是因为程序是特定于领域的,所以它们的操作会“泄露”它们在数据中发现的内容。

正如作者所描述的,“领域特定语言中合成的程序提供了紧凑的数据模型,使定性属性在程序的表面语法中变得明显。”

同时,作者还展示了如何使这些DSL程序能够对新数据进行泛化。

他们使用一个解释器程序将单个算法转换成一种叫做Venture的东西,这是一种更加广泛和通用的概率编程语言。然后Venture就可以在更广泛的应用程序中对数据进行推断。

当然,这项工作有进一步的方向。研究人员特别指出,他们的工作在未来可能会纳入用户对数据应如何处理或分析的具体要求。

这意味着人类对数据的智能与机器技能的融合,或许是人与人工智能的理想结合。

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

    关注

    1813

    文章

    49772

    浏览量

    261710
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136245
  • 数据分析
    +关注

    关注

    2

    文章

    1508

    浏览量

    35947

原文标题:MIT实现机器自动建模,数据分析分分钟搞定

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    上位机程序编写

    本文将讨论GPS/北斗定位模块作为接收机,将接收到的定位信息通过串口发送给计算机,再由计算机接收并解码获取相关信息。 在定位模块正确移植到DDR200T开发板的基础上,首先编写下位机程序
    发表于 10-28 06:40

    加固计算机是用来干什么的?

    加固计算机是一种专门复杂环境和特殊行业应用设计的高性能设备。它不仅具备常规电脑的数据处理和运算功能,更在结构设计、防护等级和硬件配置方面做了全面优化。例如,它的外壳通常采用镁铝合金或
    的头像 发表于 08-22 09:55 415次阅读

    工业计算机的重要性

    于管理用于产品检查、数据记录和数据分析的运动控制系统,以提高制造生产率。例如,汽车行业从工业边缘计算机中受益匪浅,这些计算机用于自动化制造汽车所涉及的各种过程。工业边
    的头像 发表于 07-28 16:07 404次阅读
    工业<b class='flag-5'>计算机</b>的重要性

    AI数据分析仪设计原理图:RapidIO信号接入 平板AI数据分析

    AI数据分析仪, 平板数据分析仪, 数据分析仪, AI边缘计算, 高带宽数据输入
    的头像 发表于 07-17 09:20 502次阅读
    AI<b class='flag-5'>数据分析</b>仪设计原理图:RapidIO信号接入 平板AI<b class='flag-5'>数据分析</b>仪

    自动化计算机的功能与用途

    工业自动化是指利用自动化计算机来控制工业环境中的流程、机器人和机械,以制造产品或其部件。工业自动化的目的是提高生产率、增加灵活性,并提升制造过程的质量。工业自动化在汽车制造中体现得最为明显,其中许多
    的头像 发表于 07-15 16:32 539次阅读
    自动化<b class='flag-5'>计算机</b>的功能与用途

    工业计算机与商用计算机的区别有哪些

    工业计算机是一种专为工厂和工业环境设计的计算系统,具有高可靠性和稳定性,能够应对恶劣环境下的自动化、制造和机器人操作。其特点包括无风扇散热技术、无电缆连接和防尘防水设计,使其在各种工业自动化场景中
    的头像 发表于 07-10 16:36 528次阅读
    工业<b class='flag-5'>计算机</b>与商用<b class='flag-5'>计算机</b>的区别有哪些

    利用边缘计算和工业计算机实现智能视频分析

    IVA的好处、实际部署应用程序以及工业计算机如何实现这些解决方案。一、什么是智能视频分析(IVA)?智能视频分析(IVA)集成了复杂的计算机
    的头像 发表于 05-16 14:37 647次阅读
    利用边缘<b class='flag-5'>计算</b>和工业<b class='flag-5'>计算机</b>实现智能视频<b class='flag-5'>分析</b>

    一文带你了解工业计算机尺寸

    工业计算机是现代自动化、人工智能(AI)和边缘计算的支柱。这些坚固耐用的系统旨在承受恶劣的环境,同时关键应用提供可靠的性能。然而,由于有这么多可用的外形尺寸,您的工业
    的头像 发表于 04-24 13:35 798次阅读
    一文带你了解工业<b class='flag-5'>计算机</b>尺寸

    NVIDIA 宣布推出 DGX Spark 个人 AI 计算机

    台式超级计算机由 NVIDIA Grace Blackwell 驱动,开发者、研究人员和数据科学家提供加速 AI 功能;系统由头部计算机制造商(包括华硕、Dell Technolog
    发表于 03-19 09:59 506次阅读
       NVIDIA 宣布推出 DGX Spark 个人 AI <b class='flag-5'>计算机</b>

    BU-67121W实验室航空电子接口计算机North Hills

    接解决方案。应用领域:系统集成实验室模拟器生产试验台系统故障排除软件开发数据记录核心特性:桥接功能:支持以太网、MIL-STD-1553和ARINC 429的桥接。开发计算机配置:搭载英特尔凌动
    发表于 02-11 09:26

    EE-134:SHARC系列编写C兼容汇编代码中断处理程序

    电子发烧友网站提供《EE-134:SHARC系列编写C兼容汇编代码中断处理程序.pdf》资料免费下载
    发表于 01-07 13:58 0次下载
    EE-134:<b class='flag-5'>为</b>SHARC系列<b class='flag-5'>编写</b>C兼容汇编代码中断处理<b class='flag-5'>程序</b>

    Mathematica 在数据分析中的应用

    数据分析是现代科学研究和商业决策中不可或缺的一部分。随着数据量的爆炸性增长,对数据分析工具的需求也在不断增加。Mathematica,作为一种强大的计算软件,以其独特的符号
    的头像 发表于 12-26 15:41 1094次阅读

    工业计算机的定义与重要性

    工业计算机专门工业环境设计和制造的计算设备,其主要功能在于监控、控制和优化生产流程。这类计算机系统通常具备强大的处理能力、较高的稳定性以
    的头像 发表于 12-25 15:11 982次阅读
    工业<b class='flag-5'>计算机</b>的定义与重要性

    深入解析Linux程序与进程

    什么是程序 一组计算机能识别和执行的指令,用于指导计算机执行特定任务或解决特定问题。程序通常由代码、数据和资源文件组成,涉及语法、算法和
    的头像 发表于 12-18 11:01 846次阅读
    深入解析Linux<b class='flag-5'>程序</b>与进程

    云端超级计算机使用教程

    云端超级计算机是一种基于云计算的高性能计算服务,它将大量计算资源和存储资源集中在一起,通过网络向用户提供按需的计算服务。下面,AI部落小编为
    的头像 发表于 12-17 10:19 978次阅读