tensorflow - 相同的 train 和 eval 数据集,但得到不同的结果
问题描述
版本:
- TensorFlow:1.8.0
- 张量板:1.8.0
我做了什么:
我正在使用tf.estimator.DNNClassifier训练具有不平衡数据集的模型。当我进行两次训练过程时,都从一个全新的开始(AKA,每次训练没有检查点)开始,数据相同。我得到了两个非常不同的结果,如下图所示。
1 次列车
2 次列车
- 两个训练过程没有区别(没有代码或数据更改),它们都是从一个新的开始。
- 训练数据集大小约为 100M。
- 两个训练结果都来自 6 个 epoch。(在谷歌机器学习引擎上,每个结果的成本为 25 美元。)
从两张图我们可以看出:
- 第一次训练 6 个 epoch 什么都没学到。
- 第二次训练学习(它的 AUC 超过 0.6)。
- 虽然两次训练之间 AUC 值的差异只有 0.1(0.6 - 0.5),但在含义上却有很大的不同(a-random-guess vs a-non-random-guess)。
问题:
- 为什么会发生这种情况:相同的训练数据但得到完全不同的结果?
解决方案
推荐阅读
- android-studio - Flutter:obscureText,参数未定义
- react-native - 如何从 createBottomTabNavigator 隐藏特定选项卡
- java - 将角 4 与支柱 2 集成
- flutter - 颤振打开列表查看特殊页面上的项目
- reactjs - 是什么导致 React 子组件重新渲染?
- amazon-web-services - 用于移动推送通知的 AWS SNS
- eclipse - 尽管命令行运行成功,但在 Eclipse 中启动 Tomcat Server 9 时出错
- xamarin - Xamarin:桥接 C# 与原生 Android 库
- c++ - 如何使用设置和获取扩展属性
? - jquery - 响应式菜单项 css 不堆叠在一起