首页 > 编程知识 正文

keras模型评估,keras可视化训练过程误差

时间:2023-05-06 00:26:33 阅读:241452 作者:601

今天在Keras训练了一个模型,发现模型的训练accuracy和测试accuracy的准确率偏差比较大,如下
在问了些大佬后(感谢大佬),我的这个原因很可能是因为过拟合导致的差距比较大,之后在每个层之间都加入了dropout,再重新训练模型得到了下面这样的效果:
可以看到,效果还是很明显的,接下来就是调整dropout里面的参数和dropout层数的事情了。
当然,有些模型accuracy震荡比较厉害不光是过拟合的原因,也有可能是数据本身的原因,那就需要实验者自己查看数据哪里出现问题了,这里给出Keras添加dropout的方法。

def self_mlp(): model=Sequential() model.add(Dense(units=200,input_dim=95,activation='relu')) model.add(Dropout(0.2)) model.add(Dense(units=200,activation='relu')) model.add(Dense(units=200,activation='relu'))# model.add(Dropout(0.2)) model.add(Dense(units=200,activation='relu')) model.add(Dropout(0.2)) model.add(Dense(units=200,activation='relu')) model.add(Dropout(0.2)) model.add(Dense(units=256,activation='softmax')) model.compile(optimizer=rms,loss='categorical_crossentropy',metrics=['accuracy']) return model

dropout层越多,里面的参数越大就越有可能导致欠拟合,所以需要自己不断尝试。
本人dtddd,要是有大佬看见我哪里不正确,希望能提醒下(手动滑稽)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。