我对神经网络和人工智能比较陌生,我对这类网络的训练方法有疑问。特别是,尖峰神经网络(SNN)是我们正在工作的类型。
当高精度是我所追求的最理想的性能指标时,我对训练尖峰神经网络的最佳方法感到困惑。
在上下文中,我们使用SNN作为异常检测器进行监督学习,将输入的各种数据样本分成两类:健康类和不健康类。我们的训练数据有一个健康的输入样本,我们希望SNN承认它是健康的,我们还随机地组成了我们希望SNN识别为不健康的不健康的输入样本。这就引出了我的问题:
你应该如何训练一个SNN?例如,你有一个有100个样本的培训数据集,其中50%是健康的,其余的50%是不健康的,那么这个网络应该如何按照用于培训的健康和不健康培训样本的比例进行培训呢?
发布于 2022-11-10 15:38:38
有许多方法来训练SNN。这份出版物解释了其中几个问题:
https://arxiv.org/pdf/2109.12894.pdf
然而,我们可以从一些有用的提示开始。
SNN在很大程度上依赖于可变的阈值(根据最大值)、学习速率和每个样本的峰值数(影响权重的训练和预测)。在获得好的结果之前,您需要进行几次试验,以找到正确的参数值,以及适当的迭代和检查量。
此外,一旦涵盖大多数病例,150个样本就足够了。我不知道数据,所以我只能泛泛而谈。
最后,权值初始化也起着重要的作用:测试几个权值初始化可能是必要的,以达到良好的效果。
以下是一些可能有用的代码:
https://datascience.stackexchange.com/questions/116059
复制相似问题