CN108351985A - 用于大规模机器学习的方法和装置 - Google Patents
用于大规模机器学习的方法和装置 Download PDFInfo
- Publication number
- CN108351985A CN108351985A CN201680050179.9A CN201680050179A CN108351985A CN 108351985 A CN108351985 A CN 108351985A CN 201680050179 A CN201680050179 A CN 201680050179A CN 108351985 A CN108351985 A CN 108351985A
- Authority
- CN
- China
- Prior art keywords
- data
- classification
- feature
- kohonen
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
Abstract
分析大量数据中的模式并且基于分析采取动作涉及接收数据并且训练数据以创建训练示例,并且然后使用训练示例来选择预测数据流中模式的不同类别的特征。该过程进一步涉及基于所选择的特征,使用该数据并行地训练ANN集合,并且仅提取表示数据中来自ANN集合的模式的类别的有效节点。该过程继续进行如下步骤:向每个提取的有效节点添加类别标签,基于加类别标签的有效节点对数据中的模式进行分类,并且基于数据中的分离模式采取动作。
Description
相关申请的交叉引用
本申请要求2015年6月30日提交的代理人案卷号为143677.001111的美国临时申请号62/186,891的权益,该申请全部内容通过引用并入本文。
背景技术
随着高维度存储的大数据和流送数据的出现,需要的是非常大规模的机器学习。对于这样的机器学习将有优势的是非常快速,容易扩大容量和维度,能够从流送数据进行学习,针对高维度数据自动执行维度降低,并且可以在大规模并行硬件上部署。人工神经网络(ANN)很好地解决了大规模机器学习的这些挑战。
发明内容
本发明的实施例提供一种用于分析数据流中的模式并基于该分析采取动作的方法。接收大量数据,并且对数据进行训练以创建训练示例。使用训练示例来选择特征,该特征预测数据中模式的不同类别。基于所选特征,使用该数据来训练Kohonen网络集合。然后,从表示数据中模式的类别的所述Kohenen网集合识别并提取有效节点。将类别分配给所提取的有效节点。然后,可以基于所分配的类别来采取动作。
附图说明
图1图示了根据本发明的实施例的超球体分类网络。
图2图示了在本发明的实施例中使用的Kohonen网络的一般架构。
图3图示了根据本发明的实施例的将类别添加到Kohonen网络中的节点。
图4图示了本发明的实施例,该实施例在分布式计算平台上并行训练具有不同网格大小并且针对不同特征子集的不同Kohonen网。
图5是根据本发明的实施例的流程图。
图6图示了可以在分布式计算平台上实现本发明的实施例。
具体实施方式
本发明的实施例提供了一种可以有效处理大规模高维度数据的方法。实施例提供了可以用于流送数据和大量存储的大数据二者的在线方法。实施例主要在特征选择和分类器构造阶段二者期间并行地训练多个Kohonen网。然而,最后,本发明的实施例在分类器构造阶段中仅保留来自Kohonen网的少数所选神经元(节点);实施例在训练之后丢弃所有Kohonen网。实施例使用Kohonen网用于通过特征选择进行维度降低并且用于使用单个Kohonen神经元来构建全体分类器。实施例旨在利用大规模并行性,并且应该可易于在实现Kohonen网的硬件上部署。其他实施例还提供了处理不平衡数据的方法。芬兰教授TeuvoKohonen在1980年代引入的人工神经网络有时被称为Kohonen映射或网络。Kohonen网络是自组织映射(SOM)或自组织特征映射(SOFM),自组织映射(SOM)或自组织特征映射(SOFM)是一种类型的人工神经网络(ANN),该人工神经网络(ANN)使用无监督学习被训练以产生训练样本的输入空间的低维度(通常是二维)离散化表示,被称为映射。自组织映射与其他人工神经网络不同,因为它们应用竞争性学习,而不是错误校正学习(诸如具有梯度下降的后向传播),并且因为它们使用邻域函数来保持输入空间的拓扑属性。这使得SOM可用于使高维度数据的低维度视图可视化,类似于多维缩放。Kohonen网不要求针对训练数据中每个输入向量的目标输出,输入被连接到神经元或节点的二维网格,并且多维数据库被映射到二维表面上。
流送数据是由多个(可能是数千个)数据源连续生成的数据,这些数据源通常同时并且以千字节量级的小的大小来传输数据记录。流送数据包括各种各样的数据,诸如客户使用移动或web应用生成的日志文件、电子商务购买、游戏内玩家活动、来自社交网络的信息、金融交易大厅、地理空间服务、基因表达数据集、从连接的数据中心中的设备或仪器获得的遥测和/或传感器数据以及来自具有互联网络连接的日常物体的物联网(IoT)数据。通常实时或接近实时接收和处理的该流送数据在逐记录的基础上或在滚动时间窗口上按顺序并且逐步地被处理,并且用于各种各样的分析,包括相关性、聚合、过滤和采样。在连续生成新的动态数据的大多数场景中,流送数据处理是有益的。它适用于许多工业部门和大数据使用情况。公司通常进行数据分析,包括应用机器学习算法,并且从该数据中提取更深的见解。相比之下,存储的数据是过去的——它已经被收集并存储在(一个或多个)永久存储器或(一个或多个)存储设备中,以供以后由有权访问该永久存储器或存储设备的计算平台取回和处理。
1. 介绍
大数据和流送数据的到来在机器学习领域内正引起主要转变。例如,对机器学习系统的需求明显更多,从从非常大量的数据学习和快速学习的要求,到机器学习自动化以减少对专家(人类)参与的需要的要求,以及在大规模并行硬件上部署机器学习系统的要求。传统的人工神经网络(ANN)算法(“神经网络算法”、“神经网算法”)具有能够满足大数据的这些需求的许多属性,并且因此,可以在正在发生的主要转变中发挥作用。例如,许多神经网算法的学习模式是在线增量学习——一种不要求同时访问大量数据的模式。这种学习模式不仅解决了与从大数据学习相关联的许多计算问题,还消除了从大量数据正确采样的麻烦。它还使得神经网算法高度可扩展,并允许这从所有数据学习。这种学习模式在处理流送数据时也有用,在处理流送数据时没有数据或很少数据可被实际存储,并且学习系统可能仅对流动通过系统的数据进行粗略查看。
神经网络算法还具有如下优点:使用可以高度并行化的非常简单的计算。因此,他们能够利用大规模并行计算设施来提供非常快的学习和响应时间。在图形处理单元(GPU)上存在利用并行计算的神经网络算法的许多实现。特别用于神经网络实现的神经形态硬件也正在变得可用。在本发明的实现中使用的Kohonen网络或者简称为Kohonen网通常是一种类型的具有其自己的(一个或多个)硬件实现的单层网。通常,本发明的实施例是用于处理高速流送数据的神经网络算法的硬件实现。这样的硬件实现也可以以非常快的方式处理存储的大数据。神经网络算法的所有这些特征使该领域成为大数据和流送数据时代机器学习的骨干。
本发明的实施例提供了一种新的和新颖的神经网络学习方法,该方法:(1)可以以不同的粒度级别被并行化,(2)通过基于类别的特征选择解决了高维度数据的问题,(3)使用从不同的Kohonen网选择的Kohonen神经元(或Kohonen“节点”)来学习全体分类器,(4)可以处理不平衡数据,以及(5)可以在硬件上实现。
关于通过特征选择的维度降低的第二个上述目标,并且还参考图5,方法500在505处接收大量数据,例如高维度数据流,或者从存储的过去数据接收大量数据,并且训练该数据以创建训练示例。例如,在一个实施例中,该方法在510处与流送数据并行地训练多个Kohonen网以创建一些代表性数据点,也被称为训练样本或训练示例。(应当注意,存储的数据也可以:从存储器或永久存储接收,该存储器或永久存储可由基于硬件的计算平台或基于软件的计算平台访问,所述计算平台执行访问存储器或永久存储的代码;或从可由计算平台访问的存储器或永久存储流送)。使用Kohonen网,在一个实施例中,该方法在515处执行基于类别的特征选择。为了选择针对每个类别的特征,基本准则是:(1)该方法使该类别更紧凑,并且(2)同时,该方法最大化与其他类别的平均距离。一旦类别特有特征选择被完成,该方法就丢弃所有Kohonen网,只要它们用于创建训练样本。在第二阶段中,该方法在520处基于所选择的基于类别的特征来再次从数据在不同的特征空间中并行地构造几个新的Kohonen网。一旦这些Kohonen网被训练,那么在525处,该方法仅提取它们中的有效神经元(或有效的“节点”),把类别标签添加到每个有效神经元并且创建用于分类的总体Kohonen神经元。最后,该方法仅保留来自不同特征空间中的不同Kohonen网的摆动的有效Kohonen神经元的集合,并且丢弃Kohonen网本身。然后,可以在530处使用保留的加类别标签的有效节点的集合来对数据中的模式进行分类,并且在535处基于流送数据中被分类的模式来采取某个动作。
在不平衡数据问题(诸如欺诈检测)中,对于一个或多个类别,存在非常少的数据点,但是对于其他类别,很多数据点是可用的。处理不平衡数据问题一直是分类算法的难题,并且处理不平衡数据的流送版本特别具有挑战性。本发明的另一实施例提供了一种通过创建第二层Kohonen网来处理不平衡数据问题的方法,如下面更详细描述的。
在下面的描述中,第2节提供了本发明的实施例中使用的概念(包括类别特有特征选择和超球体网)的概述。第3节描述了根据本发明的实施例的并行使用Kohonen网来从流送数据进行类别特有特征选择的算法。根据本发明的各种实施例,第4节和第5节提供了如何使用来自不同Kohonen网的神经元构造全体超球体网的细节。第6节呈现了根据本发明的实施例的针对几个高维度问题的计算结果。第7节描述了包括用于不平衡数据问题的算法和一些相关计算结果的本发明的实施例。第8节讨论了本发明的实施例的硬件实现,并且在第9节中讨论结论。
2. 本发明实施例背后的概念和动机的概述
本发明的实施例使用一种方法,该方法通过从降低的特征空间中的流送数据构造一系列Kohonen网来在那些降低的特征空间中创建在图1中的实施例100中图示的超球体分类网络A、B和C。Kohonen网络或自组织映射(SOM)的一般架构在图2中在200和205处示出。在200处所描绘的网络中,为了清楚起见仅示出了三个连接。本发明的实施例最终丢弃所有Kohonen网并且仅保留来自这些网的某些Kohonen神经元作为超球体。根据实施例,该方法被并行化,并且在两个阶段(特征选择阶段和分类器构造阶段)的每个阶段中,所有Kohonen网可以被并行构造。
2.1 超球体分类网
如图1中所示,超球体分类网100具有用于分类的一个隐藏层和一个输出层。在计算速度方面,这种浅架构具有很大的优势,特别是当与多个隐藏层网相比时。
现有技术方法以离线模式构造超球体网。以在线模式构造超球体网是相当大的挑战,并且本发明的实施例利用Kohonen网作为这样做的底层机构。在类别特有特征选择之后,一个实施例利用流送数据在降低的特征空间中构造Kohonen网。在训练这些Kohonen网之后,如图3所示,一个实施例300每当可能时将类别标签添加到个体神经元(或“节点”)。如果针对其的个体神经元是获胜或最佳神经元的大多数流送数据点属于特定类别,则实施例把个体神经元分配到该类别。这种神经元的激活半径等于特定类别的最远数据点的距离,神经元被分配到的该特定类别并且针对该特定类别的神经元也是获胜神经元。它丢弃没有被分配到任何类别的神经元。到目前为止描述的是从Kohonen网构造超球体网的过程的主要概念。以下的描述呈现了本发明的实施例的其他细节。
2.2类别特有特征选择和维度降低
针对高维度流送数据的机器学习系统的基本挑战之一是维度降低。诸如主成分分析(PCA)和线性判别分析(LDA)之类的许多现有技术的特征提取方法对高维度数据执行得不很好。最近几年已经开发了许多其他现有技术方法,以用于针对高维度流送数据的在线特征选择和特征提取。一种现有技术方法考虑了训练实例顺序到达情况下在线学习问题,但是学习系统可以使用的有效特征的数目是固定的。其他现有技术方法呈现了一种针对流送特征的方法,其中候选特征一次到达一个并且学习系统必须选择最佳特征集合。然而,所有训练示例在训练开始之前是可用的。又另一方法呈现了用于基于正交质心算法的维度降低的两个方法——一种用于特征提取的在线增量方法和一种用于特征选择的离线方法。另一现有技术方法提出了用于处理流送数据的最大余量准则(MMC)的在线扩展。最后,一种现有技术方法呈现了等距特征映射(ISOMAP)的在线版本,即非线性维度降低方法。
一种现有技术方法呈现用于分布式计算环境的并行分布式特征选择算法,该算法保持包含在数据内的变化。它可以执行受监督(基于人类输入)和无监督(自动)的特征选择,并且对大量数据使用数据分区。一种不同的方法提出了一种用于逻辑回归的高度可扩展特征选择算法,该算法可以通过对映射降低框架内的特征和记录二者进行分区而被并行化。该方法通过估计逻辑回归模型的系数来排列特征。
然而,虽然类别特有提取特征(即,投射的子空间)的想法已经存在一段时间,但是这些现有技术方法都不是用于流送数据的类别特有特征选择方法。最近,现有技术方法已经在全体学习中使用类别特有特征选择的想法。一种现有技术方法提出了在类别特有分类器中使用原始特征的子集的方法。然而,这些现有技术方法都不适用于流送数据。
本发明的实施例使用类别特有特征选择用于维度降低。保持问题的原始特征的优点在于:这些特征经常具有含义和解释,而这些含义通常在提取或导出的特征中丢失。在类别特有特征选择中,该算法为每个类别找到单独的特征集合,使得它们成为用于将该类别与其余类别分离的最佳特征集合。用于识别良好的类别特有特征的准则类似于在作为特征提取方法的LDA和最大余量准则(MMC)中使用的准则。LDA、MMC和其他类似的特征提取方法最大化类别间分散并且最小化类别内分散。换句话说,这些方法试图最大化不同类别中心之间的距离,并且同时使相同类别中的数据点尽可能接近。本发明的实施例虽然不基于特征提取方法,但是基于类似概念。特征选择准则也与保持数据内所包含的变化的现有技术方法类似。
在数据点的群集可用的用于构造超球体网的现有技术离线模式中,选择使一个类别的数据点与其余类别的数据点的平均距离最大化并且同时也使该类别内的数据点的平均距离最小化的特征是简单的。一种这样的方法在该基础上对特征进行排列和选择,并且计算实验显示它也适用于高维度问题。然而,该现有技术方法不能直接用于流送数据,也即是,不存储数据的情况。本发明的实施例使用用于特征选择的相同概念对流送数据进行操作,但是依赖于Kohonen网来这样做。通过根据流送数据训练多个Kohonen网,为每个类别创建一些代表性数据点(或“训练示例”),而且这就是解决无法访问数据点的群集的难题的方式。给定代表性数据点(由Kohonen网中的某些Kohonen神经元表示)的群集,可以使用基于类别的特征选择方法。
3. 针对流送数据的基于Kohonen网络的类别特有特征选择
3.1 针对按类别进行特征排列的分离性指标的概念
假设共有kc个类别。基本特征排列准则是:(1)针对类别k的良好特征应在类别k中的模式和不在类别k中的模式之间产生良好的分离,k = 1 … kc,以及(2)还使得类别k中的模式更紧凑。基于该想法,已经提出了一种称为分离性指标的度量,该度量可以排列针对每个类别的特征。假设是针对特征n的在类别k内的模式之间的平均距离,并且是针对特征n的在类别k中的模式和不在类别k中的模式之间的平均距离。一种方法使用欧几里德距离用于距离度量,但是可以使用其他距离度量。针对类别k的特征n的分离性指标由下式给出:。人们可以使用该分离性指标来对类别k的特征进行次序排列,其中较高的比率意味着更高的排列。这种度量的意义在于:具有较低的特征n使类别k更紧凑,并且具有较高的特征n增加类别k与其他类别的分离。因此,针对特征n的比率越高,其将类别k与其他类别分离的能力越大,并且特征越好。
3.2 计算针对高维度流送数据的分离性指标
从流送数据在线学习的挑战在于:无法访问存储的训练示例集合来计算分离性指标。(这里的假设是没有存储流送数据。)本发明的实施例使用Kohonen网来解决这个问题;Kohonen网用作代表性训练示例的收集器。一个实施例在分布式计算平台上并行地训练具有不同网格大小并且针对不同特征子集的许多不同Kohonen网,如图4中所示。该实施例的一个实现使用Apache Spark作为分布式计算平台,但是可以使用其他类似的平台。Kohonen网形成聚类,并且聚类中心(即有效Kohonen网节点或神经元)等同于流送数据的代表性示例。然后,一个实施例使用这些代表性示例来按类别计算特征的分离性指标。
3.3 利用并行分布式计算来构造Kohonen网
假设N维向量x,表示流送数据中的输入模式并且Xn表示向量x的第n个元素。设FPq表示第q个特征子集,q = 1…FS,其中FS是特征子集的总数。设是针对第q个特征子集的具有特定网格大小的第g个Kohonen网,,其中FG是不同Kohonen网网格大小的总数,kc表示类别的总数并且k是类别。
假设根据本发明的一个实施例的方法有权访问并行分布式计算设施以高效且快速地计算高维度流送数据的分离性指标。假设该实施例针对每个特征子集训练具有10个不同网格尺寸(例如9×9、8×8、7×7等的Kohonen网网格尺寸,在图4中被分别描绘在400、405和410处;FG = 10)的Kohonen网,并且还假设它具有用于并行构建500个Kohonen网的计算资源。在该情况下,FS(特征子集的总数)将是50(=500/10),并且将表示500个不同的Kohonen网。进一步假设数据流中有1000个特征(N = 1000)。因此,它将把特征集合随机地分区为每个具有20个特征的50个子集(FS=50;N=20*FS)。为了简单起见,假定第一特征分区FP1包括特征,第二特征分区FP2包括特征,以此类推。对于针对第一特征分区的Kohonen网,输入向量将是特征向量FP1,对于针对第二特征分区的Kohonen网,输入向量将是特征向量FP2,以此类推。因此,对于每个特征子集FPq,将训练具有不同网格大小的10个不同的Kohonen网。如果分类问题中只有几个类别,则较小的网格大小将足够(例如9x9、8x8、7x7等的网格大小)。如果有几千个类别,则将使用更大的网格大小。
特征分区的使用主要是为了效率和速度,因为与用几千个特征训练单个网相比,可以更快并且并行地用低维度输入向量来训练Kohonen网。并且针对相同特征分区使用不同网格大小的原因是要得到不同的代表性示例来计算分离性指标。根据一个实施例,该方法通过随机选择每个特征分区的特征来重复几次该计算分离性指标的整个过程。然后,该方法使用在这些重复中每个特征的最大分离性指标值来用于特征的最终排列。
3.4为Kohonen神经元分配类别标签以计算分离性指标
根据本发明的实施例,针对不同特征分区训练的Kohonen网的有效节点中的一些而并非全部用作不同类别的代表性训练示例,并且用于计算分离性指标。一个实施例仅将Kohonen网的获胜或最佳神经元视为有效节点。一旦Kohonen网在初始训练期间稳定,本实施例就处理一些另外的流送数据以将类别标签分配给有效节点。在该阶段,当该实施例处理一些另外的流送数据时,它不改变Kohonen网的权重,而是仅保持特定类别的输入模式激活特定神经元(即,该神经元是针对这些输入模式的获胜神经元)的次数的计数。例如,假设对于每个有效节点存在两个类别A和B,该方法保持来自这两个类别中每个类别的输入模式激活该节点的次数的计数。假设类别A模式激活一个这样的神经元(节点)85次,并且类别B模式激活该节点15次。那么,在该节点处,大约85%的激活输入模式属于类别A,并且15%属于类别B。由于明显的大多数激活模式属于类别A,所以该方法简单地将该有效神经元分配到类别A。将有效神经元分配到类别仅意味着该神经元表示该类别的示例。作为示例,当有效神经元被丢弃时,假设类别A模式激活55%次数的节点,并且类别B模式激活45%次数的节点。该方法丢弃这样的有效节点,因为没有类别具有明显的大多数,并且因此,不能声称该节点为任何特定类别的代表性点。如果没有类别具有明显的大多数,则一旦所有Kohonen网的每个有效节点处的类别比率(百分比)相当稳定,为有效节点加标签的这个阶段结束,并且所有有效节点(神经元)可以被分配到类别或者被丢弃。该实施例还丢弃具有较低绝对计数的模式的有效节点。
在将类别标签分配给有效节点并且丢弃一些有效节点之后,该方法构造分配到每个特征分区中每个类别的有效节点的列表。例如,可以将50个有效节点分配到特定特征分区中的类别A,并且将20个有效节点分配到类别B,并且它们构成针对该特征分区的相应类别的代表性训练示例。注意,尽管在同一个特征分区中,但是这些有效节点可以来自具有不同网格大小的不同Kohonen网。使用这些有效节点,该方法计算该特征分区中的每个特征并且针对每个类别的分离性指标。
3.5 用于针对按类别特征排列计算特征的分离性指标的算法
根据本发明的实施例,接下来是使用Kohonen网的用于流送数据的在线类别特有特征选择算法的总体步骤的概况。设KNmax是并行创建的Kohonen网的总数。FG是用于每个特征分区的不同Kohonen网网格大小的总数,并且FS=KNmax/FG是给定资源情况下可能的特征分区的数目。例如,如果算法使用网格大小9x9、8x8、7x7、6x6和5x5,则FG为5。对于,这意味着它可以创建最多100个特征分区。设CC是有效节点处的最有效类别的类别计数百分比,并且设PCTmin是要分配给有效节点的类别的最小类别计数百分比。在计算测试中,PCTmin在所有问题中被设置为70%。设CWT是Kohonen网中在最后T个流送模式上的累积权重改变。这里,T是用于收集权重改变的流送窗口的长度。从Kohonen网的训练开始起,设是CWT的最大值。设CWRT(= )是当前权重改变与最大权重改变的比率。该方法继续训练Kohonen网,直到该比率CWRT降到低于特定最小水平。在计算测试中,被设置为0.001。所有符号总结在下面的表3.1中:
符号 | 含义 |
x | N维模式向量, |
N | 模式向量x的大小 |
X n | 向量x的第n个元素 |
针对第q个特征分区的具有特定网格大小的第g个Kohonen网, | |
FS | 特征分区的总数 |
FG | 不同Kohonen网网格大小的总数 |
kc | 类别的总数 |
k | 表示类别集合{1,2,…,k,…kc}中的类别 |
FP q | 第q个特征分区,q = 1…FS |
KN max | 可以并行创建的Kohonen网的总数 |
CC | 有效节点处的最有效类别的类别计数百分比 |
PCT min | 用于将有效节点分配到类别的所述类别的类别计数的最小要求百分比 |
CW T | Kohonen网中在最后T个流送模式上的累积权重改变 |
T | 用于收集权重改变的窗口的长度,关于流送模式的数量 |
从Kohonen网的训练开始起,CWT的最大值 | |
CWR T | 当前权重改变与最大权重改变的比率,= |
用作停止准则的最小CWR T 。这是预设的。如果,则继续训练Kohonen网 |
表3.1 - 在线特征选择算法中使用的符号汇总。
3.6使用Kohonen网从流送数据进行类别特有特征选择的算法
步骤1.处理一些流送数据以找到每个特征的近似最大值和最小值。在后续处理期间使用该范围来归一化流送输入模式。假设输入向量x在该算法中被归一化。(注:根据本发明的实施例,在该算法中还可以使用其他数据归一化方法)。
步骤2.将N个特征随机分区成FS个子集(),其中每个分区由FPq表示,q=1 ... FS。
步骤3.初始化将被并行训练的KNmax个Kohonen网的权重和学习参数,其中FG是针对每个特征分区FPq的具有不同网格大小的Kohonen网的数目,q=1 ... FS。
步骤4.使用流送数据并行训练所有KNmax个Kohonen网,并且根据分配到每个Kohonen的特征子集为每个Kohonen网选择输入模式向量的适当部分。当所有Kohonen网收敛并且其CWRT比率等于或低于时停止训练。
步骤5.在不改变权重的情况下,通过稳定化的Kohonen网来处理一些另外的流送数据,以找到有效节点(获胜神经元)及其类别计数。当所有有效节点处的类别计数百分比收敛并且稳定时停止。
步骤6.如果该节点处的最有效类别的类别计数百分比CC>=PCTmin,则将每个有效节点(神经元)分配到类别。丢弃不满足PCTmin要求或具有低总体类别计数的有效神经元。
步骤7.为每个特征分区FPq按类别创建剩余有效节点的列表,q=1 ... FS。
步骤8.针对每个特征分区FPq,q=1 ... FS,分别计算该特征的分离性指标。仅使用该特征分区的剩余有效神经元来计算特征分区中的特定特征的分离性指标。那些已被分配到该类别的剩余有效神经元是该类别的代表性示例。
步骤9.根据一个实施例,重复几次步骤2到8,并且跟踪每个特征的最大分离性指标值。
步骤10.基于其最大分离性指标值对特征进行排列。
3.7丢弃为特征选择构建的所有Kohonen网
在对特征进行类别特有排列之后,本发明的实施例训练用于分类的最终Kohonen网集合。在这一点上,该过程丢弃迄今为止为按类别进行特征排列而构建的所有Kohonen网。
3.8类别特有特征选择的示例
对许多高维度基因表达问题测试了根据本发明实施例的方法。一个这样的问题试图从基因表达值预测白血病类型(AML或ALL)(Golub等1999)。该数据集中共有72个样本和7129个基因(特征)。表3.2按类别示出了一些基因及其分离性指标。例如,基因758、1809和4680对于AML类别具有高分离性指标(分别为82.53、75.25和39.73),并且是AML类别的良好预测因子。相比之下,ALL类别的相同基因的对应分离性指标非常低(分别为2.49、1.85和2.82),并且因此,这三个基因不是ALL类别的很好的预测因子。表3.2还示出了作为ALL类别的良好预测因子的三个基因(2288、760和6182),因为它们对于ALL类别具有高分离性指标(114.75、98.76和34.15)。然而,它们不是AML类别的良好预测因子,如由其低分离性指标0.85、0.93和0.8所示。该示例说明了类别特有特征选择的力量及其在理解特定现象和构建分类器中的潜在用处。
表3.2 – AMLALL基因表达数据集中一些特征的分离性指标。
3.9用于探索和构建分类器的特征空间-特征桶
根据本发明的实施例,在下一阶段中,该方法利用在该阶段中产生的类别特有特征排列构造分类器。根据本发明的实施例,第4节呈现探索不同特征空间以获得良好分类器的试探式搜索过程。该过程可以被并行化,并且这个版本已经在Apache Spark上实现。本节介绍特征桶的基本概念。
特定类别的特征的分离性指标度量该特征在该类别和其余类别之间创建分离的能力,并且还使该特定类别紧凑。该指标的值越高,该特征将该类别与其余类别分离的能力就越大。因此,具有针对特定类别的指标值为100的特征是比具有指标值为2的另一特征更好和更强大的特征。因此,在表格3.2中,前三个特征(758、1809和4680)与其他三个相比,是针对AML类别的非常好的特征。而且,类似地,与其他三个特征相比,最后三个特征(2288、760和6182)对于所有类别来说都是非常好的特征。
下面描述根据本发明的实施例的方法如何在给定类别特有特征排列的情况下探索不同的特征空间。通常,该过程创建特征桶,并且然后针对包含在桶中的特征空间训练具有不同网格大小(例如9x9、8x8等)的几个Kohonen网。创建特征桶的过程的最简单版本如下起作用。对于第一桶,选择每个类别的顶部排列的特征。对于第二桶,选择每个类别的顶部两个排列的特征,并且类似地创建其他桶。因此,该过程顺序地添加每个类别的顶部排列的特征以创建桶。因此,第j个特征桶将具有来自每个类别的j个顶部排列的特征。
参考表3.2的类别特有特征排列,为了进一步说明特征桶的概念,假设特征(基因)758、1809和4680是针对AML类别的三个顶部排列的特征,并且特征2288、760和6182是针对ALL类别的顶部三个。在本发明的一个实施例中,对于桶创建,(AML类别的)特征758和(ALL类别的)2288将位于第一特征桶中。(AML类别的)特征758和1809和(ALL类别的)特征2288和760将位于第二桶中,依此类推。对于该两个类别问题,每个桶将具有要探索的三个特征空间。例如,对于第二桶,AML类别的特征758和1809包括一个特征空间。ALL类别的2288和760包括第二特征空间,并第三特征空间由所有这四个特征组成。
例如,对于桶2,该方法将针对三个不同特征空间——(1)针对AML特征758和1809、(2)针对ALL特征2288和760、以及( 3)针对由特征758、1809、2288和760组成的组合特征集合训练具有不同网格大小的Kohonen网。通常,对于总共kc个类别,第j个特征桶将具有来自kc个类别中每个类别的j个顶部排列的特征,并且根据本发明的实施例,该方法将使用每个类别的对应j个顶部排列的特征针对每个类别并行构造具有不同网格大小的Kohonen网。该过程还将针对第j个桶使用该桶中的所有kc*j个特征训练另一Kohonen网集合。因此,桶由各种特征空间组成,并且该方法为每个这样的特征空间训练各种Kohonen网。
当存在几千个特征时,每类别一个特征向下一桶的增量添加以及针对每个桶训练几个Kohonen网可能变成计算上昂贵的过程,即使在并行化时也是如此。因此,替代地,根据一个实施例,该方法一次将多于一个特征添加到下一桶以减少计算工作。另一个问题是如何限制要探索的桶的总数。为了解决该问题,根据实施例,该方法忽略分离性指标低于1的特征。假设:对于该类别,指标小于1的特征是针对该类别的差的鉴别因子。对于剩余的特征,该过程使用多于一个的增量,并且它通常一次从排列列表向下一个桶添加两个或更多个特征。例如,给定两个类别A和B,并且在类别特有特征排列之后,假设该方法从每个类别中选择50个顶部排列的特征来构建分类器。如果该过程一次从每个类别向桶添加两个特征,则将存在总共25个桶。第一桶将具有4个特征,每个类别2个,并且最后一个桶将具有全部100个特征,每个类别50个。然而,每个桶将总是具有三个特征空间——一个针对类别A特征,一个针对类别B特征,并且第三个针对组合的特征集合。并且,根据本发明的实施例,该方法将针对每个桶中的三个特征空间中的每个构造具有不同网格大小的Kohonen网。
4.用Kohonen神经元构造全体超球体分类器
根据本发明的实施例,以下描述了该方法如何使用Kohonen神经元创建全体超球体网。该方法通过从不同特征空间中和具有不同网格大小的各种Kohonen网选择Kohonen神经元来实现。注意,在该最后阶段的末尾时,该方法丢弃所有训练的Kohonen网,并仅且保留选择的Kohonen神经元集合以用作不同超球体网中的超球体。
4.1针对不同桶中的不同特征空间训练最终Kohonen网-基于大多数将神经元(有效节点)分配到类别
在该阶段,该方法使用流送数据训练最终Kohonen网集合。该方法针对不同桶中的不同特征空间构造具有不同网格大小(例如9x9、8x8等)的Kohonen网。该方法并行构造所有这些Kohonen网,并且针对每个桶中的每个特征空间选择输入向量的适当部分。一旦这些Kohonen网收敛并且稳定,该方法就处理一些另外的流送数据,而不改变Kohonen网的权重,从而得到每个有效节点处的类别计数百分比。该步骤与特征选择阶段中的步骤相同。在每个有效节点处类别计数百分比稳定之后,该过程会对有效节点进行一些修剪。再次,该步骤与特征选择阶段中的步骤类似。因此,具有小的总类别计数的有效节点被丢弃,并且只保留其中一个类别具有明显多数(例如,70%的多数)的节点。在某种意义上,该过程选择特定类别具有明显多数的良好神经元。
4.2 计算Kohonen神经元的半径-每个Kohonen神经元都是超球体
设有效节点(神经元)的半径是距类别中心的距离,该类别内是获胜神经元。该概念对该方法是重要的,因为它仅保留来自Kohonen网的少量有效节点并且丢弃网络的其余部分。一旦该方法丢弃Kohonen网的其余部分,就没有可行的方式来确定输入模式中类别的获胜或最佳神经元。在没有Kohonen网的情况下,半径成为确定有效节点是否是类别的获胜节点的替代方式。该方法通过从Kohonen网提取这些神经元来创建超球体。
为了确定Kohonen网的有效节点的半径,该过程将这些有效节点的半径初始化为零,并且然后通过处理一些另外的流送数据来更新他们,直到该半径对于所有有效节点是稳定的。该方法以下列方式更新有效节点的半径:如果流送输入模式具有与获胜有效节点的类别相同的类别,则该方法计算输入模式与该节点的距离并且如果该距离大于当前半径,则更新该节点的半径。注意,在该过程计算半径之前,将类别分配给这些有效节点。因此,在更新有效节点的半径之前,该过程将获胜有效节点的类别与输入模式的类别匹配。该过程在丢弃Kohonen网之前更新分配到各类别的所有有效节点的半径。
4.3 其他符号和参数的计算
设Bmax是特征桶的最大数目。该方法基于可用资源来计算Bmax。如前所述,假设存在资源用于并行创建KNmax数目个Kohonen网。并且,如前所述,设FG是针对特征空间训练的具有不同网格大小(例如,9×9、8×8等)的Kohonen网的数目。对于总共kc个类别,特征桶的最大数目因此将是。例如,假设Apache Spark在特定配置中仅可以并行创建300个Kohonen网(KNmax=300),并且假设该方法使用标准网格大小9x9、8x8、7x7、6x6和5x5(FG=5)用于Kohonen网。如果存在2个类别(kc=2),则Bmax=300/(5*3)=20。这意味着,由于资源限制,该方法仅可以使用20个特征桶。假设在类别特有特征排列之后,该方法从每个类别选择60个顶部排列的特征来构建分类器。因为该过程仅可以使用20个特征桶,因此迫使该过程每次将3个特征从每个类别添加到桶。因此,第一桶将具有6个特征,每个类别3个,并且最后一个桶将具有所有120个特征,每个类别60个。并且每个桶将总是有三个特征空间——每个类别一个,并且第三个特征空间针对组合的特征集合。并且针对每个桶中的三个特征空间中的每个将存在具有不同网格大小的FG个 Kohonen网。
设Inc是每个类别每次添加到桶的特征数目。根据从每个类别使用的顶部排列的特征的数目和Bmax来计算Inc。设FBj是第j个特征桶,j=1...Bmax。设FSBkj表示桶编号j中属于类别k的特征集合。设ANkj是针对桶j的类别k特征集合FSBkj的跨所有FG个网格大小的有效节点的列表,k=1...kc,j=1...Bmax。设ANkji是针对类别k特征集合FSBkj的第i个有效节点,i=1...ANTkj,其中ANTkj是针对类别k特征集合FSBkj的这种有效节点的总数。注意,虽然从Kohonen网得到的有效节点ANkj利用桶j中的类别k特征集合来构建,但是这些有效节点可以属于(即被分配到)类别k中的任何一个,k=1...kc。设Wkji是第i个有效节点ANkji的宽度或半径。设CTPkjim(m=1...kc)是有效节点ANkji处的第m个类别的类别计数百分比,并且设CTAkji是在该有效节点处处理的输入模式的绝对计数。所有符号总结在下面的表4.1中:
符号 | 含义 |
x | N维模式向量, |
N | 模式向量x的大小 |
X n | 向量x的第n个元素 |
FG | 针对特征空间训练的具有不同网格大小的Kohonen网数目 |
kc | 类别的总数 |
k | 表示类别集合{1,2,…,k,…kc}中的类别 |
KN max | 可以并行创建的Kohonen网的总数 |
PCT min | 用于将有效节点分配到类别的所述类别的类别计数的最小要求百分比 |
CT min | 为了把有效节点分配到类别的所述类别的最小要求绝对类别计数 |
CW T | Kohonen网中在最后T个流送模式上的累积权重改变 |
从Kohonen网的训练开始起,CWT的最大值 | |
CWR T | 当前权重改变与最大权重改变的比率,= |
如果,则继续训练Kohonen网;这是收敛准则 | |
FB j | 第j个特征桶,j=1...Bmax |
B max | 允许的特征桶的最大数目 |
Inc | 每次从每个类别添加到桶的特征数目 |
FSB kj | 桶j中针对类别k选择的特征集合,k=1...kc,j=1...Bmax |
AN kj | 针对类别k特征集合FSBkj的跨所有FG个网格大小的有效节点的列表 |
ANT kj | 针对类别k特征集合FSBkj的有效节点的总数 |
AN kji | 针对类别k特征集合FSBkj的第i个有效节点,i=1...ANTkj |
W kji | 第i个有效节点ANkji的宽度或半径 |
CTP kjim | 有效节点ANkji处的第m个类别的类别计数百分比,m=1...kc |
CTA kji | 在有效节点ANkji处处理的输入模式的绝对计数 |
表4.1-在线Kohonen全体算法中使用的符号汇总。
4.4 训练用于分类的最终Kohonen网集合的算法
步骤1.将桶编号j初始化为零。
步骤2.递增桶编号j(j=j+1)并且将(Inc*j)数目的顶部排列的特征从每个类别k(k = 1 ... kc)的排列特征列表添加到桶FBj。FSBkj是桶j中类别k的(Inc*j)个顶部排列的特征的集合。
步骤3.在分布式计算系统中针对每个类别k(k = 1 ... kc)并且针对对应的特征集合FSBkj并行地初始化具有FG个不同网格大小的最终Kohonen网。而且,针对包括来自桶j中所有类别的所有特征的特征集合初始化FG个Kohonen网。如果j<Bmax,则返回步骤2以针对其他特征桶建立其他Kohonen网。当j=Bmax时,去往步骤4。
步骤4:使用流送数据并行训练所有KNmax个Kohonen网,并且根据特征子集FSBkj来针对每个Kohonen网选择输入模式的适当部分,k = 1 ... kc,j = 1 .... Bmax。当所有Kohonen网收敛时(即当针对所有Kohonen网,时)停止训练。
步骤5.在不改变权重的情况下通过稳定化的Kohonen网处理一些另外的流送数据,以找到针对每个桶j中每个类别k的对应Kohonen网中有效节点(神经元)的集合ANkj(k =1 ... kc,j = 1 ... Bmax)。还找到使用桶j中所有类别的所有特征的Kohonen网的有效节点集合,j = 1 ... Bmax。此外,得到有效节点的类别计数CTAkji,并且在类别计数百分比CTPkjim对所有有效节点变得稳定时停止,m=1...kc。
步骤6:如果在该有效节点处针对多数类别m的类别计数百分比CTPkjim(m = 1 ...kc)高于最小阈值PCTmin并且绝对类别计数CTAkji高于阈值CTmin,则将每个有效节点ANkji分配到多数类别m。
步骤7处理一些另外的流送数据以计算每个有效节点ANkji的半径Wkji。当半径或宽度稳定时停止。
步骤8:仅保留来自对应Kohonen网的满足最小阈值PCTmin和CTmin的有效节点ANkj,k=1 ... kc,j = 1 ... Bmax。而且,基于桶j(j=1 ... Bmax)中所有类别的所有特征以及谁满足最小阈值,来保留来自Kohonen网的有效节点。丢弃来自所有KNmax个Kohonen网的所有其他节点。
该算法针对每个桶j产生有效Kohonen神经元集合,j=1... Bmax,并且每个Kohonen神经元被分配到特定类别。然后,该过程利用验证数据集测试每个桶中的全体Kohonen神经元,以找出哪个特征桶(或哪些特征桶)产生最佳分类器。
5.基于全体Kohonen神经元的全体分类器
第4.4节的算法实质上创建全体超球体网——针对与特定类别k和特定桶j对应的不同特征空间中的每个的一个超球体网,加上组合桶j中所有特征的超球体网。超球体网由一个隐藏层和一个输出层组成,如图1中所示。超球体网中的每个隐藏节点表示超球体之一。超球体网的设计和训练由下述各项组成:1)确定针对每个类别k要使用的超球体;以及2)找到它们的中心和宽度或半径。在该方法中,通过第4.4节的算法确定并且分配到一类别的每个有效Kohonen神经元是超球体网中的超球体。因此,该方法实质上通过Kohonen网创建全体超球体网。
5.1超球体网的单个隐藏节点处的计算
假设pk个超球体覆盖特定类别k的区域,k = 1 ... kc。因此,类别区域是表示类别k的所有超球体区域的联合。通常,当输入向量在超球体的区域内时,隐藏节点的输出为1,否则为零。在数学上,超球体隐藏节点的函数形式如下:
(5.1)
其中
(5.2)
(5.3)
这里,是针对类别k的第q个隐藏节点的响应函数,q = 1 ... pk。和是针对类别k的第q个超球体的中心和宽度(半径),nv是该特定特征空间中的特征的数目,是输入向量x距第q个隐藏节点的中心的距离,是宽度(半径)和距离之间的差,并且是小常数。如果输入模式x足够接近类别k的超球体中的一个,则可以稍微为负以允许输入模式x属于类别k。设是输入向量x是类别k的第q个超球体的成员(即在第q个超球体边界内)的概率的度量,q= 1...p k 。
如果输入向量x在第q个超球体的边界处,则,并且因此,。如果它位于超球体的中心,则并且。如果输入向量x在第q个超球体的边界外,则并且为负。
设是归一化距离,并且被定义如下:
其中nv是特定特征空间中的特征的数目。
5.2全体分类器
通常,组合多个分类器可以改善对问题的整体性能。人们可以按照许多不同方式对这样的全体方法进行分类。人们可以按照各种方式组合基本分类器以用于最终预测。一些流行的方式包括多数投票(选择具有最多数目投票的类别)、基本分类器的性能加权(基于分类器准确性对分类器进行加权)、分布总和(来自基本分类器的条件概率向量的总和)、数学编程和很多其他方式。如在下一节中所解释的,根据本发明的实施例的方法对全体超球体分类器使用这些组合方法的不同变化。
5.3使用不同特征空间中的全体Kohonen神经元用于分类
在本发明的实施例中,所有超球体(即分配到类别的所有有效Kohonen神经元)都被认为是复合分类器的一部分,但是在该框架内,每个超球体被视为独立的预测因子。而且,除了诸如最大概率和最小距离之类的标准全体预测方案之外,还使用运行良好的特定投票机制。一般而言,人们可以尝试组合分类器预测的不同方法,并且找到针对特定问题的最佳方法。本发明的实施例使用以下手段来确定测试示例的最终分类。
a.最大概率——在该实施例中,该方法使用(5.4)的概率估计找到具有最高概率(或置信度)的超球体(即有效Kohonen神经元),并且将其类别分配给测试示例。超球体边界外的点具有负概率, 并且允许负概率达到限度。因此,最大概率可以为负的。计算测试过程针对概率使用-0.5的限度。
b.最小距离——根据该实施例,该方法基于(5.5)的归一化距离找到其中心最接近测试示例的超球体(即,有效Kohonen神经元),并且将其类别分配给该测试示例。
c.内部神经元多数投票——根据该实施例,该方法首先基于归一化距离确定测试示例是否在超球体的边界内,并且如果是,则该方法将该测试示例计数为针对该超球体所表示的类别的投票。在针对所有超球体(即所有有效Kohonen神经元)进行测试之后,该实施例对每个类别的投票进行计数,并且多数类别获胜,并且然后将该多数类别分配给该测试示例。
d.允许测试点在超球体外的多数投票——在许多问题中,一些测试示例可能在超球体的边界外,但是另外接近该超球体。在这种情况下,该方法允许接近超球体的测试示例为由该超球体表示的类别投票。然而,该方法设置了测试点可以在超球外多远的限度。根据一个实施例,该方法使用概率度量代替归一化距离度量。人们可以利用各种限度对给定问题进行测试,并且找出哪个限度产生最佳准确性。计算测试过程使用了两个限度——-0.25和-0.35,但是可以尝试其他限度。
6.计算结果
6.1数据集
基因表达问题由高维度(特征或基因的数目通常为几千)和少量训练示例(通常仅少数打(dozen))表征。对七个广泛引用的基因表达数据集执行根据本发明实施例的算法的计算测试。这些数据集简要描述如下。
a)白血病(AML 对ALL):白血病数据集由Golub等人发表(1999),并且原始训练数据由38个骨髓样本(27个ALL和11个AML,其中AML和ALL是两种类型的白血病)和7129个基因组成。它还具有34个测试样本,其中20个ALL和14个AML。
b)中枢神经系统(CNS):CNS数据集来自Pomeroy等人(2002),并且关于创建从针对中枢神经系统的胚胎性瘤的特定治疗存活的患者对未存活患者的基因表达谱。该数据集包含具有7129个基因的60个患者样本,其中21个是存活者,39个是失败的。
c)结肠肿瘤:针对成人结肠癌的两类基因表达数据来自Alon等人(1999),并且它包含基于2000个基因的表达的62个样本,并且这些62个样本包括来自同一患者的40个肿瘤活检组织(“阴性”)和22个正常活检组织(“阳性”)。
d)SRBCT:用于诊断小圆蓝细胞瘤(SRBCT)的四类基因表达数据来自Khan等人(2001)。该数据集包含这四个不同类型肿瘤的63个样本,并且具有针对2308个基因的表达值。
e)淋巴瘤:非霍奇金淋巴瘤的三类基因表达数据来自Alizadeh等人(2000)。该数据集包含三个不同亚型淋巴瘤的62个样本,并且具有针对4026个基因的表达值。
f)前列腺:这里的数据由来自经历手术的患者的102个前列腺组织组成,其中50个是正常的和52个肿瘤样本(Singh等人,2002)。其具有针对6033个基因的表达值。
g)脑:该数据集也来自Pomeroy等人(2002),包含针对5个不同肿瘤亚型的42个脑癌样本的微阵列表达数据。它具有针对5597个基因的表达值。
表6.1总结了这些数据集的主要特性。针对所有这些问题,组合原始训练和测试数据,并且然后使用随机二次采样来生成训练和测试集合(Stone 1974)。来自该可用数据的训练和测试集合是通过随机选择其十分之九而随机生成的,以用于训练和使用测试的其余部分。对于每个数据集,该随机分配被重复50次,并且本节报告了50次运行的平均结果。这些固定数据集的实现通过一次读取一个输入模式来模拟在线学习。
表6.1-基因表达问题的特性。
6.2参数设置
对于用该方法解决的任何问题,没有参数的微调。对于这个问题集合,参数设置如下。对于Kohonen网,使用的网格大小为9x9、8x8、7x7、6x6、5x5、4x4和3x3(FG = 7)。阈值PCTmin和CTmin分别被设置为70%和3。被设置为0.001。
6.3实验结果-特征选择
表6.2示出了该方法用于基因表达问题的特征的平均数目。对于这些问题,重要的挑战是发现负责疾病(或成功治疗)的基因(特征)小集合,使得他们可以进一步被调查以更好地理解疾病(或治疗)(Kim等人2002)。识别用于疾病类型诊断和治疗的基因小集合也降低了临床测试的成本。如表6.2中所示,该方法非常擅长在数千个基因中识别基因(特征)小集合。
表6.2-由Kohonen神经元全体方法用于基因表达问题的特征的平均数目。
6.4 Kohonen神经元全体分类器系统的实验评估
该节的描述呈现Kohonen全体算法的实验结果,Kohonen全体算法由以下各项组成:(1)类别特有特征选择和(2)使用所选择的特征训练全体Kohonen神经元以用于分类。该节将该算法的性能与其他现有技术的特征选择和分类算法进行比较,并且使用来自Bu等人(2007)、Li等人(2007)和Dettling(2004)的结果来进行比较。这些基因表达问题也通过用于比较的Apache Spark的机器学习库MLlib(Apache Spark MLlib 2015)来解决。
Bu等人(2007)提供了关于几个基因表达问题的实验结果。他们使用了用于维度降低的PCA、用于特征选择的遗传算法(GA)和反向浮动搜索方法(BFS),并且支持用于分类的向量机(SVM)。对于他们的测试,他们将数据随机地分成2/3用于训练,并且其余用于测试并重复该过程50次。表6.3示出了针对特征提取、特征选择和SVM的各种组合的平均错误率和标准偏差。表6.3还示出了Kohonen神经元全体算法的结果。
表6.3-针对基因表达数据集的各种分类算法的平均测试错误率和标准偏差。SVM结果来自Bu等人(2007)。
Li等人(2007)为这些基因表达问题开发了一种方法,该方法将初步特征选择与维度降低的偏最小二乘(PLSDR)组合(Dai等人,2006)。他们使用线性SVM和KNN方法,其中对于分类,K=1。他们使用分层的10倍交叉验证,并且表6.4示出了针对两个分类器以及Kohonen全体结果的平均错误率和标准偏差。注意,在Bu等人(2007)和Li等人(2007)二者中所有报告的SVM结果都在针对每个个体问题的参数微调之后,而Kohonen全体算法没有使用这种微调。总体而言,当与SVM和特征选择/提取算法的各种变化相比,Kohonen全体算法对这些不同的基因表达问题表现良好。
表6.5将Kohonen全体算法中使用的特征的平均数目与Li等人(2007)的基因选择+PLSDR方法所使用的数目进行比较。在基因选择+ PLSDR方法中,首先基于t-统计分数来消除基因。所以表6.5示出了在消除步骤之后平均使用多少个基因用于通过PLSDR的维度降低。在讨论这些结果时,Li等人(2007)指出:“所提出的方法可以大大降低维度,从整个集合中减少平均百分之五十的基因。”请注意,大约50%的原始基因集合仍然用于PLSDR维度降低,并且因此,结果的可解释性和基因测试的成本仍然成问题。与之相比,Kohonen全体算法使用的基因少得多,具有更好的可解释性,并且它执行基因测试的成本将低得多。
Dettling(2004)为大多数这些基因表达问题提供了各种算法的实验结果,并且表6.6示出了平均错误率。对于他的测试,他随机将数据分成2/3用于进行训练,并且其余用于测试并且该过程重复50次。然而,他选择了均衡的训练集合,并且这可以提供一些算法的更好结果。注意,Kohonen全体算法没有使用平衡训练集合用于测试。Dettling(2004)以图形形式提供了错误率的置信水平,但是它们难以解读。因此,表6.6没有示出针对Kohonen全体方法以外的误差率的标准偏差。
表6.4-针对基因表达数据集的各种分类算法的平均测试错误率和标准偏差。PLSDR结果来自Li等人(2007)。
表6.5 - Li等人的Kohonen全体算法和基因选择+PLSDR方法中使用的特征的平均数目。
表6.6-来自Dettling(2004)的各种分类算法的平均测试错误率。
Apache Spark机器学习库(MLlib)比较
表6.7示出了Apache Spark机器学习库MLlib(2015)中的各种算法的平均错误率和标准偏差。利用SGD的SVM(SVM方法)和利用SGD的LogReg(逻辑回归方法)使用随机梯度下降(SGD)方法来训练分类器。所有这些算法都与其默认参数一起被使用。利用SGD的SVM和利用SGD的LogReg仅适用于二类问题,因此它们在表中对于多类问题SRBCT、淋巴瘤和脑没有结果。对于这些Spark MLlib测试,将数据随机分为2/3用于进行训练并且其余用于进行测试并且重复该过程50次。
表6.7-针对Apache Spark机器学习库MLlib(2015)的各种分类算法的平均测试错误率和标准偏差。
7.用于处理不平衡数据问题的附加实施例
7.1介绍
对于流送和存储的大数据二者,许多真实的分类问题是高度不平衡的,并且标准分类方法相当难以准确预测少数类别。
本发明的实施例基于针对平衡流送数据的第4.4节中呈现的算法使用分类方法用于不平衡流送数据。该方法使用双层全体超球体网来发现少数类别。下面的描述用示例来解释该方法背后的基本想法,呈现算法和一些初步计算结果。
7.2双层超球体网
如图3中所示,Kohonen网通常用于将数据聚集成数据流中模式的独立类别。对于分类问题,一旦他找到聚类,那么人们就可以基于该节点处的多数类别来为该节点加标签并且将其用作预测系统。根据本发明的实施例,这是迄今为止呈现的方法的本质。然而,对于不平衡数据问题,当对于一个或多个类别仅存在极少数据点,但针对其他类别有大量数据点可用时,该少数类别可能在该网中任何节点处不处于多数或仅在少量节点中处于多数。因此,该网中没有节点或只有少量节点将预测该少数类别。为了解决该问题,一个实施例在明显存在少数类别的情况下识别Kohonen节点,并且然后使用这些节点处的训练数据点来训练另一Kohonen网集合。基本想法是分解这些节点处的数据点以找到少数类别区域。此后,在明显少数类别存在的情况下针对个体节点的Kohonen网通常被称为Kohonen子模型或子网。下一节解释用Kohonen网的第二层找到少数类别区域的过程。
7.3找到少数类别区域的过程
成人普查数据集(Kohavi 1996)被广泛用于比较分类算法。该数据集具有有关美国公民的人口统计信息,并且分类问题是预测谁收入超过50K美元与少于50K美元。它在训练集合中有16,281个示例,其中12,435个示例对应于<=50K类别,并且3846个示例对应于>50K类别。因此,>50K类别仅具有大约23.62%的数据点,并且为了讨论的目的被认为是少数类别。对该数据训练的具有网格大小5x5的Kohonen网产生25个有效节点。训练的具有网格大小7X7的Kohonen网具有44个有效节点。表7.1示出了两个Kohonen网(5x5和7x7)的各个节点间的数据分布。列“<=5K计数”和“>50K计数”分别示出在每个节点处属于<=50K类别和>50K类别的数据点的数目。因此,例如,在5x5网格中,第一行针对节点X = 0,Y = 0,并且具有来自<= 50K类别的1044个数据点和来自> 50K类别的980个点。假设具有超过10%的数据点或来自> 50K类别的至少50个数据点的节点被认为具有少数类别的明显存在。并且假设其余节点属于多数类别<=50K,因为多数类别占主导。在此基础上的节点分类情况下,5x5网格具有12个节点,其中多数类别处于绝对主导,并且他们总共包含12435个多数类别数据点中的3418个或27.5%。并且这12个多数类别节点仅包含3846个少数类别数据点中的65个或1.7%。与之相比,7x7网格有27个节点,其中多数类别处于绝对主导,并且他们总共包含12435个多数类别数据点中的5847个或47%。而且这27个多数类别节点仅包含3846个少数类别数据点中的228个或6%。因此,与5x5网格相比,7x7网格成功地将更多的多数类别数据点与少数类别分离——5847对3418。在25x25网格情况下,存在类别之间更多的分离。在25x25网格情况下,存在368个节点,其中多数类别处于绝对主导,并且他们总共包含12435个多数类别数据点中的8591个或69%。并且这368个多数类别节点仅包含3846个少数类别数据点中的210个或5.5%。因此,与5x5和7x7网格相比,25x25网格在分离两个类别方面做得好得多。表7.2呈现了这些数字的概况。
表7.1-跨具有网格大小5×5和7×7的Kohonen网的数据分布。
表7.2-跨各种Kohonen网网格大小的多数类别节点的概括特性。
本发明的该实施例的基本目标是得到第一层Kohonen网中的类别的良好分离,并且然后在第二层中使用全体Kohonen子模型(或全体超球体网)来进一步分离在少数类别具有明显存在的节点处的类别。而且,在该过程中,它可以在第一层中探索许多不同的网格大小(例如5x5、7x7、25x25)并且将它们整合以得到更好的性能。
实质上,该算法使用Kohonen网作为工具来将类别区域分解成较小的子区域,以向不同的类别区域提供更好的可视性。它在某种程度上类似于决策树方法。然而,Kohonen网的强大特征之一是它在考虑所有特征的情况下分解(即,分组)数据点,而不像决策树方法那样只考虑用于构造树的特征子集。
7.4用于找到少数类别区域的Kohonen网全体的第二层
根据本发明的这个实施例,该算法针对第一Kohonen网中少数类别具有明显存在的每个节点处的数据子集训练另一Kohonen网集合(Kohonen子网的第二层)。例如,上表7.1中的5x5网格Kohonen网具有13个节点,其中少数类别明显存在。这13个节点包含总共3846个少数类别点中的3781个(即少数点的98%),但是也具有9017个多数类别点。因此,该算法分解与这些节点相对应的区域,以获得对多数和少数类别子区域二者更好的可视性。该算法通过如下方式来实现这一点:针对具有明显存在少数类别的这些节点中的每个处的数据点创建Kohonen子网全体。例如,表7.1的5x5网格Kohonen网中的节点X = 0,Y = 0具有多数类别(<=50K)的1044个点和少数类别(> 50K)的980个点。然后,节点X = 0,Y = 0处的这些数据点用于构建不同大小的Kohonen子网全体,以进一步获得对每个类别的子区域中的可视性。
根据实施例,该算法将任何类别占主导的几乎同质的节点视为决策树意义上的叶节点或终端节点。再次在决策树的意义上,使用Kohonen子网仅分割非同质节点。双层Kohonen网在结构上在某种程度上类似于单层决策树桩。在该实施例中,该算法主要使用Kohonen子网全体来防止过度拟合,因为这些节点中的许多节点可能不包含大量数据点。
7.5根据实施例的处理不平衡数据问题的算法
在本发明的实施例中,根据下面的实施例修改上面在第3.5节和第4.4节中描述的算法以处理不平衡数据问题。表7.1示出了使用的附加符号。
表7.1-用于不平衡数据问题的附加符号的汇总
7.5.1针对不平衡问题的用于从流送数据进行类别特有特征选择的算法
步骤1.处理一些流送数据以找到每个特征的近似最大值和最小值。在后续处理期间,使用该范围来归一化流送输入模式。假设输入向量x在该算法中被归一化。(注意:数据归一化的其他方法也可以用于此算法)。
当找到每个特征的最大值和最小值时,跟踪和计算CMPCTk,流送数据中属于类别k的数据点的近似百分比,k=1...kc。如果CMPCTk<IMPCTmax,则类别k是少数类别。并且将类别k添加到少数类别列表MCL。
步骤2.将N个特征随机分区为FS个子集(FS=KNmax/FG),其中每个分区由FPq表示,q=1...FS。如果问题是不平衡的(即MCL(少数类别集合)非空),则减少FS(例如FS=0.5 KNmax/FG),并且留出一些资源以构建第二层Kohonen子网。
步骤3.初始化将被并行训练的KNmax 个Kohonen网(或如果问题是不平衡数据,则减少的Kohonen网集合)的权重和学习参数,其中FG是针对每个特征分区FPq的具有不同网格大小的Kohonen网的数目,q=1...FS。
步骤4.使用流送数据并且根据分配给每个Kohonen网的特征子集为每个Kohonen网选择输入模式向量的适当部分,来并行训练所有KNmax个Kohonen网(或者如果问题是不平衡数据,则减少的Kohonen网集合)。当所有Kohonen网收敛及其CWRT比率等于或低于 时停止训练。
步骤5. 在不改变权重的情况下,通过稳定化的Kohonen网处理一些另外的流送数据,以找到有效节点(获胜神经元)及其类别计数。当所有有效节点处的类别计数百分比收敛并稳定时停止。
步骤6.如果有效节点(神经元)处的最有效类别的类别计数百分比CC>= PCTmin,则将每个有效节点分配到该类别。如果问题不是不平衡数据,则丢弃不满足PCTmin要求或具有低总类别计数的所有有效神经元。如果问题不是不平衡数据,则去往步骤7。
如果问题是不平衡数据,则通过相加所有少数类别计数并且计算其在该节点处的总类别计数的百分比来计算每个有效节点处的CCM。如果CCM>IMPCTmax,则将该有效节点添加到集合MCLNODEFPq,针对少数类别明显存在的每个特征子集FPq的第一层Kohonen网中的有效节点的列表,q=1...FS。分配到列表MCLNODEFPq的节点没有被分配到任何类别。
现在训练对应于少数类别明显存在的列表MCLNODEFPq中的每个第一层节点的第二层全体Kohonen子网。
步骤A.初始化针对列表MCLNODEFPq中每个第一层节点的FGSL第二层Kohonen子网的权重和学习参数,FPq,q=1...FS。FGSL是针对每个特征分区的具有不同网格大小的Kohonen子网的数目。
步骤B.处理一些附加流送数据以便并行地并且通过根据特征分区FPq(q=1...FS)选择用于每个Kohonen子网的输入模式的适当部分来训练所有第二层Kohonen子网。当所有Kohonen子网收敛时;即,对于所有Kohonen网,当时,停止训练。对于该步骤,仅利用被分配到第一层Kohonen网的对应第一层节点的流送数据点来训练每个这样的第二层全体。
步骤C.在不改变权重的情况下,通过稳定化的第二层Kohonen子网处理一些额外的流送数据,以得到所有第二层Kohonen子网中的有效节点的类别计数。当所有第二层Kohonen子网的类别百分比变得稳定时停止。
步骤D.如果针对有效节点(神经元)处最有效类别的类别计数百分比CC>=PCTmin,则将第二层Kohonen网中的每个有效节点分配到类别。丢弃不满足PCTmin要求的所有有效神经元。
步骤7.针对每个特征分区FPq,q=1...FS,按类别创建剩余有效节点的列表。
步骤8.针对每个特征分区FPq,q=1...FS,分别计算特征的分离性指标。仅使用特征分区的剩余有效神经元来计算该特征分区中特定特征的分离性指标。已被分配到各类别的那些剩余有效神经元是该类别的代表性示例。
步骤9.重复步骤2到8几次并且跟踪每个特征的最大分离性指标值。
步骤10.基于特征的最大分离性指标值对特征进行排列。
7.5.2针对不平衡数据问题的用于训练最终Kohonen网集合以进行分类的算法
如果问题是不平衡数据(即,MCL,少数类别集合非空),则减少Bmax(例如,)并且留出一些资源以构建第二层Kohonen子网。
步骤1.将桶编号j初始化为零。
步骤2.递增桶编号j(j=j+1)并且从每个类别k(k = 1 ... kc)的排列特征列表向桶FBj添加(Inc*j)数目的顶部排列特征。FSBkj是桶j中类别k的(Inc*j)个顶部排列特征的集合。
步骤3.在分布式计算系统中并行地针对每个类别k(k=1...kc)并且针对对应特征集合FSBkj初始化具有FG个不同网格大小的最终Kohonen网。而且,针对包括桶j中来自所有类别的所有特征的特征集合初始化FG个Kohonen网。如果j<Bmax,则返回到步骤2以针对其他特征桶设立其他Kohonen网。当j=Bmax时,去往步骤4。
步骤4.使用流送数据并且根据特征子集FSBkj(k=1...kc,j=1.... Bmax)选择针对每个Kohonen网的输入模式的适当部分来并行训练所有KNmax个Kohonen网。当所有Kohonen网收敛时停止训练;即,当对于所有Kohonen网,时停止训练。
步骤5.在不改变权重的情况下通过稳定化的Kohonen网处理一些另外的流送数据,以找到针对每个桶j中每个类别k的对应Kohonen网中的有效节点(神经元)的集合ANkj(k=1... kc,j=1...Bmax)。还找到针对使用桶j中的所有类别的所有特征的Kohonen网的有效节点集合,j=1...Bmax。此外,得到有效节点的类别计数CTAkji,并且当类别计数百分比CTPkjim(m=1...kc)对于所有有效节点变得稳定时停止。
步骤6.如果针对该有效节点处的多数类别m的类别计数百分比CTPkjim(m=1...kc)大于最小阈值PCTmin并且绝对类别计数CTAkji大于阈值CTmin,则将每个有效节点ANkji分配到多数类别m。如果问题不是不平衡数据,则去往步骤7。
如果问题是不平衡数据,则通过将所有少数类别计数相加并计算其在该节点处总类别计数的百分比来计算每个有效节点ANkji处的CCM。如果CCM>IMPCTmax,则将该有效节点添加到集合MCLNODE-FSBkj,针对少数类别明显存在的每个特征子集FSBkj的第一层Kohonen网中的有效节点列表,k=1...kc,j=1....Bmax。分配到列表MCLNODE-FSBkj的节点没有被分配到任何类别。
现在训练对应于少数类别明显存在的列表MCLNODE-FSBkj中的每个第一层节点的Kohonen子网的第二层全体。
步骤A.初始化针对列表MCLNODE-FSBkj中每个第一层节点的FGSL第二层Kohonen子网的权重和学习参数,FSBkj,k=1...kc,j=1...Bmax。FGSL是针对每个特征分区的具有不同网格大小的Kohonen子网的数目。
步骤B.处理一些额外的流送数据以便并行地并且通过根据特征分区FSBkj来选择针对每个Kohonen子集的输入模式的适当部分来训练所有第二层Kohonen子网,k=1...kc,j=1...Bmax。当所有Kohonen子网收敛时停止训练;即,当对于所有Kohonen网时停止训练。
对于该步骤,仅利用分配到第一层Kohonen网的对应第一层节点的流送数据点来训练每个这样的第二层全体。
步骤C.在不改变权重的情况下,通过稳定化的第二层Kohonen子网来处理一些额外的流送数据,以得到所有第二层Kohonen子网中的有效节点的类别计数。当类别百分比对于所有第二层Kohonen子网变得稳定时停止。
步骤D.如果针对有效节点(神经元)处的最有效类别的类别计数百分比>= PCTmin,则将第二层Kohonen子网中的每个有效节点分配到类别。将这些第二层有效节点添加到ANkj,即类别k和特征集合FSBkj的有效节点的列表。丢弃不满足PCTmin要求的所有有效神经元。
步骤7.处理一些另外的流送数据以计算每个有效节点ANkji的半径Wkji。当半径或宽度变得稳定时停止。
步骤8.仅保留来自对应Kohonen网(或子网)的满足最小阈值PCTmin和CTmin的有效节点ANkj,k=1...kc,j=1...Bmax。还基于桶j(j=1...Bmax)中所有类别的所有特征以及谁满足最小阈值来保留来自Kohonen网(或子网)的有效节点。丢弃来自所有Kohonen网的所有其他节点。
根据本发明的实施例,该算法针对每个桶j产生有效Kohonen神经元的集合,j=1...Bmax,并且每个Kohonen神经元被分配到特定类别。
7.6不平衡数据问题的计算结果
关于不平衡数据问题的一些计算结果如下。计算测试使用两个广泛引用的数据集——Kohavi(1996)的成人普查数据和Moro等人(2014)的银行营销数据。银行营销数据集来自葡萄牙的银行机构,并且用于其直销活动以向其客户销售定期存款。该数据集具有关于客户的一般信息以及与他们进行电话联系的详细信息。任务是预测客户是否将基于电话呼叫来认购定期存款。认购的人被分类为“是”,而不认购的被分类为“否”。其在训练集合中有4521个示例,其中4000个示例对应于“否”类别,并且521个示例对应于“是”类别。因此,“是”类别仅具有约11.52%的数据点并且被认为是少数类别。
应该提及的是,许多专家建议不将准确度用作对不平衡数据问题的评估度量。对他们来说,对于不平衡数据问题,正确预测少数类别是主要关心的事。因此,稍高的总体错误率通常被容忍。下表示出了被正确分类的少数类别点的数目和总体准确度二者。
将该算法的性能与IBM的SPSS Modeler中可用的决策树算法的三个变化(C&R树、CHAID和Quest)进行比较,因为决策树算法在原理上与该算法相似。对于决策树算法,参数被设置为其默认值。
表7.3示出了成人普查数据的结果,并且表7.4示出了银行营销数据的结果。在这两种情况中,本文描述的Kohonen全体方法比其他方法在训练集合和测试集合中发现更多的少数类别数据点,而准确性仅略微下降。
表7.3-针对成人普查数据集(Kohavi 1996)被四个算法正确分类的少数类别点的数目以及训练和测试准确度。
表7.4-针对银行营销数据集(Moro等人 2014)被四个算法正确分类的少数类别点的数目以及训练和测试准确度。
8. 利用并行计算的实施例的硬件实现
本发明的实施例可以在如图6中描绘的分布式计算平台600(诸如Apache Spark)上和神经硬件上实现。神经硬件实现可以在Kohonen网的神经元级利用大规模并行计算。这样的实现可以在要求快速学习和响应的许多领域(包括IoT(物联网)和机器人技术)中有用。这样的实现还可以以非常快的方式处理存储的数据。Kohonen芯片的设计(模拟和数字版本)当前是可获得的,并且这种芯片可以大量生产。
8.1用于节省IOT中信号传输成本;促进分布式控制和决策做出的本地化学习;
本发明的实施例的硬件实现允许学习和响应的本地化。本地化学习和响应的优点在于它将减少通过诸如互联网之类的昂贵网络的信号传输量。例如,如果利用本地化硬件针对性能和潜在故障持续监视一台关键机器,则不需要发生通过大型网络向基于云的代理的连续信号传输,直到达到指示性能劣化或即将发生故障的特定阈值。因此,本地化硬件可以显著减少通过大型网络的不必要的传输。基于硬件的本地化学习和监视不仅能减少网络业务量及其成本,它还将降低(或甚至消除)为了决策做出和控制而对单个控制中心(诸如云)的依赖性。本地化学习和监视将允许对IoT中的机器和设备进行分布式决策做出和控制。
本发明的实施例的硬件实现还将使得学习机器能够“随时随地”广泛地部署,即使在无法访问网络和/或云设施时。
9.结论
本发明的实施例提供了用于大规模机器学习的方法。该方法可以从存储的数据和流送数据二者中学习;当然,存储的数据必须被流送到该方法。因此,它是用于分类问题的通用机器学习方法。而且,如实验结果所示,该方法在降低高维度问题的维度方面非常强大,并且其准确度也非常有竞争力。在线方法也是高度可扩展的,因为它们不需要同时访问训练数据,并且可以通过一次检查单个记录来进行学习。在线方法的另一优点是他们可以从所有数据中学习,并且不必从该数据进行采样。
如果机器学习系统将被广泛部署并用于大数据、IoT和其他环境中,则需要一定水平的学习自动化。自动化可以减少对高度熟练的机器学习专家开发应用的依赖。在没有一定水平的自动化的情况下,部署机器学习应用的成本可能变得过高,从而阻碍其更广泛使用并且降低大数据和IoT的经济利益。本发明的实施例为学习的自动化提供了步骤。这种自动化可以通过全体分类器并且通过对参数设置的不太严格的要求来实现。
在对计算机存储器内的数据进行的操作的算法和表示方面呈现了该详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域其他技术人员的手段。在这里并且通常,算法被构思成导致期望结果的一系列步骤。该步骤是要求对物理量进行物理操纵的步骤。通常但不一定,这些量采用能够被存储、传输、组合、比较和以其他方式操纵的电或磁信号的形式。主要出于通常使用的原因,有时将这些信号称为比特、值、元素、符号、字符、术语、数字等被证明是方便的。
然而,应该记住,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便的标签。除非另有特别说明,否则从该讨论中显而易见的是,应该理解,在整个描述中,利用诸如“处理”或“计算”或“运算”或“确定”或“显示”等之类的术语的讨论是指计算机系统或计算平台或(一个或多个)类似电子计算设备的动作和过程,该计算机系统或计算平台或(一个或多个)类似电子计算设备把在计算机系统的寄存器和存储器内表示为物理(电子)量的数据操纵并变换成类似地表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或现显示设备内的物理量的其他数据。
本发明的实施例还涉及用于执行这里的操作的装置。一些装置可以为了所要求的目的而被专门构造,或者可以包括由存储在(一个或多个)计算机中的计算机程序选择性地激活或配置的(一个或多个)通用计算机。这样的计算机程序可以被存储在计算机可读存储介质中,计算机可读存储介质诸如但不限于任何类型的光盘,包括光盘、CD-ROM、DVD-ROM和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、NVRAM、磁卡或光卡或者适用于存储电子指令的任何类型的介质,并且每个都被耦合到计算机系统总线。
本文呈现的算法并非固有地涉及任何特定的计算机或其他装置。根据本文的教导,各种通用系统可以与程序一起使用,或者可以证明构造更专用的装置来执行所要求方法是方便的。从本文的描述显现各种这些系统的结构。另外,没有参考任何特定编程语言来描述本发明的实施例。应该理解,可以使用各种编程语言来实现本文描述的本发明的实施例。
机器可读介质包括用于以机器(例如,计算机)可读形式存储或传输信息的任何机构。例如,机器可读介质包括只读存储器(“ROM”);随机存取存储器(“RAM”);磁盘存储介质;光存储介质;闪存设备等。
尽管在前述说明性实施例中已经描述和说明了本发明,但应该理解的是,仅作为示例来做出本公开,并且可以在不脱离本发明的精神和范围的情况下做出本发明的实施细节方面的许多改变,本发明的精神和范围仅由所附权利要求限定。所公开的实施例的特征可以以各种方式组合和重新布置。
Claims (20)
1.一种用于分析大量数据中的模式并且基于所述分析采取动作的方法,包括:
接收所述大量数据;
训练所述数据以创建多个训练示例;
使用所述训练示例来选择多个特征,所述多个特征预测所述数据中模式的不同类别;
基于所选择的多个特征,使用所述数据并行训练多个ANN,所述多个ANN中的每个ANN是自组织映射;
仅提取表示数据中来自所述多个ANN的模式的类别的有效节点,并且向每个提取的有效节点添加类别标签;
基于加类别标签的有效节点对数据中的模式进行分类;以及
基于所述数据中的分类模式采取动作。
2.根据权利要求1所述的方法,其中,接收所述大量数据包括接收流送数据(“数据流”)。
3.根据权利要求2所述的方法,其中,训练所述数据包括使用所述数据流并行地训练第一多个Kohonen网络,以创建所述多个训练示例;并且其中,并行训练所述多个ANN包括并行训练与所述第一多个Kohenen网络不同的第二多个Kohonen网络,每个ANN均是自组织映射。
4.根据权利要求3所述的方法,进一步包括:在并行训练所述第二多个Kohonen网络之前,丢弃所述第一多个Kohonen网络。
5.根据权利要求3所述的方法,其中,所述多个训练示例是针对所述数据流中模式的每个类别创建的,并且由所述第一多个Kohonen网络中的节点表示。
6.根据权利要求1所述的方法,其中,使用所述训练示例来选择预测所述数据中模式的不同类别的所述多个特征降低所述数据的维度。
7.根据权利要求1所述的方法,其中,使用所述训练示例来选择预测所述数据中模式的不同类别的所述多个特征是要产生在不同类别中的模式之间的分离并且还使得每个类别内的模式更紧凑。
8.一种用于对具有多个特征的数据进行分类的方法,所述多个特征属于流送数据中的模式的多个类别,所述方法包括:
接收所述流送数据;
通过处理所述流送数据来并行训练具有不同网格大小并且针对所述多个特征的多个不同子集的第一多个Kohonen网络,其中,所述第一多个Kohonen网络形成聚类,其中,有效节点是聚类的中心并且用作所述流送数据中的类别的代表性示例;
将所述第一多个Kohonen网络中的所述有效节点分配到所述多个类别中的一个;
针对所述多个类别中的每个类别排列所述多个特征;
基于所述排列将所述多个特征中的一个或多个特征分组到多个分离种类中的每个中;
通过处理所述数据,针对每个种类中的所述多个特征中的每个来并行训练具有不同网格大小的第二多个Kohonen网络;
将所述第二多个Kohonen网络中的有效节点分配到所述多个类别中的一个类别;以及
从所述第二多个Kohonen网络中的有效节点的子集创建一组超球体分类器。
9.根据权利要求8所述的方法,其中,将所述第一多个Kohonen网络中的所述有效节点分配到所述多个类别中的一个类别基于每个有效节点被属于所述多个类别中的每个的特征激活的次数。
10.根据权利要求8所述的方法,其中,将所述第二多个Kohonen网络中的有效节点分配到所述多个类别中的一个类别基于每个有效节点被属于所述多个类别中的每个的特征激活的次数。
11.根据权利要求8所述的方法,其中,针对所述多个类别中的每个类别排列所述多个特征基于每个特征的分离性指标。
12.根据权利要求11所述的方法,进一步包括:在基于每个特征的所述分离性指标来排列所述多个类别中的每个类别的所述多个特征之前,针对所述多个特征中的每个特征并且针对所述多个类别中的每个类别来计算所述分离性指标。
13.根据权利要求8所述的方法,其中:
接收流送数据包括接收不平衡的流送数据;
其中,作为所述聚类的中心的用作所述流送数据中的类别的代表性示例的所述有效节点用作所述流送数据中的多数类别和少数类别的代表性示例;
所述方法进一步包括:
通过处理所述流送数据来并行训练具有不同网格大小并且针对所述多个特征的多个不同子集的另一多个Kohonen网络,其中,当在所述多个有效节点中最小阈值被超过时,所述附加多个Kohonen网络中的有效节点用作所述流送数据中多数类别和少数类别的代表性示例。
14.根据权利要求13所述的方法,其中,所述代表性示例是针对所接收的流送数据中的模式的每个类别创建的,并且由所述第一多个Kohonen网络中的有效节点表示。
15.一种包含计算机可执行指令的非瞬态计算机可读介质,所述计算机可执行指令在由处理器执行时使得所述处理器根据包括以下步骤的方法来分析大量数据中的模式并基于所述分析采取动作:
接收所述大量数据;
训练所述数据以创建多个训练示例;
使用所述训练示例来选择多个特征,所述多个特征预测所述数据中的模式的不同类别;
基于所选择的多个特征,使用所述数据并行训练多个ANN,所述多个ANN中的每个是自组织映射;
仅提取表示数据中来自所述多个ANN的模式的类别的有效节点,并且向每个提取的有效节点添加类别标签;
基于加类别标签的有效节点对数据中的模式进行分类;以及
基于所述数据中的分类模式采取动作。
16.根据权利要求15所述的非瞬态计算机可读介质,其中,接收所述大量数据包括接收流送数据(“数据流”),并且其中,训练所述数据包括使用所述数据流并行训练第一多个Kohonen网络,以创建所述多个训练示例;并且
其中,并行训练所述多个ANN包括并行训练与所述第一多个Kohenen网络不同的第二多个Kohonen网络,每个ANN均是自组织映射。
17.根据权利要求16所述的非瞬态计算机可读介质,进一步包括:在并行训练所述第二多个Kohonen网络之前丢弃所述第一多个Kohonen网络。
18.根据权利要求16所述的非瞬态计算机可读介质,其中,所述多个训练示例是针对所述数据流中模式的每个类别创建的,并且由所述第一多个Kohonen网络中的节点表示。
19.根据权利要求15所述的非瞬态计算机可读介质,其中,使用所述训练示例选择预测所述数据中模式的不同类别的所述多个特征降低所述数据的维度。
20.根据权利要求15所述的非瞬态计算机可读介质,其中,使用所述训练示例来选择预测所述数据中模式的不同类别的所述多个特征是要产生不同类别中的模式之间的分离并且还使得每个类别内的所述模式更紧凑。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562186891P | 2015-06-30 | 2015-06-30 | |
US62/186891 | 2015-06-30 | ||
PCT/US2016/037079 WO2017003666A1 (en) | 2015-06-30 | 2016-06-10 | Method and apparatus for large scale machine learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108351985A true CN108351985A (zh) | 2018-07-31 |
Family
ID=57608944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680050179.9A Pending CN108351985A (zh) | 2015-06-30 | 2016-06-10 | 用于大规模机器学习的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11544570B2 (zh) |
EP (1) | EP3317823A4 (zh) |
CN (1) | CN108351985A (zh) |
WO (1) | WO2017003666A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109461302A (zh) * | 2018-09-17 | 2019-03-12 | 北京交通大学 | 一种基于卡方检验的数据分段方法 |
CN110110845A (zh) * | 2019-04-24 | 2019-08-09 | 长安大学 | 一种基于并行多级宽度神经网络的学习方法 |
CN110163442A (zh) * | 2019-05-27 | 2019-08-23 | 华北理工大学 | 一种基于集成学习的气井积液预测方法 |
CN111708354A (zh) * | 2020-07-06 | 2020-09-25 | 四川创客知佳科技有限公司 | 基于大数据的智慧酒店终端故障检测方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3317823A4 (en) | 2015-06-30 | 2019-03-13 | Arizona Board of Regents on behalf of Arizona State University | METHOD AND DEVICE FOR MACHINERY LEARNING IN A LARGE SCALE |
US10528889B2 (en) * | 2016-03-25 | 2020-01-07 | Futurewei Technologies, Inc. | Stereoscopic learning for classification |
US11038893B2 (en) | 2017-05-15 | 2021-06-15 | Cisco Technology, Inc. | Validating a device class claim using machine learning |
WO2019001418A1 (zh) * | 2017-06-26 | 2019-01-03 | 上海寒武纪信息科技有限公司 | 数据共享系统及其数据共享方法 |
US20200388358A1 (en) * | 2017-08-30 | 2020-12-10 | Google Llc | Machine Learning Method for Generating Labels for Fuzzy Outcomes |
US11507806B2 (en) * | 2017-09-08 | 2022-11-22 | Rohit Seth | Parallel neural processor for Artificial Intelligence |
TWI798314B (zh) * | 2017-12-28 | 2023-04-11 | 日商東京威力科創股份有限公司 | 資料處理裝置、資料處理方法及資料處理程式 |
JP7171212B2 (ja) * | 2018-04-02 | 2022-11-15 | キヤノン株式会社 | 情報処理装置、画像表示方法、コンピュータプログラム、及び記憶媒体 |
US20200401944A1 (en) * | 2018-04-27 | 2020-12-24 | Sony Corporation | Mechanism for machine learning in distributed computing |
US10482466B1 (en) | 2018-08-24 | 2019-11-19 | Capital One Services, Llc | Methods and arrangements to distribute a fraud detection model |
US11080707B2 (en) * | 2018-08-24 | 2021-08-03 | Capital One Services, Llc | Methods and arrangements to detect fraudulent transactions |
US11868875B1 (en) * | 2018-09-10 | 2024-01-09 | Amazon Technologies, Inc. | Data selection circuit |
WO2020082027A1 (en) * | 2018-10-18 | 2020-04-23 | Arizona Board Of Regents On Behalf Of Arizona State University | Method and apparatus for event prediction for a physical system based on data solely collected from the physical system |
CN109711450A (zh) * | 2018-12-20 | 2019-05-03 | 北京科东电力控制系统有限责任公司 | 一种电网预想故障集预测方法、装置、电子设备及存储介质 |
US11605085B2 (en) | 2019-01-24 | 2023-03-14 | Walmart Apollo, Llc | Methods and apparatus for fraud detection |
US11972429B2 (en) * | 2019-01-24 | 2024-04-30 | Walmart Apollo, Llc | Methods and apparatus for fraud detection |
US20210117782A1 (en) * | 2019-10-18 | 2021-04-22 | Apple Inc. | Interpretable neural networks for cuffless blood pressure estimation |
US11151404B2 (en) * | 2019-12-03 | 2021-10-19 | International Business Machines Corporation | Object recognition with dynamic switching of visual recognition processes using an image capturing device |
CN113189963B (zh) * | 2021-04-26 | 2024-03-19 | 东北大学 | 一种基于非平衡数据的轧制过程故障诊断方法 |
CN113255778A (zh) * | 2021-05-28 | 2021-08-13 | 广汽本田汽车有限公司 | 基于多模型融合的焊点质量检测方法、装置及存储介质 |
CN113590710A (zh) * | 2021-06-30 | 2021-11-02 | 南京财经大学 | 一种基于Spark内存计算的粮食质量分类方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5299284A (en) | 1990-04-09 | 1994-03-29 | Arizona Board Of Regents, Acting On Behalf Of Arizona State University | Pattern classification using linear programming |
US8352400B2 (en) * | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US20110178967A1 (en) * | 2001-05-24 | 2011-07-21 | Test Advantage, Inc. | Methods and apparatus for data analysis |
US8046324B2 (en) * | 2007-11-30 | 2011-10-25 | Ebay Inc. | Graph pattern recognition interface |
US8775341B1 (en) * | 2010-10-26 | 2014-07-08 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
PT2639749T (pt) | 2012-03-15 | 2017-01-18 | Cortical Io Gmbh | Métodos, aparelhos e produtos para processamento semântico de texto |
EP3317823A4 (en) | 2015-06-30 | 2019-03-13 | Arizona Board of Regents on behalf of Arizona State University | METHOD AND DEVICE FOR MACHINERY LEARNING IN A LARGE SCALE |
-
2016
- 2016-06-10 EP EP16818438.0A patent/EP3317823A4/en not_active Ceased
- 2016-06-10 WO PCT/US2016/037079 patent/WO2017003666A1/en active Application Filing
- 2016-06-10 CN CN201680050179.9A patent/CN108351985A/zh active Pending
- 2016-06-10 US US15/735,573 patent/US11544570B2/en active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109461302A (zh) * | 2018-09-17 | 2019-03-12 | 北京交通大学 | 一种基于卡方检验的数据分段方法 |
CN110110845A (zh) * | 2019-04-24 | 2019-08-09 | 长安大学 | 一种基于并行多级宽度神经网络的学习方法 |
CN110110845B (zh) * | 2019-04-24 | 2020-09-22 | 长安大学 | 一种基于并行多级宽度神经网络的学习方法 |
CN110163442A (zh) * | 2019-05-27 | 2019-08-23 | 华北理工大学 | 一种基于集成学习的气井积液预测方法 |
CN111708354A (zh) * | 2020-07-06 | 2020-09-25 | 四川创客知佳科技有限公司 | 基于大数据的智慧酒店终端故障检测方法 |
Also Published As
Publication number | Publication date |
---|---|
US11544570B2 (en) | 2023-01-03 |
EP3317823A4 (en) | 2019-03-13 |
US20180300631A1 (en) | 2018-10-18 |
WO2017003666A1 (en) | 2017-01-05 |
EP3317823A1 (en) | 2018-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108351985A (zh) | 用于大规模机器学习的方法和装置 | |
Kozodoi et al. | A multi-objective approach for profit-driven feature selection in credit scoring | |
Xu et al. | A comparison study of validity indices on swarm-intelligence-based clustering | |
Karaboga et al. | Fuzzy clustering with artificial bee colony algorithm | |
CN106537422A (zh) | 用于捕获信息内的关系的系统和方法 | |
Sharma et al. | Application of data mining–a survey paper | |
CN108960264A (zh) | 分类模型的训练方法及装置 | |
Masood et al. | Clustering techniques in bioinformatics | |
Roy et al. | Performance comparison of machine learning platforms | |
CN112700324A (zh) | 基于CatBoost与受限玻尔兹曼机结合的用户借贷违约预测方法 | |
Zou et al. | A novel network security algorithm based on improved support vector machine from smart city perspective | |
CN112183652A (zh) | 一种联邦机器学习环境下的边缘端偏见检测方法 | |
Shi et al. | A hybrid imbalanced classification model based on data density | |
CN110363302A (zh) | 分类模型的训练方法、预测方法及装置 | |
CN112926989B (zh) | 一种基于多视图集成学习的银行贷款风险评估方法及设备 | |
Lubis et al. | KNN method on credit risk classification with binary particle swarm optimization based feature selection | |
Siedhoff | A parameter-optimizing model-based approach to the analysis of low-SNR image sequences for biological virus detection | |
Holm | Machine learning and spending patterns: A study on the possibility of identifying riskily spending behaviour | |
Jafarigol | Uncovering the Potential of Federated Learning: Addressing Algorithmic and Data-driven Challenges under Privacy Restrictions | |
Bermell | Identification of Problem Gambling via Recurrent Neural Networks: Predicting self-exclusion due to problem gambling within the remote gambling sector by means of recurrent neural networks | |
Chen et al. | Single-layer perceptron with non-additive preference indices and its application to bankruptcy prediction | |
Djemaiel et al. | A dynamic hybrid rbf/elman neural networks for credit scoring using big data | |
Widodo et al. | Finding the Best Performance of Bayesian and Naïve Bayes Models in Fraudulent Firms Classification through Varying Threshold | |
Pal et al. | Smart Cancer Diagnosis using Machine Learning Techniques | |
Torkaman et al. | A recommender system for detection of leukemia based on cooperative game |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180731 |
|
WD01 | Invention patent application deemed withdrawn after publication |