次に、情報量基準を用いて「中間層のニューロン数をいくつにするか」を決定 する方法について考察する。
例として、図4.3のような中間層が1層の階層型ネットワークを用い てパターンを識別する場合を考える。この場合、中間層のニューロンを多くすると 学習データに対する識別率は良くなるが、未知データに対する識別率は必ずしも単調 に良くなるわけではない[14,176]。現在、妥当な一般化能力を持つネット ワークを設計するためには、ネットワークの設計者がその経験と勘をたよりに、試行 錯誤的に中間層のニューロン数を変えて、ネットワークの学習を試みているのが普通 である。これを自動化するためには、中間層のニューロン数をいくつにすべきかに関 するなんらかの目安を与える必要がある。ここでは、そのためにAICあるいはMDLPを 用いる。すなわち、中間層のニューロン数の異なるネットワークの候補をいくつか用 意し、学習データに対して各ネットワークのパラメータ(結合荷重)を前述の学習ア ルゴリズムによって学習し、その結果に基づいて各ネットワークを AIC あるいは MLDPで評価し最良のネットワークを決定する。
今、ネットワークの入力層のニューロン数を 、中間層のニューロン数を
、出力
層のユニット数を
とする。4.2.2 と
同様に、ネットワークの入出力関係は、
![]() |
![]() |
![]() |
(255) |
![]() |
![]() |
![]() |
(256) |
![]() |
![]() |
![]() |
(257) |
![]() |
![]() |
![]() |
(258) |
このネットワークは、 個の重みと
個のしきい値によって完全に記述
できるので、このネットワークの自由度は
である。
今、第番目の学習データの入力ベクトルを
、その入力に対する望みの
出力ベクトル(教師ベクトル)を
、ネットワークに入力
を入力
した時の出力ベクトルを
と書くことにする。このとき、4.2.2 で
示したように出力の各要素の条件付き独立性を仮定すると、互に独立な
個の学
習データに対して、望みの出力
が得られるもっとも
らしさ(尤度)は、
![]() |
(259) |
前述の学習アルゴリズムは尤度を最大とする学習アルゴリズムであるが、無限回の繰
り返しを行うことは難しく、また、局所最適解に陥ることもあり、推定されたネット
ワークのパラメータ は最尤推定値
に収束しないことも
ある。ここでは、学習が十分に進んだネットワークのパラメータ
を
用いて AIC あるいは MDL を計算することにする。
考えているネットワークの自由度は であるから、AIC および MDL の値
は、それぞれ、
以上をまとめると、中間層が1層のネットワークの中間層のニューロン数を決定する ための手続きは、次のようになる。
以上はパターン認識のためのニューラルネットの中間層のニューロンの個数を決 定するために情報量基準をもちいる手法についてであるが、連続関数を近似する ネットワークの中間層のニューロン数の決定や何層のネットワーク にすべきかあるいはもっと複雑な構造をもつネットワークの候補の中から最良の ネットワークを選ぶ場合にも、同様に情報量基準を計算することによって 評価できるであろう。
最後に、ここでは、情報量基準として特に有名な AIC と MDL の2つの基準を用いる
手法について述べたが、これらふたつの基準の違いについて簡単に触れておく。
式(4.62)と式(4.63)を比べると明らかなように、、つまり、
の場合には、MDL の方が AIC よりも第2項の効果が大きくなる。
通常、学習に用いるデータの個数は、
よりもかなり大きいので、
MDL は AIC に比べパラメータ数の多いモデルに対してより大きなペナルティを与え
ることになる。従って、MDL は AIC よりも少ないパラメータ数のモデルを好む
基準であるといえる。