优化梯度提升特征选择的制作方法

文档序号:27094685发布日期:2021-10-27 16:36阅读:152来源:国知局
优化梯度提升特征选择的制作方法

1.本文所公开的主题通常涉及用于机器学习的特征选择。具体地,本公开致力于改善梯度提升特征选择的系统和方法。


背景技术:

2.梯度提升决策树基于一个或多个输入预测目标变量的值。第一棵树的每个节点基于单个输入的值将输入空间分为两部分。在训练期间,第一棵树被限制在最大深度以防止过度拟合。并非通过增加深度以提高第一棵树的准确性,而是创建第二棵树,第二棵树预测来自第一棵树的预测值(predicted value)与变量的实际值之间的差异。重复此过程,直到达到终止条件为止。生成的树的集合(ensemble)用于为训练数据集中未包括的未标记数据预测目标值。
附图说明
3.在附图的各图中,通过示例而非限制的方式示出了一些实施例。
4.图1是示出根据一些示例实施例的适合于梯度提升特征选择的网络环境的网络图;
5.图2是根据一些示例实施例的适合于使用梯度提升特征选择训练梯度提升决策树的梯度提升决策树训练服务器的框图;
6.图3是示出具有二维输入变量空间的离散目标值的分布的图;
7.图4是示出用于从图3的二维输入变量空间预测目标值的决策树的图;
8.图5是示出使用图4的决策树划分的图3的二维空间的图;
9.图6是示出在应用图4的决策树之后图3的二维输入变量空间中的残留误差分布的图;
10.图7是示出根据一些示例实施例的适合于训练梯度提升决策树的方法的操作的流程图;
11.图8是根据一些示例实施例的适用于梯度提升特征选择的数据库模式(schema)的框图;
12.图9是示出根据一些示例实施例的适合在训练梯度提升决策树中使用梯度提升特征选择的方法的操作的流程图;
13.图10是示出根据一些示例实施例的适合在训练梯度提升决策树中使用梯度提升特征选择的方法的操作的流程图;
14.图11是示出用于计算设备的软件架构的一个示例的框图;
15.图12是在其中可以执行指令以使机器执行本文所讨论的方法中的任何一个或多个的以计算机系统形式示例的机器的框图。
具体实施方式
16.示例方法和示例系统针对梯度提升特征选择。梯度提升决策树(gbdt)是一种能够以出色的准确性结果解决分类任务和回归任务的非常受欢迎的技术。梯度提升决策树依靠结合许多弱估计量(weak estimators)的集成方法(ensemble approach)。因此,可以通过将任务分解为较小的子问题然后再迭代解决从而解决分类任务或回归任务。
17.梯度提升决策树相继堆叠许多决策树,决策树在每一步都试图修复残留误差。因此,随着其他树添加到集合(ensemble)中,误差逐渐减小。每棵决策树在目标函数或损失函数的优化的指导下划分特征空间。在任何单独的决策树的创建期间,一旦满足终止条件(例如,最小数量的分区被添加到决策树、达到最大树深、达到最小残留误差或前述的任何合适的组合),分区过程就停止。决策树中的叶节点被分配了用于分类或回归的分值,该分值使对应特征空间内训练数据的总误差最小。梯度提升决策树产生的最终分值仅是通过将决策树应用于输入向量而获得的各个分值的总和。在各种实施例中,决策树的数量范围从少于十棵到几千棵。梯度提升决策树误差可以作为训练数据集或单独的验证数据集的均方误差或对数损失来度量。
18.过度拟合是任何回归算法都有的问题,包括梯度提升决策树。当算法对数据过度拟合时,训练数据的误差度量变得非常小,甚至减少到零,但似乎矛盾的是,先前未见过数据的误差度量增加了。过度拟合是由于算法完全学习训练数据集本身而并未确定广泛地适用于未见过数据的模式而产生的。减少梯度提升决策树中的过度拟合的一种方法是从训练数据中删除对输出影响最小的输入值以降低模型的复杂性。例如,可以使用包括邮政编码、平方英尺、卧室数量和当前房主年龄的大量输入变量初始训练用于预测房屋价值的算法。由于房主年龄与房屋价值之间的相关性较低,因此,年龄实际上是特定条目的标识符,使得模型过度拟合,但无法提供有用的预测能力。在确定房主年龄对目标预测影响较小之后,将该字段从训练数据中删除,并重建梯度提升决策树。将重建的梯度提升决策树的误差与原始的梯度提升决策树的误差进行比较,如果改变很小,则丢弃原始的梯度提升决策树,而是使用新的梯度提升决策树。可以重复此过程,直到进一步删除输入变量对所得模型的误差产生实质性影响为止。
19.确定哪个输入变量具有低预测价值(predictive value)的一种方法是确定梯度提升决策树中的最新决策树中首次使用的输入变量。由于每个连续的决策树都试图减少聚合的先前树的误差,因此最新树对梯度提升决策树的误差的影响小于任何先前树的影响。所以,早期树中未使用的输入变量的预测价值比早期树中已使用的输入变量的预测价值低。因此,通过在创建决策树时在数据库中存储指示在每棵决策树中首次使用了哪些特征的数据,每个特征的预测价值的显式计算可以省去。
20.当使用这种识别要删除哪些低预测性的特征的方法时,不需要重新生成较早的树以生成新的梯度提升决策树。由于在较早的树中未使用已删除特征,因此这些树早就忽略了已删除特征。所以,仅需要重新生成已删除特征首次出现在其中的树(以及其后的树),这与使用缩减的特征集从第一棵树开始重建梯度提升决策树的方法相比节省了计算时间。此外,由于梯度提升决策树的第一树集合被重复使用,梯度提升决策树的此部分的分值可被重复使用而无需重新计算,以便计算增加了新的树的下一模型的误差:这种增量误差计算利用了每棵决策树产生的分值的累加性质。
21.当综合考虑这些效果时,本文所述的一种或多种方法可以消除对训练或使用梯度提升决策树中所涉及到的某些工作量或资源的需要。一台或多台机器、数据库或网络使用的计算资源可能会被类似地减少。这种计算资源的示例包括处理器周期、网络流量、内存使用率、数据存储容量、功耗和冷却容量。
22.图1是示出根据一些示例实施例的适合于梯度提升特征选择的网络环境100的网络图。网络环境100包括基于网络的应用110、客户端设备160a和160b、以及网络190。基于网络的应用110由与数据库服务器130、存储数据140和梯度提升决策树150通信的应用服务器120提供。
23.应用服务器120访问数据140以经由网络接口180或应用接口170向客户端设备160a和客户端设备160b提供应用。应用服务器120、数据获取服务器125、数据库服务器130、梯度提升决策树训练服务器135、客户端设备160a和160b分别可以全部地或部分地在计算机系统中实现,如下参考图12所述。客户端设备160a和客户端设备160b可以被统称为多个客户端设备160或被一般地称为客户端设备160。
24.数据获取服务器125从一个或多个数据源接收数据。所接收的数据被提供给梯度提升决策树训练服务器135以训练一个或多个梯度提升决策树。经训练的梯度提升决策树被传送到数据库服务器130并被存储为梯度提升决策树150。应用服务器120使梯度提升决策树处理数据140以生成预测值(predicted value)。预测值由应用服务器120经由网络190提供给客户端设备160,以显示给用户。附加地或可替代地,预测值由应用服务器120使用以自动控制应用服务器120的进一步操作。例如,可以基于预测值自动扩展或拒绝企业的信用额度。
25.图1所示的任何机器、数据库或设备都可以在通用计算机中实现,所述通用计算机由软件修改(例如,配置或编程)为专用计算机以执行本文所述的机器、数据库或设备的功能。例如,下面参考图11讨论能够实现本文描述的方法中的任何一个或多个的计算机系统。本文中所使用的“数据库”是数据存储资源,并且可以存储被构造为文本文件、表格、电子表格、关系数据库(例如,对象关系数据库)、三重存储、分层结构的数据存储、面向文档的nosql数据库、文件存储或其任何合适的组合的数据。所述数据库可以是内存数据库。此外,图1中所示的机器、数据库或设备中的任何两个或更多可以组合为单个机器、数据库或设备,并且本文针对任何单个机器、数据库或设备描述的功能可以在多个机器、数据库或设备中进行细分。
26.应用服务器120、数据获取服务器125、数据库服务器130、梯度提升决策树训练服务器135和客户端设备160a至客户端设备160b通过网络190连接。网络190可以是使得能够在机器、数据库和设备的两者或者三者之间进行通信的任何网络。因此,网络190可以是有线网络、无线网络(例如,移动网络或蜂窝网络)或其任何合适的组合。网络190可以包括一个或多个组成私有网络、公共网络(例如,因特网)的部分或其任何适当组合。
27.图2是根据一些示例实施例的适合于使用梯度提升特征选择训练梯度提升决策树的梯度提升决策树训练服务器的框图200。梯度提升决策树训练服务器135被示为包括通信模块210、数据获取模块220、决策树构建模块230、梯度提升模块240、特征减少模块250和存储模块260,它们均被配置为彼此通信(例如,通过总线、共享内存或交换机)。可以使用硬件(例如,机器的处理器)实现本文描述的模块中的任何一个或多个。例如,本文描述的任何模
块可以由配置为执行本文针对该模块描述的操作的处理器实现。而且,这些模块中的任何两个或更多个可以组合成单个模块,并且本文针对单个模块描述的功能可以在多个模块之间细分。此外,根据各种示例实施例,本文描述为在单个机器、数据库或设备内实现的模块可以分布在多个机器、数据库或设备之间。
28.通信模块210接收发送到梯度提升决策树训练服务器135的数据,并发送来自梯度提升决策树训练服务器135的数据。例如,通信模块210从数据获取服务器125接收一个或多个域的域数据(例如,业务部门的数据、客户细分数据、客户许可数据、客户会议数据或其任何合适的组合),并将域数据提供给数据获取模块220。
29.数据获取模块220从数据获取服务器125或从多个这样的数据获取服务器接收域数据。数据获取模块220将接收到的域数据处理成适合于训练梯度提升决策树的格式。
30.决策树构建模块230使用来自域的域数据构建单独的决策树。梯度提升模块240使决策树构建模块230迭代地构建决策树,以减少训练数据集或验证数据集的残留误差。因此,由决策树构建模块230构建的决策树集合形成梯度提升决策树。训练数据集和验证数据集都是已知输入特征和输出值的数据集(也称为“标记数据”)。单个标记数据集可以分为训练数据集和验证数据集。例如,可以随机选择集合的20%作为验证数据集,其余80%作为训练数据集。
31.特征减少模块250识别具有低预测价值的特征,将其从数据集中删除,并使决策树构建模块230和梯度提升模块240形成第二梯度提升决策树。特征减少模块250控制形成更简单的梯度提升决策树的迭代过程,直到进一步简化将导致误差增加超过预定阈值,并回滚(roll back)最后的改变为止。梯度提升模块240通过通信模块210提供经训练的梯度提升决策树。附加地或可替代地,经训练的梯度提升决策树可以由存储模块260存储在数据库或文件系统中。
32.图3是示出了二维输入变量空间中的示例目标值的图300。所述空间的两个维度分别标记为x1和x2,每个维度的范围为0到1。所述二维空间内的值标记为x和o。对于此讨论,x的值为1,o的值为0。因此,梯度提升决策树训练服务器135可以创建梯度提升决策树以划分二维空间,并为每个分区生成分值以最小化误差。
33.在另一极端,可以划分二维空间使得每个训练值在单独的分区中,从而允许将每个分区的分值精确地设置为训练经验值,并将误差减小为零。但是,生成的梯度提升决策树的预测值将低于另一未过度拟合的梯度提升决策树的预测值。因此,梯度提升决策树训练服务器135努力寻找减小误差而并不过度拟合的梯度提升决策树。
34.图4是示出用于预测图3的二维空间的变量值的决策树400的图。决策树400包括根节点410;中间节点420a、中间节点420b、中间节点420c、中间节点420d和中间节点420e;叶节点430a、叶节点430b、叶节点430c、叶节点430d、叶节点430e、叶节点430f和叶节点430g。
35.为了预测图3的二维空间中的点的值,从根节点410的比较开始进行一系列比较。因此,如果该点的x2值小于0.302548,则下一个比较是中间节点420a的比较。否则,下一个比较是中间节点420b的比较。在进行多次比较之后,到达叶节点430a至430g中的一个。叶节点430a至430g中的每一个指示落入由决策树400定义的叶节点的区域内的点的分值。例如,对于具有x2<0.0302548和x1<0.800113的所有点都达到叶节点430a。
36.图5是示出使用图4的决策树400划分的图3的二维空间的图500。图3的二维空间被
划分为区域510、区域520、区域530、区域540、区域550、区域560和区域570。
37.区域510至区域570中的每一个对应于决策树400的叶节点430a至叶节点430g中的每一个。例如,区域510包括x2<0.302548并且x1>=0.952647的所有点。该区域对应于叶节点430e,并且通过评估根节点410以及叶节点420b和420d而达到。叶节点430e的预测值为0.4。作为另一示例,区域550包括具有x2>=0.302548和0.483215<=x1<0.883535的所有点。该区域对应于叶节点430c,其通过评估根节点410以及叶节点420b和叶节点420c而达到。叶节点430c的分值为0.1231。
38.图6是示出在使用决策树400生成的预测值和图3的二维空间中的实际值之间的误差量度的分布的图600。在实践中,通常使用数值,但是在图600中,当预测值在实际值的0.25以内时使用符号“=”,而当实际值至少比预测值大0.25时使用符号“+”,并且当实际值比预测值至少小0.25时使用符号
“‑”
。因此,当产生第二决策树时,它将倾向于重新划分图6中用“+”符号示出的高误差子空间,从而校正由第一决策树400产生的误差量度。结果,将两棵决策树的结果相加将导致比单独使用第一决策树400更低的平均误差。通过重复此过程,可以生成任意数量的决策树和进行求和,从而通过每次迭代减少误差。
39.图7是示出根据一些示例实施例的适合于训练梯度提升决策树的方法的操作的流程图。方法700包括操作710、操作720、操作730和操作740。作为示例而非限制,方法700被描述为在图1的网络环境100中由图2中描述的梯度提升决策树训练服务器135执行。
40.在操作710中,决策树构建模块230使用目标函数为特征空间创建决策树(例如,决策树400)。在决策树的创建期间,一旦满足终止标准(例如,最小数量的分区被添加到决策树、达到最大树深、达到最小残留误差或其任何合适的组合),分区过程就停止。例如,当深度达到预定的最大值4至8时,分区过程会停止。决策树中的叶节点被分配了用于分类或预测的值,该值使对应特征空间内的训练数据的总误差最小。
41.在操作720中,梯度提升模块240使用所有创建的决策树的结果之和测量误差。因此,在第一提升迭代中,确定第一决策树的误差(例如,如图6所示)。在随后的迭代中,将来自多棵决策树的结果加在一起,并与特征空间中每个特征向量的实际值进行比较,以确定误差。
42.在操作730中,梯度提升模块240确定误差是否低于预定阈值。如果误差低于预定阈值,则模型完成(操作740)。在一些示例实施例中,如果误差不再减小或者已经生成了预定最大数目的树(例如1000棵树),则修改操作730以确定模型完成了。
43.如果模型没有完成,则方法返回操作710,并为特征空间创建另一棵决策树。由于每次迭代减小误差,因此可以使用任意低的值用于预定阈值,但是较低的值将导致使用较多数量的决策树。另外,过度拟合是可能的,以至于将训练数据集的误差值设置得太低实际上会导致验证数据集或未来数据的误差值更高。
44.图8是根据一些示例实施例的适用于梯度提升特征选择的数据库模式800的框图。数据库模式800包括元数据表810和预测表840。元数据表810包括格式820的行830a、行830b、行830c、行830d、行830e和行830f。预测表840包括格式850的行860a、行860b、行860c、行860d、行860e和行860f。梯度提升决策树训练服务器135在执行方法700期间为元数据表810和预测表840生成数据。
45.元数据表810的格式820包括梯度提升决策树(gbdt)字段、树字段、特征字段和误
差字段。行830a至行830f中的每一个存储用于在梯度提升决策树中的单棵决策树的数据。每行的树字段指示该行适用于梯度提升决策树中的哪棵树,gbdt字段标识该行适用于哪个梯度提升决策树。在图8的示例中,示出了用于单个梯度提升决策树的数据,但是元数据表810适合于存储在不同特征空间中做出不同预测的多个梯度提升决策树的数据、用于在单个特征空间中做出预测的多个替代梯度提升决策树、或其任何合适的组合。
46.决策树的每个非叶节点在单个特征上划分特征空间。因此,每棵决策树都使用一个或多个特征,但不一定使用所有特征。在特征字段中指示在决策树中使用的特征,这些特征在比其更早的决策树中未被使用。因此,在图8的示例中,特征空间至少是八维的。第一决策树仅使用特征f2和特征f3。第二决策树首次使用特征f1,并且可以使用或不使用特征f2和特征f3。第三决策树首次使用特征f4,并且可以使用或不使用特征f1、特征f2和特征f3。第四决策树必须使用至少一个特征,但是特征字段为空,因为第四决策树仅使用前三棵决策树中的一个或多个已经使用的特征。第五决策树引入了特征f6和特征f7的使用,第六决策树引入了特征f8的使用。
47.误差字段指示当使用直到该行的树为止的所有树而不使用后来的树时的梯度提升决策树的累积误差。因此,在创建单棵树之后,误差为0.28,如行830a所示。添加第二棵树将误差减小到了0.14,如行830b所示。每个后续树进一步减少误差,直到通过使用六棵决策树达到0.04的误差为止,如行830f所示。
48.预测表840的格式850包括梯度提升决策树(gbdt)字段、树字段、输入矢量字段和值字段。行860a示出了由第一梯度提升决策树的第一棵树生成的输入矢量v1的预测(分数)值为0.8070。行860b示出当通过第一梯度提升决策树的第二棵树改进第一预测时,改进的预测为0.9143。行860c示出当通过第三树改进两树预测时,该预测变为0.9457。行860d示出对于替代gbdt 1a,使用与gbdt1相同的前两棵树,但是使用替代树3a,改进的预测为0.9402。行860e和行860f包含用于另一输入向量v2的数据。
49.参考图3至图5,向量v1可以对应于“x”点,“x”点具有值1。因此,gbdt 1的每棵增加的树使预测值更接近于1,从而减小误差。但是,与gbdt1的树3相比,gbdt 1a的备用树3a相对于第二棵树减少的误差的量更少。这是由于从树3所依赖的特征集中删除了一个特征而导致的结果,尽管增加的误差量会因删除的特征的重要性而有所不同。
50.图9是示出根据一些示例实施例的适于在训练梯度提升决策树中使用梯度提升特征选择的方法900的操作的流程图。方法900包括操作910、操作920、操作930、操作940、操作950、操作960和操作970。作为示例而非限制,方法900被描述为在图1的网络环境100中由图2中描述的梯度提升决策树训练服务器135使用图8的数据库模式800而执行
51.在操作910中,梯度提升决策树训练服务器135构建具有所有可用特征的完全合格(full

fledged)的梯度提升决策树(例如,使用方法700)。在操作920中,特征减少模块250识别最不重要的特征:这种重要性由梯度提升模块240估计。
52.特征减少模块250从用于训练的可用特征集中删除所识别的特征(操作930)。在操作940中,梯度提升决策树训练服务器135在不存在已删除特征的情况下构建梯度提升决策树(例如,使用方法700)。该模型被称为“精简模型”,因为它比以前的模型使用更少的特征。在一些示例实施例中,通过精简模型而构建的过程跳过使用元数据表810的步骤。例如,不是从重新创建第一决策树开始,而是仅仅忽略使用已删除特征的决策树,并且构建树的过
程通过未使用已删除特征而生成的新决策树替换使用了已删除特征的第一决策树进行恢复。因此,并非从操作710创建第一决策树开始,操作710重新创建第六决策树。与仅删除特征并从开始重新创建梯度提升决策树的方法相比,此方法可节省大量的计算资源和内存资源以及时间。
53.在操作950中,特征减少模块250测量精简模型的性能降低。由于梯度提升决策树训练服务器135先前模型中选择了已删除特征,因此删除该选项将迫使梯度提升决策树训练服务器135进行次优选择,从而与之相比会降低精简模块的性能。可以针对训练数据集或验证数据集进行模型的误差度量。
54.通过将来自梯度提升决策树中所有树的输入向量的结果相加确定输入向量的预测。预测表840可以在测量精简模型的性能中用于节省计算时间。例如,可以使用先前梯度提升决策树的部分预测,直到(taken up to)保留在精简梯度提升决策树中的最后的树,而非重新计算精简梯度提升决策树的此部分的预测。因此,在行860d的gbdt 1a的情况下,行860b的值字段可以重新使用,避免了重新评估树1和树2,以使用gbdt 1a确定输入矢量v1的值。因此,通过评估决策树(例如,0.0279,使得行860b中的0.9143预测与向量v1的树3a的预测之和为行860d的0.9402的值)仅确定树3a的部分预测。通过与重新评估所有先前决策树以确定精简模型的预测值的其他方法进行比较,该方法节省了功率、处理资源和计算时间。
55.如果误差增加在预定阈值以下(操作960),则在遵循简约原则的特征缩减与性能降低之间的取舍(trade

off)被接受,并且方法900通过返回操作920重复特征减少过程。可替代地,如果在操作960中误差增加不低于预定阈值,则特征减少模块250拒绝进行特征减少,并且在操作970中,先前的模型被接受为最终模型。因此,通过使用方法900,从模型中删除特征,直到这样做不可接受地降低了模型的质量,并且使用具有可接受准确度的最简单模型。
56.图10是示出根据一些示例实施例的适于在训练梯度提升决策树中使用梯度提升特征选择的方法1000的操作的流程图。方法1000包括操作1010、操作1020、操作1030、操作1040、操作1050和操作1060。作为示例而非限制,方法1000被描述为在图1的网络环境100中由图2中描述的梯度提升决策树训练服务器135使用图8的数据库模式800而执行。
57.在操作1010中,决策树构建模块230生成用于划分特征空间的第一决策树,所述第一决策树使用第一特征集。例如,可以使用特征f2和特征f3生成行830a的决策树。
58.在操作1020中,决策树构建模块230生成第二决策树,第二决策树使用未包括在第一特征集中的第二特征集对第一决策树进行改进。作为示例,行830b的决策树使用特征f1,特征f1不包括在行830a的决策树的特征集中。第二决策树也可以使用在第一决策树中使用的一个或更多个特征。
59.在操作1030中,存储模块260存储将第一决策树与第一特征集相关联的第一数据。例如,可以创建或修改行830a,以将特征f2和特征f3与第一决策树相关联。
60.在操作1040中,存储模块260还存储将第二决策树与第二特征集相关联的第二数据。继续该示例,创建或修改行830b以将特征f1与第二决策树相关联。
61.在操作1050中,特征减少模块250从可用特征集中删除第二特征集中的特征。例如,可以执行操作920和操作930。在该示例中,可以从元数据表810中引用的决策树所基于的特征f1至特征f8的集合中删除特征f1。
62.在操作1060中,决策树构建模块230基于第二数据生成第三决策树,第二数据将第二决策树与包括已删除特征的第二特征集相关联,第三决策树在不使用已删除特征情况下对第一决策树进行改进。
63.上面对方法1000的讨论将行830a和830b的决策树称为第一决策树和第二决策树,但是方法1000也可以用于其他成对的决策树。例如,参考行830e和行830f,决策树“5”可以是第一决策树,决策树“6”可以是第二决策树,其中第五决策树使用的第一特征集是前五棵树使用的聚合特征集(f1、f2、f3、f4、f6和f7)和第六决策树使用的第二特征集是f8。
64.作为另一个示例,考虑包括对应于行830a至行830d的四棵决策树的梯度提升决策树。在此示例中,创建了四棵决策树,但第四决策树没有引入任何新特征。操作1010涉及行830b的决策树;操作1020涉及行830c的决策树;操作1030和操作1040涉及行830b和行830c的存储。由于行830d的决策树改进了行830c的决策树,因此在创建不依赖特征f4的替代梯度提升决策树时,会将两棵决策树从梯度提升决策树中移除。因此,在该示例中,操作1060的“第三决策树”是指替代行830c的决策树的替代决策树。
65.通过在操作1030、操作1040和操作1060中使用元数据表810,方法1000能够构建替代梯度提升决策树,该替代梯度提升决策树避免使用特征对数据进行建模,这不会在识别最不重要的特征时引起大量的计算成本。另外,通过生成替代第三决策树以改进第一决策树而非重新生成第一决策树,可以节省额外的计算和内存资源。
66.示例
67.示例1.一种方法,包括:
68.由一个或多个处理器生成用于划分特征空间的第一决策树,所述第一决策树使用第一特征集,所述第一特征集是可用特征集的第一子集;
69.由所述一个或多个处理器生成第二决策树,所述第二决策树对所述第一决策树进行改进以改善特征空间的划分,所述第二决策树使用所述第一特征集的零个或更多个特征和不包括在所述第一特征集中的第二特征集,所述第二特征集是所述可用特征集的第二子集;
70.在数据库中存储将所述第一决策树与所述第一特征集相关联的第一数据;
71.在所述数据库中存储将所述第二决策树与所述第二特征集相关联的第二数据;
72.从所述可用特征集中删除所述第二特征集中的特征;以及
73.基于将所述第二决策树与包括已删除特征的所述第二特征集相关联的所述第二数据,生成第三决策树,所述第三决策树对所述第一决策树进行改进以改善特征空间的划分,所述第三决策树未使用所述已删除特征。
74.示例2.根据示例1所述的方法,还包括:
75.由所述一个或多个处理器生成第四决策树,所述第四决策树对所述第一决策树和所述第二决策树进行改进以改善特征空间的划分,所述第四决策树使用所述第一特征集中的零个或更多个特征、所述第二特征集中的零个或更多个特征、以及不包括在所述第一特征集或所述第二特征集中的第三特征集,所述第三特征集是所述可用特征集的第三子集;
76.在所述数据库中存储将所述第四决策树与所述第三特征集相关联的所述第三数据;以及
77.基于将所述第四决策树与不包括已删除特征的所述第三特征集相关联的所述第
三数据,使用所述第二数据确定所述已删除特征在所述第二特征集中。
78.示例3.根据示例1或示例2所述的方法,还包括:
79.确定包括所述第一决策树和所述第二决策树的第一模型与包括所述第一决策树和所述第三决策树的第二模型之间的质量差;以及
80.基于所述质量差和预定阈值,使用所述第一模型划分特征空间。
81.示例4.根据示例3所述的方法,还包括:
82.基于验证数据集确定所述第一模型的第一质量;
83.基于所述验证数据集确定所述第二模型的第二质量;并且其中
84.基于所述第一质量和所述第二质量确定所述质量差。
85.示例5.根据示例3或示例4所述的方法,其中,确定所述第一模型和所述第二模型之间的质量差包括:
86.通过确定所述第一决策树的第一误差度量和所述第二决策树的第二误差度量确定所述第一模型的质量;
87.在所述数据库中存储所述第一误差度量;以及
88.通过访问存储的用于所述第一决策树的所述第一误差度量并确定用于所述第三决策树的第三误差度量,确定所述第二模型的质量。
89.示例6.根据示例1至示例5中任一项所述的方法,还包括:
90.确定包括所述第一决策树和所述第二决策树的第一模型与包括所述第一决策树和所述第三决策树的第二模型之间的质量差;以及
91.基于所述质量差和预定阈值,从所述可用特征集中删除第二特征。
92.示例7.根据示例1至示例6中任一项所述的方法,还包括:
93.基于验证数据集确定所述第一决策树的第一质量;
94.基于所述验证数据集,结合所述第二决策树确定所述第一决策树的第二质量;
95.在所述数据库中存储将所述第一质量与所述第一决策树相关联的第三数据;以及
96.在所述数据库中存储将所述第二质量与所述第二决策树相关联的第四数据。
97.示例8.一种系统,包括:
98.存储指令的存储器;以及
99.一个或多个处理器,由所述指令配置以执行包括以下的操作:
100.生成用于划分特征空间的第一决策树,所述第一决策树使用第一特征集,所述第一特征集是可用特征集的第一子集;
101.生成第二决策树,所述第二决策树对所述第一决策树进行改进以改善特征空间的划分,所述第二决策树使用所述第一特征集的零个或更多个特征和不包括在所述第一特征集中的第二特征集,所述第二特征集是所述可用特征集的第二子集;
102.在数据库中存储将所述第一决策树与所述第一特征集相关联的第一数据;
103.在所述数据库中存储将所述第二决策树与所述第二特征集相关联的第二数据;
104.从所述可用特征集中删除所述第二特征集中的特征;以及
105.基于将所述第二决策树与包括已删除特征的所述第二特征集相关联的所述第二数据,生成第三决策树,所述第三决策树对所述第一决策树进行改进以改善特征空间的划分,所述第三决策树未使用所述已删除特征。
106.示例9.根据示例8所述的系统,其中所述操作还包括:
107.生成第四决策树,所述第四决策树对所述第一决策树和所述第二决策树进行改进以改善特征空间的划分,所述第四决策树使用所述第一特征集中的零个或更多个特征、所述第二特征集中的零个或更多个特征、以及不包括在所述第一特征集或所述第二特征集中的第三特征集,所述第三特征集是所述可用特征集的第三子集;
108.在所述数据库中存储将所述第四决策树与所述第三特征集相关联的所述第三数据;以及
109.基于将所述第四决策树与不包括已删除特征的所述第三特征集相关联的所述第三数据,使用所述第二数据确定所述已删除特征在所述第二特征集中。
110.示例10.根据示例8或示例9所述的系统,其中所述操作还包括:
111.确定包括所述第一决策树和所述第二决策树的第一模型与包括所述第一决策树和所述第三决策树的第二模型之间的质量差;以及
112.基于所述质量差和预定阈值,使用所述第一模型划分特征空间。
113.示例11.根据示例10所述的系统,其中所述操作还包括:
114.基于验证数据集确定所述第一模型的第一质量;
115.基于所述验证数据集确定所述第二模型的第二质量;并且其中
116.所述质量差的确定基于所述第一质量和所述第二质量。
117.示例12.根据示例10或示例11所述的系统,其中,确定所述第一模型和所述第二模型之间的质量差包括:
118.通过确定所述第一决策树的第一误差度量和所述第二决策树的第二误差度量确定所述第一模型的质量;
119.在所述数据库中存储所述第一误差度量;以及
120.通过访问存储的用于所述第一决策树的所述第一误差度量并确定用于所述第三决策树的第三误差度量,确定所述第二模型的质量。
121.示例13.根据示例8至示例12中任一项所述的系统,其中所述操作还包括:
122.确定包括所述第一决策树和所述第二决策树的第一模型与包括所述第一决策树和所述第三决策树的第二模型之间的质量差;以及
123.基于所述质量差和预定阈值,从所述可用特征集中删除第二特征。
124.示例14.根据示例8至示例13中任一项所述的系统,其中所述操作还包括:
125.基于验证数据集确定所述第一决策树的第一质量;
126.基于所述验证数据集,结合所述第二决策树确定所述第一决策树的第二质量;
127.在所述数据库中存储将所述第一质量与所述第一决策树相关联的第三数据;以及
128.在所述数据库中存储将所述第二质量与所述第二决策树相关联的第四数据。
129.示例15.一种存储指令的非暂时性机器可读介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器执行包括以下的操作:
130.生成用于划分特征空间的第一决策树,所述第一决策树使用第一特征集,所述第一特征集是可用特征集的第一子集;
131.生成第二决策树,所述第二决策树对所述第一决策树进行改进以改善特征空间的划分,所述第二决策树使用所述第一特征集的零个或更多个特征和不包括在所述第一特征
集中的第二特征集,所述第二特征集是所述可用特征集的第二子集;
132.在数据库中存储将所述第一决策树与所述第一特征集相关联的第一数据;
133.在所述数据库中存储将所述第二决策树与所述第二特征集相关联的第二数据;
134.从所述可用特征集中删除所述第二特征集中的特征;以及
135.基于将所述第二决策树与包括已删除特征的所述第二特征集相关联的所述第二数据,生成第三决策树,所述第三决策树对所述第一决策树进行改进以改善特征空间的划分,所述第三决策树未使用所述已删除特征。
136.示例16.根据示例15所述的非暂时性机器可读介质,其中所述操作还包括:
137.生成第四决策树,所述第四决策树对所述第一决策树和所述第二决策树进行改进以改善特征空间的划分,所述第四决策树使用所述第一特征集中的零个或更多个特征、所述第二特征集中的零个或更多个特征、以及不包括在所述第一特征集或所述第二特征集中的第三特征集,所述第三特征集是所述可用特征集的第三子集;
138.在所述数据库中存储将所述第四决策树与所述第三特征集相关联的所述第三数据;以及
139.基于将所述第四决策树与不包括已删除特征的所述第三特征集相关联的所述第三数据,使用所述第二数据确定所述已删除特征在所述第二特征集中。
140.示例17.根据示例15或示例16所述的非暂时性机器可读介质,其中所述操作还包括:
141.确定包括所述第一决策树和所述第二决策树的第一模型与包括所述第一决策树和所述第三决策树的第二模型之间的质量差;以及
142.基于所述质量差和预定阈值,使用所述第一模型划分特征空间。
143.示例18.根据示例17所述的非暂时性机器可读介质,其中所述操作还包括:
144.基于验证数据集确定所述第一模型的第一质量;
145.基于所述验证数据集确定所述第二模型的第二质量;并且其中
146.基于所述第一质量和所述第二质量确定所述质量差。
147.示例19.根据示例17或示例18所述的非暂时性机器可读介质,其中所述操作还包括:
148.确定包括所述第一决策树和所述第二决策树的第一模型与包括所述第一决策树和所述第三决策树的第二模型之间的质量差;以及
149.基于所述质量差和预定阈值,从所述可用特征集中删除第二特征。
150.示例20.根据示例15至示例19中任一项所述的非暂时性机器可读介质,其中所述操作还包括:
151.基于验证数据集确定所述第一决策树的第一质量;
152.基于所述验证数据集,结合所述第二决策树确定所述第一决策树的第二质量;
153.在所述数据库中存储将所述第一质量与所述第一决策树相关联的第三数据;以及
154.在所述数据库中存储将所述第二质量与所述第二决策树相关联的第四数据。
155.图11是示出计算设备的软件架构1102的一个示例的框图1100。架构1102可以例如与如本文所描述的各种硬件架构结合地使用。图11仅是软件架构的非限制性示例,并且可以实现许多其他架构以促进本文所描述的功能。代表性硬件层1104被示出,并且可以表示
例如如上所提及的任何计算设备。在一些示例中,可以根据图11的计算系统的架构来实现硬件层1104。
156.代表性硬件层1104包括一个或多个处理单元1106,处理单元1106具有相关联的可执行指令1108。可执行指令1108表示软件架构1102的可执行指令,包含本文所描述的方法、模块、子系统和组件等等的实施方式。并且其还可以包含也具有可执行指令1108的存储器和/或储存模块1110。硬件层1104还可以包括如由其他硬件1112指示的其他硬件,其表示硬件层1104的其他硬件,诸如示出为软件架构1102的一部分的其他硬件。
157.在图11的示例架构中,软件架构1102可以概念化为层的堆栈,其中每个层提供特定功能。例如,软件架构1102可以包含诸如以下的层:操作系统1114、库1116、框架/中间件1118、应用1120和表示层1144。可操作地,应用1120和/或层内的其他组件可以通过软件堆栈引起应用程序接口(api)调用1124,并且响应于api调用1124存取如消息1126所示的响应、返回值等。图示的层性质上具有代表性,但并非所有软件构架具有所有层。例如,一些移动或专用操作系统可以不提供框架/中间件层1118,而其他可以提供这样的层。其他软件架构可以包含附加的层或不同的层。
158.操作系统1114可以管理硬件资源并且提公共服务。操作系统1114可以包含例如内核1128、服务1130、和驱动程序1132。内核1128可以充当硬件层和其他软件层之间的抽象层。例如,内核1128可以负责存储器管理、处理器管理(例如调度)、组件管理、联网、安全性设定等。服务1130可以为其他软件层提供其他公共服务。在一些示例中,服务1130包括中断服务。中断服务可以检测中断的接收,并且作为响应使得架构1102在访问中断时暂停其当前处理并执行中断服务例程(isr)。
159.驱动程序1132可以负责控制底层硬件或与之相接。例如,驱动程序1132可以包含显示器驱动程序、相机驱动程序、蓝牙驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(usb)驱动器)、驱动器、nfc驱动器、音频驱动器、电源管理驱动器等等,依硬件配置而定。
160.库1116可以提供公共基础结构,其可以被应用1120、和/或其他组件、和/或其他层所利用。库1116典型地提供功能,该功能允许其他软件模块以比与底层操作系统1114功能(例如内核1128、服务1130和/或驱动程序1132)直接相接更容易的方式来执行任务。库1116可以包含系统库1134(例如c标准库),其可以提供诸如存储器分配功能、字符串操纵功能、数学功能之类的功能。此外,库1116可以包含api库1136,诸如媒体库(例如支持表示和操纵诸如mpeg4、h.264、mp3、aac、amr、jpg、png的各种媒体格式的库)、图形库(例如可以用于在显示器上以图形内容渲染2d和3d的opengl框架)、数据库库(例如可以提供各种关系数据库功能的sqlite)、网络库(例如可以提供网络浏览功能的webkit)等。库1116还可以包括各种各样其他库1138,以将许多其他api提供到应用1120和其他软件组件/模块。
161.框架1118(有时还称为中间件)可以提供较高级公共基础结构(infrastructure),该较高级公共基础结构可被应用1120、和/或其他软件组件/模块利用。例如,框架/中间件1118可以提供各种图形用户界面(gui)功能、高级资源管理、高层位置服务等。框架1118可以提供广泛用途的其他api,所述api可被应用1120、和/或其他软件组件/模块利用,其中一些可以专用于特定操作系统或平台。
162.应用1120包含内建应用1140和/或第三方应用1142。代表性内建应用1140的示例
可以包括但不限于联系人应用、浏览器应用、书本阅读器应用、定位应用、媒体应用、消息应用和/或游戏应用。第三方应用1142可以包括任何内建应用1140,以及广泛种类的其他应用。在具体示例中,第三方应用1142(例如由除了特定平台的供应商之外的实体使用android
tm
或ios
tm
软件开发工具包(sdk)所开发的应用)可以是在诸如ios
tm
、android
tm
、phone的移动操作系统或其他移动计算设备操作系统上运行的移动软件。在该示例中,第三方应用1142可以引起由诸如操作系统1114的移动操作系统所提供的api调用1124,以促进本文所描述的功能。
163.应用1120可以利用内建操作系统功能(例如内核1128、服务1130和/或驱动程序1132)、库(例如系统1134、api 1136、和其他库1138)、框架/中间件1118,以创建与系统的用户交互的用户界面。替代地或附加地,在一些系统中,可以通过诸如表示层1144的表示层发生与用户的交互。在这些系统中,可以将应用/模块“逻辑”与和用户交互的应用/模块的方面分离开。
164.一些软件架构利用虚拟机。在图11的示例中,这由虚拟机1148图示。虚拟机创建应用/模块可以执行的软件环境,如同他们在硬件计算设备上执行一样。虚拟机1148由主机操作系统(操作系统1114)托管,并且典型地(尽管并非总是)具有虚拟机监视器1146,其管理虚拟机1148的操作以及与主机操作系统(即操作系统1114)的接口。软件架构在虚拟机1148内执行,诸如操作系统1150、库1152、框架/中间件1154、应用1156和/或表示层1158。虚拟机1148内执行的软件架构的这些层可以与先前所描述的对应层相同或者可以与先前所描述的对应层不同。
165.模块、组件和逻辑
166.某些实施例在本文描述为包括逻辑或多个组件、模块或机构。模块可以构成软件模块(例如(1)在非瞬态机器可读介质上体现的代码或(2)在传输信号中体现的代码)或硬件实现的模块。硬件实现的模块是能够执行某些操作的有形单元,并且可以以某种方式配置或布置。在示例实施例中,一个或多个计算机系统(例如独立的、客户端或服务器计算机系统)、或者一个或多个硬件处理器可以由软件(例如应用或应用部分)配置为硬件实现的模块,该硬件实现的模块操作以执行本所描述的某些操作。
167.在各种实施例中,可以机械地或电子地实现硬件实现的模块。例如,硬件实现的模块可以包括专用电路或逻辑,该专用电路或逻辑被永久地配置(例如配置为专用处理器,诸如现场可编程门阵列(fpga)或专用集成电路(asic))为执行某些操作。硬件实现的模块还可包括由软件临时配置为执行某些操作的可编程逻辑或电路(例如涵盖在通用处理器或另一个可编程处理器内)。将理解的是,可以由成本和时间考虑来驱动决定将硬件实现的模块机械地实现为专用和永久配置的电路还是实现为临时配置的电路(例如,由软件配置)。
168.因此,术语“硬件实现的模块”应该认为涵盖有形实体,应该是物理地构造、永久地配置(例如硬接线)、或者临时地或暂时地配置(例如编程)的实体,以某种方式进行操作和/或执行本文所描述的某些操作。考虑到硬件实现的模块是暂时地配置(例如,编程)的实施例,硬件实现的模块的每一个不一定在任何一个时间实例时进行配置或实例化。例如,在硬件实现的模块包括使用软件配置的通用处理器的情形下,通用处理器可以在不同的时间配置为相应不同的硬件实现的模块。软件可以相应地配置处理器,例如,以在一个时间实例处构成特定的硬件实现的模块,并在不同的时间实例处构成不同的硬件实现的模块。
169.硬件实现的模块可以向其他硬件实现的模块提供信息,或从其他硬件实现的模块接收信息。因此,所描述的硬件实现的模块可以被认为是通信耦接的。在同时存在多个这样的硬件实现的模块的情形下,可以通过信号传输(例如通过连接硬件实现的模块的适当的电路和总线)实现通信。在不同时间配置或实例化多个硬件实现的模块的实施例中,可以例如通过在多个硬件实现的模块已经对其进行存取的存储器结构中对信息的储存和取回来实现这样的硬件实现的模块之间的通信。例如,一个硬件实现的模块可以执行操作,并将该操作的输出储存在与之通信耦接的存储器设备中。然后,其他硬件实现的模块可以稍后存取存储器设备以取回并处理所储存的输出。硬件实现的模块还可以发起与输入或输出设备的通信,并且可以对资源(例如信息集)进行操作。
170.本文所描述的示例方法的各种操作可以至少部分地由一个或多个处理器执行,该一个或多个处理器临时配置(例如由软件)或永久配置为执行相关操作。无论是临时配置还是永久配置,这样的处理器都可以构成处理器实现的模块,这些模块可以操作为执行一个或多个操作或功能。在一些示例实施例中,本文所指代的模块可以包括处理器实现的模块。
171.类似地,本文所描述的方法可以至少部分地由处理器实现。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的模块执行。某些操作的性能可以分布在一个或多个处理器之间,不仅驻留在单个机器内,而且可以跨多个机器部署。在一些示例实施例中,一个或多个处理器可以位于单个位置(例如在家庭环境、办公室环境或服务器场内),而在其他实施例中,处理器可以跨多个位置分布。
172.一个或多个处理器还可以操作为在“云计算”环境中或作为“软件即服务”(saas)来支持相关操作的性能。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如互联网)以及经由一个或多个适当的接口(例如api)来接入。
173.电子设备和系统
174.示例实施例可以用数字电子电路、或计算机硬件、固件、或软件,或它们的组合来实现。可以使用计算机程序产品来实现示例实施例,该计算机程序产品例如是有形地体现在信息载体中(例如机器可读介质中)的计算机程序,以由数据处理设备(例如可编程的处理器、计算机或多个计算机)执行,或者控制该数据处理设备(例如可编程的处理器、计算机或多个计算机)的操作。
175.可以用任何形式的编程语言(包括编译或解释语言)写入计算机程序,并且可以用任何形式(包括作为独立程序或模块、子例程或适用于计算环境的其他单元)来部署计算机程序。计算机程序可以部署为在一个计算机上或者在多个计算机上执行,该多个计算机处于一个站点或者跨多个站点分布并由通信网络互连。
176.在示例实施例中,可以由执行计算机程序的一个或多个可编程处理器来执行操作,以通过对输入数据进行操作并生成输出来执行功能。方法操作还可以由专用逻辑电路(例如fpga或asic)来执行,并且示例实施例的设备可以被实现为专用逻辑电路(例如fpga或asic)。
177.计算系统可以包含客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络交互。客户端和服务器的关系借助于在相应的计算机上运行并彼此之间具有客户端

服务器关系的计算机程序而产生。在部署可编程计算系统的实施例中,将理解的
是,硬件和软件架构两者均值得考虑。具体地,将理解的是,对于是在永久配置的硬件(例如asic)中、或是在临时配置的硬件(例如软件和可编程处理器的组合)中、还是在永久地配置的硬件和临时配置的硬件的组合中实施某些功能的选择可以是设计选择。在各种示例实施例中,下文列出了可以部署的硬件(例如机器)和软件架构。
178.示例机器架构和机器可读介质
179.图12是以计算机系统1200的示例形式下的机器的框图,可以在该计算机系统1200内执行指令1224以使得该机器执行本文中所讨论的方法论中的任意一个或多个。在替代实施例中,机器操作为独立设备,或者可以连接(例如联网)到其他机器。在联网部署中,机器可以在服务器

客户端网络环境中以服务器或客户端计算机的身份运行,或者在对等(或分布式)网络环境中作为对等机器操作。机器可以是个人计算机(pc)、平板计算机、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、web设备、网络路由器、交换机或网桥、或者能够执行指令(顺序的或其他方式)的任何机器,这些指令指定要由该机器采取的行为。此外,尽管仅图示单个机器,但是术语“机器”还应该被理解为包括机器集,这些机器单独地或共同地执行指令的集(或多个集)以执行本文所讨论的任何一个或多个方法。
180.示例计算机系统1200包含处理器1202(例如中央处理单元(cpu)、图形处理单元(gpu)或两者)、主存储器1204、和静态存储器1206,它们经由总线1208彼此通信。计算机系统1200还可以包含视频显示器单元1210(例如液晶显示器(lcd)或阴极射线管(crt))。计算机系统1200还包含字母数字输入设备1212(例如键盘或触敏显示屏)、用户界面(ui)导航(或光标控制)设备1214(例如鼠标)、存储单元1216、信号生成设备1218(例如扬声器)和网络接口设备1220。
181.机器可读介质
182.磁盘驱动器单元1216包含机器可读介质1222,其上储存由本文所描述的任何一种或多种方法或功能体现或利用的数据结构的一个或多个集合以及指令1224(例如软件)。在计算机系统1200执行指令1224期间,指令1224还可以全部或至少部分地驻留在主存储器1204中和/或处理器1202内,其中主存储器1204和处理器1202也构成机器可读介质1222。
183.尽管在示例实施例中将机器可读介质1222示出为单个介质,但是术语“机器可读介质”可以包含储存一个或多个指令1224或数据结构的单个介质或多个介质(例如集中式或分布式数据库、和/或相关联的高速缓存器和服务器)。术语“机器可读介质”还应该被认为包含能够进行以下的任何有形介质:储存、编码或携带由机器执行的指令1224且使机器执行本公开的方法中的任何一个或多个,或者能够储存、编码或携带由这样的指令1224使用或与该指令1224相关联的数据结构。因此,术语“机器可读介质”应该被认为包含但不限于固态存储器以及光介质和磁介质。机器可读介质1222的具体示例包括:非易失性存储器,其包括作为示例半导体存储器设备(如可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)和闪速存储器设备);磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及只读光盘存储器(cd

rom)和数字多功能磁盘只读存储器(dvd

rom)磁盘。机器可读介质不是传输介质。
184.传输介质
185.还可以使用传输介质在通信网络1226上发送或接收指令1224。可以使用网络接口设备1220和许多众所周知的传输协议(例如超文本传输协议http)中的任何一个来发送指
令1224。通信网络的示例包含局域网(lan)、广域网(wan)、互联网、移动电话网络、普通老式电话(pots)网络、和无线数据网络(例如wifi和wimax网络)。术语“传输介质”应该被认为包括能够储存、编码或携带由机器执行的指令1224的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种软件的通信。
186.尽管已经描述了具体实施例,但是将显而易见的是,可以在不脱离本公开的更广泛的精神和范围的情况下对这些实施例进行各种修改和改变。因此,说明书和附图认为是说明性的而不是限制性含义。形成本公开一部分的附图通过图示而非限制的方式示出了可以实践本主题的具体实施例。足够详细地描述了所图示的实施例,以使本领域技术人员能够实践本文公开的教导。其他实施例可以被利用并从本公开推导,使得可以在不脱离本公开的范围的情况下进行结构上和逻辑上的替换和改变。因此,不应在限制含义上理解该详细描述,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。
187.发明主题的这样的实施例在本文中可以单独地和/或共同地用术语“发明”来指代,这仅是出于方便,且如果事实上公开多于一个发明或发明概念,则不旨在将本技术的范围自主地限制于任何单个发明或发明概念。因此,尽管本文中已经图示和描述了具体实施例,但是应当理解,为实现相同目的而计算出的任何布置都可以替换为所示出的具体实施例。本公开意图旨在各种实施例的任何和所有适配或变化。对于本领域技术人员在阅读以上描述时,以上实施例的组合与本文中未具体描述的其他实施例的组合将是显而易见的。
188.本文讨论的主题的某些部分可以按照对以位或二进制数字信号形式存储在机器存储器(例如计算机存储器)中的数据进行的操作的算法或符号表示的方式来呈现。这样的算法或符号表示是数据处理领域的普通技术人员将其工作的实质传达给本领域其他技术人员所使用的技术的示例。本文中所用的“算法”是导致期望结果的自洽序列操作或类似处理。在这种情况下,算法和操作涉及对物理量的物理处理。通常但非必须,这些量可以采取能够被机器存储、访问、传输、组合、比较或以其他方式操纵的电信号、磁信号或光信号的形式。主要为了通用,有时使用“数据”、“内容”、“位”、“值”、“元素”、“符号”、“字符”、“术语”“数字”、“数值”等词语来指代此类信号很方便。但是这些词语仅是方便的标签,并且应与适当的物理量相关联。
189.除非另有明确说明,否则本文中使用诸如“处理”,“计算”,“运算”,“确定”,“呈现”,“显示”之类的术语的讨论可以涉及机器(例如,计算机)的动作或过程,该机器的过程是指在接收、存储、传输或显示信息的一个或多个存储器(例如,易失性存储器、非易失性存储器或其任何合适的组合)、寄存器或其他机器组件中操纵或转换表示为物理(例如,电的、磁的或光的)量的数据过程。此外,除非另有明确说明,否则本文中使用的词语“一”和“一个”包括一个或多个实例,如专利文件中常见的那样。最后,除非另有明确说明,否则本文所用的连词“或”是指非排他性的“或”。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1