更新 ANN 的训练集 [关闭]
Posted
技术标签:
【中文标题】更新 ANN 的训练集 [关闭]【英文标题】:Update ANN's training set [closed] 【发布时间】:2014-08-19 08:57:42 【问题描述】:假设一个人工神经网络已经使用 1GB 大小的训练数据训练了很长时间。 当训练数据中只有几行发生变化时,我们是否需要再次训练数据? 还是ANN错误的设计?
【问题讨论】:
【参考方案1】:一般来说,答案是肯定的。这就是为什么...
首先,1GB 的训练数据是一个相对度量,因为它没有给出训练样本数量的指示。也许每个训练样本大小为 1MB(可能是一张图像),只剩下大约 1,000 个样本,可能不够。
其次,重要的是要了解神经网络的架构,以便充分解决再训练的问题。如果您的训练集中更新的组件对应于可能在使用方面受到严重影响的节点,那么重新训练肯定是有必要的。当然,反过来也不一定正确,因为神经网络的互连性如何受到输入变化的影响可能不是很明显。
第三,神经网络旨在表示一种复杂的模式匹配器,经过训练可以识别某些输入关系并产生可能的输出关系。从这种幼稚的观点来看,输入的变化肯定会对应于输出的变化。因此,训练数据的变化很可能对应于预期输出数据的变化。而且,即使没有,输入模式也发生了变化,这可能意味着输出模式也发生了变化。
让我们考虑以下示例。假设您的神经网络经过训练可以将绘画与艺术家相匹配,并且成功制作了the following match to Leonardo da Vinci:
现在它可能被训练得足够好,也可以断言以下图像是由同一位艺术家“绘制”的:
这可能是因为您在过去最喜欢的气球和乐高小雕像上训练了您的神经网络。但是,现在您的许多输入样本发生了变化,特别是与蒙娜丽莎相关的那些。相反,它们类似于你最喜欢的过去时光……手绘鼠标:
尽管您这么说,但总体而言,上图的艺术性与早期图片的艺术性并不相符。因此,您的模式匹配器可能无法正确地将其识别为达芬奇创作的艺术品。所以可以公平地说,在这种图像上重新训练它应该是有序的。
您可能有多种选择:
根据训练数据的变化测试重新训练神经网络的效果。这样您就可以自己回答问题,并深入了解您的神经网络的架构。
仅根据变化重新训练您的神经网络,这可以被视为新训练数据。它的价值可能在很大程度上取决于您的架构、样本的复杂性以及训练数量(而不是大小)。
执行完整的再训练并测试功效。
【讨论】:
以上是关于更新 ANN 的训练集 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在 pyspark 中创建训练集和测试集时,如何跨不同组进行分层抽样? [关闭]