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

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. 假装不知道有尽头(博弈论的诡计)
  2. 如果你还记得我[转载]
  3. 【深度学习】最新「深度学习社区发现」综述论文,174篇文献概述六大类方法(含Github资源)...
  4. mysql触发器 生僻字_MySQL生僻字插入失败的处理方法(Incorrect string value)
  5. 属性总结(三):plt.rcParams
  6. 使用wss和HTTPS / TLS保护WebSocket的安全
  7. jmeter tps指标在哪里看_性能之路——性能测试连载 (3)-性能指标
  8. 吴恩达机器学习4——神经网络
  9. 进入多个页签_俄罗斯学生落地签如何办理?
  10. 团队文化之舒适区和挑战区
  11. ZOJ 3430 Detect the Virus
  12. python培训拾遗
  13. codeforces 869C The Intriguing Obsession【组合数学+dp+第二类斯特林公式】
  14. [HNOI2004]打鼹鼠 简单DP
  15. java读取Excel内容添加到list集合里面去
  16. Python+pyc文件编译和运行
  17. 计算机 打印机型号编码不可用,打印机型号编码显示不可用
  18. python类私有属性及访问控制
  19. Python 自定义抽取视频关键帧 (可设置抽样频率和相似程度要求) CV2Skimage V1.0
  20. 关于数据库设计中的分级分层问题的总结(适用于组织结构图及家谱等问题)

热门文章

  1. HTML网页设计结课作业~仿蘑菇街商城网站源码(HTML+CSS+JS)
  2. 系统集成项目管理工程师2021年下半年下午案例分析题及答案
  3. java解析ceb文件_读取文件夹内容解析为Tree结构
  4. yxc_第二章 数据结构(二)_Trie树
  5. 线性回归系数的几个性质
  6. 程序员常用十大算法(四):KMP算法 与 暴力匹配算法 解决字符串匹配问题
  7. 搜狗校招笔试题编程之一
  8. java实现在pdf中添加文字和图片
  9. VCollab—大数据轻量化、可视化工具
  10. 大数据之Hadoop学习——动手实战学习MapReduce编程实例