使用表格来学习树的制作方法

文档序号:6542808阅读:232来源:国知局
专利名称:使用表格来学习树的制作方法
技术领域
本发明一般涉及数据建模和分析,尤其涉及使用完整的数据表格来创建模型(或模式)。
背景技术
随着因特网,尤其是因特网上的电子商务(“e商务”)的出现,数据分析工具的使用也随之显著地增加。在e商务和其它因特网和非因特网应用中,生成并维护具有非常大量信息的数据库。这类信息通常被分析或“挖掘(mine)”来了解关于顾客、用户、产品等的额外信息。这一信息允许商家和其它用户更好地实现其产品和/或思想。
数据挖掘(也称为数据库中的知识发现-KDD)被定义为“从数据中对隐含的、先前未知的和可能有用的信息的非平凡提取”。数据挖掘可采用机器学习、统计和/或可视化技术来发现并呈现容易被人类理解的形式的知识。一般而言,人类能够比文本项更容易地识别或转换图形项。因此,使用这一手段可比其它方法传播更大量的信息。由此,图形统计模型被证明在数据挖掘中是无价的。
计算机科学中人工智能的出现带来了丰富的决策支持系统。决策支持系统是其中建议并有时候作出通常由人类托付的决策的计算机系统。在创建决策支持系统时,计算机科学家试图提供具有最大可能准确性的决策。由此,计算机科学家努力创建等效于人类专家或比其更准确的决策支持系统。决策支持系统的应用包括医学诊断、计算机网络故障诊断、或其中决策是基于可标识准则的其它系统。
决策支持系统中用于研究的最有希望的新领域之一是贝叶斯网络。贝叶斯网络是关于世界的区别中概率关系的表示。每一区别(也称为变量)可采用一手动排他且穷尽的可能的状态集合之一。贝叶斯网络被表达为非循环有向图,其中,变量对应于节点,而节点之间的关系对应于弧。
贝叶斯网络是对感兴趣的变量之间的概率关系进行编码的图形统计模型。在过去的十年中,贝叶斯网络已经成为了编码专家系统中不确定专家知识的流行表示。最近,研究人员开发了用于从数据中学习贝叶斯网络的方法。当结合统计技术使用时,图形模型具有用于数据分析的若干优点。首先,由于模型对所有变量之间的依赖性进行编码,因此它可以容易地处理缺少某些数据条目的情况。其次,贝叶斯网络可用于学习因果关系,并因此可用于获取关于问题域的理解和预测干预的结果。第三,由于模型具有因果和概率语义两者,它是用于组合现有知识(通常以因果形式出现)和数据的理想表示。第四,贝叶斯统计方法结合贝叶斯网络提供了用于避免数据的过拟合(over fitting)的有效且有原则的方法。
有两种用于构造统计模型的传统方法,即基于知识的方法和基于数据的方法,如决策树或决策图。使用基于知识的方法,一个人(也称为知识工程师)采访给定领域的专家以获得该专家关于其专长的领域的知识。知识工程师和专家首先确定世界中对于专家的领域中决策制定是重要的各种区别。这些区别对应于感兴趣的域中的变量。例如,如果决策图用于基于顾客在商店中购买的产品来预测顾客的年龄,则有一用于“年龄”的变量和一用于所有相关产品的变量。知识工程师和专家接下来确定决策图的结构和定量化条件概率分布所对应的参数值。
在基于数据的方法中,知识工程师和专家首先确定域的变量。下一步,对那些变量累计数据,并且应用从该数据创建一个或多个决策图的算法。累计的数据来自域的真实世界实例。即,给定领域中决策制定的真实世界实例。
通常,从一般的观点来看,基于数据的方法更常用。然而,在过去的几年中,当更有效地收集数据的能力增长时,这些数据库也呈指数地增长。尽管计算机处理技术和存储访问技术中得到的速度不断提高,这仍产生了花费极大时间来分析的庞大的数据库。

发明内容
以下提出了本发明的简化概述,以提供对本发明的某些方面的基本理解。本概述并非本发明的广泛综述。它并不意味着标识本发明的关键/决定性元素,或描述本发明的范围。其唯一的目的是以简化的形式提出本发明的某些概念,作为以后给出的更详细描述的序言。
本发明一般涉及数据建模和分析,尤其涉及使用包括完整表格的贝叶斯网络来创建包含决策树的贝叶斯网络模型(或模式)。依照本发明的一个方面,具有完整表格的贝叶斯网络中的边可被反转,以便于纠正添加到该网络的边。例如,贝叶斯网络可使用完整的表格作为分布来学习,其中学习算法使用了可反转边的搜索算法。所得的有向非循环图(DAG)可用于限制使用决策树作为局部分布的贝叶斯网络学习算法。依照这一方面,在从决策树和/或完整表格搜索中得到的DAG中考虑完整表格DAG的偏序。以这一方式,如果在完整表格DAG中存在从X到Y的有向路径,则可阻止在X的树中对Y的分裂。
依照本发明的另一方面,具有完整表格的贝叶斯网络中的边可被求值,以评估与其相关联的得分。这一得分可以指示由边连接的节点之间的相关程度。可考虑替换的节点/边排列,并可确定现有的边是否具有最佳可能得分。如果边得分可被改进,则现有的边可以被操纵(如,反转、移除或用新边替换等等),以达到增加的得分。以这一方式,本发明可确保贝叶斯网络具有良好的排序。
为实现上述和相关目的,此处结合以下详细描述和附图描述了本发明的某些说明性方面。然而,这些方面仅指示了可在其中采用本发明的原理的各种方法中的几种,并且本发明并不试图包括所有这样的方面及其等效方面。当结合附图阅读以下本发明的详细描述时,可以清楚本发明的其它优点和新颖特征。


图1是依照本发明的一个方面的示例性贝叶斯网络的图示。
图2是依照本发明的一个方面的贝叶斯网络学习系统的框图。
图3是依照本发明的一个方面的贝叶斯网络学习系统的另一框图。
图4是依照本发明的一个方面的示例性节点-边配置的图示。
图5示出了依照本发明的一个方面的叶-节点连接。
图6所示是依照本发明的一个方面学习具有决策树的贝叶斯网络的方法的流程图。
图7所示是依照本发明的一个方面学习具有决策树的贝叶斯网络的方法的另一流程图。
图8示出了本发明可在其中运作的示例操作环境。
图9示出了本发明可在其中运作的另一示例操作环境。
具体实施例方式
现在参考附图来描述本发明,贯穿附图,相同的标号用于引用相同的元素。在以下描述中,为解释目的,陈述了众多具体细节来提供对本发明的彻底理解。然而,很明显,本发明可以不使用这些具体细节来实施。在其它实例中,以框图的形式示出了众所周知的结构和设备,以便于描述本发明。
如本申请中所使用的,术语“计算机组件”指的是计算机相关的实体,无论是硬件、硬件和软件的组合、软件还是执行中的软件。例如,计算机组件可以是,但不限于,运行在处理器上的进程、处理器、对象、可执行码、执行线程、程序和/或计算机。作为说明,运行在服务器上的应用程序和服务器都可以是组件。一个或多个组件可驻留在进程和/或执行线程中,并且组件可位于一个计算机上和/或在两个或多个计算机之间分布。可以理解,此处所描述的模型、网络、查询引擎、用户界面、比较器、模型(或模式)可以是计算机组件。
本发明方便了从数据中学习贝叶斯网络,它涉及搜索最好地表示数据中的不依赖性的模型结构(如,DAG)。贝叶斯网络包括一DAG和对应的一组局部分布,该组局部分布共同定义了联合分布,在联合分布中,由DAG蕴含的不相关性约束都被考虑在内。例如,当每一局部分布p(X|parents)是完整表格时(如,对于parent_values的所有可能的值,我们有单独的分布p(X|parents=parent_vales)),典型的搜索过程可考虑添加、删除和反转边。
当局部分布是决策树时,搜索问题可以更困难。只要某一目标T的决策树包含变量R上的分裂,R就可以是DAG中T的父节点。在这一情况下,与完整表格分布相反,父节点集合不唯一地标识该节点的局部分布。因此,搜索算法也可搜索分布的“子结构”(如,树的结构等)。
在许多情况下,经学习的模型的质量取决于导出DAG中正确的偏序。例如,如果学习了结构X→Y←Z,则这一模型结构可以优于X→Y→Z、X→Z,因为它编码了X和Z的边缘不相关性。当局部分布是完整表格时,搜索操作符可反转边的方向。以这一方式,如果算法最初不正确地应用了边的方向,则它可在稍后就纠正这一错误。在上述示例中,如果贪婪算法从空网络开始,则添加X→Y的得分将与添加Y←X的得分相同,因为模型X→YZ和X←YZ编码了同一不相关性约束。假定这两个操作符都是最佳的,贪婪算法将在它们之间任意选择。如果最优模型是X→Y←Z,则算法可通过稍后反转它以从添加X←Y中恢复。如上所述,如果结合适当的操作符使用了DAG的等效类,则算法可从任何这样的错误中恢复。
然而,当局部分布是树时,常规的系统和方法不提供边反转的良好定义的概念。反转边X→Y包括(1)删除作为Y的父节点的Z,以及(2)添加Y作为X的父节点。删除作为Y的父节点的X包括在Y的决策树中消除X上的任何分裂。如果在X上的分裂的下级有其它分裂,则这一消除也会消除其它父节点。此外,“添加Y作为X的父节点”对于使用常规系统和/或方法的决策树分布不是良好定义的;相反在X的树中对Y的分裂是必需的。
作为上述缺点的结果,学习具有决策树分布的贝叶斯网络的传统搜索操作符通常考虑向树添加分裂;这一操作符或者在其为新的父节点时向DAG添加边,或者在父节点上已经存在分裂时不向DAG添加任何边。不幸的是,由于传统的系统仅添加边,使用这一常规系统从在错误的方向上添加边中恢复是不可能的。此外,如在完整表格的情况下一样,边的方向之间的选择(如,在Y的树中分裂X或在X的树中分裂Y等)在贪婪搜索的早期阶段是任意的。
本发明方便了学习具有决策树的贝叶斯网络,同时减轻了上述许多困难。例如,可使用分布中的完整表格,使用可反转边的搜索算法来学习贝叶斯网络。所得的DAG可用于限制决策树搜索算法。具体地,本发明的系统和方法可要求在从决策树搜索中得到的DAG中考虑完整表格DAG的偏序。换言之,如果存在完整表格DAG中从X到Y的有向路径,则可阻止X的树中对Y的分裂。
图1描述了贝叶斯网络100的一个示例。在图1中,有三个变量X1、X2和X3,它们分别由节点102、106和110表示。该贝叶斯网络包括两条弧104和108。与贝叶斯网络中每一变量相关联的是一组概率分布。使用条件概率的符号,变量的概率分布集合可以由p(xi|∏i,ξ)来表示,其中,“p”指概率分布,“∏i”表示变量Xi的父节点,“ξ”表示专家知识。希腊字母“ξ”表示贝叶斯网络反映了给定领域的专家知识。由此,这一表达式可作以下解释给定Xi的父节点和专家知识,变量Xi的概率分布。例如,X1是X2的父节点。概率分布指定了变量之间的关系的强度。例如,如果X1具有两种状态(真和假),则与X1相关联的是单个概率分布p(x1|ξ),而与X2相关联的是两个概率分布p(x2|x1=t,ξ)和p(x2|x1=f,ξ)。在这一规定的剩余部分,ξ未特别地提及。
贝叶斯网络中的弧表明了节点之间的依赖性。当两个节点之间有一条弧时,当弧的方向从第二节点指向第一节点时,第一节点的概率分布取决于第二节点的值。例如,节点106依赖于节点102。因此,节点102和106被认为是条件依赖的。贝叶斯网络中缺少弧表明条件独立性。例如,给定节点106,节点102和110是条件独立的。然而,通过中间变量间接连接在一起的两个变量在缺少中间节点的值的知识(“状态”)的情况下是条件依赖的。因此,如果已知节点106的值,节点102和节点110是条件依赖的。
换言之,给定一组变量Z,如果给定Z时X的概率分布不依赖于Y,则变量X和Y的组被认为是条件独立的。然而,如果Z为空,X和Y被认为是“独立的”,与“条件独立”相反。如果X和Y不是条件独立的,则给定Z,X和Y被认为是在给定Z是条件依赖的。
用于每一节点的变量可以具有不同的类型。具体地,变量可以具有两种类型离散的或连续的。离散变量是具有有限或可计数的状态数的变量,而连续变量是具有无限状态数的变量。离散变量的一个示例是布尔变量。这一变量只能采用两个状态中的一个“真”和“假”。连续变量的一个示例是可采用-1和1之间的任何实数值的变量。离散变量具有相关联的概率分布。然而,连续变量具有相关联的概率密度函数(“密度”)。当事件是一可能的结果的集合时,变量“x”和事件“a”和“b”的密度被定义为p(x)=Lima→b[p(a≤x≤b)|(a-b)|]]]>其中,p(a≤x≤b)是x位于a和b之间的概率。
图2示出了依照本发明的一个方面的贝叶斯网络学习系统200。图2描述了分析由数据集204组成的数据的贝叶斯网络构造器202。贝叶斯网络构造器202可基于从数据集204收集的信息开发一具有完整表格的贝叶斯网络206,以确定数据的偏序。贝叶斯网络构造器202然后可使用搜索算法分析数据集204和具有完整表格的贝叶斯网络,以标识该贝叶斯网络内的边的潜在排列,并可将这些其它排列与由具有完整表格的贝叶斯网络206定义的偏序进行比较。如果确定存在一个更好的顺序,则贝叶斯网络构造器202可操纵(如,反转、移除和/或替换等)贝叶斯网络中的边,以构造一具有形成逻辑分布的决策树的新的贝叶斯网络208。新贝叶斯网络208的决策树可以用依照确定的较好排序所排列的边来生长。从完整表格中导出的有向非循环图(DAG)可用于限制贝叶斯网络构造器202使用的学习算法,使得具有决策树的新贝叶斯网络208的构造可以用在从决策树和/或完整表格搜索中得到的DAG中考虑完整表格DAG的偏序的坚持主张来实现。例如,如果完整表格的DAG包括从X到Y的有向路径,则贝叶斯网络学习算法可阻止在具有决策树的贝叶斯网络208中在X的树中Y上的分裂。
构造器202可包括一处理器(未示出),便于分析数据集、DAG、贝叶斯网络等等。此外,处理器可采用人工智能技术以便于推导,例如贝叶斯网络中边的潜在排列。如此处所使用的,术语“推导”一般指从通过事件和/或数据捕捉的一组观察中推论或推导系统、环境和/或用户的状态的过程。例如,推导可用于标识特定的环境或行动,或可生成状态的概率分布。推导可以是概率性的一即,基于数据和事件的考虑计算感兴趣的状态的概率分布。推导也可以指用于从一组事件和/或数据组成更高级事件的技术。这类推导能够从一组观察的事件和/或储存的事件数据中构造新的事件或行动,不论事件是否在邻近的时间上相关,也不论事件和数据是否来自一个或若干个事件和数据源。各种分类方案和/或系统(如,支持矢量机、神经网络、专家系统、贝叶斯信任网络、模糊逻辑、数据融合引擎、回归方法……)可用于执行结合本发明的自动和/或推导的行动。
尽管此处描述的本发明强调使用决策树作为局部分布,然而可以理解,提供这一强调以简化本发明的解释,并且本发明可用于促进包括除决策树之外的条件分布的贝叶斯网络的构造和/或改进。例如,条件分布可以是神经网络、逻辑/线性回归模型、支持矢量机(SMV)等等。此外,在一个节点上采用的条件分布的类型可以不同于在另一节点上采用的条件分布的类型。如本领域的技术人员可理解的,对于上述分布类型,学习算法需要一种特征选择算法来标识对分布的相关输入,它进而定义了贝叶斯网络中的父节点。由于在决策树中在一个变量上的分裂具有选择从其始发分裂的变量作为输入的效果,因此传统的决策树学习算法自动执行特征选择。此处所揭示的系统和方法促进了贝叶斯网络的改进的启发式搜索算法,它克服了常规方法的缺陷。为此,本发明可增强包含一组SVM分布的统计模型的标识,它促进了例如计算机系统中的语音和/或手写识别、蛋白质结构和/或序列分析、基因排序等等。这一可能应用的列表不是穷尽的,但是本质上是示例性的,并非以任何方式限制本发明的范围。
图3是依照本发明的一个方面,描述便于从数据集构造具有决策树的贝叶斯网络的各个数据操作阶段的贝叶斯网络学习系统300的图示。学习系统300包括数据集302;包含完整表格的贝叶斯网络304,其具有从数据集中提取信息的装置306;以及包括决策树的贝叶斯网络308,其具有使用由具有完整表格的贝叶斯网络304定义的偏序来学习具有决策树的贝叶斯网络308的学习装置310。依照一个示例,学习系统300可分析由数据集302组成的信息,并通过学习算法构造具有完整表格的贝叶斯网络304。学习算法可包括可反转完整表格网络304中的边的搜索算法。基于这一贝叶斯网络304,可通过分析具有完整表格304的贝叶斯网络中的边,确定和/或定义完整表格DAG的偏序。一旦估算了偏序,可通过装置312再次访问并再次评估数据集302,以估算由具有完整表格的贝叶斯网络304定义的DAG和/或将其与数据集302的其它部分排列进行比较,以便于分析是否改进了偏序。例如,可确定对具有完整表格的贝叶斯网络304中的特定边的操纵(如,反转、删除、添加等)是否有利于实现更优化的排序。如果这一确定表明可改进排序,则可操纵边并可学习具有逻辑分布的决策树的新贝叶斯网络308,以便于实现更好的排序。这可以通过采用在构造决策树DAG时考虑完整表格DAG的偏序的贝叶斯网络学习算法来促进。
图4是包括完整表格的简单示例性贝叶斯网络400的图示。完整表格可用于学习贝叶斯网络中的边,因为它们可包括关于分布的形状的信息。例如,决策树可包括不完整的逻辑分布,这可导致缺少形状信息。通过采用完整表格来学习贝叶斯网络,可执行比常规方法所需的更不贪婪的搜索,以便于确定数据依赖性的较佳排序。图4所示的“V”结构是一个这样的信息丰富排序结构。依照该图,X和Z必须在Y之前。一旦学习了这一排序,它可作为约束应用到例如决策树学习模型。例如,这一约束可坚持如果一个变量是原始排序中的子节点,则不能向该变量添加边。以这一方式,可提供并然后细调排序的高质量逼近,以生长决策树,如贝叶斯网络。
依照本发明的这一方面,如图4所示,最初X和Z彼此不相关(如,关于X的知识不能通过知道Z来获得)。例如,如果X表示下雨的出现,Z表示随机定时间的人工降雨系统,而Y表示湿的草地,则下雨(如,X为真)的知识不能退定人工降雨系统尚未被激活(如,Z也为真)。然而,第二示意图示出给定Z,X在统计上依赖于Z,使得如果已知人工降雨系统已被激活,并且草地是湿的,则出现下雨的概率降低。以这一方式,本发明可在完整表格搜索期间收集关于数据排序的信息,然后可采用排序信息以便于决策树扩展。
依照本发明的一个方面,用从第一示意图定向到第二示意图的虚线箭头示出了图4,以示出可发生一行动,由此可积极地反转两个变量之间的边的方向。在学习贝叶斯网络时,这一边反转便于达到叶节点、树等的最佳得分。
图5示出了依照本发明的一个方面的边反转协议500。最初,在X和Y之间插入边,表明X依赖于Y。在Y和Z之间插入第二条边,表明Y依赖于Z,现在给定Y,X依赖于Z。可向X-Y-Z叶节点分配一得分,以便于学习例如上文所述的贝叶斯网络。在这一点上,可确定最初添加的边是在不正确的方向上插入的(如,X应当不依赖于Y等)。这一确定可通过例如相对于叶节点中的变量之间的其它可能依赖性关系确定叶节点的得分来作出。如果替换组合产生了更高的得分(如,更大的正确性似然性),则这一组合可通过反转边的方向来实现。以这一方式,本发明可克服与采用常规决策树相关联的问题,由于缺少边方向的考虑,常规决策树以前是不能被纠正的。
依照这一示例,如果学习了结构Z→Y←X,则这一模型结构可以优于例如Z→Y→X、Z→X,因为它对X和Z的边缘不相关性进行了编码。当局部分布是完整表格时,搜索操作符可反转边的方向以便于这一较优的排序或结构。以这一方式,如果算法最初不正确地向边应用了方向,则它可稍后纠正这一错误。在上述示例中,如果贪婪算法从空网络开始,则添加X→Y的得分可以与添加Y→X的得分相同,因为模型X→YZ和X←YZ对同一独立性约束进行了编码。假定这两个操作符都是最佳的,则贪婪算法将在它们之间进行任意选择。如果最优模型是X→Y←Z,则算法可通过稍后反转它从添加X←Y中恢复。如上所述,如果DAG的等效类结合适当的操作符来使用,则算法可从这类错误中恢复。
鉴于上文示出并描述的示例性系统,参考图6和7的流程图,可以更好地理解可依照本发明实现的方法。尽管为了简化说明的目的,方法被示出并描述为一系列块,然而可以理解和明白,本发明不被块的顺序所限制,因为依照本发明,某些块可以不同的顺序和/或与此处所示并描述的其它块一起出现。此外,并非需要所有示出的块来实现依照本发明的方法。
本发明可以在诸如由一个或多个组件执行的程度模块等计算机可执行指令的通用上下文中描述。一般而言,程序模块包括例程、程序、对象、数据结构等,它们执行特定的任务或实现特定的抽象数据类型。通常,如各个实施例中所需要的,程序模块的功能可以组合或分布。
图6示出了依照本发明的一个方面,用于学习具有决策树的贝叶斯网络以表示局部分布的方法600。依照方法600,在602输入完整的数据集。在604,可采用反转边的搜索算法来学习具有完整表格的贝叶斯网络。在606,可分析从完整表格贝叶斯网络中得到的DAG来确定在604处学习的贝叶斯网络的偏序。
DAG可用于描绘在608处决策树生长的边界和/或限制。例如,如果完整表格贝叶斯网络的DAG不包括从X到Y的有向路径,则决策树贝叶斯网络中X的树中Y上的分裂可以被阻止。以这一方式,可应用从完整表格贝叶斯网络中导出的排序,作为对决策树生长的约束,使得可通过完整表格贝叶斯网络获得排序的高质量逼近,并随后可细调该逼近以生长决策树作为贝叶斯网络中的局部分布。在610,可生长考虑由完整表格DAG定义的偏序的决策树,以构造使用局部分布的决策树的新的贝叶斯网络。
图7是依照本发明的一个方面,用于使用完整数据表格学习贝叶斯网络的方法700的图示。在702,输入完整的数据集,并在704使用学习算法来标识其中的节点之间的边,以确定具有完整表的贝叶斯网络的偏序。学习算法还可包括一可操纵完整表格贝叶斯网络中的边的搜索算法。在706,确定完整表格贝叶斯网络中是否可提高边的得分。这一确定可例如通过测量节点之间的相关性以评估节点统计上依赖的程度来作出。这一确定便于以比常规可用的方法更有效的方式确定排序结构。例如,确定在两个节点之间存在边可表明节点是统计相关的,但是不能提供关于相关度的信息。通过评估边的得分,可以定量化相关程度。这进而准许确定最佳排序以便于学习统计模型,如贝叶斯网络。
如果在706的考虑表明可增加边的得分,则可在708遵循这一考虑,其中,可移除和替换、反转等低得分的边,以提高特定边的得分,由此便于对统计模型进行良好的排序。当操纵了边以获得更高的边得分时,该方法回退到704,用于该方法的进一步潜在的迭代。以这一方式,方法700可使用反馈/前馈循环来准许迭代性的边替换和/或调整,来实现数据表格中顶点的最优排序。另外,如果在706确定不能改进边得分(如,现有的边展示出比其它可能的排列更高的正确性概率,等等),则该方法可前进到710,其中通过至少部分地基于从具有完整数据表格的贝叶斯网络获得的部分排序生长的决策树来学习贝叶斯网络。在学习了具有最优决策树的贝叶斯网络之后,可在712输出该贝叶斯网络。由此,方法700可操纵具有完整数据表格的贝叶斯网络中的边,以便于标识准许学习更高得分模型的排序,这进而便于学习改进的决策树贝叶斯网络。
为提供用于实现本发明的各方面的附加环境,图8和9以及以下讨论旨在提供其中可实现本发明的各方面的合适的计算环境800和900的简要、通用的描述。尽管上文在运行在本地计算机和/或远程计算机上的计算机程序的计算机可执行指令的通用上下文中描述了本发明,然而本领域的技术人员将认识到,本发明也可组合其它程序模块来实现。一般而言,程序模块包括例程、程序、组件、数据结构等,它们执行特定的任务或实现特定的抽象数据类型。此外,本领域的技术人员可以理解,本发明的方法可以用其它计算机系统配置来实施,包括单处理器或多处理器计算机系统、小型机、大型机以及个人计算机、手持式计算设备、基于微处理器或可编程消费者电子设备等等,其每一个都在操作上与一个或多个相关联的设备通信。所示的本发明的各方面也可在分布式计算环境中实施,其中,任务由通过通信网络连接的远程处理设备来执行。然而,本发明的某些(如果不是全部)方面可以在独立的计算机上实施。在分布式计算环境中,程序模块可以位于本地和/或远程存储器存储设备中。
如本发明中所使用的,术语“组件”指的是计算机相关的实体,无论是硬件、硬件和软件的组合、软件还是执行中的软件。例如,组件可以是,但不限于,运行在处理器上的进程、处理器、对象、可执行码、执行线程、程序和/或计算机。作为说明,运行在服务器上的应用程序和服务器都可以是组件。另外,组件可包括一个或多个子组件。
参考图8,用于实现本发明的各方面的示例性系统包括常规计算机402,包括处理单元804、系统存储器806以及将包括系统存储器806的各类系统组件耦合至处理单元804的系统总线808。处理单元804可以是任何可购买或专用的处理器。另外,处理单元可被实现为例如可并行连接的一个以上处理器形成的多处理器。
系统总线808可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的局部总线,仅举几个例子,这类体系结构如PCI、VESA、微通道、ISA和EISA。系统存储器包括只读存储器(ROM)810和随机存取存储器(RAM)812。基本输入/输出系统(BIOS)814,包含如在启动时协助在计算机802内的元件之间传输信息的基本例程,储存在ROM 810中。
计算机802也可包括例如硬盘驱动器816、例如用于对可移动磁盘820进行读写的磁盘驱动器818、以及例如用于对CD-ROM盘824或其它光介质进行读写的光盘驱动器822。硬盘驱动器816、磁盘驱动器818以及光盘驱动器822分别通过硬盘驱动器接口826、磁盘驱动器接口828和光盘驱动器接口830连接至系统总线808。驱动器816-822及其相关的计算机可读介质为计算机802提供了计算机可执行指令、数据结构、程序模块和其它数据的非易失存储。尽管这里描述的计算机可读介质指硬盘、可移动磁盘和CD,然而本领域的技术人员可以理解,可由计算机读取的其它类型的介质,诸如盒式磁带、闪存卡、数字视频盘、Bernoulli盒式磁盘等等,也可以用于示例性操作环境800,并且任何这样介质可包括用于执行本发明的方法的计算机可执行指令。
多个程序模块可储存在驱动器816-822和RAM 425中,包括操作系统832、一个或多个应用程序834、其它程序模块836以及程序数据838。操作系统832可以是任一合适的操作系统或操作系统的组合。作为示例,应用程序834和程序模块836可包括依照本发明的一个方面使用数据集的模型(或模式)和/或依赖性网络。另外,程序数据838可包括输入数据,依照本发明的一个方面,从该数据可生成模型(或模式)和/或在该数据上执行查询。
用户可以通过诸如键盘840和定位设备(如,鼠标842)等一个或多个用户输入设备向计算机802输入命令和信息。其它输入设备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、无线遥控器、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线808的串行端口接口844连接到处理单元804,但也可以通过其它接口连接,如并行端口、游戏端口或通用串行总线(USB)。监视器846或其它类型的显示设备也通过接口,如视频适配器848连接到系统总线808。除监视器之外,计算机802可包括其它外围输出设备(未示出),如扬声器和打印机等等。
可以理解,计算机802可以在使用到一个或多个远程计算机860的逻辑连接的网络化环境中操作。远程计算机860可以是工作站、服务器计算机、路由器、对等设备或其它公用网络节点,并通常包括许多或所有上述与计算机802相关的元件,尽管为简明的目的,在图8中仅示出了存储器存储设备862。图8描述的逻辑连接包括局域网(LAN)864和广域网(WAN)866。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机802通过网络接口或适配器868连接至局域网864。当在WAN网络环境中使用时,计算机802通常包括调制解调器(如电话、DSL、电缆等)870,或连接到LAN上的通信服务器,或具有用于通过WAN866,如因特网建立通信的其它装置。调制解调器870可以对计算机802是内置或外置的,通过串行端口接口844连接至系统总线808。在网络化环境中,程序模块(包括应用程序834)和/或程序数据838可储存在远程存储器存储设备862中。可以理解,示出的网络连接是示例性的,当实现本发明的各方面时,也可以使用在计算机802和860之间建立通信链路的其它装置(如有线或无线)。
依照计算机编程领域的技术人员的实践,参考由诸如计算机802或远程计算机806等计算机执行的动作和操作的符号表示描述了本发明,除非另外指明。这类动作和操作有时候被称为计算机执行的。可以理解,动作和符号表示的操作包括处理单元804对表示数据比特的电信号的操纵,导致了对电信号表示的变换或转化,并且在存储器系统(包括系统存储器806、硬盘驱动器816、软盘820、CD-ROM 824和远程存储器862)中的存储器位置维护数据比特,由此重新配置或改变计算机系统的操作,以及信号的其它处理。维护这类数据比特的存储器位置是具有对应于数据比特的特定电、磁或光属性的物理位置。
图9是本发明可交互的示例计算环境900的另一框图。系统900还示出了包括一个或多个客户机902的系统。客户机902可以是硬件和/或软件(如,线程、进程、计算装置)。系统900也包括一个或多个服务器904。服务器904也可以是硬件和/或软件(如,线程、进程、计算装置)。例如,服务器904可容纳线程,以通过使用本发明执行变换。客户机902和服务器904之间的一个可能的通信可以是适用于在两个或多个计算机进程之间传输的数据分组的形式。系统900包括可用于便于在客户机902和服务器904之间通信的通信框架908。客户机902操作上连接至可用于储存对客户机902本地的信息的一个或多个客户机数据存储910。类似地,服务器904操作上连接至可用于储存对服务器904本地的信息的一个或多个服务器数据存储906。
可以理解,本发明的装置、系统和/或方法可用于同样便于计算机组件和非计算机相关组件的总体功率转换方案。此外,本领域的技术人员将认识到,本发明的装置、系统和/或方法可用于大量的电子相关技术,包括但不限于,计算机、服务器和/或手持式电子设备等等。
上文所描述的包括了本发明的示例。当然,不可能为了描述本发明而描述组件或方法的每一可构想的组合,但是本领域的技术人员将认识到,本发明的许多其它的组合和置换也是可能的。因此,本发明旨在包含落入所附权利要求书的精神和范围之内的所有这样的代换、修改和变化。此外,在详细描述或权利要求书中使用了术语“包括”的意义上,该术语是包含性的,与术语“包含”在用作权利要求书中的过渡词时解释的“包含”相类似。
权利要求
1.一种便于学习具有局部分布的贝叶斯网络的系统,其中,至少一个分布不是完整表格,所述系统包括一完整数据集;一贝叶斯网络构造器组件,它构造完整表格贝叶斯网络以表示所述完整数据集中的数据的局部分布,并采用一可反转完整表格贝叶斯网络中的边的学习算法来便于学习决策树贝叶斯网络。
2.如权利要求1所述的系统,其特征在于,所述贝叶斯网络构造器组件还分析一从所述完整表格贝叶斯网络中得出的有向非循环图,以确定所述完整表格贝叶斯网络的偏序。
3.如权利要求2所述的系统,其特征在于,所述学习算法准许对所述完整表格贝叶斯网络的有向非循环图的偏序的所述局部分布的构造。
4.如权利要求1所述的系统,其特征在于,所述贝叶斯网络构造器组件对所述完整表格贝叶斯网络中的每一边确定一得分。
5.如权利要求4所述的系统,其特征在于,所述贝叶斯网络构造器组件为所述完整表格贝叶斯网络中的至少一个其它潜在的边配置确定一得分,以评估是否可以改进边的得分。
6.如权利要求5所述的系统,其特征在于,如果边的操纵将改进所述边的得分,则所述贝叶斯网络构造器组件操作所述完整表格贝叶斯网络中的至少一条边。
7.如权利要求6所述的系统,其特征在于,所述局部分布包括至少一个决策树。
8.如权利要求6所述的系统,其特征在于,所述局部分布包括至少一个支持矢量机。
9.如权利要求6所述的系统,其特征在于,所述局部分布包括至少一个逻辑回归。
10.一种用于学习具有至少一个是非完整表格的分布的贝叶斯网络的方法,其特征在于,包括输入一完整数据集;学习包括完整表格的第一贝叶斯网络;分析完整表格贝叶斯网络的有向非循环图;以及学习包括至少一个非完整表格分布的第二贝叶斯网络。
11.如权利要求10所述的方法,其特征在于,学习所述第一贝叶斯网络包括采用一可反转所述完整表格贝叶斯网络中的边的搜索算法。
12.如权利要求11所述的方法,其特征在于,还包括为所述完整表格贝叶斯网络中的至少一条边确定一得分。
13.如权利要求12所述的方法,其特征在于,还包括为所述完整表格贝叶斯网络中的其它潜在的边配置确定得分。
14.如权利要求13所述的方法,其特征在于,还包括将所述至少一条边的得分与另一潜在边配置的得分进行比较,以确定是否可改进所述至少一条边的得分。
15.如权利要求14所述的方法,其特征在于,还包括如果确定可以改进所述至少一条边的得分,则通过操作所述至少一条边以改进所述至少一条边的得分,来细化所述完整表格贝叶斯网络。
16.如权利要求15所述的方法,其特征在于,还包括如果确定没有边得分可被改进,则制止操纵所述完整表格贝叶斯网络中的边。
17.如权利要求16所述的方法,其特征在于,还包括一旦确定了没有边得分可被改进,则基于所述完整表格贝叶斯网络的有向非循环图,导出所述第二贝叶斯网络中的局部分布构造上的一组约束。
18.如权利要求17所述的方法,其特征在于,导出所述的一组约束包括估算所述完整表格贝叶斯网络的有向非循环图,以标识经细化的完整表格贝叶斯网络中的所有边。
19.如权利要求18所述的方法,其特征在于,学习所述第二贝叶斯网络包括采用一考虑所述经细化的完整表格贝叶斯网络的有向非循环图的偏序的受约束的学习算法。
20.如权利要求19所述的方法,其特征在于,还包括生长决策树,作为定义所述第二贝叶斯网络的局部分布。
21.如权利要求12所述的方法,其特征在于,为至少一条边确定得分包括确定由所述至少一条边连接的节点之间的依赖性程度;确定由所述至少一条边连接的节点之间的依赖性方向;以及至少部分地基于由所述至少一条边连接的节点之间的依赖性方向,评估该至少一条边的方向是否正确。
22.如权利要求21所述的方法,其特征在于,还包括通过将所述至少一条边的得分与所述各节点和所述至少一条边的所有其它可能的排列的得分进行比较,来确定所述至少一条边的得分是否为最佳可能得分。
23.如权利要求22所述的方法,其特征在于,还包括如果所述至少一条边的得分低于所述各节点和所述至少一条边的另一可能排列的得分,则反转所述边的方向以改进边得分。
24.一种在两个或多个计算机组件之间传输的、便于数据访问的数据分组,所述数据分组包括至少部分地基于一基于完整数据表格的模型或模式的数据集信息。
25.如权利要求24所述的数据分组,其特征在于,所述数据分组还包括直接来自所述数据集所基于的数据集信息。
26.如权利要求25所述的数据分组,其特征在于,所述数据分组还包括基于一完整数据表格的数据集信息。
27.一种在两个或多个计算机组件之间传输的、便于数据访问的数据分组,所述数据分组包括可用于至少部分地基于具有完整数据表格的贝叶斯网络学习具有决策树的贝叶斯网络的数据集信息。
28.一种采用权利要求1所述的系统的设备,包括计算机、服务器和手持式电子设备中的至少一个。
29.一种便于学习具有决策树的贝叶斯网络的系统,其特征在于,包括用于从一数据集学习完整表格贝叶斯网络的装置;用于细化从所述完整表格贝叶斯网络中得到的有向非循环图的装置;以及用于学习具有至少一个非完整表格分布的贝叶斯网络的装置,由此,依照由所述完整表格贝叶斯网络的有向非循环图的偏序施加的约束构造局部分布。
全文摘要
揭示了便于通过采用一种学习具有完整表格的贝叶斯网络的学习算法来学习具有决策树的贝叶斯网络的系统和方法。该学习算法可包括一搜索算法,它可反转具有完整表格的贝叶斯网络中的边,以细化与其相关联的有向非循环图。细化的完整表格DAG然后可用于导出用于在决策树贝叶斯网络中生长决策树的学习算法的一组约束。
文档编号G06N7/00GK1674008SQ20051006016
公开日2005年9月28日 申请日期2005年3月25日 优先权日2004年3月25日
发明者D·M·奇克林 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1