問題タブ [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.
neural-network - 自己組織化マップ
自己組織化マップについて質問があります。
しかし、最初に、これを実装するための私のアプローチは次のとおりです。
som ニューロンは基本配列に格納されます。各ニューロンは、ランダムな値に初期化される double 値のベクトル (入力ニューロンのサイズの別の配列) で構成されます。
アルゴリズムを理解している限り、実際に実装する必要があるのはこれだけです。
したがって、トレーニングのために、ランダムにトレーニング データのサンプルを選択し、サンプルの値のユークリッド距離とニューロンの重みを使用して BMU を計算します。
その後、近傍関数と学習率に応じて、重みと範囲内の他のすべてのニューロンを更新します。
次に、近傍関数と学習率を減らします。
これは、一定量の反復まで行われます。
私の質問は次のとおりです。トレーニング後にクラスターを決定するにはどうすればよいですか? これまでの私のアプローチは、新しい入力ベクトルを提示し、それと BMU の間の最小ユークリッド距離を計算することです。しかし、これは私には少し素朴に思えます。私は何かを逃したと確信しています。
neural-network - ハイブリッド SOM (MLP 付き)
自己組織化マップを多層パーセプトロンと適切に組み合わせる方法について、誰かが情報を提供してくれませんか?
私は最近、通常の MLP と比較してこの手法に関するいくつかの記事を読みましたが、予測タスクでより優れたパフォーマンスを発揮しました。そこで、入力データをクラスタリングして次元削減のフロントエンドとして SOM を使用し、結果を MLP バックエンドに渡したいと考えています。
それを実装する私の現在の考えは、いくつかのトレーニング セットで SOM をトレーニングし、クラスターを決定することです。その後、SOM クラスターと同じ数の入力ユニットで MLP を初期化します。次のステップは、ネットワークの入力として SOM の出力 (どの値?...BMU の重み?) を使用して MLP をトレーニングすることです (入力ユニットに一致するクラスターの SOM の出力と、他の入力ユニットのゼロ?)。
r - 自己組織化マップで元のデータ ポイントに関連付ける方法
SOMの実装にはR kohonenパッケージを使用しています。自己組織化マップから得られたコード ベクトルを元のデータ ポイントに関連付けるのに問題があります。トレーニング プロセス中に重みのないラベルを含めようとしましたが、結果は理解できませんでした。
トレーニング プロセスが完了した後、各ノードから元のデータ ポイントを参照する方法はありますか?
machine-learning - SOM 複数の BMU、ランダムな 1 つまたはすべてで作業する必要があります
私は現在、自己組織化マップ (SOM) を学習しています。私はこれが初めてです。ノードはすべてランダムな値で初期化されます。トレーニング中に複数の BMU が戻ってきた場合、どうすればよいか考えています。更新フェーズでは、それらのうちの 1 つだけを取得する必要がありますか?それともすべてを取得する必要がありますか?
supervised-learning - SOM でデータをトレーニング/テストに分割する理由は何ですか?
私は研究を行っており、SOM アルゴリズムを使用していくつかの論文を読んでいます。データセットを SOM のトレーニング/テスト セットに分割するロジックがわかりません。たとえば、C4.5 デシジョン ツリーが使用されている場合、トレーニングされた構造には、新しいデータセット (テスト) がそこでデータを分類するときに適用されるいくつかのルールが含まれています。しかし、システムが SOM によってトレーニングされた後、どのような規則または類似のものが生成されるのでしょうか? 最初にトレーニングに 30% を使用し、次にテストに 70% を使用する代わりに、データの 100% を SOM システムに適用すると、どのような違いがありますか? 事前にご回答いただきありがとうございます。
r - SOM パッケージでは、すべてのエンティティが同じクラスに予測されます
以下のコードを実行するたびに、すべてのテストケースで同じクラスが予測されます。そのため、グリッドを形成する際にさらにいくつかのパラメーターを追加しましたが、それでも同じ結果を予測しています。誰かがこの問題を解決するのを手伝ってくれますか?