在SOM中将数据拆分为培训/测试的原因是什么?

时间:2016-08-01 16:20:08

标签: supervised-learning unsupervised-learning som self-organizing-maps

我正在研究并使用SOM算法阅读一些论文。我不理解人们将数据集拆分为SOM的训练/测试集的逻辑。我的意思是,例如,当使用C4.5决策树时,训练的结构包括一些规则,当新的数据集(测试)来对那里的数据进行分类时应用这些规则。但是,通过SOM训练系统后会产生什么样的规则或类似的东西?如果我将100%的数据应用于SOM系统而不是使用30%进行培训然后使用70%进行测试,那会有什么不同?提前感谢您的回答。

2 个答案:

答案 0 :(得分:0)

对于每个与数据相关的系统(应该在未来接触到新数据),保留部分现有数据进行测试可以强大地预测部署后的预测方式。对于SOM,您将学习特定的数据嵌入。如果您使用所有数据进行培训,之后又希望在数据之前使用过这种训练有素的SOM,那么您无法保证它的表现如何(手头任务的表示有多好)。有一个支持使您能够在受控环境中测试它 - 您在部分数据上训练SOM表示,然后将其应用于嵌入保持(测试),模拟“如果我获得新数据并想要使用将会发生什么我的SOM就此而言“。这同样适用于使用数据的每个算法,无论是否受到监督,如果您要基于此模型部署某些内容,您需要一个测试集来建立您自己的解决方案的信心。另一方面,如果您只是对“封闭”数据集进行探索性分析 - 那么无监督方法可以简单地应用于所有这些方法(如果您只是询问“此特定数据集中的结构是什么)”。 / p>

答案 1 :(得分:0)

看起来你不明白为什么SOM(无监督机器学习)应该像其他机器学习技术一样对待你的陈述:“......训练有素的结构包括一些新数据集应用的规则(测试)来对那里的数据进行分类..“

  

一般来说,在训练期间(包括SOM的训练),你的目标是结束   使用一组final weights(使用你的话;“规则是   应用“)用于新的,以前看不见的数据集   训练集应包含广泛的功能,通常是a   很好地代表您希望将其应用于的数据类型。

这将使final weights尽可能准确和可靠。 至于“通过SOM训练系统后会产生什么样的规则或类似的东西?” final weights组成“规则”应用于受SOM影响的任何新数据。因此,SOM将根据final weights中的值为您提供结果。

将数据拆分为培训和测试可帮助您在培训SOM投入生产之前获得对其性能的信心。

另一方面,测试装置可以让您了解训练有素的SOM的表现。您比较训练集和测试集的结果。在您申请并开始使用经过培训的SOM之前,这一点非常重要。如果您发现训练集和测试集的结果之间存在很大差异,您应该查看训练集 - 可能包括训练集中更多样化的功能。
 简而言之,拥有培训和测试集可以确保SOM在实施时的性能。如上所述issue

  

“......我们创建测试分区以便为我们提供诚实的评估   我们的预测模型的表现。没有数量   基于数学推理和结果的操纵   训练数据将令有经验的观察者信服。“