問題タブ [self-organizing-maps]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
633 参照

neural-network - 自己組織化マップ

自己組織化マップについて質問があります。

しかし、最初に、これを実装するための私のアプローチは次のとおりです。

som ニューロンは基本配列に格納されます。各ニューロンは、ランダムな値に初期化される double 値のベクトル (入力ニューロンのサイズの別の配列) で構成されます。

アルゴリズムを理解している限り、実際に実装する必要があるのはこれだけです。

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

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

次に、近傍関数と学習率を減らします。

これは、一定量の反復まで行われます。

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

0 投票する
1 に答える
620 参照

neural-network - ハイブリッド SOM (MLP 付き)

自己組織化マップを多層パーセプトロンと適切に組み合わせる方法について、誰かが情報を提供してくれませんか?

私は最近、通常の MLP と比較してこの手法に関するいくつかの記事を読みましたが、予測タスクでより優れたパフォーマンスを発揮しました。そこで、入力データをクラスタリングして次元削減のフロントエンドとして SOM を使用し、結果を MLP バックエンドに渡したいと考えています。

それを実装する私の現在の考えは、いくつかのトレーニング セットで SOM をトレーニングし、クラスターを決定することです。その後、SOM クラスターと同じ数の入力ユニットで MLP を初期化します。次のステップは、ネットワークの入力として SOM の出力 (どの値?...BMU の重み?) を使用して MLP をトレーニングすることです (入力ユニットに一致するクラスターの SOM の出力と、他の入力ユニットのゼロ?)。

0 投票する
1 に答える
883 参照

r - SOM のプロット: 色を変更するには?

次のデータセットがあります。

そのデータセットをクラスター化する SOM をトレーニングしたい:

これを行うと、次の図が得られます。 ここに画像の説明を入力

直感に反しているように見えるので、色を自動的に設定する方法が好きではありません。白から始まり、薄い赤、通常の赤、濃い赤、濃い赤の5色を設定したいと思います。それ以外の場合は、少なくとも Figure の色を反転します。

パラメータ palette.name= などは使用できません。色を変更するにはどうすればよいですか? ggplot を使用するtype = "counts"と、som をプロットしたプロパティが失われます。

0 投票する
1 に答える
734 参照

r - 自己組織化マップで元のデータ ポイントに関連付ける方法

SOMの実装にはR kohonenパッケージを使用しています。自己組織化マップから得られたコード ベクトルを元のデータ ポイントに関連付けるのに問題があります。トレーニング プロセス中に重みのないラベルを含めようとしましたが、結果は理解できませんでした。

トレーニング プロセスが完了した後、各ノードから元のデータ ポイントを参照する方法はありますか?

0 投票する
1 に答える
138 参照

machine-learning - SOM 複数の BMU、ランダムな 1 つまたはすべてで作業する必要があります

私は現在、自己組織化マップ (SOM) を学習しています。私はこれが初めてです。ノードはすべてランダムな値で初期化されます。トレーニング中に複数の BMU が戻ってきた場合、どうすればよいか考えています。更新フェーズでは、それらのうちの 1 つだけを取得する必要がありますか?それともすべてを取得する必要がありますか?

0 投票する
2 に答える
1177 参照

supervised-learning - SOM でデータをトレーニング/テストに分割する理由は何ですか?

私は研究を行っており、SOM アルゴリズムを使用していくつかの論文を読んでいます。データセットを SOM のトレーニング/テスト セットに分割するロジックがわかりません。たとえば、C4.5 デシジョン ツリーが使用されている場合、トレーニングされた構造には、新しいデータセット (テスト) がそこでデータを分類するときに適用されるいくつかのルールが含まれています。しかし、システムが SOM によってトレーニングされた後、どのような規則または類似のものが生成されるのでしょうか? 最初にトレーニングに 30% を使用し、次にテストに 70% を使用する代わりに、データの 100% を SOM システムに適用すると、どのような違いがありますか? 事前にご回答いただきありがとうございます。

0 投票する
0 に答える
293 参照

r - SOM パッケージでは、すべてのエンティティが同じクラスに予測されます

以下のコードを実行するたびに、すべてのテストケースで同じクラスが予測されます。そのため、グリッドを形成する際にさらにいくつかのパラメーターを追加しましたが、それでも同じ結果を予測しています。誰かがこの問題を解決するのを手伝ってくれますか?