2

ビッグデータセット(時系列、約50個のパラメーター/値)があります。Kohonenネットワークを使用して同様のデータ行をグループ化したい。Kohonenニューラルネットワークについていくつか読んだことがあります。Kohonenネットワークのアイデアは理解していますが、次のようになります。

  1. こんなに多くの次元でKohonenを実装する方法がわかりません。CodeProjectで例を見つけましたが、2次元または3次元の入力ベクトルしかありません。50個のパラメーターがある場合、ニューロンに50個の重みを作成しますか?

  2. 勝ったニューロンの重みを更新する方法(新しい重みを計算する方法)がわかりません。

私の英語は完璧ではなく、Kohonenネットワークについて読んだすべてのこと、特に数式の変数の説明を理解していません。それが私が尋ねる理由です。

4

3 に答える 3

3

通常は低い(たとえば、長方形グリッドの一般的なケースでは2)マップの次元と、問題なく任意に高くできる参照ベクトルの次元を区別する必要があります。

49次元の入力ベクトル(7x7ピクセルの画像)を使用した良い例については、http: //www.psychology.mcmaster.ca/4i03/demos/competitive-demo.htmlを参照してください。この場合のKohonenマップは、8単位の1次元リングの形をしています。

McMastersのようなリング状のネットワークを含む、さまざまなKohonenのようなネットワーク用のJavaシミュレーターについては、http: //www.demogng.deも参照してください。ただし、参照ベクトルはすべて2次元ですが、表示を簡単にするためだけです。それらは、アルゴリズムを変更することなく、任意の高次元を持つことができます。

于 2013-02-05T22:43:43.783 に答える
2
  1. はい、50個のニューロンが必要です。ただし、これらのタイプのネットワークは、この自己組織化マップの記事で説明されているように、通常は低次元です。私はそれらがいくつかの入力以上を使用するのを見たことがありません。

  2. 更新式を使用する必要があります。同じ記事から:Wv(s + 1) = Wv(s) + Θ(u, v, s) α(s)(D(t) - Wv(s))

于 2013-01-02T15:37:14.800 に答える
1
  1. はい、ニューロンごとに50個の入力が必要です

  2. 基本的に、ニューロンとターゲット(入力)ニューロンの間で線形補間を行い、W(s + 1) = W(s) + Θ() * α(s) * (Input(t) - W(s))Θを近傍関数として使用します。

勝者だけでなく、すべてのニューロンを更新する必要があります

近傍関数として使用する関数は、実際の問題によって異なります。このような関数の一般的な特性は、i = kのときに値が1になり、ユークリッド距離の距離とともに減少することです。さらに、時間とともに縮小します(クラスターをローカライズするため)。

単純な近傍関数には、線形補間(「最大距離」まで)またはガウス関数が含まれます

于 2013-01-02T15:38:58.657 に答える