自己組織化マップ(Self-Organizing Maps)の基礎

伊藤 冬子, 廣安 知之, 三木 光範

ISDL Report  No. 20050822007

2006年 1月 8日

Abstract

自己組織化マップ(Self-Organizing Maps, SOM)はニューラルネットワークの一種である. 多次元のデータを2次元に写像することが可能であり, 高次元空間の可視化に用いることが可能である. またこれらの多次元のデータを予備知識なしでクラスタリング可能である. 本報告では, 多次元データの可視化, クラスタリングを目的とし, SOMを調査した. また, 無料配布されているSOMのパッケージSOM_PAKを実際に利用した.

1  はじめに

各分野で取り扱われるデータは多次元であることが多い. また, データごとの特徴などの予備知識が ない中で, その分類や特徴の抽出をデータマイニングする際や, 音声などのパターン認識を行う際には様々な手法が利用されている. 自己組織化マップもそのような手法の1つであり, 教師なし競合学習のアルゴリズムを持つ, フィードフォワード型の ニューラルネットワークである. 本報告では, この自己組織化マップの基礎的な概要について述べる.

2  自己組織化マップ(Self-Organizing Maps)とは

自己組織化マップ(Self-Organizing Maps, 以下SOM)とは, Kohonenによって開発された大脳皮質の神経機能をモデル化したニューラルネットワークである. ニューラルネットワークとは, 人間の脳の仕組みを模倣した情報処理機構である. ニューロンの基本的なモデルは次式で表される.
mi(t+1) = mi(t) + hci(t)[x(t)-mi(t)]
これは多数の入力xiの線形加重和Σxiwiがある閾値より大きい場合に"1", そうでない場合に"0"を出力するものである.

3  SOMの仕組み

SOMは階層型ニューラルネットワークの一種であり, Fig.1 に示すように, 2層のネットワークである. 第1層はn次元の入力層x(t)であり, 第2層は競合層と呼ばれ, 出力を視覚的に見るため一般的に2次元配列となっている. 競合層のベクトルは, 参照ベクトルmi(t)で表現され, 入力層のn次元と同様にn個の要素を持つ.

Fig.1: SOMの概念図

SOMの学習は教師なし競合学習である. SOMでは学習にユークリッド距離を用いる. 学習のステップはFig.2 のようになる.

  1. すべての参照ベクトルmiの要素をランダムに決定する.

  2. 入力ベクトルx(t)を与える. このとき, x(t)とのユークリッド距離|x-mi|を最小にするようなニューロンiを探し, そのニューロンをcとすると, 次式で表すことができる.
    |x-mc| = min|x-mi|

  3. 参照ベクトルmcを持つニューロンを勝者ユニットとする.

  4. 勝者ユニット, およびその周辺の近傍Nc内のユニットは次式に従って入力ベクトルを学習する.
    mi(t+1) = mi(t) + hci(t)[x(t)-mi(t)]
    ただし, hciは近傍関数とし, 以下のように定義する.
    if i Nc    hci = a(t)

    else    hci = 0
    ただし, a(t)は学習率係数とする.

  5. 2〜4をT回繰り返し, 学習を行う. 近傍サイズはNc = Nc(t)という時間の関数で表され, 学習とともにそのサイズを小さくしていく.

  6. すべての入力ベクトルに対して, 2〜5を繰り返し行うことにより, 各入力ベクトルに類似したユニットが集まるようになる.

Fig.2: SOMの学習のステップ

4  SOMの応用事例

SOMはその特徴からデータマイニングツールとして, また多次元データの可視化手法として様々な分野で利用されている. 例えば, 化学分析分野において定性分析や定量分析, 大量のデータからの未知の組成の同定, 特徴抽出などがある. 可視化手法としては, 多次元のデータを2次元に射影できることから, 多目的最適化問題のパレート解の分類への利用などがなされている. その他にも, 人事適正配置問題や, 巡回セールスマン問題(TSP)などに対する最適化手法としても利用されることがある.

5  SOMの種類

SOMには, 改善の加えられた多くの手法が存在する. 代表的なものとしては, SOMが教師なしのニューラルネットワークであったのに対し, 教師ありにしたものがLVQであり, パターン認識などに用いられている. その他に, 学習順序に依存する性質を改善したバッチラーニングSOM (Batch Lerning SOM, BL-SOM)や, 非ベクトルなデータへの応用が可能な中央値SOM (Median SOM), 球面上にマッピングを行う球面SOM (Spherical SOM)などがある.

6  SOM_PAKの利用

SOMを利用することで, 多次元のデータを2次元に可視化することが可能である. その例として, 16種類の動物を16次元の属性で区別した結果にSOMを適用する. 各属性には程度によって0から1の数値を与え, 各動物は16次元の入力ベクトルを持つことになる. これを無料配布されているSOMに利用できるパッケージSOM_PAKを利用して, 10×10の2次元ニューロンユニットを持つSOMに射影した. なお, 今回適用したデータはTable 1 に示すとおりである.

属性1 属性2 属性3 属性4 属性5 属性6 属性7 属性8 属性9 属性10 属性11 属性12 属性13 属性14 属性15 属性16
名前 小さい 中ぐらい 大きい 夜行性 2本足 4本足 髪を持つ 有蹄類 たてがみ 羽根あり 縞あり 狩猟 走る 飛ぶ 泳ぐ 草食性
dove(ハト) 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0.5
fox(キツネ) 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0.5
hen(メンドリ) 1 0 0 0 1 0 0 0 0 1 0.3 0 0 1 1 0.5
lion(ライオン) 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0.5
goose(ガチョウ) 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0
eagle(ワシ) 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0
dog(イヌ) 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0
wolf(オオカミ) 0 1 0 0.5 0 1 1 0 0 0 0 1 0 0 0 0
zebra(シマウマ) 0 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0
duck(アヒル) 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 0
cat(ネコ) 1 0 0 0.5 0 1 1 0 0 0 0 1 0 0 0 0
owl(フクロウ) 1 0 1 0.5 0 1 1 0 0 0 1 1 1 0 0 0
tiger(トラ) 0 0 1 0 0 1 1 0 1 0 0 1 1 0 0 0
horse(ウマ) 0 0 1 0 0 1 1 1 1 0 0 0 1 0 0 1
hawk(タカ) 1 0 1 0 0 1 1 1 1 0 1 0 1 0 0 1
cow(ウシ) 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 1

Table 1: 動物の属性値

SOM_PAKの利用手順は次のとおりである.

  1. プログラムrandinitによる参照ベクトルの初期化

  2. プログラムvsomによるSOMの学習

  3. プログラムvcalによる学習前後の参照ベクトルへのラベルづけ

  4. プログラムumatによる学習前後の参照ベクトルのU-matrix表示による可視化
    灰色階調表現を利用して, 近傍のユニットと参照ベクトルとの距離を画像化することができる.

  5. プログラムsammonによるサモンマップの生成も可能
    サモンマップは, n次元入力ベクトルから2次元平面上への一種の写像を表現する. この平面上で表現されたベクトル間の距離は入力ベクトル空間でのユークリッド距離を近似する傾向があると言われている.

  6. プログラムplanesによって属性ごとの値の可視化も可能
    平面から, 灰色階調表現を利用してその属性の値を画像化することができる.

Fig.3 にSOM学習前のマップの初期状態を示し, Fig.4 にSOM学習後の最終状態のマップを示す. 学習前のマップと学習後のマップを比較すると, 明らかに学習後のマップは動物の特徴による分類がなされている. 例えば, 左上にはウシ・シマウマ・ウマなど草食動物が, 右側には鳥類が, 中央にはイヌとオオカミなど, 比較的種類として似ている動物が近くに集まっていることがわかる. このように, 大きさや食べ物など様々な特徴を入力ベクトルとして与えるだけで, 分類をかなり正確に行い, 可視化できるのがSOMの特徴である.

Fig.3: 学習前のマップ

Fig.4: 学習後のマップ

Fig.5 にSOM学習後のサモンマップを示す. サモンマップを見てもわかるように, 右側に鳥類, 左側の中央にはトラやライオンなど肉食動物が集まるなど, 似た特徴を持ったものが近く存在し, その類似度が高いほど, 距離が短いことが分かる.

Fig.5: 学習後のサモンマップ

また, Fig.6 , Fig.7 , Fig.8 にそれぞれ属性1, 属性4, 属性16の属性値のマップを示す. 属性1は小さいかどうかを示す値であり, 小さい動物ほど白に近く, 大きい動物ほど黒に近くなる. ネコや鳥類などが小さいので白に近い色で示されている. 属性4は夜行性であるかどうかを示す値である. オオカミを筆頭に, キツネ, フクロウなど夜行性の動物が白に近い色で示されている. 属性16は草食性があるかどうかを示す値である. ウマやウシなど草食の動物は白に近く, 鳥類のうち草食でも肉食でもある動物はグレーで示されている. このような属性値のマップはすべての属性に対して生成することが出来, それらを比較することで, 属性同士の関連性などを検討することが可能である.

Fig.6: 属性1:小さい の属性値マップ

Fig.7: 属性4:夜行性 の属性値マップ

Fig.8: 属性16:草食性 の属性値マップ

7  まとめ

本報告では, 教師なし競合学習を行うニューラルネットワークであるSOMについて調査し報告した. SOMは多次元データを2次元平面に射影し可視化することが可能であり, 類似するデータを近くにマッピングすることから, クラスタリング手法としても利用されている. これより, SOMを利用して多目的最適化のパレート解の可視化や, また数多くの目的関数値と設計変数値との関連性の発見などに利用したい. 次回報告では, 球面上にマッピングを行う球面SOMについて調査を行う予定である.

References

[1]
T.Kohonen, Self-Organizing Maps, Springer, 1996
[2]
徳高 平蔵・岸田 悟・藤村 喜久郎, 自己組織化マップの応用 〜多次元情報の2次元可視化〜, 海文堂, 1999
[3]
金 美和・廣安 知之・三木 光範, 同志社大学工学部知識工学科 知的システムデザイン研究室,
【調査】自己組織化マップ(SOM), 2003
http://mikilab.doshisha.ac.jp/dia/research/report/2003/0604/003/report20030604003.html
[4]
大林 茂, 多目的最適化とパレート解の可視化
http://www.ifs.tohoku.ac.jp/edge/publications/Fo5-3.pdf
[5]
岩田 彰・松原 俊之, ニューラルネットワーク入門
http://mars.elcom.nitech.ac.jp/java-cai/neuro/menu.html
[6]
自己組織化ニューラルネットワーク
http://metalbrain.piroo.com/self.html


Copyright (C) 2005 Tomoyuki Hiroyasu, All rights reserved.
Copyright (C) 2005 Mitsunori Miki, All rights reserved.
Copyright (C) 2005 Fuyuko Ito, All rights reserved.

No part of this document may be reproduced, copied, distributed,
transferred, modified, or transmitted, in any form or by any means,
without the prior written permission of the authors.
In no event shall the authors be liable for any damages caused in any way
out of the use of this document.




File translated from TEX by TTH, version 3.71.
On 8 Jan 2006, 19:37.

Back to Top