发明内容
基于上述现有技术的缺陷和不足,本发明提出一种计算决策路径的方法及分布式节点,采用该技术方案能够保证在分布式节点快速生成新区块的过程中,计算得到正确的决策路径,且计算越来越准确。
一种计算决策路径的方法,应用于分布式节点,该方法包括:
将自身生成的新区块存储到自身决策树中;
按照设定的第一周期,周期性地在区块链网络上广播当前时刻自身决策树信息;且接收其它分布式节点在区块链网络上广播的决策树信息;
在每次接收到所述其它分布式节点广播的决策树信息后,根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到最佳决策路径,并将所述最佳决策路径保存;
判断是否到达设定的第二周期;
如果到达设定的第二周期,则从自身计算得到的最新的最佳决策路径,以及其它分布式节点计算得到的最新的最佳决策路径中,选择一条最佳决策路径作为全局最优决策路径;其中,所述第二周期不小于所述第一周期;
根据所述全局最优决策路径,修正所述计算得到最新的最佳决策路径的计算方法,使所述计算方法能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径。
优选地,所述周期性地在区块链网络上广播当前时刻自身决策树信息,包括:
周期性地在区块链网络上,广播包含当前时刻自身决策树信息的,且具有设定有效期的广播信息。
优选地,所述根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到最佳决策路径,包括:
将所述自身决策树信息,和所述其它分布式节点广播的决策树信息,输入卷积神经网络,计算得到最佳决策路径。
优选地,所述将所述自身决策树信息,和所述其它分布式节点广播的决策树信息,输入卷积神经网络,计算得到最佳决策路径,包括:
将所述自身决策树信息,和所述其它分布式节点广播的决策树信息,输入基于迭代二叉树算法的卷积神经网络,计算得到最佳决策路径。
优选地,所述根据所述全局最优决策路径,修正所述计算得到最新的最佳决策路径的计算方法,使所述计算方法能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径,包括:
根据所述全局最优决策路径,对所述卷积神经网络进行训练,以优化所述卷积神经网络,使所述卷积神经网络能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径。
优选地,所述判断是否到达设定的第二周期,且判断确认未到达设定的第二周期时,该方法还包括:
判断自身生成的新区块数量是否到达设定的数量;如果到达设定的数量,则从自身计算得到的最新的最佳决策路径,以及其它分布式节点计算得到的最新的最佳决策路径中,选择一条最佳决策路径作为全局最优决策路径。
一种分布式节点,包括:
动态分支管理单元,用于将自身生成的新区块存储到自身决策树中;按照设定的第一周期,周期性地在区块链网络上广播当前时刻自身决策树信息;且接收其它分布式节点在区块链网络上广播的决策树信息;
动态分支决策单元,用于在动态分支管理单元每次接收到所述其它分布式节点广播的决策树信息后,根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到最佳决策路径,并将所述最佳决策路径保存;
判断单元,用于判断是否到达设定的第二周期;
全局分支融合单元,用于当所述判断单元判断到达设定的第二周期时,从自身计算得到的最新的最佳决策路径,以及其它分布式节点计算得到的最新的最佳决策路径中,选择一条最佳决策路径作为全局最优决策路径;其中,所述第二周期不小于所述第一周期;
其中,所述动态分支决策单元还用于,当所述全局分支融合单元选择全局最优决策路径之后,根据所述全局最优决策路径,修正所述计算得到最新的最佳决策路径的计算方法,使所述计算方法能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径。
优选地,所述动态分支管理单元周期性地在区块链网络上广播当前时刻自身决策树信息时,具体用于:
周期性地在区块链网络上,广播包含当前时刻自身决策树信息的,且具有设定有效期的广播信息。
优选地,所述动态分支决策单元根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到最佳决策路径时,具体用于:
将所述自身决策树信息,和所述其它分布式节点广播的决策树信息,输入卷积神经网络,计算得到最佳决策路径。
优选地,所述动态分支决策单元将所述自身决策树信息,和所述其它分布式节点广播的决策树信息,输入卷积神经网络,计算得到最佳决策路径时,具体用于:
将所述自身决策树信息,和所述其它分布式节点广播的决策树信息,输入基于迭代二叉树算法的卷积神经网络,计算得到最佳决策路径。
优选地,所述动态分支决策单元根据所述全局最优决策路径,修正所述计算得到最新的最佳决策路径的计算方法,使所述计算方法能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径时,具体用于:
根据所述全局最优决策路径,对所述卷积神经网络进行训练,以优化所述卷积神经网络,使所述卷积神经网络能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径。
优选地,该分布式节点还包括:
第二判断单元,用于当所述判断单元判断是否到达设定的第二周期,且判断确认未到达设定的第二周期时,判断自身生成的新区块数量是否到达设定的数量;如果到达设定的数量,则调用所述全局分支融合单元从自身计算得到的最新的最佳决策路径,以及其它分布式节点计算得到的最新的最佳决策路径中,选择一条最佳决策路径作为全局最优决策路径。
本发明提出的计算决策路径的方法,应用于分布式节点,所述分布式节点维护自身生成的新区块,并存储在自身决策树中,分布式节点按照设定的第一周期,周期性地在区块链网络上广播当前时刻自身决策树信息,同时接收其它分布式节点在区块链网络上广播的决策树信息,保证了区块链中各分布式节点的数据统一性;分布式节点根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到一条最佳决策路径,并将所述最佳决策路径保存;当到达设定的第二周期时,从计算得到的最新的最佳决策路径,以及其它分布式节点计算得到的最新的最佳决策路径中,选择一条最佳决策路径作为全局最优决策路径,该全局最优决策路径为正确决策路径。并且所述分布式节点根据所述全局最优决策路径,修正所述计算得到最佳决策路径的计算方法,各分布式节点不断地用全局最优决策路径来修正自身计算最佳决策路径的计算方法,使所述计算方法能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径,从而使自己计算最佳决策路径的方法越来越准确。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种计算决策路径的方法,应用于分布式节点,所述分布式节点将自身生成的新区块存储在自身决策树中,参见图1所示,该方法包括:
S101、将自身生成的新区块存储到自身决策树中;
具体的,在本发明实施例中,区块链网络上的各个分布式节点各自维护自身生成的新区块,分布式节点将这些新区块,按照生成的时序和区块内的交易相关性,存储在自身决策树中。与传统区块链中的新区块生成方法不同,本发明实施例中的分布式节点在生成新区块之后,自行决定将新区块插入自身决策树中的哪个决策分支上,因此,该新区块是没有经过区块链中所有分布式节点确认的新区块。本发明实施例采用上述技术方案维护区块的优点在于:各个分布式节点可以根据自身决策树数据结构,决定新生成的区块被插入到决策树的哪一个决策分支上,省去了传统区块链技术中的新区块生成后,需等待区块链网络中的所有分布式节点投票认可的步骤,提高了新区块生成速度,提升了区块链写入效率。
S102、按照设定的第一周期,周期性地在区块链网络上广播当前时刻自身决策树信息;且接收其它分布式节点在区块链网络上广播的决策树信息;
具体的,由于区块链网络本身具有去中心化和不可篡改特性,而使得在区块链网络中的数据具有高度安全性,并且带来数据核算便利性。为了达到上述有益效果,需要保证区块链网络中的每一个分布式节点上的数据结构都具有高度统一性。本发明实施例中,各分布式节点各自维护自身生成的新区块,打破了区块链网络中各分布式节点数据结构的统一性。为了实现各分布式节点的决策树数据结构统一,本发明实施例中,设定各分布式节点按照设定的第一周期,周期性地在区块链网络上广播自身决策树信息,实现各个分布式节点之间交换数据,使得各分布式节点不但知道自身决策树的数据结构,还了解其它分布式节点的决策树数据结构,各分布式节点所掌握的决策树数据结构都相同。
例如,在本发明实施例中,设定各分布式节点每5ms在整个区块链网络上广播一次自身决策树数据结构,并标注自身当前决策路径。对于区块链网络中某一个分布式节点来说,在以5ms为周期在区块链网络上广播决策树信息的同时,每经过一个5ms周期,会收到其它分布式节点发送的决策树信息。因此,本发明实施例中的分布式节点,在快速生成区块,提高区块生成速度的同时,能够获取其它分布式节点的决策树信息,保证各分布式节点的信息统一性。
S103、在每次接收到所述其它分布式节点广播的决策树信息后,根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到最佳决策路径,并将所述最佳决策路径保存;
具体的,对于分布式节点的决策树,分布式节点从决策树的根节点遍历决策树,能够选出多条决策分支,每一条不同的决策分支,其熵值下降速度不同。通常,分布式节点认为遍历得到的熵值下降最快的一条深度遍历路径,是正确的决策路线。分布式节点在接收到其它节点广播的决策树信息之后,结合自身的决策树信息,按照一定的算法公式,计算出自认为最佳的决策路径。所述最佳决策路径本质上是表示各新区块的组合规则,分布式节点将新区块按照计算得到的最佳决策路径组合构成区块链,然后将组合好的区块链插入区块链网络中。
需要说明的是,分布式节点在计算得到最佳决策路径后,将最佳决策路径存储在分布式节点本地磁盘。此时,分布式节点依然会保留一般的,相对于最佳决策路径来说稍差一点的决策路径。由于各分布式节点会连续不断地生成新区块,因此其决策树也是一直不断变化的,所以由各决策树计算得到的最佳路径也是会改变的。当分布式节点上一时刻计算得到的最佳决策路径与当前时刻计算得到的最佳决策路径不同时,分布式节点认为当前时刻的最佳决策路径是真正的最佳决策路径,并把当前时刻计算得到的最佳决策路径存储在本地磁盘。
S104、判断是否到达设定的第二周期;
如果到达设定的第二周期,则执行步骤S105、从自身计算得到的最新的最佳决策路径,以及其它分布式节点计算得到的最新的最佳决策路径中,选择一条最佳决策路径作为全局最优决策路径;其中,所述第二周期不小于所述第一周期;
具体的,在步骤S103中,分布式节点计算得到的最佳决策路径,实际上是分布式节点在自身可见的决策树数据范围内,预测出来的最佳决策路径。在区块链网络上,有庞大数量的分布式节点都在按照自身可见的决策树数据,预测最佳决策路径,由于网络延迟及各分布式节点之间的同步时差,各分布式节点之间的数据可能还未达到统一,分布式节点就已经计算出最佳决策路径,导致最佳决策路径错误。
在本发明实施例中,每个分布式节点内分别设置全局分支融合单元,用于周期性地将各分布式节点计算出的最佳决策路径进行归并,从中选出一条全局范围内的最优决策路径。具体的,当到达设定的第二周期,各分布式节点暂停生成新区块,由各分布式节点的全局分支融合单元,投票选择出一条全局最优决策路径,所有分布式节点都存储这一条全局最优决策路径,放弃自己计算出的最佳决策路径,实现了各分布式节点之间的数据统一。各分布式节点按照全局最优决策路径,将生成的新区块串成区块链,并插入区块链网络中,然后继续进行下一周期的工作。
下面举例说明区块链网络中,各分布式节点统一数据的过程:
处于区块链网络中,且距离较远的灰色分布式节点(以下简称灰色节点)和黑色分布式节点(以下简称黑色节点),分别以B1为根节点开始生成新区块。其中,灰色节点生成了新区块B2,黑色节点生成了新区块R2。此时,由于灰色节点和黑色节点距离较远,双方都不知道对方的存在,于是都认为自己生成新区块是正确的。并按照各自计算的决策路径将生成的新区块组合成了区块链。
灰色节点及黑色节点在生成区块后,会向周围附近其它分布式节点广播,使周围其它分布式节点按照自己生成区块的方式生成区块。灰色节点使它周围的图中所示的白色分布式节点按照自己生成新区块的方式生成新区块,因此灰色节点附近的白色节点变成了灰色节点(由于白色分布式节点生成区块的方式与灰色节点相同,可以认为白色节点与灰色节点相同);同理,黑色节点使它周围的图中所示的白色分布式节点按照自己生成新区块的方式生成新区块,因此黑色节点附近的白色节点变成了黑色。
按照上述过程,灰色节点继续生成新区块B3等,并持续扩散,黑色节点继续生成新区块R3、R4等,并持续扩散。直到灰色节点和黑色节点相遇后(当灰色节点和黑色节点的数量足够多时,两者会相遇),发现两者生成的新区块及区块的决策路径不一致,这时候,灰色节点和黑色节点中的全局分支融合单元,从两者生成的新区块链中,选出一条全局最优的新区块链(即从两条新区块链中选出一条较好的新区块链,作为全局最优的新区块链)。例如在本例中,灰色节点和黑色节点约定新区块链越长越好,则灰色节点和黑色节点选择相对较长的新区块链作为全局最优的新区块链,即黑色节点的新区块链为全局最优决策路径。这时,灰色节点放弃自己计算出的新区块链,按照黑色节点的新区块链调整自己的新区块链,使自己的新区块链与黑色节点的新区块链相同。这样,在灰色节点与黑色节点之间实现了数据统一。
本发明实施例举例说明了任意两个分布式节点之间统一新区块链的过程,按照本发明实施例技术方案,对应到整个区块链网络中任意两个分布式节点,都采用相同的方法实现数据统一,整体上实现了整个区块链网络中分布式节点中的数据统一。
S106、根据所述全局最优决策路径,修正所述计算得到最新的最佳决策路径的计算方法,使所述计算方法能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径。
具体的,每一个分布式节点都有与自身决策树相对应的最佳决策路径计算方法。分布式节点按照自身固有的计算方法,计算最佳决策路径。由于分布式节点用于计算最佳决策路径的决策树数据局限性(分布式节点用于计算最佳决策路径的决策树是局部范围内的决策树),导致用于计算最佳决策路径的计算方法不完善。当各分布式节点的全局分支融合器根据各分布式节点计算出的最佳决策路径,选出全局最优决策路径之后,各分布式节点用全局最优决策路径,来修正自身固有的计算得到最佳决策路径的计算方法,以期在下次根据自身决策树数据计算最佳决策路径的时候,能够计算出更与全局相匹配的最佳决策路径。
按照本发明实施例技术方案中设定的第一周期和第二周期,各分布式节点周而复始地广播自身决策树信息,计算最佳决策路径,选择全局最优决策路径,并对自身计算最佳决策路径的计算方法进行修正,在保证区块链网络去中心化及不可篡改性特点的同时,提高了区块生成速度,提升了各分布式节点最佳决策路径计算效率,整个区块链呈现出“越用越快”的特性,各分布式节点计算的最佳决策路径也越来越准确,决策准确度越来越高。
本发明提出的计算决策路径的方法,应用于分布式节点,所述分布式节点维护自身生成的新区块,并存储在自身决策树中,分布式节点按照设定的第一周期,周期性地在区块链网络上广播当前时刻自身决策树信息,同时接收其它分布式节点在区块链网络上广播的决策树信息,保证了区块链中各分布式节点的数据统一性;分布式节点根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到一条最佳决策路径,并将所述最佳决策路径保存;当到达设定的第二周期时,从计算得到的最新的最佳决策路径,以及其它分布式节点计算得到的最新的最佳决策路径中,选择一条最佳决策路径作为全局最优决策路径,该全局最优决策路径为正确的决策路径。并且所述分布式节点根据所述全局最优决策路径,修正所述计算得到最佳决策路径的计算方法,各分布式节点不断地用全局最优决策路径来修正自身计算最佳决策路径的计算方法,使所述计算方法能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径,从而使自己计算最佳决策路径的方法越来越准确。
可选的,在本发明的另一个实施例中,所述周期性地在区块链网络上广播当前时刻自身决策树信息,包括:
周期性地在区块链网络上,广播包含当前时刻自身决策树信息的,且具有设定有效期的广播信息。
具体的,本发明实施例中的分布式节点,每经过一个设定的第一周期,在整个区块链网络上广播一条信息,该信息中包含分布式节点本身的决策树数据结构,并且标明了当前的决策路径。
需要说明的是,本发明实施例将分布式节点广播的信息设定为在很短的时间内失效。这是因为,在区块链网络中,分布式节点之间,尤其是空间距离较远的分布式节点之间,本身具有网络延迟和同步时差,分布式节点之间的信息交换速率总是不能完全符合用户需求。如果分布式节点无限期地长期等待所有其它分布式节点的广播信息,一方面会增加区块链网络写入延时,大大降低整个区块链网络的生长速度;另一方面,因为在本发明技术方案中,各分布式节点生成新区块的速度很快,如果某个分布式节点长期等待另一分布式节点的广播信息,在该分布式节点收到广播信息时,发送该广播信息的节点已经又新生成了很多新区块,发送的广播信息已经完全不能表示该节点的数据结构,该广播信息已经没有意义。基于上述原因,本发明实施例将广播信息设定为在很短的时间内失效。
为了提高区块链网络生长速度,本发明实施例技术方案优选追求使分布式节点以更快的速率生成新区块,使区块链网络快速生长。本发明实施例将各分布式节点广播的信息,设定为在很短的时间内失效,因此在一个复杂的区块链网络上,处于广域网和窄带网(有较高的网络传输延迟)的节点之间,此广播信息将不能及时到达。每个节点收到广播信息后,如果此广播信息已失效(信息接收时间-信息发送时间>设定的有效期),则直接丢弃不处理;如果此广播信息未失效(信息接收时间-信息发送时间<设定的有效期),则解析该广播信息,获取其它节点的决策树信息。在设定的第一周期内,分布式节点根据接收到的所有信息计算决策路径,虽然该决策路径可能是局部的,或者是错误的,但是各分布式节点可以在后期工作过程中,联合其它节点修正决策路径,但是对于区块链生长速度的提升,有显著的有益效果。
具体的,在本发明实施例中,设定分布式节点广播的信息在10ms内有效,能够得到较好的提升区块链生长速度的目的,且分布式节点在一个周期内计算的决策路径准确度较高。在实际应用本发明实施例技术方案时,可以根据实际场景,灵活选定广播信息有效期。
可选的,在本发明的另一个实施例中,所述根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到最佳决策路径,包括:
将所述自身决策树信息,和所述其它分布式节点广播的决策树信息,输入卷积神经网络,计算得到最佳决策路径。
具体的,分布式节点将自身决策树信息,和接收到的其它分布式节点的决策树信息,输入卷积神经网络软件模块,卷积神经网络软件模块根据接收的决策树信息,计算得到一条基于所收到的决策树信息的最佳决策路径。
卷积神经网络算法是一种常见的深度学习架构,受生物自然视觉认知机制启发而来。卷积神经网络具有良好的容错能力、并行处理能力和自然学习能力,可处理环境信息复杂,背景知识不清楚,推理规则不明确情况下的问题,允许样本有较大的缺损、畸变,运行速度快,自适应性能好,具有较高的分辨率。
基于上述卷积神经网络的强大数据处理能力、分辨能力及学习能力,将卷积神经网络用于决策路径的计算,有较好的计算效果,并且,通过不断训练,卷积神经网络能够不断学习提高计算精确度,从而提高分布式节点决策准确性。
在区块链底层技术平台上使用卷积神经网络计算最佳决策路径,具有非常积极的意义。如图3所示,区块链网络一定要针对具体的上层业务逻辑来优化其节点共识算法。神经网络的应用使得这种“优化”可以完全只在上层平台来完成,而不需要反复修改底层核心技术逻辑。因为经过多次训练后,底层核心技术逻辑能够自动“学习”到上层业务代码所导致的变化,并调整自己的决策神经网络,自动“适应”这种优化。
显而易见的,这种能力使得我们完全可以在区块链节点上实现完全去中心化的自动优化能力。即每个节点不需要“知道”或者“配置”自己会运行什么业务,有什么权限,业务优先级如何影响自己的共识算法等业务信息,只需要运行一段时间后,它就可以根据这段时间内卷积神经网络的训练结果,自动调整拟合参数,使得它针对特定业务有更高的预测准确性,从而大大提高了区块链的吞吐量并降低了时延。
可选的,在本发明的另一个实施例中,所述将所述自身决策树信息,和所述其它分布式节点广播的决策树信息,输入卷积神经网络,计算得到最佳决策路径,包括:
将所述自身决策树信息,和所述其它分布式节点广播的决策树信息,输入基于迭代二叉树算法的卷积神经网络,计算得到最佳决策路径。
具体的,卷积神经网络有很多计算模型(也叫滤波器、卷积核),本发明实施例选用基于决策的迭代二叉树(Iterative Dichotomiser,ID)算法,这个算法是一个自顶向下增长的贪婪树算法。其核心思想是:小型的决策树优于大型的决策树。因此,在每一步卷积的时候,都寻找能够让熵值下降最快的路径。
ID算法的思想具体可表述为:采用自顶向下的贪婪搜索遍历可能的决策树空间,构造决策树;从“哪一个属性将在树的根节点被测试”开始,使用统计测试来确定每一个实例属性单独分类训练样例的能力,分类能力最好的属性作为树的根节点测试;然后为根节点属性的每个可能值产生一个分支,并把训练样例排列到适当的分支之下;重复这个过程,用每个分支节点关联的训练样例来选取在该点被测试的最佳属性。
ID算法原本不是应用于卷积神经网络的算法,而是一个决定性算法。本发明实施例将ID算法应用于卷积神经网络,本质上实现了对卷积神经网络模型进行了改进,简化了卷积神经网络结构,使卷积神经网络的运算速度有显著提升。
可选的,在本发明的另一个实施例中,所述根据所述全局最优决策路径,修正所述计算得到最新的最佳决策路径的计算方法,使所述计算方法能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径,包括:
根据所述全局最优决策路径,对所述卷积神经网络进行训练,以优化所述卷积神经网络,使所述卷积神经网络能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径。
具体的,卷积神经网络具有较强的学习能力,即卷积神经网络能够通过学习,不断提高运算准确度。本发明实施例应用全局最优决策路径,对每一个分布式节点的卷积神经网络进行训练,即是完成了卷积神经网络的学习过程,卷积神经网络得到优化,计算最佳决策路径的精确度更高。
在决策论中,熵值刻画了任意样本空间的纯度。熵值最大值是1,代表样本纯度最低;熵值最小值是0,代表样本纯度最高。决策论认为样本纯度越高的分支是决策的正确路线,因此决策过程就是在卷积神经网络上寻找快速降低决策路径熵值的自顶向下的贪婪算法。
对于图3中所示的雷电链来说,决定信息熵值的因素是多维的,并且在不同业务模式中此熵值是可变的。对于决策树而言,我们使用如下公式计算每个决策点受到多个因素影响的熵值:
在这里Gain(S,A)代表A因素在所有样例集合S中的信息增益。Entropy(S)代表因素集合S的信息熵。Sv代表A因素的所有可能值在集合S中对应的1个到多个样本。Entropy(S)的信息熵是用如下公式计算的:
此公式用于计算目标样本集S中的每个样本有C个属性时,不同属性C对于样本集合S的信息熵(也就是决策正确程度)的影响。其中pi是S集合中第i个C属性表现为“阳性”的比例。
例如,假设我们要研究手机在市场上是否好卖。那么我们的样本集合S就是一堆手机的集合(iPhone,s7E,魅蓝Note3、红米pro……)。集合中的每个元素是一个手机型号。它有C个互相独立的属性,比如C1=屏幕是多大、C2=售价多高、C3=有没有NFC、C4=摄像效果好不好、C5=外观是否好看等。
接下来我们指定Pi。假定我们从结果进行调查,发现市场上卖得好的手机有70%是大屏的(P1=0.7),60%是低于2000块钱的(P2=0.6),90%是有NFC的(P3=0.9),30%是摄像效果好的(P4=0.3),15%是外观好看的(P5=0.15)。把这些值带入到上述公式就能计算出Entropy(S),进而计算出Gain(S,A)。
当我们知道多个S样本的结果后,我们可以分析决策结果和实际结果的相关性,并反过来修正各个属性Ci的取值是否正确。
还是用上面的手机集合举例,我们经过训练后可能发现如果手机屏幕大小的熵值修正为0.3的时候,计算出的影响因子能够更好的符合结果集(手机卖得更好),我们就把屏幕大小因子C1调整为C1=0.3。调整的步骤是经典神经网络训练过程,此处不再赘述。
对于一个卷积网络,在每个决策节点的计算过程中,我们都重复上述过程,不断通过训练修正每个节点的熵值影响因子Pi,使它能够更好的适配到我们观察到的结果。这个过程就是神经网络的训练。通过不断训练神经网络,各个属性对最终决策结果的影响是动态优化的。因此整个区块链网络的效率随着受理业务数据的增多而变得越来越好,呈现出一种智能化学习的表征。
可选的,在本发明的另一个实施例中,所述判断是否到达设定的第二周期,且判断确认未到达设定的第二周期时,该方法还包括:
判断自身生成的新区块数量是否到达设定的数量;如果到达设定的数量,则从自身计算得到的最新的最佳决策路径,以及其它分布式节点计算得到的最新的最佳决策路径中,选择一条最佳决策路径作为全局最优决策路径。
具体的,由于区块链网络中,各个分布式节点生成新区块的速度不同,可能在第二周期的某一个周期中,分布式节点生成新区块的速度很快,在还未到达这一周期结束时间点时,已经生成了足够数量的新区块,为了保证新区块生成速度,应该对这些新区块计算一条全局最优决策路径,先将这些新区块插入区块链网络中。此时,分布式节点不再等待这一周期结束时间点的到来,直接向所有分布式节点申请暂停生成新区块,从当前自身决策路径,以及其它所有分布式节点计算的最佳决策路径中,选择一条决策路径作为全局最优决策路径,将自身当前生成的新区块按照全局最优决策路径插入区块链网络中,然后再继续生成新区块。
在本发明实施例中,设定当分布式节点生成50个新区块时,不论是否到达第二周期时间点,都向所有分布式节点申请暂停生成新区块,先为已生成的新区块选择全局最优决策路径,将已生成的新区块按照全局最优决策路径插入区块链网络中,然后再继续生成新区块;如果到达第二周期时间点,则所有分布式节点同时暂停生成新区块,为已生成的新区块选择全局最优决策路径,将已生成的新区块按照全局最优决策路径插入区块链网络中。
本发明另一实施例还公开了一种分布式节点,参见图4所示,该分布式节点包括:
动态分支管理单元401,用于将自身生成的新区块存储到自身决策树中;按照设定的第一周期,周期性地在区块链网络上广播当前时刻自身决策树信息;且接收其它分布式节点在区块链网络上广播的决策树信息;
动态分支决策单元402,用于在所述动态分支管理单元401每次接收到所述其它分布式节点广播的决策树信息后,根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到最佳决策路径,并将所述最佳决策路径保存;
判断单元403,用于判断是否到达设定的第二周期;
全局分支融合单元404,用于当所述判断单元403判断到达设定的第二周期时,从自身计算得到的最新的最佳决策路径,以及其它分布式节点计算得到的最新的最佳决策路径中,选择一条最佳决策路径作为全局最优决策路径;其中,所述第二周期不小于所述第一周期;
其中,所述动态分支决策单元402还用于,当所述全局分支融合单元404选择全局最优决策路径之后,根据所述全局最优决策路径,修正所述计算得到最新的最佳决策路径的计算方法,使所述计算方法能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径。
具体的,本实施例中各个单元的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。
本发明提出的分布式节点,在计算决策路径时,由动态分支管理单元401将自身生成的新区块存储在自身决策树中,并按照设定的第一周期,周期性地在区块链网络上广播当前时刻自身决策树信息,同时接收其它分布式节点在区块链网络上广播的决策树信息,保证了区块链中各分布式节点的数据统一性;动态分支决策单元402根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到最佳决策路径,并将所述最佳决策路径保存;当判断单元403判断到达设定的第二周期时,全局分支融合单元404从计算得到的最新的最佳决策路径,以及其它分布式节点计算得到的最新的最佳决策路径中,选择一条最佳决策路径作为全局最优决策路径,所述全局最优决策路径为正确的决策路径;动态分支决策单元402根据所述全局最优决策路径,修正所述计算得到最佳决策路径的计算方法,各分布式节点的动态分支决策单元402不断地用全局最优决策路径来修正自身计算最佳决策路径的计算方法,使所述计算方法能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径,从而使自己计算最佳决策路径的方法越来越准确。
可选的,在本发明的另一个实施例中,所述动态分支管理单元401周期性地在区块链网络上广播当前时刻自身决策树信息时,具体用于:
周期性地在区块链网络上,广播包含当前时刻自身决策树信息的,且具有设定有效期的广播信息。
具体的,本实施例中动态分支管理单元401的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。
可选的,在本发明的另一个实施例中,所述动态分支决策单元402根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到最佳决策路径时,具体用于:
将所述自身决策树信息,和所述其它分布式节点广播的决策树信息,输入卷积神经网络,计算得到最佳决策路径。
具体的,本实施例中动态分支决策单元402的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。
可选的,在本发明的另一个实施例中,所述动态分支决策单元402将所述自身决策树信息,和所述其它分布式节点广播的决策树信息,输入卷积神经网络,计算得到最佳决策路径时,具体用于:
将所述自身决策树信息,和所述其它分布式节点广播的决策树信息,输入基于迭代二叉树算法的卷积神经网络,计算得到最佳决策路径。
具体的,本实施例中动态分支决策单元402的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。
可选的,在本发明的另一个实施例中,所述动态分支决策单元402根据所述全局最优决策路径,修正所述计算得到最新的最佳决策路径的计算方法,使所述计算方法能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径时,具体用于:
根据所述全局最优决策路径,对所述卷积神经网络进行训练,以优化所述卷积神经网络,使所述卷积神经网络能够根据自身决策树信息,和所述其它分布式节点广播的决策树信息,计算得到所述全局最优决策路径。
具体的,本实施例中动态分支决策单元402的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。
可选的,在本发明的另一个实施例中,参见图5所示,该分布式节点还包括:
第二判断单元405,用于当所述判断单元403判断是否到达设定的第二周期,且判断确认未到达设定的第二周期时,判断自身生成的新区块数量是否到达设定的数量;如果到达设定的数量,则调用所述全局分支融合单元404从自身计算得到的最新的最佳决策路径,以及其它分布式节点计算得到的最新的最佳决策路径中,选择一条最佳决策路径作为全局最优决策路径。
具体的,本实施例中第二判断单元405的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。