0

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

4

2 回答 2

0

似乎您不明白为什么 SOM(无监督机器学习)应该像其他机器学习技术一样对待,因此您的声明:“......经过训练的结构包括一些规则,当新数据集(测试)对数据进行分类时要应用那里..”

通常,在训练期间(包括 SOM 的训练),您的目标是最终获得一组final weights(用你的话;“要应用的规则”)用于新的、以前未见过的数据集。训练集应包含广泛的特征,通常可以很好地代表您希望将其应用于的数据类型。

这将使数据final weights尽可能准确和可靠。至于“通过 SOM 训练一个系统后会生成什么样的规则或类似的东西?” final weights构成要应用于受 SOM 约束的任何新数据的“规则” 。因此,SOM 将根据其final weights.

将数据拆分为训练和测试有助于您在将训练后的 SOM 投入生产之前对其性能充满信心。

另一方面,测试集可让您了解经过训练的 SOM 的执行情况。您比较训练集和测试集的结果。在您申请并开始使用经过培训的 SOM 之前,这一点很重要。如果你发现训练集和测试集的结果之间存在很大差异,你应该检查训练集——可能在训练集中包含更多不同的特征。
简而言之,拥有训练和测试集可以确保 SOM 在实施时的性能。如此处所述:

“......我们创建测试分区来为我们提供对预测模型性能的诚实评估。基于训练数据的任何数学推理和结果操作都不会让有经验的观察者信服。”

于 2017-12-01T08:35:31.000 回答
0

对于每个依赖于数据的系统(应该在未来暴露于新数据),保留部分现有数据进行测试使您能够可靠地预测部署后的预测方式。对于 SOM,您将学习特定的数据嵌入。如果您使用所有数据进行训练,然后想在从未见过的数据上使用这个经过训练的 SOM - 您无法保证它的行为方式(这种表示对于手头的任务有多好)。保留让您能够在受控环境中进行测试 - 您可以在部分数据上训练 SOM 表示,然后将其应用于嵌入保留(测试),它模拟“如果我获得新数据并想要使用会发生什么我的 SOM 就可以了”。这同样适用于每一个使用数据的算法,无论它是否受到监督,如果您要基于此模型部署某些东西,您需要一个测试集来建立对您自己的解决方案的信心。另一方面,如果您只是对“封闭”数据集进行探索性分析 - 那么无监督方法可以简单地应用于所有这些(如果您只是询问“这个特定数据集中的结构是什么)。

于 2016-08-07T22:12:01.577 回答