2017-05-29 88 views
0

我有一個文本文件形式的二維數據。我必須使用Sidekit 1.2基於這些數據構建GMM。使用SIDEKIT構建GMM 1.2

我應該使用哪種功能來估計高斯模型的參數(均值,協方差矩陣,加權平均等)

能否請您提供自己的一組(X,Y)的數據的一個小例子並使用它來構建GMM?

任何幫助將不勝感激。

回答

0

Sidekit是一個主要用於說話人識別任務的工具包,其框架(與其他類似工具包一樣)依賴於包含格式爲.wav,.sph或raw PCM的音頻文件的訓練數據。 如果您只是構建GMM並且不打算將其用於說話人識別實驗,我會建議使用另一個工具包進行常規統計(scikit-learn可能是一個不錯的選擇)。

如果您計劃進行說話人識別任務,您將不得不對您的數據進行一些初步工作。如果您的文本數據是某種形式的發言者數據,則可以將其轉換爲適當的格式。例如,如果y部分是原始音頻,則將其轉換爲wav文件。如果y是倒譜特徵或其他特徵,請將其存儲爲h5.格式。完成此操作後,您可以通過在Sidekit主頁上的tutorials之後構建用於說話人識別任務的GMM。

+0

更正:您不一定必須以.h5格式存儲功能,但它使事情變得更容易。您可以使用函數mixture.EM_uniform在numpy數組數組上訓練GMM。 –

+0

(1/3) @JørgenA 我創建了一個numpy二維數組h = [x,y];其中x是一個包含500個觀測值的1d數組,同樣,y是包含500個觀測值的1d數組。 現在我所使用的函數EM_uniform爲: >>> UBM = sidekit.Mixture() >>> ubm.EM_uniform(CEP = H,distrib_nb = 1024,iteration_min = 3,iteration_max = 10,llk_gain = 0.01, do_init = TRUE) ,我發現了以下錯誤: – KD97

+0

(2/3)回溯(最近通話最後一個): 文件 「」,1號線,在 文件「/家/ kishalaya97/miniconda3/lib目錄/python3.5/site-packages/sidekit/mixture.py「,第748行,在EM_uniform self._init_uniform(cep,distrib_nb) 文件」/home/kishalaya97/miniconda3/lib/python3.5/site-packages/ sidekit/mixture.py「,行816,在_init_uniform self._c ompute_all() 文件「/home/kishalaya97/miniconda3/lib/python3.5/site-packages/sidekit/mixture.py」,第393行,在_compute_all中 self.A =(numpy.square(self.mu)* self.invcov).sum(1) - 2.0 *(numpy.log(self.w)+ numpy.log(self.cst)) – KD97