让我有一个由高斯组成的高斯混合,它已经相对于给定的数据集进行了拟合(例如,使用 EM 算法)。现在我想再添加一个高斯来使混合更准确。
当然,我可以从头开始,对高斯人运行相同的学习过程。但是,是否可以重用学习高斯的结果,例如用于初始化?
我知道高斯可以以某种方式用于形成的先验。
接受的答案将包含:
- 一个清晰的方法(算法)如何使用高斯学习高斯
- 一些理由(明确说明或基于权威参考)为什么提出的算法是好的。
让我有一个由高斯组成的高斯混合,它已经相对于给定的数据集进行了拟合(例如,使用 EM 算法)。现在我想再添加一个高斯来使混合更准确。
当然,我可以从头开始,对高斯人运行相同的学习过程。但是,是否可以重用学习高斯的结果,例如用于初始化?
我知道高斯可以以某种方式用于形成的先验。
接受的答案将包含:
如果您的目标是找到大小为的最大似然混合,那么您可以使用现有解决方案作为初始化,一旦您将其扩大到具有更多高斯分布。为了扩大它,文献中有两种方法。第一种方法是在最好的位置添加一个新的高斯,保持现有的固定。Verbeek 等人 (2003)在高斯混合模型的高效贪心学习中描述了这种方法。他们给出了一个快速的启发式方法来为新的高斯找到好的参数,并且目前的实验(但不是理论)表明它运作良好。在该论文中,您还可以找到对做类似事情的早期工作的参考。
第二种方法是将现有的高斯一分为二。这种方法在Ueda 等人 (2000)的混合模型的 SMEM 算法和Karciauskas 等人 (2004) 的通过拆分和合并组件来学习潜在类模型中进行了描述。这些论文的重点是分裂高斯,以逃避 EM 算法的局部最优,但分裂也可以用于您的情况。
通常,这取决于您使用的算法和软件。在可能的任何软件中,您都可以使用一些起始值来启动您的算法。
但是,考虑到您已经安装了一些对数据“最优”的模型。如果你要求你的算法比你已经从一些局部最优开始多一个高斯,那么它可能会变得混乱。算法可能很难找到比已经是“可能的最佳选择”的解决方案“更好”的解决方案。
如果您以贝叶斯的方式考虑它,您可以将其视为您在数据上使用了一些信息丰富的先验,在这种情况下,有时您的数据很难克服来自先验的信息。
不幸的是,我不记得有任何专门处理此案的文献。在他的著作 Sivia(2006 年,数据分析:贝叶斯教程。牛津大学出版社。)中认为,在贝叶斯案例中,在大多数情况下,使用先前分析的后验作为后续分析的先验是一个坏主意。