【技术实现步骤摘要】
【国外来华专利技术】计算机实现的方法和实现所述方法的节点
本公开涉及由算法评估输入数据的集合,并且具体涉及用于使得用户或数据拥有者能够根据他们的要求定制或调整所述算法的执行的技术。
技术介绍
随着大数据分析在学术界中的快速发展,对于将这一技术应用到实际案例的需求也正在增加。很多时候,由于数据的敏感度,安全是最大的挑战之一。例如,数据拥有者(如医院、银行、政府等)将更喜欢在不向算法拥有者提供原始数据的情况下使该算法拥有者能够分析他们的数据。实现这一目的的一种方式是使所有数据被加密以便防止信息泄露并且对加密的数据执行算法。利用这样的多方计算设置,双方(数据拥有者和算法拥有者)在密码协议(例如,乱码电路)中交互并且因此能够在不泄露关于彼此的输入的任何信息的情况下计算任何功能。因此,数据分析的焦点变为如何将机器学习算法应用于完全加密的数据。如朴素贝叶斯、决策树、线性判别分类器以及更一般的核方法的算法已经被开发用于隐私保留数据分析。然而,在完全加密数据的分析中,与不使用加密的分析相比较,难以避免增加的计算复杂度,并且因此由算法提供的速度和安全水平对数据拥有者是重要的考虑。
技术实现思路
具有这些挑战,当前框架在实践中的应用性仍然是个问题。从数据拥有者的角度看,算法很多时候像“黑匣子”一样运作,并且用户(数据拥有者)具有很少根据他们自己的要求来改变算法的能力,特别是关于效率、准确度和敏感度。已经发现,如果数据拥有者决定不向评估公开特定属性(例如,数据字段),则这可以提供高效率、高私有性,但是具有低实用性。也已经发 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。