计算机实现的方法和实现所述方法的节点技术

技术编号:25845418 阅读:37 留言:0更新日期:2020-10-02 14:23
根据一个方面,提供了一种操作第一节点的计算机实现的方法。所述第一节点具有用于评估来自另一节点的输入数据的算法,其中,所述输入数据具有多个不同的属性。所述方法包括:从第二节点接收用于由所述算法评估输入数据的所述第一集合的提议;基于所述提议来估计所述算法在评估输入数据的所述第一集合中的性能;并且向所述第二节点输出所述算法的所估计的性能的指示。还提供了对应的第一节点。

【技术实现步骤摘要】
【国外来华专利技术】计算机实现的方法和实现所述方法的节点
本公开涉及由算法评估输入数据的集合,并且具体涉及用于使得用户或数据拥有者能够根据他们的要求定制或调整所述算法的执行的技术。
技术介绍
随着大数据分析在学术界中的快速发展,对于将这一技术应用到实际案例的需求也正在增加。很多时候,由于数据的敏感度,安全是最大的挑战之一。例如,数据拥有者(如医院、银行、政府等)将更喜欢在不向算法拥有者提供原始数据的情况下使该算法拥有者能够分析他们的数据。实现这一目的的一种方式是使所有数据被加密以便防止信息泄露并且对加密的数据执行算法。利用这样的多方计算设置,双方(数据拥有者和算法拥有者)在密码协议(例如,乱码电路)中交互并且因此能够在不泄露关于彼此的输入的任何信息的情况下计算任何功能。因此,数据分析的焦点变为如何将机器学习算法应用于完全加密的数据。如朴素贝叶斯、决策树、线性判别分类器以及更一般的核方法的算法已经被开发用于隐私保留数据分析。然而,在完全加密数据的分析中,与不使用加密的分析相比较,难以避免增加的计算复杂度,并且因此由算法提供的速度和安全水平对数据拥有者是重要的考虑。
技术实现思路
具有这些挑战,当前框架在实践中的应用性仍然是个问题。从数据拥有者的角度看,算法很多时候像“黑匣子”一样运作,并且用户(数据拥有者)具有很少根据他们自己的要求来改变算法的能力,特别是关于效率、准确度和敏感度。已经发现,如果数据拥有者决定不向评估公开特定属性(例如,数据字段),则这可以提供高效率、高私有性,但是具有低实用性。也已经发现,对属性进行加密(以便使数据对算法拥有者保持秘密)具有高私有性和高实用性,但是具有低效率。也已经发现,使用未加密的属性具有高效率和高实用性,但是具有低私有性。在实践中,多个不同的案例可以应用于用户(数据拥有者)。首先,可能不是数据的所有属性都是敏感的(例如,性别),并且考虑到安全分析是耗时的,这些属性可能不需要按照安全的方式被分析。然而,在分析加密的数据时,用户不具有定义属性的敏感度的灵活性以获得效率。其次,用户不具有改变算法用于快速但不太准确的分析或者慢速但高准确的分析的选项。第三,用户经常不具有算法要求的所有属性的数据,或者用户可能仅想要基于属性的子集来执行分析。因此,需要使得用户能够定制或调整由算法对输入数据的集合的评估以满足他们对评估的自身要求,例如速度和准确度。根据第一具体方面,提供了一种操作第一节点的计算机实现的方法,所述第一节点具有用于评估来自另一节点的输入数据的算法,所述输入数据具有多个不同的属性,所述方法包括:从第二节点接收用于由所述算法评估输入数据的第一集合的提议;基于所述提议来评估所述算法在评估输入数据的所述第一集合中的性能;并且向所述第二节点输出所述算法的所估计的性能的指示。根据第二方面,提供了一种包括计算机可读介质的计算机程序产品,所述计算机可读介质具有体现在其中的计算机可读代码,所述计算机可读代码被配置为使得在由适合的计算机或处理器执行时,所述计算机或处理器被使得执行根据第一方面所述的方法。根据第三方面,提供了一种第一节点,所述第一节点具有用于评估来自另一节点的输入数据的算法,所述输入数据具有多个不同的属性,其中,所述第一节点被配置为从第二节点接收用于由所述算法评估输入数据的第一集合的提议;基于所述提议来估计所述算法在评估输入数据的所述第一集合中的性能;并且向所述第二节点输出所述算法的所估计的性能的指示。根据第四方面,提供了一种操作第二节点的计算机实现的方法,所述第二节点具有要由第一节点的算法评估的输入数据的第一集合,所述输入数据具有多个不同的属性,所述方法包括向所述第一节点发送用于由所述第一节点使用所述算法来评估输入数据的所述第一集合的提议;从所述第一节点接收基于所述提议对所述算法在来评估输入数据的所述第一集合中的性能的估计;并且基于所接收的估计来确定是否继续进行对输入数据的所述第一集合的评估。根据第五方面,提供了一种包括计算机可读介质的计算机程序产品,所述计算机可读介质具有体现在其中的计算机可读代码,所述计算机可读代码被配置为使得在由适合的计算机或处理器执行时,所述计算机或处理器被使得执行根据第四方面所述的方法。根据第六方面,提供了一种第二节点,所述第二节点具有要由第一节点的算法评估的输入数据的第一集合,所述输入数据具有多个不同的属性,其中,所述第二节点被配置为向所述第一节点发送用于由所述第一节点使用所述算法来评估输入数据的所述第一集合的提议;从所述第一节点接收基于所述提议对所述算法在来评估输入数据的所述第一集合中的性能的估计;并且基于所接收的估计来确定是否继续进行对输入数据的所述第一集合的评估。这些和其他方面将从下面描述的(一个或多个)实施例变得明显并且参考下面描述的(一个或多个)实施例得以阐明。附图说明现在将参考下面的附图仅通过示例的方式描述示例性实施例,在附图中:图1是根据实施例的节点的方框图;图2图示了根据实施例的系统中的操作;图3是图示操作具有算法的第一节点的示例性方法的流程图;图4是图示操作具有数据集的第二节点的示例性方法的流程图;并且图5图示了具有部分加密的属性的随机森林。具体实施方式本文描述的实施例涉及由算法评估输入数据的集合,并且具体涉及用于使得用户或数据拥有者能够根据他们的要求来定制或调整所述算法的执行的技术。图1图示了根据实施例的示例性节点2。算法拥有者(即,拥有或者具有能够用于评估数据集的算法的一方)可以被实现为图1中的节点2的形式。同样,数据拥有者(即,拥有或者具有能够由所述算法评估的数据集的一方)可以被实现为图1中的节点2的形式。在任一情况下,节点2可以是任何类型的电子设备或者计算设备。例如,节点2可以是或者作为任何适合类型的电子设备或者计算设备的一部分,例如,服务器、计算机、膝上型计算机、平板电脑、智能电话等。将意识到,算法拥有者节点和数据拥有者节点不需要是相同类型的设备,并且例如,算法拥有者节点可以是服务器(例如,位于云中),并且数据拥有者节点可以是桌面型计算机等。节点2包括用于实现与其他设备或者节点的数据连接和/或数据交换的接口电路4,该其他设备或者节点例如在图1中的节点2是数据拥有者节点的情况下是算法拥有者节点或者在图1中的节点2是算法拥有者节点的情况下是数据拥有者节点。具体地说,接口电路4可以实现在节点2与网络(例如互联网和/或局域网)之间的经由任何期望的有线或者无线通信协议的连接。作为示例,接口电路4可以使用WiFi、蓝牙、Zigbee或者任何蜂窝通信协议(包括但不局限于全球移动通信系统(GSM)、通用移动电信系统(UMTS)、长期演进(LTE)、LET-高级等)操作。节点2还包括用于对数据执行操作并且用于通常控制节点2的操作的处理单元6,包括操作节点2以执行本文描述的方法和技术。接口电路4连接到处理单元6。节点2还包括用于存储执行本文描述的方法和技术所需的任何数据、信息和/或信号并本文档来自技高网...

【技术保护点】
1.一种操作第一节点的计算机实现的方法,所述第一节点具有用于评估来自另一节点的输入数据的算法,所述输入数据具有多个不同的属性,所述方法包括:/n从第二节点接收用于由所述算法评估输入数据的所述第一集合的提议;/n基于所述提议来估计所述算法在评估输入数据的所述第一集合中的性能;并且/n向所述第二节点输出所述算法的所估计的性能的指示。/n

【技术特征摘要】
【国外来华专利技术】20171221 US 62/608,7281.一种操作第一节点的计算机实现的方法,所述第一节点具有用于评估来自另一节点的输入数据的算法,所述输入数据具有多个不同的属性,所述方法包括:
从第二节点接收用于由所述算法评估输入数据的所述第一集合的提议;
基于所述提议来估计所述算法在评估输入数据的所述第一集合中的性能;并且
向所述第二节点输出所述算法的所估计的性能的指示。


2.根据权利要求1所述的计算机实现的方法,其中,估计所述算法的性能的步骤包括确定用于评估输入数据的所述第一集合的准确度水平的指示和/或完成对输入数据的所述第一集合的评估所需的时间的指示。


3.根据权利要求1或2所述的计算机实现的方法,其中,所接收的提议包括用于评估输入数据的所述第一集合的最小准确度水平的指示,并且其中,估计所述算法的性能的步骤包括:
确定以所指示的最小准确度水平完成对输入数据的所述第一集合的评估所需的所述时间的指示。


4.根据权利要求3所述的计算机实现的方法,其中,确定以所指示的最小准确度水平完成对输入数据的所述第一集合的评估所需的所述时间的指示的步骤包括:
基于以下中的一个或多个来确定所需的所述时间的指示:所述算法的复杂度水平、输入数据的所述第一集合中的数据元素的数目、输入数据的所述第一集合的属性以及输入数据的所述第一集合的对所述第二节点是私有的属性的数目。


5.根据权利要求1或2所述的计算机实现的方法,其中,所接收的提议包括完成对输入数据的所述第一集合的评估所允许的最大时间的指示,并且其中,估计所述算法的性能的步骤包括:
基于在所指示的所允许的最大时间内完成对输入数据的所述第一集合的评估来确定用于评估输入数据的所述第一集合的准确度水平的指示。


6.根据权利要求5所述的计算机实现的方法,其中,确定用于对输入数据的所述第一集合的评估的准确度水平的指示的步骤包括:
基于以下中的一个或多个来确定用于评估的准确度水平的指示:输入数据的所述第一集合中的数据元素的数目以及输入数据的所述第一集合的属性或者从输入数据的所述第一集合缺失的属性。


7.根据权利要求1-6中的任一项所述的计算机实现的方法,其中,所述方法还包括以下步骤:
在输出所述指示的步骤之后,从所述第二节点接收用于评估输入数据的所述第一集合的修正的提议;以及
基于修正的提议来重复估计和输出所述指示的步骤。


8.根据权利要求1-7中的任一项所述的计算机实现的方法,其中,所述方法还包括以下步骤:
在输出所述指示的步骤之后,从所述第二节点接收要继续进行由所述算法根据所述提议来评估输入数据的所述第一集合的指示;并且
从所述第二节点接收所述输入数据的非私有的任何部分;
使用所述算法来评估所述输入数据的非私有的所接收的部分;
使用所述算法来评估所述输入数据的任何部分,其中,所述算法被评估为与所述第二节点的多方计算MPC;并且
将所述输入数据的非私有的所接收的部分的评估的结果与所述输入数据的私有的所接收的部分的评估的结果进行组合以确定所述算法的输出。


9.根据权利要求8所述的计算机实现的方法,其中,所述方法还包括以下步骤:
向所述第二节点提供所述算法的所确定的输出。


10.根据权利要求8或9所述的计算机实现的方法,其中,所述方法还包括以下步骤:
确定所述算法的输出的准确度的量度;并且
向所述第二节点提供所述准确度的所确定的量度。


11.根据权利要求1-10中的任一项所述的计算机实现的方法,其中,所接收的提议包括用于评估输入数据的所述第一集合的最小准确度水平的指示,并且其中,所述方法还包括以下步骤:
优化所述算法以在最小化所述评估所需的时间的同时提供至少所指示的最小准确度水平。


12.根据权利要求1-10中的任一项所述的计算机实现的方法,其中,所接收的提议包括评估输入数据的所述第一集合所允许的最大时间的指示,并且其中,所述方法还包括以下步骤:
优化所述算法以在所指示的所述评估所允许的最大时间内最大化所述评估的准确度水平。


13.根据权利要求1-10中的任一项所述的计算机实现的方法,其中,使用基于多方计算MPC的随机森林来评估所述输入数据的其属性对所述第二节点是私有的任何部分。


14.根据权利要求13所述的计算机实现的方法,其中,估计所述算法的性能的步骤包括通过以下操作来确定完成对输入数据的所述第一集合的评估所需的时间的指示:
确定要用于评估输入数据的所述第一集合的随机森林中的所有加密树的评估时间成本,其中,所述加密树用于评估输入数据的所述第一集合的对所述第二节点是私有的属性;
确定用于评估到所述算法的所有输入的输入时间成本,其中,所述输入时间成本是向所述算法输入私有属性的时间成本;并且
将所需的时间的指示确定为所确定的评估时间成本和所确定的输入时间成本的加和。


15.根据权利要求14所述的计算机实现的方法,其中,确定所述评估时间成本的步骤包括确定:
评估时间成本,
其中,te是一次乘法的所述评估时间成本,Sj是加密树Tj中的节点的数目,|Ae|是私有属性的总数目并且Te是要使用的加密树的集合。


16.根据权利要求14或15所述的计算机实现的方法,其中,确定所述输入时间成本的步骤包括确定:
输入时间成本,
其中,ta是一个属性的时间成本,Sj是加密树Tj中的节点的数目,|Ae|是私有属性的总数目,|A|是属性的总数目并且Te是要使用的加密树的集合。


17.根据权利要求13-16中的任一项所述的计算机实现的方法,其中,估计所述算法的性能的步骤包括通过确定以下项来确定用于评估输入数据的所述第一集合的准确度水平的指示:
准确度水平,
其中,N是决策树T={Tj}N的数目,αj是树中的评估的非缺失属性的分数,γj代表树重要性,Te是具有最高优先级的加密树。


18.根据权利要求1-17中的任一项所述的计算机实现的方法,其中,所述算法是私有算法,并且/或者所述算法具有一个或多个私有参数。


19.根据权利要求1-18中的任一项所述的计算机实现的方法,其中,所述提议包括以下中的一个或多个:输入数据的所述第一集合中的数据元素的数目的指示,输入数据的所述第一集合的属性的指示,输入数据的所述第一集合的属性中的哪些属性对所述第二节点是私有的指示,以及以下中的一个:(i)用于所述评估的最小准确度水平的指示和(ii)完成所述评估所允许的最大时间的指示。


20.一种包括计算机可读介质的计算机程序产品,所述计算机可读介质具有体现在其中的计算机可读代码,所述计算机可读代码被配置为使得,在由适合的计算机或处理器运行时,所述计算机或处理器被使得执行根据权利要求1-19中的任一项所述的方法。


21.一种第一节点,所述第一节点具有用于评估来自另一节点的输入数据的算法,所述输入数据具有多个不同的属性,其中,所述第一节点被配置为:
从第二节点接收用于由所述算法评估输入数据的所述第一集合的提议;
基于所述提议来估计所述算法在评估输入数据的所述第一集合中的性能;并且
向所述第二节点输出所述算法的所估计的性能的指示。


22.根据权利要求21所述的第一节点,其中,所述第一节点被配置为通过确定用于评估输入数据的所述第一集合的准确度水平的指示和/或完成对输入数据的所述第一集合的评估所需的时间的指示来估计所述算法的性能。


23.根据权利要求21或22所述的第一节点,其中,所接收的提议包括用于评估输入数据的所述第一集合的最小准确度水平的指示,并且其中,所述第一节点被配置为通过以下操作来估计所述算法的性能:
确定以所指示的最小准确度水平完成对输入数据的所述第一集合的评估所需的时间的指示。


24.根据权利要求23所述的第一节点,其中,所述第一节点被配置为通过以下操作来确定以所指示的最小准确度水平完成对输入数据的所述第一集合的估计所需的时间的指示:
基于以下中的一个或多个来确定所需的时间的指示:所述算法的复杂度水平,输入数据的所述第一集合中的数据元素的数目,输入数据的所述第一集合的属性以及输入数据的所述第一集合的对所述第二节点是私有的属性的数目。


25.根据权利要求21或22所述的第一节点,其中,所接收的提议包括完成对输入数据的所述第一集合的评估所允许的最大时间的指示,并且其中,所述第一节点被配置为通过以下操作来估计所述算法的性能:
基于在所指示的所允许的最大时间内完成对输入数据的所述第一集合的评估来确定用于评估输入数据的所述第一集合的准确度水平的指示。


26.根据权利要求25所述的第一节点,其中,所述第一节点被配置为通过以下操作来确定用于评估输入数据的所述第一集合的准确度水平的指示:
基于以下中的一个或多个来确定用于所述评估的准确度水平的指示:输入数据的所述第一集合中的数据元素的数目,以及输入数据的所述第一集合的属性或者从输入数据的所述第一集合缺失的属性。


27.根据权利要求21-26中的任一项所述的第一节点,其中,所述第一节点还被配置为:
在所述指示的输出之后,从所述第二节点接收用于评估输入数据的所述第一集合的修正的提议;并且
基于所述修正的提议来重复所述估计和输出。


28.根据权利要求21-27中的任一项所述的第一节点,其中,所述第一节点还被配置为:
在所述指示的输出之后,从所述第二节点接收要继续进行由所述算法根据所述提议来评估输入数据的所述第一集合的指示;并且
从所述第二节点接收所述输入数据的非私有的任何部分;
使用所述算法来评估所述输入数据的非私有的所接收的部分;
使用所述算法来评估所述输入数据的私有的任何部分,其中,所述算法被评估为与所述第二节点的多方计算MPC;并且
将所述输入数据的非私有的所接收的部分的评估的结果和所述输入数据的私有的所接收的部分的评估的结果进行组合以确定所述算法的输出。


29.根据权利要求28所述的第一节点,其中,所述第一节点还被配置为:
向所述第二节点提供所述算法的所确定的输出。


30.根据权利要求28或29所述的第一节点,其中,所述第一节点还被配置为:
确定所述算法的输出的准...

【专利技术属性】
技术研发人员:L·张M·G·韦宁根
申请(专利权)人:皇家飞利浦有限公司
类型:发明
国别省市:荷兰;NL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1