Next: Pruning
Up: 階層型のネットワーク 補足
Previous: 汎化能力と過学習
難しい問題です。入力情報が N ビットの情報を持っているのなら 2N 個の
中間層を用意すれば十分であることはすぐに分かります。
では中間層の必要な数は? は難しい議論が必要になります。
結果だけ示すと、g(f) をランダムに選ばれた p 訓練刺激セットを用いて得られた
ネットワーク f が真のネットワーク
を実現できる確率とします。
gp(f) を p 個の訓練刺激セットで構築されたネットワークで正しく分類された
訓練刺激セットの割合とします(学習が完璧なら gp(f)=1)
 |
(1) |
これはどのような学習済のネットワーク f に対しても最悪の場合の誤差が
を越える確率を表します。
ここで m(p) は、最悪の場合 m(p)=2p という指数関数ですが、Vapnik & Chervonenkis
は m(p) は p が小さいときは 2p に従うが、ある点 dVC が存在し、この点を
過ぎると m(p) は指数関数的に増加しないことを証明しました。
もし dVC が有限であれば m(p) は
 |
(2) |
に従い、一般化誤差 (1)式
の上限を定めるときに使われます。
この点のことは VC 次元(バプニク-チェルボネンキス次元)と呼ばれることがあります。
M 個の閾値素子と、閾値素子を含めて全部で W 個の結合を持つ階層型のネット
ワークの場合の VC 次元の上限は
 |
(3) |
で与えられます。ここで e は自然対数の底です。
N 個の入力素子と H 個の素子からできている完全結合した中間層に対する VC 次元の下限は
 |
(4) |
となります。(3)式または(4)式のいずれかを使って
(2)式に代入し、結果を(1)式に代入すれば、原理的には
中間層の素子数を求めることができますが、現実的な数にはなりません。
Shinichi ASAKAWA
1999-11-10