python - 任何人都可以解释这种准确性和我的网络丢失的行为吗?

标签 python machine-learning neural-network deep-learning caffe

我用了this例如项目(框架 - caffe,网络架构 - AlexNet 的 mod,使用 400 张图像进行训练)。我有这个结果: enter image description here

或者这个: enter image description here

求解器:

net: "./CDNet/Models/train.prototxt"
test_iter: 500
test_interval: 500
base_lr: 0.001
lr_policy: "step"
gamma: 0.1
stepsize: 100000
display: 50
max_iter: 450000
momentum: 0.9
weight_decay: 0.0005
snapshot: 10000
snapshot_prefix: "./CDNet/Models/Training/cdnet"
solver_mode: GPU

网络型号: enter image description here

任何人都可以解释这种准确性和我的网络丢失的行为吗?我做错了什么?

教程的作者得到了这个结果: enter image description here

UPD: 我将批量大小从 1 更改为 12,将步长更改为 2000。结果如下图所示: enter image description here

每次测试的准确度约为 0.5。

最佳答案

如果不查看的代码和的数据,就很难进行完整的分析。请注意,二元分类的 0.5 准确度仅仅是随机猜测。如果网络输出一个常量并且测试集不偏向某一类,您将得到相同的结果。

从这些图表中可以明显看出,该模型没有学习。由于图表上没有训练准确性,我什至无法判断它是否过度拟合(我不敢相信增强型 AlexNet 拟合不足)。

据我所知,该任务需要仔细的数据准备,并且这是一个可能犯错误的步骤:检查您的训练和测试数据是否有意义(它们应该是 227x227,人类可以清楚地识别,还要检查两组的大小)。仔细检查计算出的平均图像和预处理步骤。超参数看起来很合理,据说适用于这个数据集,所以一般来说我会相信它。

关于python - 任何人都可以解释这种准确性和我的网络丢失的行为吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46445825/

相关文章:

r - 使用 Caret 和 xgboost 训练分类模型期间的警告消息

machine-learning - keras 中的 model.predict_classes 与 model.predict_generator

python - 如何制作特定对象的python数组

csv - Tensorflow 如何将 csv 文件中的单词(字符串)转换为正确的向量

python - BeautifulSoup4 的 Insert_after() 函数意外工作

algorithm - 如果使用正态分布的目标值进行训练,非线性回归算法会表现得更好吗?

algorithm - 卷积网络中的最佳过滤器数量

artificial-intelligence - 如何将人工神经网络的输出转换为概率?

python - 如何避免在Python的自定义记录器中调用根处理程序?

python - 在 Python 中获取 DocuSign 中的 token