2

私は、自己組織化マップ上の質問があります。各ニューロンは、ランダム値に初期化された二重値のベクトル(入力ニューロンのサイズの別の配列)で構成されています。自己組織化マップは

私がアルゴリズムを理解する限り、これは実際には実装する必要があります。

トレーニングのために、トレーニングデータのサンプルをランダムに選択し、サンプル値のユークリッド距離とニューロンの重みを使用してBMUを計算します。

その後、近傍の関数と学習率に応じて、重みとそれ以外のすべてのニューロンを更新します。

次に、近傍関数と学習率を下げます。

これは、固定量の反復まで実行されます。

私の質問は次のとおりです。トレーニング後にクラスターを決定するにはどうすればよいですか?今までの私のアプローチは、新しい入力ベクトルを提示し、それとBMUとの間の最小ユークリッド距離を計算することです。しかし、これは私にとっては少しばかり純粋ではないようです。私は何かを逃したと確信しています。

答えて

3

正しい方法はありません。あなたが指摘したように、BMUを見つけることはそれらの1つであり、最も類似したクラスタを探したいだけならBMUを見つけることができます。

入力ベクトルを再構成したい場合は、BMUプロトタイプを返すこともできますが、それはあまり正確ではありません(Nearest Neighborルールまたは1NNと同等です)。その後、より良い再構成を見つけるためにニューロン間を補間する必要があります。これは、各ニューロンに入力ベクトルまでの距離に反比例するように重み付けし、次に加重平均を計算することによって行うことができる(これは加重KNNに等しい)。この補間は、BMUの近隣にのみ制限することもできます。これにより、より高速に動作し、より良い結果が得られます(これは5NNの重み付けされます)。この技術はここで使用されました:The Continuous Interpolating Self-organizing Map

これらのさまざまなオプションは、http://www.inf.ufrgs.br/~rcpinto/itm/(SOMではありませんが、近いところにあります)で確認できます。 "適用"をクリックして、再構成されたベクトルを使用して曲線の回帰を行い、次に "回帰を描く"にチェックを入れ、さまざまなオプションを試してください。

ところで、実装の説明は正しいです。

+0

詳細な回答と提供したリンクをお寄せいただきありがとうございます。 –

1

最近、非常に一般的なアプローチとして、ソフト・サブスペース・クラスタリングがあります。ここでは、最も関連性の高いフィーチャを見つけるためにフィーチャ・ウェイトが追加されています。これらの重みを使用して、ユークリッド距離でパフォーマンスを向上させ、BMUの計算を改善することができます。

+0

あなたの答えをありがとう!このアプローチは、1つの訓練を受けた後にクラスターを決定するのにどのように役立つのですか?これに関する詳細な情報を提供してください。 –

+1

間違いなくあなたのための良い例は、この仕事です: Bassani、H.F .; Araujo、AFR、 "時間空間構造を持つ次元選択的自己組織化マップと投影クラスタリング"、ニューロネットワークと学習システム、IEEEトランザクション、vol.PP、no.99、pp.1、[リンク]( http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=6803941)。 –

+0

そのアプローチはあなたと似ていますが(明らかに真の距離)、明らかにアプリケーションの堅牢性を強くしたいと考えています。 –