采用多个二进制支持向量机计算类的后验概率的制作方法

文档序号:11635526阅读:372来源:国知局
采用多个二进制支持向量机计算类的后验概率的制造方法与工艺



背景技术:

支持向量机(svm)可以是具有分析数据并识别模式的关联学习算法的监督学习模型,用于分类和回归分析。给定训练示例的集合(每个被标记为属于两个类别中的一个类别),svm训练算法可以构建将新示例分配至一个类别或另一个类别的模型,使其成为非概率性二进制线性分类器。

附图说明

以下详细描述参照附图,其中:

图1是用于计算多个类的后验概率的系统的示例框图;

图2是用于计算多个类的后验概率的系统的另一示例框图;

图3是包括用于计算多个类的后验概率的指令的计算设备的示例框图;以及

图4是用于计算多个类的后验概率的方法的示例流程图。

具体实现方式

在以下描述中给出具体细节以提供对实施例的全面理解。然而,将理解的是,可以在没有这些具体细节的情况下实践实施例。例如,可以在框图中示出系统,以便于不因不必要的细节使实施例模糊不清。在其他情况下,可以在没有不必要的细节的情况下示出众所周知的过程、结构和技术,以便于避免使实施例模糊不清。

支持向量机(svm)模型可以是作为空间中点的示例的代表,被映射使得由尽可能宽的清晰边缘划分分离的类别的示例。新示例随后可以映射至相同的空间中并且基于它们落入哪个边缘侧而预测属于一类别。通常对于多类svm存在两种方法。

在一对一(ovo)方法中,可以针对类的每对配对训练二进制分类器。每个分类器可以将样本分配至两个类中的一个类。具有最多选票的类全胜。该方法可能具有无论分类器实际上提供了多少信息都均等地计数来自所有分类器选票的缺点。这也导致分类的置信度的不是非常有意义的指示的得分(选票的数量)。

在一对多(ova)方法中,可以在每个类与由来自所有其他类的样本所构成的类之间训练二进制分类器。每个分类器可以不仅返回来自多类svm的选票,而且返回代表在样本与划分了类的超平面之间的距离的得分,该得分通过选择使得距离类似于不同类的一些校准因子而被加权。具有最高得分的类获胜。该方法可能具有svm对于异质类比对于同质类执行显著较差的缺点。同样,得分可能不具有清楚的概率性解释。

本征地是二进制分类器的示例将支持向量机应用于多类分类问题。在此,示例可以是基于如上所述的一对一方法的,其中针对类的每对配对训练二进制分类器。然而,替代简单地将选票相加,每个二进制分类器的结果可以用作到朴素贝叶斯(bayes)分类器的输入,其中针对每个类,通过对验证样本的集合运行二进制分类器而在训练时刻确定可能性。

示例的方法可以训练多个二进制支持向量机(svm)以在多个类中的两个类之间投票。二进制svm中的每一个二进制svm可以在多个类的不同配对之间投票。接着,可以将已验证样本的集合输入至二进制svm中的每一个二进制svm。已验证样本的集合可以包括类中的每一个类的样本。同样,可以基于二进制svm的投票确定可能性估计值。进一步,可以针对类中的每一个类分配先验概率分布(先验率)。最后,可以基于所确定的可能性估计值和所分配的先验率,针对类中的每一个类计算后验概率。

因此,示例可以针对每个类产生有意义且容易地可解释的得分。进一步,示例可以不要求对基本二进制svm算法的任何修改。进一步,示例可以允许以比感兴趣的类更高的同质程度而训练子分类,这可以实现更好的svm性能并要求较少的训练数据。同样,示例可以允许经由贝叶斯先验率而直接地包括先验知识。

现在参照附图,图1是用于计算多个类的后验概率的系统100的示例框图。系统100可以是微处理器、控制器、存储器模块或设备、笔记本计算机、台式计算机、一体式系统、服务器、网络设备、无线设备等。

示出系统100以包括多个二进制支持向量机(svm)单元110-1至110-n(其中n是自然数)、已验证样本单元120、以及后验概率单元130。多个二进制svm单元110-1至110-n、已验证样本单元120以及后验概率单元130可以包括例如,包括用于实现以下所述功能的电子电路的硬件设备,诸如控制逻辑和/或存储器。此外或者作为替代方案,多个二进制svm单元110-1至110-n、已验证样本单元120和后验概率单元130可以实现为编码在机器可读存储介质上并由处理器可执行的一系列指令。

多个二进制svm单元110-1至110-n可以在多个类中的两个类之间投票。二进制svm110-1至110-n中的每一个可以在多个类中的不同配对112-1至112-n之间投票。术语分类可以指用于将相似类型的数据分组在一起的方式。不同的类可以具有不同类型的数据。二进制svm单元110-1至110-n可以包括具有分析数据并识别模式的关联学习算法的监督学习模型。给定训练示例的集合(每个被标记为属于两个类别中的一个类别),二进制svm单元110训练算法可以构建将新示例分配至一个类别或另一个类别的模型,使其成为非概率性二进制线性分类器。

已验证样本单元120可以将已验证样本122的集合输入至二进制svm110-1至110-n中的每一个。已验证样本122的集合可以包括类中的每一个类的样本124。对于已验证样本的集合,类的类型可以已经是已知的。后验概率单元130可以使用贝叶斯推论并且基于可能性估计值132而针对类中的每一个类计算后验概率134,可能性估计值132从二进制svm110-1至110-n响应于已验证样本122的集合的投票来确定。

贝叶斯推论可以指其中当获取了额外置信度时使用贝叶斯定律来针对假设更新概率估计值的推论方法。贝叶斯定律可以指在对第三事件调节之前(先验)和之后(后验)第一事件的几率对于第二事件的几率。随机事件或不确定性命题的后验概率可以是在考虑了相关置信度或背景之后分配的条件概率。可能性估计值可以指示置信度与给定假说的兼容性。当给定结果描述参数的函数时,可以使用可能性估计值。相反,当给定固定参数值描述结果的函数时,可以使用概率。以下参照图2-图4更详细解释系统100。

图2是用于计算多个类的后验概率的系统200的另一示例框图。系统200可以是微处理器、控制器、存储器模块或设备、笔记本计算机、台式计算机、一体式系统、服务器、网络设备、无线设备等。

图2的系统200可以至少包括图1的系统100的功能和/或硬件。例如,系统200包括多个二进制svm单元110-1至110-n以及已验证样本单元120。进一步,图2的系统200的后验概率单元230至少包括图1的系统100的后验概率单元130的功能和/或硬件。

同样,系统200包括可能性估计值单元240和先验率单元250。可能性估计值单元240和先验率单元250可以包括例如,包括用于实现以下所述功能的电子电路的硬件设备,诸如控制逻辑和/或存储器。此外或者作为替代方案,可能性估计值单元240和先验率单元250可以实现为编码在机器可读存储介质上并由处理器可执行的一系列指令。

可能性估计值单元240可以针对所投票的每个类确定可能性估计值132,该每个类响应于针对二进制svm110-1至110-n中的每一个输入每个类而被投票。先验率单元250可以针对类中的每一个类分配先验概率分布252(先验率)。可以例如使用已验证样本122的集合的分布(每个类的样本的比例)确定先验率252和/或从各个类的先验知识获得先验率252。

后验概率单元230可以进一步基于先验率252针对类中的每一个类计算后验概率134。先验率可以指在考虑一些置信度之前表示某个关于不确定量的不确定性的概率分布。以下参照图3-图4更详细解释系统200。

图3是包括了用于计算多个类的后验概率的指令的计算设备300的示例框图。在图3的实施例中,计算设备300包括处理器310和机器可读存储介质320。机器可读存储介质320进一步包括用于计算多个类的后验概率的指令322、324、326和328。

计算设备300可以包括在以下设备中或者是以下设备的一部分:例如微处理器、控制器、存储器模块或设备、笔记本计算机、台式计算机、一体式系统、服务器、网络设备、无线设备、或能够执行指令322、324、326和328的任何其他类型的设备。在某些示例中,计算设备300可以包括或连接至附加部件,诸如存储器、控制器等。

处理器310可以是由微代码或其他硬件设备所控制的、适用于获得并执行存储在机器可读存储介质320中的指令的至少一个中央处理单元(cpu)、至少一个半导体基微处理器、至少一个图形处理单元(gpu)、微控制器、专用逻辑硬件,或者其组合。处理器310可以获取、解码并执行指令322、324、326和328以实现计算多个类的后验概率。作为对获得并执行指令的可替代的方案或者除了获取并执行指令之外,处理器310可以包括至少一个集成电路(ic)、其他控制逻辑、其他电子电路、或其组合,其包括了用于执行指令322、324、326和328的功能的许多电子部件。

机器可读存储介质320可以是包含或存储可执行指令的任何电子、磁性、光学或其他物理存储设备。因此,机器可读存储介质320可以例如是随机访问存储器(ram)、电可擦除可编程只读存储器(eeprom)、存储驱动、压缩盘只读存储器(cd-rom)等。照此,机器可读存储介质320可以是瞬态的。如以下详细描述的,机器可读存储介质320可以编码有用于计算多个类的后验概率的一系列可执行指令。

此外,当指令322、324、326和328由处理器(例如经由处理器的一个处理器元件或者多个处理器元件)执行时,可以使得处理器执行过程,诸如图4的过程。例如,运行指令322可以由处理器310执行,以针对多个二进制svm中的每一个运行已验证样本的集合。二进制svm中的每一个可以响应于所输入的已验证样本的集合而在多个类中的不同配对类之间投票。已验证样本的类可以是已知的。已验证样本的集合可以包括类中的每一个类的样本。

确定指令324可以由处理器310执行,以基于二进制svm的投票而确定可能性估计值。分配指令326可以由处理器310执行,以针对类中的每一个类分配先验概率分布(先验率)。多个类的先验率可以归一化以总计为1。输入指令328可以由处理器310执行,以将所确定的可能性估计值和所分配的先验概率输入至贝叶斯推论模型中,从而计算针对类中的每一个类的后验概率。

图4是用于计算多个类的后验概率的方法400的示例流程图。尽管以下参照系统200描述方法400的执行,但可以利用用于执行方法400的其他合适的部件,诸如系统100。另外,用于执行方法400的部件可以散布在多个设备(例如与输入和输出设备通信的处理设备)之中。在某些情况下,配合行动的多个设备可以视作用于执行方法400的单个设备。方法400可以以存储在机器可读存储介质(诸如存储介质320)上的可执行指令的形式和/或以电子电路的形式来实现。

在框410处,系统200训练多个二进制支持向量机(svm)110-1至110-n以在多个类中的两个类之间投票。二进制svm110-1至110-n中的每一个可以在多个类112-1至112-n中的不同配对之间投票。例如,可以存在3个类,诸如类a、类b和类c。因此,可以存在3个svm110-1至110-3,诸如ab分类器,ac分类器和bc分类器。ab分类器可以在类a和类b的配对之间投票。ac分类器可以在类a和类c的配对之间投票。bc分类器可以在类b和类c的配对之间投票。

在框420处,系统200针对类中的每一个类分配先验概率分布(先验率)252,诸如a、b和c类的先验率252。接着,在框430处,系统200将已验证样本122的集合输入至二进制svm110-1至110-n中的每一个。已验证样本122的集合可以包括类中的每一个类(诸如类a、类b和类c)的样本。例如,类a可以表示汽车的图像,类b可以表示自行车的图像,并且类c可以表示人的图像。

在一个示例中,已验证样本122的集合可以不同于在多个二进制svm110-1至110-n的训练期间所使用的训练样本的集合。这可以允许在二进制svm110-1至110-n中使用更同质的类,例如其中减小了特征向量中类内变化的类。这可以改进svm性能并且减少所需的训练的量。

训练样本的集合可以包括多个子类,子类中的至少两个子类对应于类中的一个类。训练在框410处,如果二进制svm110中的至少一个将样本识别为属于两个子类中的一个,则训练可以包括训练多个二进制svm110中的至少一个以在两个子类之间区分并且针对包括两个子类的一个类投票。

例如,可以以该方式建模超类,超类可以概念地链接但是在特征向量中大大不同。例如,系统200可以训练视觉分类器以区分“汽车”的类与“非汽车”的类。在框410处训练期间,系统200可以在步骤1中针对从前方看到的汽车、从侧面看到的汽车等训练分离的子类。同样,系统200可以训练大量不同的类以表示“非汽车”。然而,在框420处,响应于已验证样本集合,这种分类器的投票将仅是“汽车”或“非汽车”类。

在框440处,系统200基于二进制svm110-1至110-n的投票确定可能性估计值132。例如,系统200可以执行以下步骤以确定第一二进制svm110-1的可能性估计值132。系统200可以首先响应于所输入的配对中的第一类124的已验证样本122,确定多个二进制svm110-1至110-n中的第一二进制svm110-1对第一类的第一投票数。例如,系统200可以响应于接收到a类样本数而确定ab分类器对a类的投票次数。

系统200也可以响应于所输入的第一类124的已验证样本122,确定第一二进制svm110-1对配对中的第二类的第二投票数。例如,系统200可以响应于接收到a类样本数量而确定ab分类器对b类的投票次数。

接着,系统200可以将第一投票数除以所输入的第一类124的已验证样本122的数量,以在给定第一类的已验证样本的情况下确定第一二进制svm110-1对第一类投票的第一可能性估计值132。例如,ab分类器可以响应于接收到10个a类样本而针对a类投票8次。在此,8可以除以10以给出在给定a类样本的情况下ab分类器将对a类投票的0.8的可能性估计值。

系统200也可以将第二投票数除以所输入的第一类124的已验证样本122的数量,以在给定第一类的已验证样本的情况下确定第一二进制svm对第二类投票的第二可能性估计值132。例如,ab分类器可以响应于接收到10个a类样本而针对b类投票2次。在此,2将除以10以给出在给定a类样本的情况下ab分类器将对b类投票的0.2的可能性估计值。

以上步骤可以使用类124的对应剩余类的已验证样本122,针对多个类的剩余类中的每一个类重复,以计算第一二进制svm110-1的可能性估计值132的剩余部分。例如,可以针对ab分类器运行b类的已验证样本,以计算选择a类和选择b类的次数的比例。关于ab分类器,也可以对c类的已验证样本执行类似动作,以确定给定随机输入图像的偏置。

因此,以上步骤针对ab分类器计算了6个可能性估计值:ab分类器1)在给定a类的情况下选择a类;2)在给定a类的情况下选择b类;3)在给定b类的情况下选择a类;4)在给定b类的情况下选择b类;5)在给定c类的情况下选择a类;以及6)在给定c类的情况下选择b类的可能性估计值。系统200可以针对二进制svm110的剩余二进制svm执行类似的步骤。因此,根据该示例,还可以针对ac分类器计算6个可能性估计值以及针对bc分类器计算另外6个可能性估计值。

最后,在框450处,系统200基于所确定的可能性估计值132和所分配的先验率252而针对类中的每一个类计算后验概率134。例如,系统200可以首先将第一样本输入到二进制svm110-1至110-n中的每一个。该第一样本的该类可以是未知的。接着,可以响应于所输入的第一样本确定二进制svm110-1至110-n中的每一个的投票。投票可以指示二进制svm110-1至110-n中的每一个对配对类中的一个类的投票。例如,响应于第一样本,ab分类器可以针对a类投票,ac分类器可以针对c类投票,以及bc分类器可以针对b类投票。

为了计算第一类(诸如a类)的后验概率134,系统200可以在给定第一类的样本的情况下,通过将第一类的先验率252乘以可能性估计值132中的任一个而初始地确定非归一化概率,可能性估计值132与具有包括第一类的配对的二进制svm相关,并且与二进制svm110所确定的投票对应。例如,假设ab分类器、ac分类器和bc分类器如上所示投票,将要针对a类的非归一化概率而相乘的项可以包括:a类的先验率,在给定第一样本是a类的情况下ab分类器对a类投票的可能性估计值,以及在给定第一样本是a类的情况下ac分类器对c类投票的可能性估计值。在此并未包括bc分类器,因为bc分类器无法选择a类。

接着,系统200可以将非归一化概率归一化以计算第一类(诸如a类)的后验概率。系统200可以执行以下步骤以用于归一化。最初,系统200可以将先验率252中的每一个与可能性估计值132相乘,可能性估计值132是在给定第一类的样本的情况下,具有包括第一类的配对的一个二进制svm110对先验率252的类投票的可能性估计值。例如,系统200可以计算以下3个先验率相乘项:1)a类的先验率乘以在给定第一样本是a类的情况下ab分类器对a类投票的可能性估计值;2)b类的先验率乘以在给定第一样本是b类的情况下ab分类器对a类投票的可能性估计值;以及3)c类的先验率乘以在给定第一样本是c类的情况下ab分类器对a类投票的可能性估计值。

随后,系统200可以将所有相乘后的先验率252相加以确定第一分母。例如,以上3个先验率相乘项可以加在一起以形成第一分母。接着,系统200可以重复以上相乘和相加以针对具有包括第一类的配对的二进制svm110中的任何剩余二进制svm计算相乘的先验率252,以确定多个分母的剩余部分。例如,系统200也可以以类似于针对ab分类器计算第一分母的方式计算与ac分类器相关的第二分母。在此并未包括对应于bc分类器的分母,因为bc分类器无法对a类投票。术语分母也可以相对于贝叶斯推论与术语置信度可互换地使用。

此后,系统200将多个分母相乘,诸如第一分母和第二分母。接着,系统200将非归一化概率除以相乘后的多个分母,以确定归一化的第一类的后验概率134。例如,a类的非归一化概率将除以相乘的第一分母和第二分母以计算a类的后验概率。

在给定关于具有包括相应类的配对的相应二进制svm110所确定的投票的可能性估计值132的情况下,在假设为所述第一样本的情况下,系统200可以重复各步骤,以用于针对多个类的剩余类中的每一个类,确定非归一化概率以及确定归一化概率,以针对类的剩余类中的每一个类确定后验概率134。例如,可以使用类似于确定a类的后验概率的那些步骤来确定b类和c类的后验概率。

在将第二样本输入至二进制svm110-1至110-n中的每一个之前,针对类中的每一个,可以将先验率252替换为对应的后验概率。例如,可以将a、b和c的先验率的值替换为a类、b类和c类的所计算的后验概率的相应值。随后,可以针对下一个样本(诸如第二样本)重复过程。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1