18世纪的贝叶斯定理成为Google计算的新力量

18世纪的贝叶斯定理成为Google计算的新力量    
18世纪牧师们关于概率的理论成为应用发展的数学基础的一部分。


搜索巨人Google和Autonomy,一家出售信息恢复工具的公司,都使用了贝叶斯定理(Bayesian principles)为数据搜索提供近似的(但是技术上不确切)结果。研究人员还使用贝叶斯模型来判断症状和疾病之间的相互关系,创建个人机器人,开发能够根据数据和经验来决定行动的人工智能设备。


 虽然听起来很深奥,而这个原理的意思--大致说起来--却很简单:某件事情发生的概率大致可以由它过去发生的频率近似地估计出来。研究人员把这个原理应用在每件事上,从基因研究到过滤电子邮件。


在明尼苏达州大学的网站上能够找到一份详细的数学概要。而在Gametheory.net上的一个Bayes Rule Applet程序让你能够回答诸如“如果你测试某种疾病,有多大风险”之类的问题。


贝叶斯理论的一个出名的倡导者就是微软。该公司把概率用于它的Notification Platform。该技术将会被内置到微软未来的软件中,而且让计算机和蜂窝电话能够自动地过滤信息,不需要用户帮助,自动计划会议并且和其他人联系。


如果成功的话,该技术将会导致“context server”--一种电子管家的出现,它能够解释人的日常生活习惯并在不断变换的环境中组织他们的生活。


“Bayes的研究被用于决定我应该怎样最好地分配计算和带宽,” Eric Horvitz表示,他是微软研究部门Adaptive Systems & Interaction Group的高级研究员和分组管理者。“我个人相信在这个不确定的世界里,你不能够知道每件事,而概率论是任何智能的基础。”


到今年年底,Intel也将发布它自己的基于贝叶斯理论的工具包。一个关于照相机的实验警告医生说病人可能很快遭受痛苦。在本周晚些时候在该公司的Developer Forum(开发者论坛)上将讨论这种发展。


虽然它在今天很流行,Bayes的理论并不是一直被广泛接受的:就在10年前,Bayes研究人员还在他们的专业上踌躇不前。但是其后,改进的数学模型,更快的计算机和实验的有效结果增加了这种学派新的可信程度。


“问题之一是它被过度宣传了,” Intel微处理器实验室的应用软件和技术管理经理Omid Moghadam表示。“事实上,能够处理任何事情的能力并不存在。真正的执行在过去的10年里就发生了。”


Bayes哑元
Bayes的理论可以粗略地被简述成一条原则:为了预见未来,必须要看看过去。Bayes的理论表示未来某件事情发生的概率可以通过计算它过去发生的频率来估计。一个弹起的硬币正面朝上的概率是多少?实验数据表明这个值是50%。


 “Bayes表示从本质上说,每件事都有不确定性,你有不同的概率类型,”斯坦佛的管理科学和工程系(Department of Management Science and Engineering at Stanford)的教授Ron Howard表示。


例如,假设不是硬币,一名研究人员把塑料图钉往上抛,想要看看它钉头朝上落地的概率有多大,或者有多少可能性是侧面着地,而钉子是指向什么方向的。形状,成型过程中的误差,重量分布和其他的因素都会影响该结果。


Bayes技术的吸引力在于它的简单性。预测完全取决于收集到的数据--获得的数据越多,结果就越好。另一个优点在于Bayes模型能够自我纠正,也就是说数据变化了,结果也就跟着变化。


概率论的思想改变了人们和计算机互动的方式。“这种想法是计算机能够更象一个帮助者而不仅仅是一个终端设备,” Peter Norvig表示。他是Google的安全质量总监。他说“你在寻找的是一些指导,而不是一个标准答案。”


从这种转变中,研究获益非浅。几年前,所谓的Boolean搜索引擎的一般使用需要把搜索按照“if, and, or but”的语法进行提交,然后去寻找匹配的词。现在的搜索引擎采用了复杂的运算法则来搜索数据库,并找出可能的匹配。


如同图钉的那个例子显示的那样,复杂性和对于更多数据的需要可能很快增长。由于功能强大的计算机的出现,对于把好的猜测转变成近似的输出所必须的结果进行控制成为可能。


更重要的是,UCLA的Judea Pearl这样的研究人员研究出如何让Bayes模型能够更好地追踪不同的现象之间条件关系的方法,这样能够极大地减少计算量。


例如,对于人口进行大规模的关于肺癌成因的调查可能会发现它是一种不太广泛的疾病,但是如果局限在吸烟者范围内进行调查就可能会发现一些关联性。对于肺癌患者进行检查能够帮助调查清楚习惯和这种疾病之间的关系。


 “每一个单独的属性或者征兆都可能取决于很多不同的事情,但是直接决定它的却是为数不多的事情,”斯坦佛计算机科学系(computer science department at Stanford)的助理教授Daphne Koller表示。“在过去的15年左右的时间里,人们在工具方面进行了改革,这让你能够描绘出大量人群的情况。”


和其他一些项目一样,Koller是使用概率论技术来更好地把病症和疾病联系起来,并把遗传基因和特定的细胞现象联系起来。


记录演讲
一项相关的技术,名为Hidden Markov模型,让概率能够预测次序。例如,一个演讲识别应用知道经常在“q”之后的字母是“u”。除了这些,该软件还能够计算“Qagga”(一种灭绝了的斑马的名称)一词出现的概率。


概率技术已经内置在微软的产品中了。Outlook Mobile Manage是一个能够决定什么时候往移动设备上发出一封内勤的电子邮的软件。它是从Priorities发展而来的,Priorities是微软在1998年公布的一个实验系统。Windows XP的故障检修引擎也依赖于概率计算。


随着该公司的Notification Platform开始内置在产品中,在未来的一年中会有更多的应用软件发布,微软的Horvitz这样表示。


Notification Platform的一个重要组成部分名为Coordinate,它从个人日历,键盘,传感器照相机以及其他来源收集数据,来了解某个人生活和习惯。收集的数据可能包括到达的时间,工作时间和午餐的时间长度,哪种类型的电话或电子邮件被保存,而哪些信息被删除,在某天的特定时间里键盘被使用的频率,等等。


这些数据可以被用来管理信息流和使用者收到的其他信息。例如,如果一位经理在下午2:40发送了一封电子邮件给一名员工,Coordinate可以检查该员工的日历程序,然后发现他在下午2:00有一个会议。该程序还可以扫描关于该员工习惯的数据,然后发现该员工通常会在有会议之后大约一个小时才重新使用键盘。该程序可能还能够发现该名员工通常会在5分钟之内回复该经理的电子邮件。根据上面这些数据,该软件能够估计出该员工可能至少在20分钟之内不可能回复该电子邮件,该软件可能会把这条信息发送到该员工的手提电话上。同时,该软件可能会决定不把别人的电子邮件也转发出去。


“我们正在平衡以打搅你为代价所获得信息的价值,” Horvitz表示。使用这个软件,他坚持道,“能够让更多的人跟上事情的发展,而不被大量的信息所淹没。”


Horvitz补充道,隐私和对于这些功能的用户控制是确定的。呼叫者并不知道为什么一条信息可能会被优先或推迟处理。


微软还把Bayes模型使用在其他的一些产品上,包括DeepListener 以及Quartet (语音激活),SmartOOF 以及TimeWave (联系控制)。消费者多媒体软件也获益非浅,Horvitz表示。


Bayes技术不仅仅被应用在PC领域。在University of Rochester,研究人员发现一个人的步伐可以在一步前发生改变。虽然这种改变对于人类来说太过于细微,一台和电脑连接在一起的照相机可以捕捉并跟踪这种动作。如果行走异常出现,计算机就能够发出警报。


一个实验用的安全照相机采用了同样的原理:大部分到达机场的人都会在停车以后直接走向目的地,所以如果有人停了车,然后走向另一辆车就不太正常,因此就可能引发警报。今年秋天一个创建Bayes模型和技术信息的基本引擎将会公布在Intel的开发者网站上。


理论冲突
虽然该技术听起来简单易懂,关于它的计算可能却比较慢。Horvitz回忆说他是斯坦佛20世纪80年代仅有的两个概率和人工智能的毕业生之一。其他所有的人学习的是逻辑系统,采用的是“if and then”的模式和世界互动。


 “概率论那时候不流行,” Horvitz表示。但是当逻辑系统不能够预测所有的意外情况时,潮流发生了转变。


很多研究人员开始承认人类的决策过程比原来想象的要神秘的多。“在人工智能领域存在着文化偏见,” Koller表示。“人们现在承认他们并不知道他们的脑子是如何工作的。”


即便在他的时代,Bayes发现他自己置身于主流之外。他于1702年出生于伦敦,后来他成为了一名Presbyterian minister。虽然他看到了自己的两篇论文被发表了,他的理论很有效,但是《Essay Toward Solving a Problem in the Doctrine of Chances》却一直到他死后的第三年,也就是1764年才被发表。


他的王室成员身份一直是个谜,直到最近几年,新发现的一些信件表明他私下和英格兰其他一些思想家看法一致。


“就我所知,他从来没有写下贝叶斯定理,” Howard表示。


神学家Richard Price和法国的数学家Pierre Simon LaPlace成为了早期的支持者。该理论和后来George Boole,布尔数学之父,的理论背道而驰。George Boole的理论是基于代数逻辑的,并最终导致了二进制系统的诞生。也是皇室成员之一的Boole死于1864年。


虽然概率的重要性不容置疑,可是关于它的应用的争论却没有停止过。批评者周期性地声称Bayes模型依赖于主观的数据,而让人类去判断答案是否正确。而概率论模型没有完全解决在人类思维过程中存在的细微差别的问题。


“儿童如何学习现在还不是很清楚,”IBM研究部门的科学和软件副总裁 Alfred Spector这样表示。他计划把统计学方法和逻辑系统在他的Combination Hypothesis之中结合起来。“我最初相信是统计学的范畴,但是从某方面说,你将会发现不仅仅是统计学的问题。”


但是,很有可能概率论是基础。


“这是个基础,” Horvitz表示。“它被忽略了一段时间,但是它是推理的基础。”


查看本文的国际来源


开发者们使用古老的Bayes理论在信息时代大显身手

他们正在设计程序来自动地管理每天通过电子邮件,手提电话,即时信息和以其他方式涌向用户的大量信息。


这样的一个软件可能随着时间不断地收集数据,并为一个人过去的行为创建一个模型,以此来决定如何能够最好地处理新到达的信息。


一个简化的例子:


1)电子邮件到达
From: The boss
Subject: Read me
Sent: Thu 3:10 PM


程序访问日历软件
"Thursday, 2 PM: Meeting"


程序考虑习惯和目前状态

如果用户在电脑前,通常会在1到5分钟内回应来自“The boss”的电子邮件。


如果在星期四下午安排有会议,用户通常会在会议开始后一个半小时左右才会重新使用键盘。(因此,星期四的会议通常为时一个半小时。)

程序做出结论


会议下午两点钟开始。


电子邮件于3:10分到达。


收信人可能在3:30前不会回来。


通常在1到5分钟内回应来自“The boss”的邮件。

程序的动作
把电子邮件转发到收件人的手提电话上,以便他尽快收到。


--------------------------------------------------------------------------------

2)电子邮件到达
From: "The middle manager"
Subject: Idea
Sent: Thu 3:10 PM

程序访问日历软件
"Thursday, 2 PM: Meeting"


程序考虑习惯和目前状态
如果用户在电脑前,通常会在25分钟到1个小时左右回应来自“The middle manager”的电子邮件。


程序做出结论
会议下午两点钟开始。
电子邮件于3:00到达。
收信人可能在3:30前不会回来。
通常在25分钟到1个小时左右回应来自“The middle manager”的邮件。


程序的动作
决定不转发该电子邮件,而根据返回的时间再做决定。

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值