考虑一些训练集的密度估计问题。个以每个为中心且方差非常小的正态分布组成的高斯混合模型将“过度拟合”:训练数据的可能性非常高,而未见数据点的可能性非常低。
我的问题是:
- 就像在监督学习中一样,过度拟合是否被视为无监督学习中的一个问题?(当然不会经常讨论!)
- 是否应该使用交叉验证来防止无监督模型的过度拟合?
- 是否有类似于在监督环境中得出的泛化界限的理论结果?(例如与预期似然性、训练集上的似然性、样本大小和模型复杂性相关的结果)
考虑一些训练集的密度估计问题。个以每个为中心且方差非常小的正态分布组成的高斯混合模型将“过度拟合”:训练数据的可能性非常高,而未见数据点的可能性非常低。
我的问题是:
当模型在训练样本上表现更好时,我们讨论过拟合,然后在验证样本上。首先,您如何定义无监督学习的过度拟合?例如,如果您对数据进行聚类分析,则没有客观标准可以说某些输出是“正确的”。更重要的是,没有“正确”的聚类解决方案,因为在无监督的情况下没有标签。您如何判断聚类的性能?您如何说它在验证样本上的表现“更差”?这同样适用于交叉验证。您可以检查在多个子样本上学到的某些聚类解决方案的稳定性,但这与欠拟合或过拟合无关。
另一方面,您可以说在无监督情况下的过度拟合。如果您将集群拟合到案例,那么您最终会得到(无用的)集群解决方案,该解决方案不会转换为外部数据。在这种情况下,聚类会因设计而过拟合,但这并不是真正可测量的。
与密度估计相同。没有单一的“正确”解决方案。另一方面,如果您将内核密度估计中的带宽设置为零,您最终会得到与您的数据完美匹配的密度估计,但不会转换为外部数据。这里的整个技巧是找到足够通用的解决方案,并且足够详细以共享数据的某些特定功能 - 但没有像这样的单一最佳解决方案。
过度拟合当然是无监督学习中的一个实际问题。它更常被讨论为“自动确定最佳聚类数”或模型选择。因此,交叉验证不适用于此设置。
如果您正在运行随机算法,例如拟合潜变量模型(如 GMM),则可以通过测量输出模型的随机性来观察过度拟合。我使用的经验度量是预测标签的每个样本熵的分布。
这个想法来自统计物理学中的临界概念。基本上,如果温度太高,那么模型将是完全随机的。但是如果温度太低,那么模型将无法学习任何有用的标签。GMM 实际上并不是描述这个概念的最佳模型,但仍然值得尝试。GMM 中温度的概念是方差参数。
标记的熵在某种意义上是有用的:当你过度拟合时,会出现许多高确定性的样本,它们的熵接近于零。相反,如果温度太高,那么您将根本无法确定标签,因此会产生高熵。
我同意@Tim 的回答/问题“你如何定义无监督学习的过度拟合? ”
与监督学习不同,将未标记的数据集划分为训练集和验证集是没有意义的,因为那你在验证什么?聚类或无监督学习试图找到相关数据集的底层结构。一个常见的定义是它是
以这样一种方式对一组对象进行分组的任务,即同一组(称为集群)中的对象彼此之间(在某种意义上)比与其他组(集群)中的对象更相似(在某种意义上)。
所以在我们的问题中:将训练集的集群应用到验证集会告诉你它们在训练集中揭示的结构是什么?值得注意的是,这两个集合产生了不同的集群,但这并不会使训练集中的集群失效。
话虽如此,(至少)在一种情况下您可能会使用标签执行聚类分析:您可以针对包含类标签的基准数据集运行聚类算法。使用外部质量度量(例如纯度或兰德度量)评估生成的聚类,然后可以告诉您您选择的算法是否能够检测您感兴趣的结构类型;例如,k-means 不能检测非凸结构。然而,仍然必须小心:如 Färber 等人。讨论,您的标签不一定与数据中的结构相对应。
编辑:正确参考蒂姆的答案。