主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

アヤメのクラスタリング

この例では,自己組織化マップニューラルネットワークによってアヤメの花を複数のクラスにトポロジカルにクラスタリングする方法を説明します。この方法は,花の種類を区別する手掛かりになり,より詳しく解析を行うための便利なツールとなります。

問題:アヤメの花のクラスタリング

この例では,類似のクラスがグループとしてまとめられるように,アヤメの花を自然なクラスにクラスタリングするニューラルネットワークの構築を試みます。アヤメはそれぞれ以下の4つの特徴で表されます。

  • 萼片の長さ(cm)

  • 萼片の幅(cm)

  • 花弁の長さ(cm)

  • 花弁の幅(cm)

このクラスタリング問題の例では,標本の類似性に基づいて標本を複数のクラスにグループ化します。既知の入力に対してクラス定義を作成するだけでなく,不明な入力も適宜分類できるニューラルネットワークを作成します。

自己組織化マップニューラルネットワークを使用する理由

自己組織化マップ(SOM)は分類の作成に非常に適しています。さらに,他のクラスと比較して最も類似性のあるクラスはどれかを示すトポロジカルな情報が分類に保持されます。自己組織化マップは,目的に応じた詳細レベルで作成できます。これは特に,次元数が大きく,複雑な形状をした複雑に結合された特徴空間におけるデータのクラスタリングに非常に適しています。アヤメの花のクラスタリングには非常に適しています。

花の4つの属性がSOMへの入力となり,SOMでニューロンの2次元の層にマッピングされます。

データの準備

入力行列Xにデータを整理することによって,SOMにクラスタリング問題用のデータを設定します。

入力行列の我番目の列にはそれぞれ,1つの花から得られる4つの測定値を表す4つの要素が含まれます。

ここで,このようなデータセットが読み込まれます。

x = iris_dataset;

入力Xのサイズを表示できます。

150年Xにの列があることに注意してください。150年これらは組のアヤメの花の属性を表します。4つの測定値に対する4つの行があります。

大小(x)
Ans = 4 150

ニューラルネットワークを使用したクラスタリング

次の手順では,クラスタリングを学習するニューラルネットワークを作成します。

selforgmapは,層の各次元のニューロンの数を選択することによって必要に応じた詳細レベルで標本を分類できる,自己組織化マップを作成します。

この例では8×8の六角形のグリッドに配置された64個のニューロンがある2次元の層を試します。一般的に,ニューロンの数と次元数が増加して詳細レベルが高くなると,より複雑な特徴空間のトポロジのモデル化が可能になります。

ネットワークはまだ入力データに一致するように構成されていないため,入力のサイズは0です。ネットワークの学習時にはこのようになります。

Net = selforgmap([8 8]);视图(净)

これで火车を使用してネットワーク最適化の準備が整いました。

神经网络训练工具を使用すると,学習するネットワークと,学習に使用されているアルゴリズムが表示されます。さらに,学習中には学習の状態が表示され,学習を停止した条件が緑で強調表示されます。

下部にあるボタンを使用すると,便利なプロットを開くことができます。これらのプロットは,学習中および学習後に開くことができます。アルゴリズム名およびプロットボタンの隣のリンクを使用すると,これらに関するドキュメンテーションを開くことができます。

(净,tr) =火车(净,x);nntraintool

nntraintool (“关闭”

ここで,自己組織化マップを使用して,各学習入力のクラスベクトルが計算されます。これらの分類は既知の花によって与えられた特徴空間を対象としていますが,新しい花を適宜分類するためにも使用できます。ネットワークの出力は64行150列の行列です。我番目の列はそれぞれ,j番目の要素が1であれば我番目の入力ベクトルがj番目のクラスターに属することを表します。

関数vec2indは,各ベクトルについて,出力が1のニューロンのインデックスを返します。64年個のニューロンで表される64個のクラスターの場合,インデックスの範囲は1 ~ 64になります。

y =净(x);cluster_index = vec2ind (y);

plotsomtopは8×8の六角形のグリッドに配置された64個のニューロンの自己組織化マップトポロジをプロットします。各ニューロンは,異なるクラスの花を表すように学習済みです。一般的に隣接するニューロンは類似するクラスを表します。

plotsomtop(净)

plotsomhitsは,それぞれの花のクラスを計算し,各クラスの花の数を示します。ヒット数が多いニューロンの領域は,特徴空間において密度の高い類似の領域を表すクラスを示します。一方,ヒット数が少ない領域は,特徴空間において密度の低い領域を示します。

plotsomhits(净,x)

plotsomncは,ニューロンの近傍結合を示します。通常,近傍によって類似の標本が分類されます。

plotsomnc(净)

plotsomndは,各ニューロンのクラスの近傍からの距離(ユークリッド距離)を表示します。薄い色の結合は,密接に結合した入力空間の領域を示します。一方,濃い色の結合は,間隔が広く,間に花が少ないかまったくない特徴空間の領域を表すクラスを示します。

濃い色の結合によって長い境界線が形成され,入力空間の大きな領域が区切られている場合,境界線のそれぞれの側のクラスが大きく異なる特徴を持つ花を表していることを示します。

plotsomnd(净)

plotsomplanesは4つの入力特徴のそれぞれの重み平面を表示します。これらは8×8の六角形のグリッドに配置された64個のニューロンに各入力を結合する重みを可視化したものです。色が濃いほど,重みが大きいことを表します。2つの入力の重み平面が似ている(色のグラデーションが同じか逆である)場合,高い相関があることを示します。

plotsomplanes(净)

この例では4つの特性に基づいてアヤメの花をクラスタリングするニューラルネットワークを設計する方法を説明しました。

ニューラルネットワークとそのアプリケーションの詳細は,他の例およびドキュメンテーションを参照してください。