1

我是matlab中的這個神經網絡的新手。我想用matlab仿真創建一個神經網絡。使用matlab仿真神經網絡中的模式識別

這個matlab仿真使用模式識別。 我在Windows XP平臺上運行。

例如,我有一組圓形波形。 我已經提取出了兩極。 這些極點將教我的神經網絡,它是圓形的,因此無論何時我輸入另一組稍微不同的圓形波形,神經網絡都能夠區分形狀。

目前,我已經提取了這3種形狀,圓柱體,圓形和矩形的極點。 但我對如何創建我的神經網絡無能爲力。

回答

0

您可以嘗試使用Matlab的神經網絡模式識別工具nprtool,因爲它專門用於訓練和測試神經網絡以進行模式識別。

1

我推薦使用SOM(自組織映射)進行模式識別,因爲它非常強大。還有一個你可能會感興趣的Som Toolbox for Matlab。但是,爲了讓它在忽略偏移的同時學會波動,你需要對「相似函數」進行一些修改。這些變化將對SOM的培訓時間產生很大影響,但如果這不是問題,請繼續閱讀。

對於你要品嚐你的波浪不斷的大小載體,讓說,SOM:

  • 罪X - > sin_vector =(A1,A2,A3,...,AN)
  • COS X - > cos_vector =(B1,B2,B3,...,BN)

一般 「SOM-載體」 的相似性被計算與歐幾里得距離。這兩個向量的歐幾里德距離是巨大的,因爲它們具有不同的偏移量。在你的情況下,他們應該被認爲是相似的,即。距離要小。所以......如果你不從相同的起點對所有類似的波形進行採樣,它們將被分類到不同的類別中。這可能是一個問題。但!計算SOM中向量的相似性,以便從地圖中找出BMU(最佳匹配單元),並將BMU及其鄰居向量轉到給定樣本的值上。因此,您需要改變的是比較這些向量的方式以及將向量的值拉向樣本的方式,以便兩者都能「抵消偏移」。

慢但工作的解決方案是首先找到每個向量的最佳偏移量索引。最好的偏移量指數是能夠產生樣本最小值和歐氏距離的最佳偏移量指數。然後用網絡的某個節點計算出的最小距離就是BMU。然後使用前面爲每個節點計算的偏移指標,將BMU和其鄰居的向量拉向給定樣本。其他的一切都應該可以直接使用。

此解決方案相對較慢,但應該很好。我建議徹底研究SOM的概念,然後再讀這篇文章(和憤怒的評論):)

請評論如果你知道一些數學解決方案,會比以前更好!