一种全连接粒神经网络分类方法
2023-04-06傅兴宇陈颖悦陈玉明江海亮黄涛
傅兴宇,陈颖悦,陈玉明,江海亮,黄涛
(1.厦门理工学院 计算机与信息工程学院,福建 厦门 361024;2.厦门理工学院 经济与管理实验中心,福建 厦门 361024)
0 引言
全连接层是神经网络中重要的组成部分,其每一个神经元都与前层的所有神经元相连,用来把上一层提取到的特征综合起来。因为其全相连的特性,所以全连接层的参数也是最多的。全连接神经网络广泛应用于数学[1]、自然科学[2]、工程应用等[3]。全连接层每个节点的激活函数一般采用ReLU激活函数。最后一层全连接层一般采用softmax逻辑回归进行分类,将输出值传递给一个输出。选择一个合适的损失函数,可以对分类任务起到非常重要的作用。全连接的本质是特征向量所在的空间线性映射到另外一个特征对应特征空间中,通过矩阵向量乘积来实现全连接的操作[4]。同时,全连接神经网络还应用于拓扑优化[5]、数字通信[6]和医药卫生[7]等领域,特别是在语义分割[8]、图像分类[9]、音频分类[10]和医疗图像[11]领域。
全连接神经网络是常见的网络,在各个领域都有很好地表现。其优点是数据重用率高,大大降低了研究成本。在深度学习领域,全连接神经网络可以准确提取有效特征。它在预测数据[12]、姿态估计[13]、视频编码[14]、自然语言处理[15]等机器学习领域取得了很大的成功。虽然已经有学者研究了神经网络的理论基础,但是全连接神经网络参数庞大,导致收敛速度慢,甚至局部解。同时,全连接神经网络主要适用于数值数据,对具有类别数据的集合处理能力较弱。
1996 年,Lin[16]提出了粒度计算的术语,近些年邻域粗糙集被引入到属性约简[17]等多个方法中。当前神经网络研究领域中,粒计算[18]属于一种新的概念。Hu等[19]提出了一种用于特征选择和分类的邻域粒化方法。我们讨论了粒子的结构、距离和测量方法,并进一步提出了粒子的操作方法[20]。实际上,这些粒子是集合。对于非集数据,有很多分类方法和系统,包括传统机器学习算法和神经网络算法等,如集成方法[21]。这些分类器主要处理连续或离散的实数数据,为了将实数数据运算扩展到集合形式的粒子计算,本文通过构造粒子与粒向量,并提出一种全连接粒神经网络。首先,引入粒计算模型,在分类系统中每个特征上生成参照样本粒子;对于样本的标签,它们粒化成决策粒子。在此基础上,定义粒向量,并对这些向量进行矩阵向量运算,形成新的粒子。将样本粒与决策粒进行比较,将它们的残差回传加权粒向量,对其值进行调整。通过粒运算和反向传播的迭代过程,对粒向量的权值进行收敛和优化。此外,我们设计了一个全连接粒神经网络,在一些UCI数据集上测试了全连接粒神经网络分类性能。理论分析和实验结果表明,全连接粒神经网络具有良好的分类性能。
1 粒的表示与粒化
集合中的元素不可重复,而且也没有次序。与集合相关的运算算子及度量容易受限,不易扩展及应用。我们定义粒子为有序可重复的有限集合,粒向量则由有序的粒子组成。进而定义粒子与粒向量相关的运算算子及度量,应用于机器学习领域,构造粒分类器。
1.1 粒子与粒向量的表示
定 义 1 设 集 合 g={r1,r2,…,rn},其 中rj∈R,集合中的元素有序且可重复,则该集合定义为粒子,也可表示为
当 ∀rj=0,则称为0粒子,简写为 0;当 ∀rj=1,则称为 1粒子,简写为 1;当g=ϕ,则称为空粒子,简写为null。粒子是有维度的,粒子的集合基数则为其维度。比如g={rj}n
j=1,粒子的维度为n。设λ∈R,则实数可扩展为n维粒子,表示为
粒向量是粒子的有限序列。粒向量的元素为粒子,而粒子是一种集合。所以,跟数学中的向量相比较,数学中的向量是一个实数,而粒向量的元素是一个集合。
1.2 参照系与相似度粒化
大数据学习系统呈现出量大、高维与非线性的特征。为了有效地解决这个问题,从数据集中抽取一行数据或多行数据作为粒化参照集,然后在参照集中对全部数据进行单特征的粒化,形成单特征粒子。随机抽样采用等概率抽取,数据集中每行数据都有同等被抽中的机会。单个特征上仅有一个粒子,多个特征上进行粒化则构造出该行数据的粒向量。
设大数据学习系统为U=(X∪P,C,d),其中 X={x1,x2,…,xn}为训练数据集,其对应的决策特征集为 d;P={p1,p2,…,pk}⊆X 为抽取的一行数据或多行数据作为粒化参照集;条件特征集合为 C={c1,c2,…,cm}。给定一行数据x∈X,对于单特征c∈C,v(x,c)∈R表示该行数据x在特征c上的值。
定义3 设大数据学习系统为U=(X∪P,C,d),对于训练数据x∈X和参照数据p∈P,单特征c∈C,则x与p在单特征c上的相似度为
定义4 给定大数据学习系统U=(X∪P,C,d),对于任一数据x∈X和参照数据集P={p1,p2,…,pk},以及任一单特征c∈C,则x在参照集中的特征c进行相似度粒化,形成的相似度粒子定义为
其中 rj=sc(x,pj)表示数据 x,pj在单特征 c上的相似度。容易得知sc(x,pj)∈R,所以rj∈R。粒子由粒元素组成,g称为粒子,Rj则称为第j个粒元素。
对于决策特征的多类问题,采用one-hot编码对决策值进行one-hot编码粒化,每个类别为一个二进制数。对于L个类别的决策系统,每个样本的决策粒子则为长度为L的二进制数,该决策粒子表示为,其中dj中只有一个值为1,其余为0。
训练集经过粒化后,形成相似度粒子和决策粒子。相似度粒子基于参照集进行相似度粒化,决策粒子则采用one-hot编码粒化。
相似度粒子的值是实数的集合,决策粒子是一个二进制数。一个相似度粒子和一个决策粒子组成一条粒规则,相应的相似度粒元素和决策粒元素则组成粒元素规则。
设U=(X∪P,C,d)为大数据学习系统,对于任一数据x∈X,任一特征子集A⊆C,设A={a1,a2,…,am},则x在特征子集A上的粒向量定义为
其中gam(x)是数据x在特征am上的粒子。为方便计,特征集A={a1,a2,…,am}用整数标记,则粒向量可表示成 G(x)=(g1(x),g2(x),…,gm(x))T或G=(g1,g2,…,gm)T。
粒子由粒元素构成,粒向量是由粒子组成。所以,粒向量可以是一个粒元素矩阵的形式,表示为
粒向量也可以用另外一种形式表示,为
其中 g(x)j=(g1(x)j,g2(x)j,…,gm(x)j)T。
粒向量GP(x)由粒子组成,而粒子是一个集合的形式。因此,粒向量的元素是集合,与数学中向量不一样,数学中向量的元素是一个实数。
1.3 邻域参数和邻域粒化
定义5 给定大数据学习系统U=(X∪P,C,d),对于数据x,y∈X,单属性a∈C,给定邻域参数δ,则样本x,y的邻域判别函数定义为
其 中 sa(x,y)=|v(x,a)− v(y,a)|为 x 与 y 在 单特征a上的距离度量。当φ(x,y)=1,表示x,y互为邻域;φ(x,y)=0,则表示x,y不相邻。
定义6 给定大数据学习系统U=(X∪P,C,d),对于任一数据x∈X和参照数据集 P={p1,p2,…,pk},以及任一单特征c∈C,则x在参照数据中的特征c上进行邻域粒化,形成的相似度粒子定义为
其中 rj= φc(x,pj)为数据 x,pj在单特征 c上的邻域判别函数。
前述的相似度粒化方法是将数据粒化为相似度粒子,其值是实数;邻域粒化方法则是粒化为邻域粒子,其值是0或1的离散值。单个特征上的数据进行邻域粒化形成邻域粒子,邻域粒向量由邻域粒子构成。
2 粒运算与度量
实数的加减乘除运算在实数上封闭,则定义的粒子运算算子也应在粒子上封闭。同样,定义的粒向量运算也应具有这样的性质。进一步定义粒与粒向量相关的粒距离度量。
2.1 粒子的运算
例子:粒子的sigmod、ReLU函数分别为
2.2 粒向量的运算
两个粒向量的点积为一个粒子。粒向量的点积运算也看成一种卷积运算,可以应用于机器学习领域。一个粒向量是特征向量,另一个粒向量是权值向量,两者的点积运算形成新的特征粒子。
2.3 粒损失函数
粒损失函数用来评价全连接粒神经网络的预测值和实际值的重复率,粒损失函数值越小,全连接粒神经网络的效果越好。不同的全连接粒神经网络可以使用不一样的粒损失函数。传统的损失函数有经验风险损失函数和结构风险损失函数两种。其中,经验风险损失函数指预测结果和真实结果的区别,结构风险损失函数则是加上正则项的经验风险损失函数。
对于粒分类器,输入的是粒向量,输出的是粒子,而决策值也粒化为一个粒子。因此,损失函数是输出粒子与决策粒子的度量函数。
(1) log对数损失函数为
(2) 指数损失函数为
相对于单输出的粒分类器,只是度量输出粒子与决策粒子的风险损失,两个粒子的损失函数度量结果为粒子。而对于多类别或多标签分类问题,粒分类器输出多个粒子,形成一个粒向量,粒向量经过softmax函数运算后,仍然为粒向量。另一方面,多类别决策值可编码为one-hot码,这个决策码进一步扩展为粒向量。因此,可度量两个粒向量的损失。两个粒向量经过度量运算后变为差异粒向量,再通过粒子运算,最后度量结果为粒子。此度量粒子回传修正粒分类器中的权值粒子。
定义 12 设 G=(g1,g2,…,gl)为 粒 分 类 器输出粒向量,其中表示输出粒子;D=(d1,d2,…,dl)为决策粒向量,表示决策粒子;则两个粒向量的交叉熵损失函数度量定义如下
其中 P=(p1,p2,…,pl)为 softmax 后的概率粒向量,pi是概率粒子表示为
两个粒向量的交叉熵损失函数度量结果为一个粒子。
3 全连接粒神经网络原理和算法
全连接粒神经网络输入粒特征向量(多个特征粒子),经过粒计算后,最后输出一个粒子或多个粒子(粒向量)。因此,全连接粒神经网络分为多输入单输出、多输入多输出两种类型的分类网络;前一种类型用于单标签和两分类问题,后一种类型用于多标签和多分类问题。
3.1 粒激活函数与粒神经元
神经网络常用的激活函数有sigmod函数、tanh函数、ReLU函数和ELU函数,其函数曲线如图1所示。
粒激活函数给粒神经元添加了非线性关系,让全连接粒神经网络拟合所需要的非线性函数,从而让全连接粒神经网络应用到基础的非线性模型上。粒激活函数是关于粒子的函数,其输入是粒子,输出也是粒子。
粒神经元可以输入粒子和输出粒子,并且可以进行粒子计算。粒神经元的结构如图2所示,以特征粒子作为输入,粒子与权值粒子分别进行乘法运算后累加,然后通过粒激活函数进行非线性计算,输出一个粒子。
3.2 全连接粒神经网络
全连接粒神经网络一般为多输入多输出粒分类网络,带softmax的多输入多输出粒分类网络,经过softmax后输出的是类别的置信度粒子。全连接粒神经网络如图3所示。
3.3 全连接粒神经网络分类算法
根据前面的理论及原理,构造全连接粒神经网络。粒子是一种结构化的表示,粒子的分量各自独立运算,完全可并行,粒子可分可合,这是全连接粒分类网络的精髓所在。
具体的全连接粒神经网络算法描述如算法1所示。
在全连接粒神经网络分类算法(GDNN)中,主要涉及参照样本相似度粒化和邻域粒化两种粒化方法。步骤9)中粒网络层分为输入粒层、隐藏粒层和输出粒层。根据采用参考样本相似度粒化与邻域粒化的不同,GDNN算法分为相似度粒神经网络(SGDNN)算法与邻域粒神经网络(NGDNN)算法。
4 实验分析
本文所使用的数据源自于UCI数据集,6个UCI数据集的具体描述如表1所示。
因为直接使用表1中数据集的数据会造成误差,所以需要对数据集进行归一化预处理。最大最小值法是归一化常用的方法,将数据控制在[0,1]之间,提高分类效果。最大最小值归一化公式为
数据在每个参照样本上进行相似度粒化,形成相似度粒向量。再采用邻域粒化方法,形成邻域粒向量。分类网络分别使用基于相似度粒向量的全连接粒神经网络SGDNN和基于邻域粒向量的全连接粒神经网络NGDNN。为测试全连接粒神经网络的分类精度,每个数据集随机分成70%训练集和30%测试集。
4.1 邻域参数的影响
邻域粒化参数是粒子之间距离的度量,构造邻域粒向量需要邻域参数,所以不同的邻域参数会影响分类的精度。本节实验采取控制变量法,变量是邻域参数,用同一的网络结构测试参数值的影响,并将两种全连接粒神经网络进行比较,具体网络结构由实验确定。本节实验将0.05设置为邻域参数的初始值,末值设置为0.95,并将间隔设置为0.05。6个UCI数据集的分类结果实验如图4-图9所示。
从图4分析可得,在Balance-scale数据集上,基于邻域粒向量的全连接粒神经网络Accu⁃racy 曲线呈现出“凸”字型,过低和过高的邻域参数会使NGDNN的分类精度下降。邻域参数在0.30~0.60和0.75~0.80的阶段NGDNN的分类性能优于SGDNN,且NGDNN最高分类精度可达到1.0。
从图5和图6分析可得,基于邻域粒向量的全连接粒神经网络Accuracy曲线和对数函数的曲线相似。在Iris数据中,邻域参数从0.30开始趋于稳定,并达到最大精度0.978 8。NGDNN在邻域参数在0.55左右略微有些波动,但影响不大,之后又恢复稳定。在数据集Wine中,邻域参数0.30之后,NGDNN的精度围绕着0.963 0的数值波动。NGDNN只有在邻域参数为0.40的时候分类精度高于SGDNN,总体上SGDNN分类性能优于NGDNN。
从图7分析可得,对于Glass数据集,NGDNN有14次分类精度高于SGDNN,NGDNN在邻域参数0.35和0.80分类精度达到最高值0.800 0。总的来说NGDNN分类性能优于SGDNN。
从图8分析可得,对于Lymphography数据集,邻域参数在0.35为一个分水岭,之前NGDNN的分类效果不理想,但之后的分类效果达到了精度的最大值1.000 0。SGNDD的分类效果特别出色,分类精度可以达到1.000 0。
从图9分析可得,对于Clean1数据集,基于相似度粒向量的全连接粒神经网络的分类效果一般,分类精度只有0.615 4。相比之下,基于邻域粒向量的全连接粒神经网络分类效果更显著,在邻域参数为0.35时,分类精度达到最大值0.923 1。
从图4到图9分析可得,基于邻域粒向量的全连接粒神经网络的分类精度受到邻域参数的影响,选取适合的邻域参数是分类是否准确的关键所在。大部分情况下,NGDNN算法的分类精度略优于SGDNN算法的分类精度。
4.2 两种粒化方式与传统算法的比较
参照样本相似度粒化和邻域粒化是两种不同的方式,不同的粒化会影响着分类的精度。本节实验主要比较不同粒化方法对准确率的影响,再与传统分类算法做比较。邻域参数选取4.1节实验中分类精度最好的数值。实验6个UCI数据集的分类结果实验如表2所示。
从表2分析可得,当使用Accuracy作为性能评估指标时,在Balance-scale、Wine和Lymphog⁃raphy数据集中基于参照样本相似度粒化的全连接粒神经网络的得分要高于其他六种传统算法的得分。在Iris 数据集中,基于参照样本相似度粒化的全连接粒神经网络的得分和K近邻分类算法、SVM分类算法和高斯朴素贝叶斯分类算法相同。在Glass和Clean1数据集中,基于参照样本相似度粒化的全连接粒神经网络的得分略微低于预期状态。
在所有数据集上基于邻域粒化的全连接粒神经网络分类性能均略微优于所有传统算法。邻域粒化的方法要强于参照样本相似度粒化的方法,仅有在Lymphography数据集上,参照样本相似度粒化的方法与邻域粒化的方法持平。但基于参照样本相似度粒化的全连接粒神经网络的分类性能优于大部分的其他传统算法。全连接粒神经网络算法与传统的算法不同,粒神经网络利用不同的粒化技术在结构上改进,使数据更能符合算法的要求,提升了算法的分类性能,使得算法可以兼容更多数据集的类型。
5 结论与展望
本文从研究参照样本相似度粒化和邻域粒化出发,提出了一种全连接粒神经网络。该方法在一定程度上克服了全连接网络难以处理离散的数值型数据的问题。同时解决了训练样本规模较小时全连接神经网络的局限性。实验分析表明,本文提出的全连接粒神经网络能够成功对数据进行分类,并在合适粒化参数下能够取得较好的分类性能。
在今后的研究中,对神经网络在粒计算领域的使用进行实验,搭建更深的粒层,用于全连接粒神经网络的构建。还可以研究宽度粒化,构建宽度粒向量,将本文提出的分类方法应用于图像视频与自然语言处理的分类领域。