我正在从头开始开发我的 ANN ,它应该对手写数字 (0-9) 的MNIST 数据库进行分类。我的前馈全连接人工神经网络必须由以下部分组成:
28x28 = 784
节点(即每张图像的特征)10
节点(每个数字一个)并且必须通过反向传播算法计算梯度 wrt 权重和偏差,最后,它应该学习利用动量算法的梯度下降。
损失函数是:cross_entropy
在“ softmax
ed”网络的输出上,因为任务是关于分类的。
每个隐藏神经元都由相同的激活函数激活,我选择了sigmoid
;同时输出的神经元被该identity
函数激活。
数据集已分为:
60.000
训练对(image, label)
- 用于训练5000
验证对(image, label)
- 用于评估并选择最小化验证损失的网络5000
测试对(image, label)
- 用于测试使用新指标(例如准确性)选择的模型数据已通过调用sklearn.utils.shuffle
方法进行打乱。
这些是我的网络在训练损失、验证损失和验证准确性方面的表现:
E(0) on TrS is: 798288.7537714319 on VS is: 54096.50409967187 Accuracy: 12.1 %
E(1) on TrS …
Run Code Online (Sandbox Code Playgroud)