Kaldi中的聚类机制

本页解释了Kaldi中使用的通用的聚类机制和接口。

相关的类和函数参见Classes and functions related to clustering 。本页没有讲述音素的决策树聚类(见内部决策树Kaldi中如何使用决策树),并且本页中介绍的类和函数在音素聚类的低层代码中有使用。

Clusterable接口

Clusterable类是一个纯虚类,被GaussClusterable类继承(GaussClusterable类表示高斯统计量)。以后我们会添加其他继承Clusterable类的聚类对象。建立Clusterable类的原因是它可以允许我们使用通用的聚类算法。

Clusterable接口的核心概念是统计量相加和目标函数的测量。两个Clusterable对象之间的距离概念是指首先分别测量两个对象的目标函数,然后将其相加并再次测量目标函数;目标函数减值的负值即给出了我们的距离测度。

我们打算加入Clusterable类的地方包括从固定、共享或混合高斯模型的后验概率导出的混合高斯统计量,以及离散观察矢量的计数集合()