next up previous
Next: 中間層の素子数 Up: 階層型のネットワーク 補足 Previous: 階層型のネットワーク 補足

汎化能力と過学習

ネットワークが学習すべきルールを満たすサンプルからいくつかの例を選び 訓練課題として学習させます。このとき、学習させた例以外の入力をテスト課題として 選び、このテスト課題の成績を調べることで学習したルールの一般化を測定することができます。


\begin{FigHere}% latex2html id marker 15
\begin{center}
\resizebox{0.8\textwidt...
...\includegraphics{Denker1987.eps}} \end{center}\caption{一般化能力}
\end{FigHere}

学習した内容がルールの適用範囲と重なればよいのですが、 図で示したとおり一般化にはさまざまな可能性が考えられます。 例えば入出力とも 0,1 のデータで、入力層が N 個、出力層が 1 個である場合、 全入力パターンは 2N 個ありますが、これを 0 か 1 かに 分類する課題では、全部で $\displaystyle 2^{2^N}$ とおりの分類が可能になります。 この中から M 個の入力を選んで訓練した場合には、残りの分類パターンはすべて 一般化になりますから $\displaystyle 2^{2^N} - M$ 個の一般化が可能になります。 N が大きくなると、実質的に無限大の一般化が考えられることになります。 次のような program を作って実行してみれば実感できるでしょう。




\begin{itembox}{$2^{2^N}$ を実行する program}
\begin{tex2html_preform}\begin{ver...
...tf (''%d, %g\n'', n++, a);
}
}\end{verbatim}\end{tex2html_preform}\end{itembox}



逆に、訓練課題しか正解できないようであれば、過剰な学習がなされたことを意味します。

課題 1:
対象性を学習するバックプロパゲーションのプログラムで、学習セットを いくつか取り除いて学習させなさい。学習成立後、取り除いたパターンを用いて 一般化能力を試しなさい。
1.
全 64 個の学習パターン中、対称なパターンを 1 個、非対称なパターンを 8 個取り除き 学習させてください。学習後に取り除いた 9 個のパターンを入力すると 正解が得られるかどうかを調べなさい。 提出は、学習に用いた刺激とテスト刺激のリストおよび結合荷重、および、般化テストの結果 です。
2.
上と同様にして、対称なパターンを 2 個、非対称なパターンを 16 個取り除き 学習させてください。学習後に取り除いた 18 個のパターンを入力すると 正解が得られるかどうかを調べなさい。 提出は、学習に用いた刺激とテスト刺激のリストおよび結合荷重、および、般化テストの結果 です。
3.
対称性を学習するネットワークでは、最低何個の学習パターンが必要かを検討しなさい。



Shinichi ASAKAWA
1999-11-10