2
我正在運行基於高斯混合模型的語音增強算法。問題是估計算法在訓練處理期間下溢。 我想計算一個對數頻譜幀X
的PDF,給出一個高斯聚類,它是每個頻率成分的PDF產品X_k
(fft是爲k = 1..256完成的) 我得到的是256 exp(-v(k))
這樣v(k)>=0
高斯混合模型 - 參數的Matlab訓練
這裏是MATLAB計算的片段: N
- 幀數; M
- 混合物數量;每種混合物的重量爲c_i
;
gamma(n,i) = c_i*f(X_n|I = i)
for i=1 : N
rep_DataMat(:,:,i) = repmat(DataMat(:,i),1,M);
gamma_exp(:,:) = (1./sqrt((2*pi*sigmaSqr_curr))).*exp(((-1)*((rep_DataMat(:,:,i) - mue_curr).^2)./(2*sigmaSqr_curr)));
gamma_curr(i,:) = c_curr.*(prod(10*gamma_exp(:,:),1));
alpha_curr(i,:) = gamma_curr(i,:)./sum(gamma_curr(i,:));
end
產物進入快速零由於K = 256,因爲這些數字是較小然後之一。有沒有一種方法可以通過引起下溢(如logsum或類似的)來計算?