(バッチ)SOM(自己組織化マップ、別名「コホネンマップ」)のための収束基準?
-
23-09-2019 - |
質問
私は、バッチSOMがコンバージドなり実行を停止したいです。 どのようなエラー機能私は収束を決定するために使用することができますか?
解決
、与えられたマップのサイズ(nはXメートル)のために、あなたは、アルゴリズムの十分な反復がマップが「安定」であることを確認するために実行したかどうかを知りたいです。この手段は、緩く言えば、マップに新しい入力(観測値)は同じニューロンに置かれたのですか/コードブックベクトルは、マップが何度も再訓練された場合はどうなりますか?(そのマップの配置が周りに切り換えることができるという事実の問題を無視しますクラスタがまだ安定した方法で配置されている限りとして罰金されるたびに、)訓練を受けています。
、十分な反復が実行されたかどうかの質問に答えるのに役立つの下にリストされた学術論文を参照してください。どちらの論文も、サイズが(どのようなn個のx m値ヘルプSOMの収束を保証する?)が適切である。
マップ何の問題に触れますの論文で親しまれてきた伝統的なアプローチの一つがここに与えられます:
自己組織化マップ(Bodt、コットレル、Verleysen)の信頼性を評価するために、さらに最近では、この方法はかなり有望に見えるれ、約来ています
A CONVERGENCE基準の自己組織化マップ 、修士論文、ベンジャミンの時間。 OTT(RHODE島の大学)の
この論文では、私の意見では、本当によく読み書きする喜びました。何も素敵なのは、この研究はpopsom
と呼ばれるRで(という不明)パッケージでSOMの収束テストとしてアップ書かれていることです。それをチェックアウト:
他のヒント
私だかなり確信してあなたの平均費用関数ではなく、誤差関数ます。
SOMは、誤差関数(や費用関数)を必要としません。
機械学習の分類の最上位レベルでは、SOMは、を教師なし学習手法のです - 。いいえ、標的ベクター、および最小限にするため、ノー「ターゲットベクトル」マイナス「value_at_the_current_iteration」
それを考えるための別の方法:コスト関数の役割は、いくつかのコストを最小限に抑えることです。 MLでは、モデル計算と供給されたデータ間のデルタです。 SOMにおいて、データは、この目的のためのアルゴリズムに供給されない。
(私はネットワークが作成された入力データは、多くの場合、「トレーニングデータ」と呼ばれているので、これはやや混乱していることを実感 - おそらくよりもはるかに共通している教師ML技術、入力データの役割です。教師なしのものは、それはおそらく、また混乱しているためテボー・コホネン、もともとニューラルネットワークのクラスとして、それらに言及SOM、「発明する」と信じた人 - そしてもちろんNNが教師技術であり、コスト関数に依存しないが(多くの場合、勾配ディセント。))
最後に、念のため、私は自分のSOMコードだけでなく、Marsland、「:アンアルゴリズムの展望機械学習」によるMLの教科書からコードをチェックします。彼は、main関数を呼び出したときに私のコードと「最大反復回数」のための彼の、唯一の停止基準どのような値の両方でユーザーが渡されます。