我已经建立了一个模型,当我训练它时,我的验证损失小于训练中的一个,验证准确性也比训练中的高。模型是否过拟合?难道我做错了什么?有人可以看看我的模型,看看有什么问题吗?谢谢。

input_text = Input(shape=(200,), dtype='int32', name='input_text')

meta_input = Input(shape=(2,), name='meta_input')

embedding = Embedding(input_dim=len(tokenizer.word_index) + 1,

output_dim=300,

input_length=200)(input_text)

lstm = Bidirectional(LSTM(units=128,

dropout=0.5,

recurrent_dropout=0.5,

return_sequences=True),

merge_mode='concat')(embedding)

pool = GlobalMaxPooling1D()(lstm)

dropout = Dropout(0.5)(pool)

text_output = Dense(n_codes, activation='sigmoid', name='aux_output')(dropout)

output = concatenate([text_output, meta_input])

output = Dense(n_codes, activation='relu')(output)

main_output = Dense(n_codes, activation='softmax', name='main_output')(output)

model = Model(inputs=[input_text,meta_input], outputs=[output])

optimer = Adam(lr=.001)

model.compile(optimizer='adam',

loss='binary_crossentropy',

metrics=['accuracy'])

model.summary()

model.fit([X1_train, X2_train], [y_train],

validation_data=([X1_valid,X2_valid], [y_valid]),

batch_size=64, epochs=20, verbose=1)

这是输出:

__________________________________________________________________________________________________

Layer (type) Output Shape Param # Connected to

==================================================================================================

input_text (InputLayer) [(None, 200)] 0

__________________________________________________________________________________________________

embedding (Embedding) (None, 200, 300) 889500 input_text[0][0]

__________________________________________________________________________________________________

bidirectional (Bidirectional) (None, 200, 256) 439296 embedding[0][0]

__________________________________________________________________________________________________

global_max_pooling1d (GlobalMax (None, 256) 0 bidirectional[0][0]

__________________________________________________________________________________________________

dropout (Dropout) (None, 256) 0 global_max_pooling1d[0][0]

__________________________________________________________________________________________________

aux_output (Dense) (None, 545) 140065 dropout[0][0]

__________________________________________________________________________________________________

meta_input (InputLayer) [(None, 2)] 0

__________________________________________________________________________________________________

concatenate (Concatenate) (None, 547) 0 aux_output[0][0]

meta_input[0][0]

__________________________________________________________________________________________________

dense (Dense) (None, 545) 298660 concatenate[0][0]

==================================================================================================

Total params: 1,767,521

Trainable params: 1,767,521

Non-trainable params: 0

__________________________________________________________________________________________________

Train on 11416 samples, validate on 2035 samples

Epoch 1/20

11416/11416 [==============================] - 158s 14ms/sample - loss: 0.0955 - accuracy: 0.9929 -

val_loss: 0.0559 - val_accuracy: 0.9964

Epoch 2/20

11416/11416 [==============================] - 152s 13ms/sample - loss: 0.0562 - accuracy: 0.9963 -

val_loss: 0.0559 - val_accuracy: 0.9964

Epoch 3/20

11416/11416 [==============================] - 209s 18ms/sample - loss: 0.0562 - accuracy: 0.9963 -

val_loss: 0.0559 - val_accuracy: 0.9964

Epoch 4/20

11416/11416 [==============================] - 178s 16ms/sample - loss: 0.0562 - accuracy: 0.9963 -

val_loss: 0.0559 - val_accuracy: 0.9964

Epoch 5/20

11416/11416 [==============================] - 211s 18ms/sample - loss: 0.0562 - accuracy: 0.9963 -

val_loss: 0.0559 - val_accuracy: 0.9964

Epoch 6/20

参考方案

当acc高于val_acc且loss低于val_loss时,将过度拟合。

但是,我发现您的验证数据集不能代表数据集中的总体分布。无论出于何种原因,验证数据集的结果都是恒定的,甚至是更高的。

您正在执行二进制分类。注意班级不平衡!

例如。如果您的样本中有99%是0类,而1%是1类,

这样,即使您的模型什么也不学,只要始终预测0而不曾预测1,它将具有99%的准确性。

想象一下,您(大多数情况下是随机的)数据拆分创建了一个数据集,其中99.5%的验证数据将是0类和0.5%1类。

想象一下在最坏的情况下您的模型什么都不学。并且吐出(“预测”)始终是0。然后train acc会一直0.99并有一定损失。并且val_acc将一直为0.995。

对我来说,令人困惑的是您的绩效指标是不变的。那总是很糟糕。因为通常情况下,如果模型学习到sth且即使模型过拟合,也总是会出现随机噪声。

没有书告诉您以下内容-没有新手书籍。我从经验中学到了这一点:您必须在shuffle=True中放入model.fit()。

因为对我来说,您似乎正在以某种方式训练,即首先仅展示一个类别的样本,然后展示另一个类别的样本。将一类和另一类的样本混合在一起会很好地干扰模型,并避免模型陷入某些局部最小值。

有时,甚至在改组时,我也能得到如此恒定的结果。

在这种情况下,我只是尝试选择另一个随机拆分,这样效果更好。 (因此:尝试其他拆分!)

在返回'Response'(Python)中传递多个参数 - python

我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…Python exchangelib在子文件夹中读取邮件 - python

我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。Python ThreadPoolExecutor抑制异常 - python

from concurrent.futures import ThreadPoolExecutor, wait, ALL_COMPLETED def div_zero(x): print('In div_zero') return x / 0 with ThreadPoolExecutor(max_workers=4) as execut…如何用'-'解析字符串到节点js本地脚本? - python

我正在使用本地节点js脚本来处理字符串。我陷入了将'-'字符串解析为本地节点js脚本的问题。render.js:#! /usr/bin/env -S node -r esm let argv = require('yargs') .usage('$0 [string]') .argv; console.log(argv…

python神经网络训练效果差_为什么我的神经网络验证精度比我的训练精度高,并且两者都变得恒定? - python...相关推荐

  1. python神经网络训练效果差_Python与人工神经网络(11)——为什么深度神经网络很难训练...

    之前十期,我们彻头彻尾的介绍了神经网络技术,然而用到的都是只有一个隐藏层的.那种有多个隐藏层的神经网络,叫深度神经网络,比如这种: 在神经网络中,比较浅的隐藏层会处理一些比较简单的任务,比较深的层会处 ...

  2. python自定义函数求差_[VBA]发布一个计算桩号之差的Excel自定义函数(VBA)

    这是一个可以计算桩号之差(也就是得到长度)的Excel(或WPS)扩展函数,可以减少工程师在统计工程量时的工作量. 该函数具有一定的通用性.可以在MS Office和金山WPS上使用. 文末会给出使用 ...

  3. 莫烦python讲得好差_莫伊拉 - 英雄 - 《守望先锋》官方网站

    黑爪的科学家莫伊拉·奥德莱恩有着杰出的才华,但她的工作也引起了诸多争议.她是基因工程方面的顶尖专家,研究的方向是如何对生命最基本的单元加以改进. 十多年以前,奥德莱恩发表的一篇论文,详细阐述了定制基因 ...

  4. 莫烦python讲得好差_【图片】《莫》短篇【vore吧】_百度贴吧

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这次是大粗长的更新 岚呆呆地看着面前突然出现的白虎,白虎的伤口还在滴血,滴在岚的身上."小狼,我带你去一个好玩的地方."说完,白虎就张 ...

  5. 神经网络 mse一直不变_使用深度卷积神经网络的儿科骨龄评估

    此篇文章内容源自 Pediatric Bone Age Assessment Using Deep Convolutional Neural Networks,若侵犯版权,请告知本人删帖. 此篇文章是 ...

  6. 用python画易烊千玺_竟然如此简单!输入明星名字就可以直接爬取高清图片

    听说你在自己喜欢的明星壁纸?比如李易峰,王一博,易烊千玺.王源.王俊凯,李现等.今天教你批量下载这些明星高清壁纸(文末有福利) 最近图慌,闲来无事爬取李易峰的高清图片,当做手机壁纸也是不错的选择.废话 ...

  7. python 用递归求质数_编写一个递归函数,它接受和整数,如果它的所有数字都是质数,则返回“True”...

    要做到这一点,你只需要提取最后一个数字,检查它是否是质数,然后继续剩下的数字.在 编写递归基本上由一个简单的例子和一个递归组成,在这个过程中,你把问题分解成一个更小的问题,直到你进入一个小的情况.在 ...

  8. python语言画成圆相切_求作一圆,使它过一定点且与两直线都相切

    原标题:求作一圆,使它过一定点且与两直线都相切 求作一圆,使它过一定点且与两条给定直线都相切.如下图所示.图中只画出了一个符合要求的圆.很明显,在右侧还应该有一个更大一些的圆符合要求(这里画不下是原因 ...

  9. 计算机技能队训练总结,足球队训练工作总结_

    <足球队训练工作总结_>由会员分享,可在线阅读,更多相关<足球队训练工作总结_(5页珍藏版)>请在技术文库上搜索. 1.足球队训练工作总结_足球训练小结2篇 本周足球队训练了传 ...

最新文章

  1. 素材诊断分析助手_短视频运营必备的8款数据分析工具
  2. 【Python】Python中令人头疼的变量作用域问题,终于弄清楚了
  3. Android内存管理-OnTrimMemory
  4. 解决git clone慢问题
  5. Table——高淇JAVA300讲笔记之Guava
  6. c++类中成员的构造顺序
  7. Shell脚本(学习笔记1)
  8. VC6解决托盘菜单不消失
  9. 如何显示Organization unit ID
  10. 【ArcGIS Pro微课1000例】0012:ArcGIS Pro属性表中文乱码完美解决办法汇总
  11. 算法---会议最大安排问题
  12. 苹果隐私部门负责人:在iPhone上侧载应用会减少用户选择
  13. Mysql运维管理-一主多从宕机从库切换主库继续和从库同步过程16
  14. SCSI硬盘设备到/dev/sd设备的映射关系
  15. 每日一句20191224
  16. 数商云SCM供应链系统方案服务亮点:生产管理更智能、产业供应链协同管理更便捷
  17. 电大计算机网络考试,电大计算机组网技术试题及答案|2017电大统考计算机试题及答案...
  18. android手机存储全面解析汇总
  19. 5步完成编写Mysql的shell脚本
  20. OpenCV在win10安装

热门文章

  1. ABP 依赖注入(1)
  2. cass块参照怎么改颜色,CASS符号颜色自定义的诀窍,都在这里了!
  3. zabbix触发器通过钉钉发送警报
  4. Android自定义-滑动缩放渐变填充曲线折线图表
  5. SSRPanel 后端配置对接教程
  6. gps+wifi+mobile 5的手机参数对比
  7. 原生Vue实现二维码扫一扫,兼容PC、安卓、IOS
  8. 2018CVTE后台研发工程师内推笔试编程题2
  9. centOs7 安装docker 镜像
  10. DOS命令/批处理文件大全