STC/MLLT--学习笔记

  1. gmm建模方差使用对角矩阵的前提是假设特征之间相互独立,使用full或者block-diagonal矩阵可以对相关性的特征建模,但是参数增多。为了解决使用这个问题,有两种方法:
    1. feature-space 使用DCT或者LDA去相关
    2. model-space 不同的模型可以使用不同的转换,更灵活
  2. semi-tied covariance matrices(STC)是model-space里面的一种形式,也是为了解决使用full covariance的参数量大的问题。相比于full covariance,这种方法的每个高斯分量有两个方差矩阵:STC/MLLT--学习笔记_第1张图片
  3. LDA:
    1. 线性判别分析,是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。
    2. LDA的核心思想为投影后类内方差最小,类间的方差最大。简单来说就是同类的数据集聚集的紧一点,不同类的离得远一点
    3. LDA算法流程:STC/MLLT--学习笔记_第2张图片
  4. MLLT:
    1. 最大似然线性变换
    2. 是一个平方特征变换矩阵,用于建模方差,解决full convariance的参数量大的问题。
    3. 相比于full     convariance,该方法的每个高斯分量有两个方差矩阵:STC/MLLT--学习笔记_第3张图片
  5. kaldi中的train_lda_mllt.sh:
    1. 主要功能:MFCC→CMVN→Splice→LDA→MLLT→final.matMFCC→CMVN→Splice→LDA→MLLT→final.mat ,然后训练GMM。
    2. 该程序的执行流程为:STC/MLLT--学习笔记_第4张图片
      1.  计算类内散度矩阵:
        1. 类内散度矩阵:为了最小化类内的可变性,类内分散。
        2. 计算:STC/MLLT--学习笔记_第5张图片

          协方差矩阵计算:从每个观测值中减去平均值,然后用矩阵的转置执行矩阵乘法后计算平均值。

      2. 计算类间散度矩阵:
        1. 增加类间差异,类间分散。
        2. 计算(不同类均值相减并乘上转置):STC/MLLT--学习笔记_第6张图片

你可能感兴趣的:(kaldi,人工智能)