5

我對這個主題很新,所以任何幫助都會很棒。我需要的是使用遺傳算法優化MATLAB中的神經網絡。我的網絡有[2x98]輸入和[1x98]目標,我試過諮詢MATLAB的幫助,但我仍然有點不知道該怎麼做:(所以,任何幫助,將不勝感激。編輯:我想我沒有說什麼有待優化,丹在第一個答案中說,我認爲最重要的是隱藏的神經元的數量,也許隱藏層數和訓練參數,如時代的數量等等。對不起,不提供足夠的信息,我仍然在學習這一點。如何利用遺傳算法優化神經網絡?

回答

0

好,你需要更具體的瞭解你正在設法優化的東西。它是隱藏層的大小?你有一個隱藏層?參數優化(學習率,核參數)?

+0

感謝您的答案,我編輯問題 – 2010-01-19 17:41:16

1

如果這是一項家庭作業,請做任何你在課堂上教過的東西。

否則,完全拋棄MLP。支持向量迴歸(http://www.csie.ntu.edu.tw/~cjlin/libsvm/)在廣泛的問題中可以更可靠地訓練,並且幾乎從未陷入困擾本地最小值問題,通常受到反向傳播訓練的MLP的影響,這迫使您解決網絡問題地形優化問題只是爲了找到一個真正訓練的網絡。需要的,而不是蠻力搜索所有組合挑好一個將被調整,

0

我假定你有一組參數(隱藏層#,每層的神經元#...),GA可以幫助你從這個組合跳到另一個組合。所以,你可以「探索」潛在候選人的搜索空間。

GA可以在選擇「有用」的功能幫助。某些功能可能看起來多餘,而您想修剪它們。但是,比方說,數據具有太多的功能,無法通過某些方法(如向前選擇)來搜索最佳功能集。同樣,GA可以從這個候選人跳到另一個候選人。

您需要找到除了愛情之外編碼輸入到GA的數據(輸入參數,功能...)。爲了找到一組輸入段或一組好的功能,我認爲二進制編碼應該可以工作。另外,選擇遺傳算法來重現後代也很重要。然而遺傳算法也需要調整(早期停止,也可以應用於ANN)。

這裏只是一些想法。你可能想搜索有關GA更多信息,特徵選擇,ANN修剪...

+0

感謝您的答案,但我需要它更具體。就像,如果我在MATLAB中使用遺傳算法函數, X = GA(FITNESSFCN,NVARS) 應該是函數,輸入和最終如何處理x。 – 2010-01-21 20:29:48

+0

對不起,我從來沒有碰過matlab的遺傳算法。我認爲你可以參考它的文檔中的參數和返回值的含義。 – user247468 2010-01-26 18:33:02

-1

查一查馬修在谷歌學術落戶。在過去的5 - 6年裏,他在愛達荷大學的這個領域做了一些工作。他應該有與你的工作相關的引文。

0

由於您已經使用MATLAB,我建議您查看Genetic Algorithms solver(稱爲GATool,Global Optimization Toolbox的一部分)和Neural Network Toolbox。在這兩者之間,你應該可以節省相當多的精力。

你基本上需要做的兩個主要任務:爲您的候選方案

  1. 拿出一個表示(或編碼)
  2. 代碼你的健身功能(這基本上測試候選解決方案),並通它作爲GA解算器的一個參數。

如果您在獲得適應性功能或候選解決方案的編碼方面需要幫助,那麼您需要更具體。

希望它有幫助。

0

Matlab對這個問題有一個簡單但很好的解釋here。它解釋了ANN和GA部分。

有關在命令行中使用ANN的更多信息,請參見this

關於這個問題也有很多文獻,如果你谷歌它。然而,它與MATLAB沒有關係,只是結果和方法。