PLDA算法解釋
概念理解
在聲紋識別領域中,我們假設訓練數據語音由I個說話人的語音組成,其中每個說話人有J段自己不同的語音。那么,我們定義第i個說話人的第j條語音為Xij。然后,根據因子分析,我們定義Xij的生成模型為: 
這個模型可以看成兩個部分:等號右邊前兩項只跟說話人有關而跟說話人的具體某一條語音無關,稱為信號部分,這描述了說話人類間的差異;等號右邊后兩項描述了同一說話人的不同語音之間的差異,稱為噪音部分。這樣,我們用了這樣兩個假想變量來描述一條語音的數據結構。
我們注意到等號右邊的中間兩項分別是一個矩陣和一個向量的表示形式,這便是因子分析的又一核心部分。這兩個矩陣F和G包含了各自假想變量空間中的基本因子,這些因子可以看做是各自空間的特征向量。比如,F的每一列就相當於類間空間的特征向量,G的每一列相當於類內空間的特征向量。而兩個向量可以看做是分別在各自空間的特征表示,比如hi就可以看做是Xij在說話人空間中的特征表示。在識別打分階段,如果兩條語音的hi特征相同的似然度越大,那么這兩條語音就更確定地屬於同一個說話人。
模型訓練
容易理解,PLDA的模型參數一個有4個,分別是數據均值miu,空間特征矩陣F和G,噪聲協方差sigma。模型的訓練過程采用經典的EM算法迭代求解。為什么用EM呢?因為模型含有隱變量。
模型測試
在測試階段,我們不再像LDA那樣去基於consine距離來計算得分,而是去計算兩條語音是否由說話人空間中的特征hi生成,或者由hi生成的似然程度,而不用去管類內空間的差異。在這里,我們使用對數似然比來計算得分。如下圖所示:
公式中,如果有兩條測試語音,這兩條語音來自同一空間的假設為Hs,來自不同的空間的假設為Hd,那么通過計算對數似然比,就能衡量兩條語音的相似程度。得分越高,則兩條語音屬於同一說話人的可能性越大。
一個簡化版本的PLDA
由於我們只關心區分不同的說話人的類間特征而不用去管同一個說話人的類內特征,所以其實沒有必要向上面一樣對類內空間G參數進行求解。於是,我們可以得到一個簡化版本的PLDA,如下如: 
