基于SVM的SNN分类
2025年09月26日
四、基于SVM的SNN分类
SNN的输入层主要是将图像信息编码为脉冲时序信息,并将其输入中间层。中间层可以有多层,主要是根据输入的脉冲信息不断累积,当达到阈值电位时,激活神经元,发放脉冲信号,并采用学习规则对权重更新,最后的输出层主要是根据网络中间层学习到的特征进行判断做出决策结果并输出。
本节的AMCSNN网络将最后一个全局池化层的输出特征用来训练SVM分类器。因最后一个全局池化层的神经元对最后一个卷积层的对应神经元特征图执行全局最大池化操作,全局池化层的神经元计算对应卷积层神经元特征图上的最大电位,将其作为输出值,这保证了每个特征的输出值只有一个,表示该特征存在于输入图像中。此外,为了提高网络计算效率,采用了实现简单且速度快的线性SVM核函数。为了实现多分类,将多类问题转化为二类来完成,即K个分类就可以训练得到K个SVM二类分类器。针对第i个二类分类器,将第i个类标记为正类,其余不是类别i的类别标记为负类。在分类时,通过计算得到K个决策函数值来选择具有最大决策函数值的类别作为样本的输出类别。
图4-3 SVM四分类示意图
图4-3所示为对于四分类任务的SVM的分类示意图,在四分类任务中,针对每一个类别,将该类数据集标记为正类,而其余3个类别数据集标记为负类,从而可以训练得到4个SVM二类分类器,进而得到4个决策函数值。如图4-4中d1到d4为训练得到的4个SVM二类分类器的决策边界,4种颜色的点代表4个类别,如果4个SVM二类分类器的输出结果中,只有类别1的二类分类器输出为正值则表示分类结果为类别1,否则将选择具有最大决策函数值的类别作为样本的输出类别。