一种树突神经网络初始化方法
技术领域
本发明属于人工神经网络优化领域,具体涉及一种树突神经网络 初始化方法。
背景技术
人工神经网络(ANN)是受自然神经元抑制和触发的电位生成机 制启发而建立的一种操作模型。ANN成功地解决了预测估计领域中 的许多实际问题,例如树突神经网络(DNM)成功用于乳腺癌、肝 病、信用等高精度分类以及金融时间序列,汇率与旅客到达,中国房 价指数的预测,建立树突状神经元模型需要对神经元的树突进行修剪, 以达到信息传输和存储的效果。有人聚焦于过滤级修剪,即根据神经 元的重要性进行剪切,该方法在不改变原有的网络结构上,提高了网 络的性能,具有较强的泛化能力;有人提出了一种修剪人工神经网络 的新方法,利用神经网络的神经复杂度进行度量,在保持学习行为和 适合度的同时,减少过大复杂度的网络,这种修剪方法是对最常用的 基于幅度的修剪方法的重大改进;有人提出了一种径向基函数(RBF) 网络的顺序学习算法,称为RBF网络的广义增长和修剪算法 (GGAP-RBF),GGAP-RBF神经网络的生长和修剪策略是基于所需的 学习精度与最近增加的新神经元重要性进行的,但是,该方法复杂度 较高,不利于实际应用;也有人提出了一种新的通道剪枝方法来加速 非常深的卷积神经网络,并提出了一种迭代两步算法,通过基于 LASSO回归的通道选择和最小二乘重构来有效地剪枝每一层,进一 步将该算法如果推广到多层、多分支的情况,但该方法会剪切贡献度 高的神经元,使得网络精度下降。
树突神经网络(DNM)是一种仿生学网络,神经元的基本结构包括 树突、轴突、胞体和细胞核。因此,树突神经网络有四层:Synaptic、 Dendritic、Membrane和Soma层。Synaptic层接收输入信号并使用 sigmoid函数将线性信号转换为神经元信号。Dendritic层是对Synaptic 层的输出进行汇聚处理。Membrane层是增强Dendritic层的输出,并 将结果输入到Soma层。Soma层利用另一个Sigmoid函数来给出最 终结果。
参见图1,所示为一个有6层Dendrite和9个输入的DNM网络 结构图。其中,输入xi的通过Dendritic与Synaptic层连接(四种连接 状态),Membrane层对Synaptic层的输出进行增强激活并将其转移到 Soma层。
Synaptic层是神经元间信息交互的重要组成部分。该层利用 Sigmoid函数将线性信号转化为神经元信号。根据接收离子引起的电 位变化,Synapses层可分为抑制性Synapses和兴奋性Synapses两种 形式。Synapses层公式如下:
其中,Yij代表从第i个输入到第j个Synapses层的输出,范围为 [0,1]。k为连接参数,通常设置为1到10之间的整数。当ωij和θij取 不同值时,可对应于四个连接状态,参见图2。四种连接状态描述如 下:
1)常0连接(ωij<0<θij或0<ωij<θij),在该状态下,无论xi的值 如何,输出Yij均为0。
2)正向连接(0<θij<ωij),无论输入在0到1之间如何改变,输出 与输入都成正相关。
3)反向连接(ωij<0<θij),无论输入在0到1之间如何改变,输 出与输入都成负相关。
4)常1连接(θij<ωij<0或θij<0<ωij),在该状态下,无论xi的值如何,输出Yij均为1。
Dendrite层的作用是将每个分支上的Synaptic信号相乘,使得 Synaptic层之间的信号产生非线性相互作用。该方式与逻辑“与”运 算相似,Dendrite层公式如下所示:
其中,Zj是第j-th个Dendrite层的输出。
Membrane层收集来自每个Dendrite层的信号。该层汇聚处理每 个分支的输入,将汇聚处理结果后的输出到下一层。其作用与逻辑“或” 运算非常相似。Membrane层公式如下所示:
其中,V是Membrane层汇聚处理后的输出。
Soma层的作用为实现类似于体细胞的功能,当Soma层的输出 超过阈值时,神经元就会被触发。此过程由Sigmoid函数表示,公式 表示如下:
其中,O是Soma层的输出。
由于DNM是前馈模型,并且DNM中的所有功能都是微分的, 因此误差反向传播算法(BP)可以有效地用作为学习算法。BP算法 通过导数和学习率连续调整θij和ωij的值,以减小实际输出O和期望输 出T之间的差异。O和T之间的平方误差定义为:
在DNM中,通过在迭代过程中,不断修改负梯度方向的连接参 数使得E最小化。
树突神经网络存在以下几个问题:
1)树突神经网络的Dendrite层数设定无任何根据的,存在不合理 性。层数太多会影响树突神经网络训练的效率,层数太少可能会导致 一些收敛问题。
2)由于树突神经网络的权重ωij和阈值θij的初始值是随机生成的, 因此初始收敛速度较慢或可能收敛到某些局部最优值。
3)在对树突神经网络训练时,可以修剪一些树突层以降低树突神 经网络的复杂性,但可能会导致准确性下降。
4)树突神经网络能够有效地解决二分类问题,但由于网络的复杂 度较高,导致无法有效的解决多分类问题。
发明内容
本发明的目的在于提出一种修剪精度高、收敛速度快、泛化能力 好的树突神经网络初始化方法。
实现上述目的的技术方案为,
一种树突神经网络初始化方法,包括对神经元树突的修剪,包括 如下步骤:
步骤一:使用k-fold交叉验证方法从数据集中生成训练集 D={(x1,y1),(x2,y2),...,(xm,ym)}。
步骤二:使用二值化方法从训练集D中生成新的数据集T。
步骤三:通过ID3或C4.5学习算法生成相应的决策树结构。
步骤四:合并叶子节点标记为1的决策树的路径,并修剪叶子节 点标记为0的路径。
步骤五:根据决策树中标记为1的路径数量确定树突神经网络中 dendrite层的数量。
步骤六:根据决策树的各个路径构造具有相同分类功能的 dendrite层。
进一步,还包括基于一位有效编码的分类方法,所述分类方法包括如 下步骤:
步骤一,设定一个概率预测模型h,h(x)=(h1(x),h2(x),...,hk(x))∈[0,1]k, h(x)是样本x属于第i类的概率,则模型h的最大概率分类函数为,
步骤二,最大概率分类输出与最大的模型预测概率对应的进行分类, 并将其用作样本的分类预测。
本发明案基于现有的对神经元树突裁剪方法,提出了一种基于多 决策树的树突神经网络(Dendritic Neural Model Based on Multi-Decision Tree,MDTDNM),该模型具有神经元裁剪功能,通过 决策树(Decision Tree,DT)筛选无用的突触和不必要的树突,形成针对 特定任务的独特树突拓扑。进一步,本发明案引入一位有效编码 (One-Hot)编码方法,能够有效地解决多分类问题。首先,在不影 响性能的情况下,MDTDNN通过决策树对贡献不大的神经元进行裁 剪,减少了大量的计算资源;然后,模型通过决策树初始化权值,形成了针对特定任务的独特树突拓扑;最后,MDTDNN通过One-Hot 编码的方式,能够有效地处理多分类问题。仿真结果表明,该模型降 低了算法复杂性,提高了效率,在精度和计算效率方面均优于现有模 型。
附图说明
图1所示为DNM结构图;
图2所示为阈值对应连接状态图;
图3所示为基于决策树的树突神经网络模型;
图4所示为MDTDNM多分类示意图;
图5所示为Iris数据集收敛曲线比较图;
图6所示为Wine数据集收敛曲线比较图;
图7所示为Ecoli数据集收敛曲线比较图。
具体实施方式
以下结合实施例对本发明进行详细的说明。
决策树(Decision Tree,DT)是一种基本的分类和回归方法。其目标 是创建一个模型,该模型通过学习从数据属性推断出的简单决策规则 来预测目标变量的,其核心思想是遵循简单直观的“分而治之”策略。 决策树学习的关键是如何选择最佳分区属性a*,定义为:
通常,随着学习过程的进行,希望分支节点中包含的样本属于其 正确类别数量越多,那么节点的“纯度”则越高。信息熵是样本集“纯 度”的最常见度量,如果类型k的样本在样本集合D中的比例为 pk(k=1,2,3,...,|Y|),则D的信息熵定义为:
ρ(D)越小,D的纯度越高。假定离散属性a具有V个可能值 {a1,a2,...,aV}。则可求出其中第v个分支节点包含D中所有属性a的样 本值,表示为Dv。根据公式(7)得到D的信息熵,由于不同的分支节 点包含不同的样本数,则分支节点的权重为|Dv|/|D|,即样本数越大, 分支节点的影响越大。因此,信息增益可以计算为:
一般地,信息增益越大,使用属性a的区分“纯”度越高。因此, 使用信息增益来选择决策树的分类属性。如何选择a*是成功学习决 策树的关键,以下代码所示为选择最佳分类属性a*的步骤。
经过研究发现,树突神经网络和DT在解决分类问题上是相同的。 根据决策树初始化,可以形成由决策树生成的规则,该规则包含逻辑 “与”和逻辑“或”,类似于树突神经网络中Synaptic层和Membrane 层的功能。DT和树突神经网络之间的对应关系如表1所示。
表1决策树和DNM之间的对应关系
本发明案依赖于每个决策树生成的基本分类器的分类结果与实 例标签之间的相关性。其主要操作步骤如下:
步骤1:使用k-fold交叉验证方法从数据集中生成训练集 D={(x1,y1),(x2,y2),...,(xm,ym)}。
步骤2:使用二值化方法从训练集D中生成新的数据集T。
步骤3:通过ID3或C4.5学习算法生成相应的决策树结构。
步骤4:合并叶子节点标记为1的决策树的路径,并修剪叶子节 点标记为0的路径。
步骤5:根据DT中标记为1的路径数量确定树突神经网络中dendrite层的数量。
步骤6:根据DT的各个路径构造具有相同分类功能的dendrite 层。
为了进一步理解,举例说明决策树剪切策略的具体实施步骤:
步骤1:使用基于决策树的学习算法生成相应的决策树结构。其 中,内部节点(非叶子)代表属性的测试,而外部节点(叶子)代表 测试结果。如图3所示,处理15个c1-c4的内部节点和16个标记为 0或1的叶子节点。
步骤2:通过合并和修剪保留标记为1的M条路径,表示为 ψ={σ1,σ2,...,σM}。如图3所示,含有三个标记为1的叶节点的路径。 因此,可得ψ={(c1=0,c3=0,c2=0);(c1=0,c3=1);(c1=1,c2=0,c4=1)}或 根据上述,可形成由决策树生成的规则:
IF(c1=0∩c3=0∩c2=0)∪(c1=0∩c3=1)∪(c1=1 ∩c2=0∩c4=1)
THEN Class is 1
该规则类似于树突神经网络中的Dendritic层和Membrane层的功 能。
步骤3:将决策树的三个路径转换为树突神经网络的三个dendrite 层。属性c1通过正向接到Dendrite层的树突层,c2通过反向连接到 Dendrite层,c3通过常数1连接到Dendrite层以及c4通过正向连接 到Dendrite层。
步骤4:最终形成基于决策树的树突神经网络模型。
单个树突神经网络无法实现多分类,因此需要多个树突神经网络 协同作用才能进行多个分类。经过研究发现,如果使用多个树突神经 网络来进行多分类,则需要设置过多参数,从而网络导致收敛缓慢且 分类不佳。
上述的基于决策树修剪的树突状神经元模型,能够在保证性能的 前提下,剪切掉不必要的分支,有效地避免网络参数过多,从而减少 网络复杂度。因此,该模型能够有效地解决多分类问题。
One-Hot编码,也称之为一位有效编码,主要是采用N位状态寄 存器对N个状态进行编码,每个状态与其寄存器位无关,并且在任 何时候只有一个位有效[30]。同样的,在k类分类问题中,训练数据 包含向量标签y∈[0,1]k。设Y为所有可能标签的值,Y为标签空间, 每个对象的标签表示为k维向量,如果对象属于第t类,则标记向量 的第t位的值为1,其他值为0,该思想与One-Hot编码思想一致。 因此,本实施例基于One-Hot编码的方法,对样本标签进行编码。以 下术语描述了多分类的核心思想:
给定一个概率预测模型h,h(x)=(h1(x),h2(x),...,hk(x))∈[0,1]k。其中, h(x)是样本x属于第i类的概率。则模型h的最大概率分类函数为:
最大概率分类输出与最大的模型预测概率对应的分类,并将其用 作样本的分类预测。如图4所示,为一个由三个基于决策树修剪的树 突状神经元组成的网络模型。每个神经元将三分类问题分解为两分类 问题,最后将每个神经预测的概率最高的类别用作样本的类别预测。
上述实施例的树突神经网络初始化方法的性能效果通过UCI机 器学习存储库来验证,具体过程如下,
表2描述了这些数据集。目前,许多最新的研究都使用该数据库 进行性能验证,因此,本实施例所提模型可与最新的模型进行比较。
表2 UCI数据
实验设计将每个数据集的样本分为三个部分,其中70%用于训练, 15%用于验证和15%用于测试。
为了评估本发明案的性能优势,本文选择BP[25]M树突神经网 络[17]进行比较分析比较。从四个方面评估性能:均方误差(MSE) 曲线,准确性,精确度,召回率和p-Value。此外,为了更公平地进 行比较,三种模型的参数均相等,如表3所示。如下简述四个性能指标:
1)均方误差(MSE)曲线:MSE是实际值和预测值之间误差的 平方差。MSE的值越小,则预测模型的准确性越好,并且可以反映 模型的收敛性。
2)准确性:用于评估分类问题的性能指标通常是分类准确率。 对于给定数据,正确分类的样本在样本总数中所占的比例。
3)ROC曲线:为了比较本发明案,BPNN和M树突神经网络的 性能,一种常用方法是计算ROC曲线下的面积(AUC)。当AUC越接 近1时,表示该模型性能越优。
4)p-Value:如果p-Value小于0.05,则表明模型的性能明显优于 其他模型。
表3参数设置
本实施例从UCI数据库中选择了六组数据进行实验。三种模型 的收敛曲线MSE比较如图5至图7所示。可以发现本发明案的MSE 收敛速度最快,而BPNN和M树突神经网络的MSE在速度较慢。此 外,本发明案的MSE曲线较低,这意味着其接近于全局最优解。分 析其主要原因在于:本发明案通过决策树进行修剪,可以减少树突状 神经元的数量,并优化神经元的初始化权重和阈值,从而提高训练效 率。
使用不同的最大迭代次数(200、500和1000)进行了六个实验, 分别比较了三种模型的准确性。此外,为了更公平地进行比较, BPNN和M树突神经网络的dendrite层(隐藏层)数几乎相等。表4 至表9结果表明,无论迭代多少次,本发明案始终具有更高的精度, 并且在相同数目的dendrite层下,本发明案的性能仍保持更好的稳定 性和鲁棒性。这是因为M树突神经网络和BP的性能高度依赖于 dendrite层(隐藏层)的数量和随机生成的初始值。
表4至表9显示,无论迭代多少次,本发明案的AUC值高于其 他算法。这是因为BPNN和M树突神经网络的参数是随机生成的, dendrite层(隐藏层)设置无任何根据。因此,其AUC值较低。由于 本发明案基于DT的构造,形成了针对特定任务的独特树突拓扑,本 发明案的初始结构已经接近于全局最优。
表4 Glass数据集性能比较
表5 Wisconsin Breast-Cancer数据集性能比较
表6 Iris数据集性能比较
表7 wine数据集性能比较
表8 Image segmentation数据集性能比较
表9 ECOLI数据集性能比较
从上述表中的结果可以看出,六个数据集的本发明案实现的准确 性和收敛速度均高于两种对比模型。因此,本发明的实施例具有出色 的分类结果。
综上,本发明实施例具有以下进步性:1)与BPNN和M树突神经网 络的完全连通性相比,本发明案可以通过决策树初始化直接确定 dendrite层数。它在准确性和收敛速度方面有效地解决了分类问题。2) 与M树突神经网络和BPNN相比,本发明案具有更好的泛化能力, 这已通过不同数据集的测试准确性得到验证。3)本发明案根据 One-Hot编码思想,有效解决了多分类问题。4)通过六组实验数据 的验证,C4.5比ID3更能改善本发明案的性能。将本发明应用于医 学诊断,图像等领域降低了算法复杂性,提高了效率,减少大量的计 算资源得到更加精确的结果。