「自己組織化マップ」の版間の差分

編集の要約なし
編集の要約なし
編集の要約なし
28行目: 28行目:
 自己組織化マップの入力は通常、高次元のベクトルデータセットである。一方、出力はデータセットを低次元(通常は2次元)に射影したものであり、データ分布を地図として可視化して見ることができる。また低次元マップ空間から高次元データ空間への写像も、学習によって得られる。
 自己組織化マップの入力は通常、高次元のベクトルデータセットである。一方、出力はデータセットを低次元(通常は2次元)に射影したものであり、データ分布を地図として可視化して見ることができる。また低次元マップ空間から高次元データ空間への写像も、学習によって得られる。


 '''図1'''は自己組織化マップにより得られた「動物マップ」である。入力データ('''表1''')は16種の動物データであり、それぞれ15次元のベクトルで表されている。マップ上で類似する動物(哺乳類や鳥類、肉食や草食)は互いに近くに配置されている。
 '''図1'''は自己組織化マップにより得られた「動物マップ」である。入力データ()は16種の動物データであり、それぞれ15次元のベクトルで表されている。マップ上で類似する動物(哺乳類や鳥類、肉食や草食)は互いに近くに配置されている。


 学習が終了した後、得られたマップは主に3つの用途で使うことができる。第一は、可視化によるデータマイニングである。動物マップの例ならば、どの動物が互いに似ているか、どのような動物クラスタ(類似する動物群)が存在するかを知ることができる。第二は新規データをマップ上へ射影することである。これにより新規データがマップのどこに位置するかを可視化できる。またラベル付き学習データを用いた場合は、新規データのラベルを推定することも可能である。動物マップの例ならば、新規の動物がマップのどこに位置するかを示したり、その動物が[[哺乳類]]か[[鳥類]]かを推測したりできる。第三は、新規データの予測や生成である。たとえば2種の中間的な性質を持つ動物の特徴を予測することができる。
 学習が終了した後、得られたマップは主に3つの用途で使うことができる。第一は、可視化によるデータマイニングである。動物マップの例ならば、どの動物が互いに似ているか、どのような動物クラスタ(類似する動物群)が存在するかを知ることができる。第二は新規データをマップ上へ射影することである。これにより新規データがマップのどこに位置するかを可視化できる。またラベル付き学習データを用いた場合は、新規データのラベルを推定することも可能である。動物マップの例ならば、新規の動物がマップのどこに位置するかを示したり、その動物が[[哺乳類]]か[[鳥類]]かを推測したりできる。第三は、新規データの予測や生成である。たとえば2種の中間的な性質を持つ動物の特徴を予測することができる。
{| class="wikitable" style="text-align: center;"
|+ 表1. 図1の生成に用いた動物データ
|-
! !!ハト!! ニワトリ!!アヒル!! カモ !! フクロウ !! タカ !! ワシ !! キツネ !! イヌ !! オオカミ !! ネコ !! トラ !! ライオン !! ウマ !! シマウマ !! ウシ
|-
! 小さい
|1||1||1||1||1||1||0||0||0||0||1||0||0||0||0||0
|-
!中ぐらい
||0||0||0||0||0||0||1||1||1||1||0||0||0||0||0||0
|-
!大きい
|| 0||0||0||0||0||0||0||0||0||0||0||1||1||1||1||1
|-
!2本脚
|| 1||1||1||1||1||1||1||0||0||0||0||0||0||0||0||0
|-
!4本脚
|| 0||0||0||0||0||0||0||1||1||1||1||1||1||1||1||1
|-
!体毛
|| 0||0||0||0||0||0||0||1||1||1||1||1||1||1||1||1
|-
!ひづめ
|| 0||0||0||0||0||0||0||0||0||0||0||0||0||1||1||1
|-
!たてがみ
||0||0||0||0||0||0||0||0||0||1||0||0||1||1||1||0
|-
!羽
|| 1||1||1||1||1||1||1||0||0||0||0||0||0||0||0||0
|-
!狩猟
||0||0||0||0||1||1||1||1||0||1||1||1||1||0||0||0
|-
!走る
|| 0||0||0||0||0||0||0||0||1||1||0||1||1||1||1||0
|-
!飛ぶ
||1||0||1||1||1||1||1||0||0||0||0||0||0||0||0||0
|-
!泳ぐ
||0||0||1||1||0||0||0||0||0||0||0||0||0||0||0||0
|-
!家畜/ぺット
||0||1||1||0||0||0||0||0||1||0||1||0||0||1||0||1
|-
!夜行性
||0||0||0||0||1||0||0||1||0||0||1||1||1||0||0||0
|-
|}


===構造と学習原理===
===構造と学習原理===
134行目: 82行目:
::<math>\forall i,</math>   <math>\mathbf{m}_i(t+1):=\frac{\sum_nh_{ni}(t)\mathbf{x}_n}{\sum_{n'}h_{n'i}(t)}</math>
::<math>\forall i,</math>   <math>\mathbf{m}_i(t+1):=\frac{\sum_nh_{ni}(t)\mathbf{x}_n}{\sum_{n'}h_{n'i}(t)}</math>


 これらを収束するまで繰り返すのがバッチ型アルゴリズムである。オンライン型が数百ないし数千ステップの繰り返し計算が必要なのに対し、バッチ型は数十ステップで収束する。また学習結果の安定性についてもバッチ型が優れている。
 これらを収束するまで繰り返すのがバッチ型アルゴリズムである。オンライン型が数百ないし数千ステップの繰り返し計算が必要なのに対し、バッチ型は数十ステップで収束する('''図3''')。また学習結果の安定性についてもバッチ型が優れている。


=== 自己組織化マップの学習理論 ===
=== 自己組織化マップの学習理論 ===