【问题标题】:Is train/test-Split in unsupervised learning necessary/useful?无监督学习中的训练/测试拆分是否必要/有用?
【发布时间】:2015-10-18 20:04:47
【问题描述】:

在监督学习中,我使用典型的训练/测试拆分来学习算法,例如回归或分类。关于无监督学习,我的问题是:训练/测试拆分是否必要且有用?如果是,为什么?

【问题讨论】:

  • 反问:你如何测试?
  • @cel 我不确定你的问题是什么意思?问题是:在监督学习中,我有真正的输出,我可以将它与它进行比较。但在无监督学习中,算法通过寻找例如数据的相似性。但是如何衡量性能呢?
  • 是的,这正是我的观点。测试不是直截了当的,因为你不知道什么是对的,什么是错的。因此,划分训练集和测试集的一般原则不能轻易应用于无监督学习。
  • 好的,谢谢,我想我明白了
  • @Gathide,不是传统意义上的。显然,您总是必须证明您的算法有效(=按照您的意愿行事)。但这要困难得多,因为准确度等标准指标不能开箱即用。

标签: machine-learning unsupervised-learning


【解决方案1】:

这取决于问题、数据集的形式和用于解决特定问题的无监督算法类别。

大概:- 降维技术通常通过计算重构中的误差来测试,因此我们可以使用 k 折交叉验证程序

但在聚类算法上,我建议进行统计测试以测试性能。拆分数据集并使用有意义的类手动标记测试集并交叉验证也很少耗时

在任何情况下,对有监督的数据使用无监督算法,那么它总是很好的交叉验证

总体而言:- 没有必要在训练测试集中拆分数据,但如果我们能做到,那就更好了

这篇文章解释了交叉验证如何成为无监督学习的好工具 http://udini.proquest.com/view/cross-validation-for-unsupervised-pqid:1904931481/ 全文可在此处查看http://arxiv.org/pdf/0909.3052.pdf

https:///www.researchgate.net/post/Which_are_the_methods_to_validate_an_unsupervised_machine_learning_algorithm

【讨论】:

    【解决方案2】:

    肯定有用。

    关于“为什么”我知道的几点。

    当测试一个模型进入故事时,它应该总是在看不见的数据上执行。所以最好使用 train_test_split 吐出数据。

    第二种情况是数据应该总是在格式中打乱。否则,拟合模型时会出现n-1类数据,可能效果不佳。

    【讨论】:

      猜你喜欢
      • 2019-11-26
      • 2011-11-09
      • 2017-02-04
      • 2014-04-20
      • 2016-12-27
      • 2013-03-24
      • 2017-06-27
      • 2017-07-27
      • 2019-02-20
      相关资源
      最近更新 更多