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就可以在更广泛的应用程序中对数据进行推断。

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

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

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

    关注

    1775

    文章

    43710

    浏览量

    230488
  • 机器学习
    +关注

    关注

    66

    文章

    8095

    浏览量

    130514
  • 数据分析
    +关注

    关注

    2

    文章

    1349

    浏览量

    33728

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

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

收藏 人收藏

    评论

    相关推荐

    【量子计算机重构未来 | 阅读体验】+ 了解量子叠加原理

    如何生产制造。。。。。。 近来通过阅读《量子计算机—重构未来》一书,结合网络资料,了解了一点点量子叠加知识,分享给大家。 先提一下电子计算机,电子计算机使用二进制表示信息数据,二进制的
    发表于 03-13 17:19

    【量子计算机重构未来 | 阅读体验】第二章关键知识点

    ,Snor算法和Grover算法。Snor算法典型的应用场景超大数的质因数分解,普通计算机需要通过一个一个的枚举才能解析出来,但量子计算机可以同时对多个候选结果进行“研究分析”,并巧
    发表于 03-06 23:17

    【量子计算机重构未来 | 阅读体验】+ 初识量子计算机

    欣喜收到《量子计算机——重构未来》一书,感谢电子发烧友论坛提供了一个我了解量子计算机的机会! 自己对电子计算机有点了解,但对量子计算机
    发表于 03-05 17:37

    使用USB 2.0从ztex板USB-FPGA模块2.13向计算机发送信号报错的原因?

    我正在尝试使用 USB 2.0 从 ztex 板 USB-FPGA 模块 2.13 向计算机发送信号。 从 fpga 方面,我使用的是 fifo 代码,从计算机方面,我有一个 ZTex 给出的专门
    发表于 02-26 06:39

    什么是嵌入式计算机

    嵌入式计算机是一种专门设计用于特定功能的计算机系统,通常被嵌入到其他设备中,以执行特定的任务。这种计
    的头像 发表于 01-15 15:10 319次阅读
    什么是嵌入式<b class='flag-5'>计算机</b>?

    Get职场新知识:做分析,用大数据分析工具

    综合分析。但现在有了大数据分析工具,一切问题都可迎刃而解。 大数据分析工具,顾名思义就是专门分析
    发表于 12-05 09:36

    人工智能和计算机的区别与联系

    文本、图像、视频等多种形式的信息处理。而人工智能则是一种模拟人类智能的新型技术,它可以完成人类在学习、推理、决策等方面的智能处理和分析。 首先,人工智能和计算机的研究方法不同。计算机
    的头像 发表于 08-09 17:54 3257次阅读

    简单分类(2)#大数据分析

    数据分析
    学习硬声知识
    发布于 :2023年07月11日 18:33:07

    简单分类(1)#大数据分析

    数据分析
    学习硬声知识
    发布于 :2023年07月11日 18:32:41

    电商数据分析攻略,你轻松搞定数据分析

    商核心业务分析主题的分析模型、BI电商数据分析报表。从电商多业务系统数据整合、清洗、电商分析指标计算
    发表于 06-27 09:22

    计算机刚发明时程序员是怎样编程的?

    关于上古时期程序员编程这个话题我想我得从头开始讲起,当我开始编程时使用的计算机是这样的。
    发表于 06-26 10:33 463次阅读
    <b class='flag-5'>计算机</b>刚发明时<b class='flag-5'>程序</b>员是怎样编程的?

    PLC编写程序编写的是什么?

    对于PLC程序编写,一个好的plc程序一般都具有程序的具有正确性、可靠性、方便性、简洁性和可读性就是很好的程序!
    的头像 发表于 05-10 17:38 1335次阅读
    PLC<b class='flag-5'>编写程序</b><b class='flag-5'>编写</b>的是什么?

    计算机通信的基本特点

    计算机通信是一种以数据通信形式出现,在计算机计算机之间或计算机与终端设备之间进行信息传递的方式。它是现代
    发表于 05-09 17:07 763次阅读

    小型计算机——加固边缘部署的实时数据分析

    与云数据库相比,小型计算机专门为网络边缘的去中心化坚固计算而构建的。通过将应用程序分析和处理
    的头像 发表于 05-09 16:41 271次阅读
    小型<b class='flag-5'>计算机</b>——加固边缘部署的实时<b class='flag-5'>数据分析</b>

    计算机系统的小常识

    计算机系统指用于数据库管理的计算机硬软件及网络系统。数据库系统需要大容量的主存以存放和运行操作系统、数据库管理系统
    的头像 发表于 05-09 16:05 542次阅读