如何判断模型是否由样本训练?

How to decide if a model was trained by a sample?

我有 2 个经过训练的模型 (hdf5) 和来自 MNIST 数据集的 100 个样本 (npy) 的列表。 模型 1 由 50 个样本训练,模型 2 由另外 50 个样本训练。

现在我的问题是,是否可以确定哪个模型是由哪个样本训练的。

我是 Python 的新手,不知道如何管理它。

模型和 100 个数据点,没有明确的方法可以判断。
但是如果存在任何过度拟合,您可以做出有根据的猜测。
基本上,如果存在任何过度拟合,那么在 "first" 50 张图像上训练的模型将在这 50 张图像上给出比在其他 50 张 "validation" 图像上更好的结果。这同样适用于您的第二个模型。
所以...您可以查看每个模型在 50 个图像集上的差异,也许,只是也许,您会看到对训练集的一致偏见每个型号。
但这只是统计数据,并且是基于一些一厢情愿的想法。
祝你好运!

如果您知道样本是如何使用的(例如,前 50 个样本用于训练一个模型,另外 50 个用于训练另一个模型),以下内容可能对您有所帮助。

训练的意思是在给定的错误中找到降低代价函数的参数。因此,您只需要测试每个样本中的每个模型。返回最小误差的样本是用于训练该模型的样本。

因此,如果您创建 table 形式的

          +----------+----------+
          | model 1  | model 2  |
+---------+----------+----------+
|sample 1 |  e11     | e12      |
+---------+----------+----------+
|sample 2 |  e21     | e22      |
+---------+----------+----------+

在给定列中具有最小值的行是用于训练该列的样本

能否提供更多信息? 看起来您正在尝试在 python 中进行一些机器学习。 - 你使用的是哪个图书馆? (火炬,张量流..) - 你的样本是如何送入网络的?例如在pytorch中你必须实现你的数据加载器版本class..

任何一段代码也有助于其他人了解你想做什么以及你的问题是什么。 为了回答您模糊的问题:一般来说,您可以将训练集(包含 N 个样本)分成两个文件夹(一个文件夹包含第一个 N/2,另一个文件夹包含剩余的 N/2)并分别喂入具有两个不同子训练集的网络。