1

私はこのニューラルネットワークをmatlabに初めて導入しました。私は、MATLABシミュレーションを使ってニューラルネットワークを作りたかったのです。matlabシミュレーションを使用したニューラルネットワークのパターン認識

このMATLABシミュレーションはパターン認識を使用しています。 私はWindows XPプラットフォーム上で動作しています。

たとえば、私は円形の波形のセットを持っています。 私は極を抽出しました。 これらの極は、ニューラルネットワークに形状が円形であることを教えてくれるので、少し異なる円形の波形の別のセットを入力すると、ニューラルネットワークはその形状を区別することができます。

現在、私はこれらの3つの形、円柱、円、長方形の極を抽出しました。 しかし、私は自分のニューラルネットワークをどのように作成しなければならないのか分かりません。

答えて

0

Matlabのニューラルネットワークパターン認識ツールnprtoolは、パターン認識のためのニューラルネットワークのトレーニングとテストに特化しています。

1

これは本当に堅牢であるため、パターン認識にSOM(自己組織化マップ)を活用することをおすすめします。興味のあるかもしれないもあります。しかし、オフセットを無視しながら波を学ぶためには、「類似性関数」をいくつか変更する必要があります。これらの変更はSOMのトレーニング時間にかなり影響しますが、それが問題でない場合は、読んでください。あなたが一定の大きさのベクトルにあなたの波をサンプリングする必要がありますSOMについては

、言わせて:

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

は、通常、 "SOM-ベクター" の類似度は、ユークリッド距離を用いて計算されます。それらの2つのベクトルのユークリッド距離は、それらが異なるオフセットを有するので巨大である。あなたの場合、彼らは似ていると考えられるべきです。距離は小さくなる。それで、同じ出発点からすべての類似した波をサンプリングしなければ、それらは異なるクラスに分類されます。それはおそらく問題です。しかし! SOMにおけるベクトルの類似性は、マップからBMU(最良一致単位)を見出し、BMUおよびその近親相姦ベクトルを与えられたサンプルの値に引き上げるために計算される。だから、あなたが変える必要があるのは、それらのベクトルを比較する方法と、ベクトルの値をサンプルにトーラスにプルする方法です。その結果、両方が "オフセット - トレント"になるようになります。

ゆっくりではあるが動作する解決策は、最初に各ベクトルの最良のオフセットインデックスを見つけることである。最良のオフセットインデックスは、サンプルのユークリッド距離で最小の値を生成するインデックスです。ネットのあるノードで計算された最小距離がBMUになります。その後、BMUとその近傍のベクトルは、直前の各ノードについて計算されたオフセット指数を使用して、与えられたサンプルをトーラスに引っ張られる。他のすべてはすぐに使えるはずです。

このソリューションは比較的遅いですが、うまくいくはずです。私は再び徹底的にSOMのconseptを研究し、このポスト(と怒りのコメント)を読んでお勧めします:)

あなたはそれ以前のものよりも良いだろういくつかの数学的な解決策を知っていればをコメントしてください!