一种用于构建图半监督学习模型的方法和系统与流程

文档序号:22086936发布日期:2020-09-01 20:10阅读:194来源:国知局

本发明涉及机器学习,特别地,本发明涉及一种用于构建图半监督学习模型的方法、计算机系统以及计算机可读存储介质。

技术背景

在大数据时代,有监督学习在很多领域都取得了巨大的成功,如人脸识别、个性化推荐等。然而在很多领域,比如医学领域,数据标注的代价要远大数据获取的代价。这导致了无标注数据的数据量要远多于有标注数据的数据量。半监督学习能够有效同时利用有标注数据和无标注数据来提高分类性能。其中一种常用的半监督学习模型是图半监督学习模型。现有技术中,图半监督学习模型在现实应用中被广泛使用,例如医学数据、图像数据、表格数据、文本数据等。



技术实现要素:

以下描述包括体现本发明技术的示例性方法、系统、技术和指令序列。然而,应该理解,在一个或多个方面,可以在没有这些具体细节的情况下实践所描述的发明。在其他情况下,没有详细示出公知的协议、结构和技术,以免模糊本发明。本领域普通技术人员将理解,所描述的技术和机制可以应用于构建图半监督学习模型的各种体系结构。

根据本发明的一个方面,提出了一种用于构建图半监督学习模型的方法,该方法包括:利用多个训练样本中的任意两个训练样本之间的距离,构建一个图结构,将所述图结构作为更新后的图结构;对于循环中每一次的更新后的图结构,执行如下步骤:获得所述更新后的图结构中的一个子图结构;利用所述多个训练样本中的任意两个训练样本之间的距离,在指定的可选k值范围内,获得所述子图结构的最优k值;根据所述最优k值更新所述子图结构,从而获得再次更新后的图结构;响应于不需要获得所述再次更新后的图结构的一个子图结构,训练所述再次更新后的图结构对应的图半监督学习模型。

根据本发明的另一个方面,提出了一种用于构建图半监督学习模型的计算机可读存储介质,所述计算机可读存储介质具有存储其中的程序指令,所述程序指令可由计算设备执行以使得计算设备执行如上所述的方法。

根据本发明的又一个方面,提出了一种用构建图半监督学习模型的系统,包括:存储器;以及至少一个处理器,该至少一个处理器可操作地耦合到所述存储器并配置用于执行如上所述的方法。

根据本发明的再一个方面,提出了一种用于构建图半监督学习模型的计算机系统,所述系统包括分别用于执行如上所述的方法的各个步骤的模块。

附图说明

通过参照附图阅读下面对说明性实施例的详细说明可更好地理解发明本身以及其优选使用模式、目标、特征以及优点,在附图中:

图1示出了某医院同时利用有标注样本和无标注样本对检测报告进行分类的示例;

图2示出了利用k近邻构建图结构方法构建的一个图结构的示例;

图3示出了根据本发明的一个或多个实施例的一种用于构建图半监督学习模型的方法的流程图;

图4示出了根据本发明的一个或多个实施例的一种利用获得最大平均间隔来确该子图结构的最优k值的方法的流程图;

图5a、图5b、图5c示出了图4所示的方法的步骤410的一个示例的不同处理阶段;

图6示出了根据本发明的一个或多个实施例的一种利用候选图结构,获得一个特定k值对应的多个训练样本中各个训练样本的间隔的平均间隔的方法的流程图;

图7示出了根据本发明的一个或多个实施例的一种利用获得的在指定范围内的平均间隔来确定该子图结构的最优k值的方法的流程图;以及

图8a、图8b示出了图7所示的方法的步骤710的一个图5的样本的示例的不同处理阶段。

具体实施方式

下面参照附图来说明本发明的实施例。在下面的说明中,阐述了许多具体细节以便更全面地了解本发明。但是,对于本技术领域内的技术人员明显的是,本发明的实现可不具有这些具体细节中的一些。此外,应当理解的是,本发明并不限于所介绍的特定实施例。相反,可以考虑用下面的特征和要素的任意组合来实施本发明,而无论它们是否涉及不同的实施例。因此,下面的方面、特征、实施例和优点仅作说明之用而不应被看作是所附权利要求的要素或限定,除非权利要求中明确提出。

在大数据时代,有监督学习在很多领域都取得了巨大的成功,如人脸识别、个性化推荐等。然而在很多领域,比如医学领域,数据标注的代价要远大数据获取的代价。这导致了无标注数据的数据量要远多于有标注数据的数据量。半监督学习能够有效同时利用有标注数据和无标注数据来提高分类性能。

在本发明的下述描述中,有标注数据是表示该数据已经被标记其类别,即具有类别信息的数据,无标注数据是表示该数据没有被标记其类别,即不具有类别信息的数据。有标注样本是表示该样本已经被标记其类别,即具有类别信息的样本,无标注样本是表示该样本没有被标记其类别,即不具有类别信息的样本。并且以下说明中,标注样本和未标注样本均为训练样本。此外,样本本身也是数据,在不同的场景应用不同的术语,但是本领域技术人员应该知道其含义并无区别,所以在下面描述中,样本和数据二者混用。

图1示出了某医院同时利用有标注样本和无标注样本对检测报告进行分类的示例。该医院使用机器学习方法来自动判断一个检测报告是属于感冒病人检测报告的还是属于正常人检测报告。当只使用有标注样本,即感冒病人检测报告101和正常人检测报告102时,很难判断检测报告103是属于感冒病人检测报告还是属于正常人检测报告,因为其离感冒病人检测报告101和正常人检测报告102的距离差异不大。但是如果在机器学习中,还利用上无标注样本,即检测报告104、105、106、107后,很容易判断检测报告103是属于感冒病人检测报告,因为感冒病人检测报告101与检测报告103、104、105聚成一团,属于同一类别。借助无标注样本,某医院能够有效地对检测报告进行分类。

现有技术中,图半监督学习模型在现实应用中被广泛使用。图半监督学习包含两步:(1)利用有标注样本(即已有类别信息的样本)和无标注样本(即没有类别信息的样本)构建图结构;以及(2)利用所构建的图结构进行标注(即类别信息)传播。构建图结构的步骤有很多种实现方法,例如k近邻构建图结构方法,∈近邻构建图结构方法,b匹配构建图结构方法等等。

图2示出了利用k近邻构建图结构方法构建的一个图结构的示例,其中k设置为2。参考图2,感冒病人检测报告201(标注样本)最近的两个样本是检测报告202(未标注样本)和203(未标注样本),所以在构建的图结构(即图2)中将感冒病人检测报告201与检测报告202和检测报告203分别连接起来。同理,利用2近邻构建图结构方法,检测报告203的最近的两个样本是感冒病人检测报告201和检测报告204(未标注样本),所以在构建的图结构中将检测报告203与感冒病人检测报告201和检测报告204分别连接起来;检测报告202的最近的两个样本是感冒病人检测报告201和检测报告204,所以在构建的图结构中将检测报告202与感冒病人检测报告201和检测报告204分别连接起来;检测报告204的最近的两个样本是检测报告202和检测报告203,所以在构建的图结构中将检测报告204与检测报告202和检测报告203分别连接起来;正常人检测报告205(标注样本)的最近的两个样本是检测报告204和检测报告207(未标注样本),所以在构建的图结构中将正常人检测报告205与检测报告204和检测报告207分别连接起来;检测报告206(未标注样本)的最近的两个样本是正常人检测报告205和检测报告207,所以在构建的图结构中将检测报告206与正常人检测报告205和检测报告207分别连接起来;检测报告207的最近的两个样本是正常人检测报告205和检测报告206,所以在构建的图结构中将检测报告207与正常人检测报告205和检测报告206分别连接起来。传播标注的步骤将标注信息从有标注样本传播到未标注样本,例如检测报告202和203接受到来自感冒病人检测报告201的标注信息,获得标注(即被认定为感冒病人检测报告);检测报告206和207接受来自正常人检测报告205的标注信息,获得标注(即被认定为正常人检测报告);这样,就可以让未标注样本也获得标注,即获得类别信息。本领域技术人员可以知道,上述使用2近邻构建图结构方法只是一个示例,也可以使用其他构建图结构方法来构建图结构,从而训练图半监督学习模型。

图结构的质量对图半监督学习模型性能有显著的影响。然而,现有构建图结构的方法往往依赖于图结构的全局参数。但是图结构的局部可能有着不同的性质,该图结构的全局参数往往不适用于可能有着不同性质的局部,导致所构建的图结构质量不佳,进一步导致图半监督学习模型性能下降。比如k近邻构建图结构方法依赖于图结构的全局参数k,但是图结构的局部可能有着不同的性质,该图结构的全局参数k往往不适用于可能有着不同性质的局部。例如图2中,检测报告204同时接受来自检测报告202和203以及正常人检测报告205的标注信息传播,但是这些标注彼此之间是矛盾的,因为检测报告202和203的标注信息是感冒病人检测报告,而正常人检测报告205的标注信息是正常人检测报告,造成很难确定204的标注。而实际中,已知检测报告204是感冒病人检测报告。在k=2时,正常人检测报告205和检测报告204被错误地连接。这样使得图结构的质量不佳。如果正常人检测报告205以及检测报告206和207组成的子图结构的参数k设置为1,那么检测报告204和正常人检测报告205就不会被连接,检测报告204就会获得正确的标注,该问题迎刃而解。

因此,需要一种更好的构建图结构的方法,从而提高构建的图半监督学习模型的性能,即提高分类精度。为此,本发明提出了一种新的用于构建图半监督学习模型的方法。

图3示出了根据本发明的一个或多个实施例的一种用于构建图半监督学习模型的方法300的流程图。根据图3,在步骤310,利用多个训练样本中的任意两个训练样本之间的距离,构建一个图结构,并将该图结构作为更新后的图结构。该多个训练样本中既包含标注样本,又包含未标注样本。构建一个图结构的步骤可以使用现有的或者未来开发的任何构建图结构的方法。在一种实施方式中,可以使用k近邻构建图结构的方法。在一个示例中,获得的图结构如图2所示。

对于每次循环后的更新后的图结构,执行对于更新后的图结构所要执行的一些步骤(320-350)。这些步骤包括:在步骤320,获得更新后的图结构中的一个子图结构。例如,图2中的正常人检测报告205以及检测报告206和207组成的子图结构。

在步骤320的一种实施方式中,获得该更新后的图结构中的一个子图结构可以通过获得该更新后的图结构中不确定度最大的子图结构来完成。以图2为例,假设仅考虑由一个检测报告组成的子图结构,并且做如下假设(为了说明上述问题,该假设与图2中的所示情况不同):感冒病人检测报告201所构成的子图结构的不确定度为0.1,检测报告202所构成的子图结构的不确定度为0.2,检测报告203所构成的子图结构的不确定度为0.3,检测报告204所构成的子图结构的不确定度为0.4,正常人检测报告205所构成的子图结构的不确定度为0.5,检测报告206所构成的子图结构的不确定度为0.6,检测报告207所构成的子图结构的不确定度为0.7。则检测报告207所构成的子图结构的不确定度最大,该子图结构被选出。子图结构的不确定度可以被定义为子图结构中所有样本的不确定度之和。其中样本的不确定度为本领域技术人员熟知的概念,这里不再赘述。

在步骤320的另一种实施方式中,获得该更新后的图结构中的一个子图结构可以通过获得该更新后的图结构中边数量最少的子图结构来完成。以图2为例,假设仅考虑由一个检测报告组成的子图结构,并且做如下假设(为了说明上述问题,该假设与图2中的所示情况不同):感冒病人检测报告201所构成的子图结构的边数量为1,检测报告202所构成的子图结构的边数量为2,检测报告203所构成的子图结构的边数量为3,检测报告204所构成的子图结构的边数量为4,正常人检测报告205所构成的子图结构的边数量为5,检测报告206所构成的子图结构的边数量为6,检测报告207所构成的子图结构的边数量为7。则检测报告201所构成的子图结构的边数量最少,该子图结构被选出。

步骤320也可以用本领域技术人员已知的,或未来新开发的其他方法来获得更新后的图结构中的一个子图结构。

在步骤330,利用多个训练样本中的任意两个训练样本之间的距离,在指定的可选k值范围内,获得子图结构的最优k值。

在一种步骤330的实施方式中,可以利用获得最大平均间隔来确定该子图结构的最优k值。图4示出了根据本发明的一个或多个实施例的一种利用获得最大平均间隔来确该子图结构的最优k值的方法400的步骤410的流程图。根据图4,在步骤410,对指定的可选k值范围内的每一个特定k值,获得候选子图结构,从而获得候选图结构。图5a、图5b、图5c示出了方法400的一个示例的不同处理阶段。假设指定的可选k值范围是1和2。如图5a所示,包含的样本有感冒病人检测报告501,检测报告502和503,正常人检测报告504,检测报告505。其中正常人检测报告504、检测报告505以及它们之间的连边为所选子图结构。图5b示出了k=1时对应的候选图结构,图5c示出了k=2时对应的候选图结构。在步骤420,利用候选图结构,获得每一个特定k值对应的多个训练样本中各个训练样本的间隔的平均间隔。图6示出了根据本发明的一个或多个实施例的一种利用候选图结构,获得一个特定k值对应的多个训练样本中各个训练样本的间隔的平均间隔的方法600的流程图。参考图6,在步骤610,利用指定的可选k值范围内的一个特定k值对应的候选图结构,训练该候选图结构对应的图半监督学习模型。如何训练候选图结构对应的图半监督学习模型是本领域技术人员已知的,这里不再赘述。在步骤620,获得候选图结构对应的图半监督学习模型下多个训练样本中的每一个训练样本的分类结果。针对上述图5的例子,假设利用训练出的候选图结构对应的图半监督学习模型,可以获得:感冒病人检测报告501的分类结果包括感冒类别的置信概率(假设为1.0),正常类别的置信概率(假设为0.0)。其他的检测报告也可以获得类似的分类结果。在步骤630,根据分类结果,获得多个训练样本中的每一个训练样本的间隔。针对上述图5的例子,感冒病人检测报告501的间隔为分类结果中最大置信概率减去次最大置信概率,即1.0减去0.0,等于1。其他的检测报告也可以获得类似的间隔。在步骤640,根据多个训练样本中的每一个训练样本的间隔,获得指定的可选k值范围内的该一个特定k值对应的多个训练样本中各个训练样本的间隔的平均间隔。针对上述图5的例子,k=1时对应的多个检测报告的所有间隔进行平均,假设得到k=1时对应的多个检测报告的平均间隔为1,k=2时对应的多个检测报告的平均间隔为0.6。

回到图4,在步骤430,选择所有k值对应的多个训练样本中各个训练样本的间隔的平均间隔中的最大的平均间隔对应的k值作为子图结构的最优k值。针对上述图5的例子,k=1和k=2对应的多个训练样本中各个训练样本的间隔的平均间隔中的最大的平均间隔为1,对应的k值为1,则子图结构的最优k值为1。

在另一种步骤330的实施方式中,可以利用获得的在指定范围内的平均间隔来确定该子图结构的最优k值。图7示出了根据本发明的一个或多个实施例的一种利用获得的在指定范围内的平均间隔来确定该子图结构的最优k值的方法700的流程图。

参考图7,在步骤710,对指定的可选k值范围内的一个特定k值,获得候选子图结构,从而获得候选图结构。图8a、图8b示出了图7所示的方法700的步骤710的一个图5的样本的示例的不同处理阶段。假设指定的可选k值范围是1和2。初始时,该一个特定k值设为1。如图8a所示,包含的样本有感冒病人检测报告801,检测报告802和803,正常人检测报告804,检测报告805。其中正常人检测报告804、检测报告805以及它们之间的连边为所选子图结构。图8b示出了k=1对应的候选图结构。

在步骤720,利用候选图结构,获得该一个特定k值对应的多个训练样本中各个训练样本的间隔的平均间隔。针对上述例子,这一步获得k=1时对应的多个训练样本中各个训练样本的间隔的平均间隔可以使用方法600所示的方法,这里不再赘述。假设针对上述图8的样本的例子,k=1时获得的对应的多个训练样本中各个训练样本的间隔的平均间隔为1。

在步骤730,判断获得的该一个特定k值对应的多个训练样本中各个训练样本的间隔的平均间隔是否在指定范围内。如果不在指定范围内,则在步骤750,将获得指定的可选k值范围内下一个特定k值作为该一个特定k值,然后回到步骤710,继续对该一个特定k值利用步骤710-730判断其对应的多个训练样本中各个训练样本的间隔的平均间隔是否在指定范围内。否则,即获得的该一个特定k值对应的多个训练样本中各个训练样本的间隔的平均间隔在指定范围内,执行步骤740,将对应的多个训练样本中各个训练样本的间隔的平均间隔在指定范围内的该一个特定k值作为子图结构的最优k值。针对上述例子,假设指定范围为0.8到1.2之间。k=1对应的多个训练样本中各个训练样本的间隔的平均间隔为1,在指定范围内,因此获得的子图结构的最优k值为1。

回到图3,在步骤340,根据最优k值更新子图结构,从而获得再次更新后的图结构。在一种实施方式中,根据最优k值更新子图结构,从而获得再次更新后的图结构的步骤可以通过利用该最优k值,使用k近邻构建图结构方法,获得子图结构中的所有样本对应的候选子图结构,从而获得候选图结构来完成。具体实现方法前面已经论述,这里不再赘述。本领域技术人员也可以使用其知道的其他方法来实现该步骤。

在步骤350,判断是否需要获得再次更新后的图结构的一个子图结构。如果是,回到步骤320,将该再次更新后的图结构作为更新后的图结构,继续获得更新后的图结构中的一个子图结构,循环执行步骤320-350。否则,执行步骤360,训练再次更新后的图结构对应的图半监督学习模型。

在步骤350的一种的实施方式中,判断是否需要获得再次更新后的图结构的一个子图结构可以通过再次更新后的图结构中是否存在不确定度超过指定阈值的子图结构来判断。如果所述再次更新后的图结构中存在不确定度超过指定阈值的子图结构,则需要获得所述再次更新后的图结构的一个子图结构。以图2为例,假设仅考虑由一个检测报告组成的子图结构,并且做如下假设(为了说明上述问题,该假设与图2中的所示情况不同):感冒病人检测报告201所构成的子图结构的不确定度为0.1,检测报告202所构成的子图结构的不确定度为0.2,检测报告203所构成的子图结构的不确定度为0.3,检测报告204所构成的子图结构的不确定度为0.4,正常人检测报告205所构成的子图结构的不确定度为0.5,检测报告206所构成的子图结构的不确定度为0.6,检测报告207所构成的子图结构的不确定度为0.7。假设指定阈值为0.8,上述所有子图结构的不确定度均不超过0.8,则判定为不需要获得再次更新后的图结构的一个子图结构。本领域技术人员可以知道,该阈值可以根据不用的应用领域选取不同的值。

在步骤350的另一种实施方式中,判断是否需要获得再次更新后的图结构的一个子图结构可以通过再次更新后的图结构中是否存在边的数量少于指定阈值的子图结构来判断。如果所述再次更新后的图结构中存在边的数量少于指定阈值的子图结构,则需要获得所述再次更新后的图结构的一个子图结构。以图2为例,假设仅考虑由一个检测报告组成的子图结构,并且做如下假设(为了说明上述问题,该假设与图2中的所示情况不同):感冒病人检测报告201所构成的子图结构的边数量为2,检测报告202所构成的子图结构的边数量为2,检测报告203所构成的子图结构的边数量为3,检测报告204所构成的子图结构的边数量为4,正常人检测报告205所构成的子图结构的边数量为5,检测报告206所构成的子图结构的边数量为6,检测报告207所构成的子图结构的边数量为7。假设指定阈值为1,上述所有子图结构的边数量均大于1,则判定为不需要获得再次更新后的图结构的一个子图结构。本领域技术人员可以知道,该阈值可以根据不用的应用领域选取不同的值。

步骤350也可以用本领域技术人员已知的,或未来新开发的其他方法来进行判断。

在步骤360,训练再次更新后的图结构对应的图半监督学习模型。该步骤的实现方法是本领域技术人员熟知的,这里不再赘述。

利用本发明的构建图半监督学习模型的方法,可以提高获得的图半监督学习模型的分类精度。

尽管上述利用医学数据的检测报告来描述本发明的构建图半监督学习模型的方法,本领域技术人员可以知道,本发明的构建图半监督学习模型的方法轶可适用于医学数据、图像数据、表格数据、文本数据等。

本发明可以是系统、方法和/或计算机可读存储介质。计算机可读存储介质上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。本发明的方法可以在独立的计算机系统上执行,也可以在分布式计算系统上执行,甚至可以在云平台上执行。

这里参照根据本发明实施例的方法、装置(系统)和计算机可读存储介质的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机可读存储介质的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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