簡體   English   中英

人工神經網絡PSO培訓

[英]Artificial Neural network PSO training

我正在研究FF神經網絡(用於分類問題),正在使用PSO進行訓練。 我只有一個隱藏層,可以改變該層中神經元的數量。

我的問題是,NN可以很容易地學習線性可分離的問題,但是不能學習像它應該能夠做到的那樣不是線性可分離的問題。

我相信我的PSO工作正常,因為我可以看到它試圖最小化每個粒子的誤差函數(在訓練集上使用均方誤差)。

我試過使用S形和線性激活函數,結果類似(不好)。 我也有一個偏見單位(也沒有太大幫助)。

我想知道的是,是否有某些我可能做錯的特定事情可能導致這種類型的問題,或者只是一些我應該查看錯誤可能在哪里。

我現在有點迷路

謝謝

PSO可以訓練神經網絡來解決非線性可分離問題,例如XOR。 我之前已經做過,我的算法最多需要大約50次迭代。 Sigmoid是XOR的良好激活函數。 如果它確實收斂於不可分割的問題,那么我的猜測是,您的隱藏層沒有效果,或者被繞開了。 由於隱藏層通常是不可分離的。

當我調試AI時,我發現首先確定我的訓練代碼或評估代碼(在這種情況下是神經網絡)是否出錯通常很有用。 您可能要為您的網絡創建第二個培訓師。 然后,您可以確保您的網絡代碼正確計算了輸出。 您甚至可以做一個簡單的“登山者”。 選擇一個隨機的權重,並隨機少量(向上或向下)進行更改。 您的錯誤得到了改善嗎? 保持體重變化並重復。 您的錯誤加劇了嗎,請放棄更改,然后重試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM