2014-03-02 89 views
1

我想使用MATLAB神經網絡工具箱進行KTH數據集中的語音識別。 現在我的訓練數據非常龐大,我無法一次將它們加載到大型矩陣中進行批量訓練。我找到的一個解決方案是使用漸進式訓練,一次適應大塊數據。但據我所知,這可能會降低準確性。使用matlab神經網絡工具箱批量訓練一個非常大的數據集

我以前使用NICO工具包。在這裏我們可以把輸入作爲包含訓練數據的文件名稱。它會讀取文件並進行批量訓練。但是我在MATLAB中找不到這樣的選項。

有沒有辦法在MATLAB中對這樣的大數據集進行批量訓練?

回答

2

我不會推薦適應非常大的數據集。適應性學習對於表示隨時間變化的關係(數據集)的數據集來說是最好的。

如果您有權訪問並行計算工具箱和MATLAB分佈式計算服務器,則可以使用神經網絡工具箱將計算和數據分佈到多臺機器上。

要增加可以在特定數量的RAM內訓練的數據集的大小,請使用TRAINSCG(比例共軛梯度,其比雅可比方法使用更少的內存,或者使用TRAINBR(貝葉斯正則化雅可比)和記憶減少(交易關閉存儲空間的時間)

假設你還沒有足夠的RAM,一種可能的解決方案是使用TRAINBR減少存儲空間在不同的隨機數據子集上訓練多個網絡TRAINBR試圖找到最簡單的可能解決方案,但每次培訓課程可能會找到一個完全不同的解決方案,在對不同數據集上的幾十個(或更多)神經網絡進行訓練之後,每個網絡的輸出可以進行平均,基本上有很多簡單的解決方案離子結合起來找到複雜的關係。

務必保留一些不用於培訓任何TRAINBR神經網絡的數據,以便可以獨立測量它們的組合(平均)輸出的一般性。