![]() |
(6.2) |
時系列データの予測を行うのが目的であるので、ある時刻における正弦波の値を入力したら、
次の時刻の正弦波の値を出力するのが望ましい。
つまり、カオスニューロンの望ましい出力としては、入力波形の次の状態である教師信号の値を出力することである。
よって、時刻における入力信号を、式 6.1の
、教師信号は
とした。
まず、正弦波を教師信号として入力し遺伝的アルゴリズムとカオスニューロン、バックプロパゲーションによって学習を行う。 学習できたかどうかを判別するために、最終世代のエリート遺伝子においてバックプロパゲーションの終了後、誤差伝搬をせず入力信号として正弦波の波形を 送ったときにどうなるかという実験を行った。図 6.1にその結果を示す。 図 6.1の横軸は時間を表し、''・''はカオスニューロンの出力、点線は教師信号の出力である。 これを見てみると、分割数が14, 18の時は点線から若干ずれているように見えるが、分割数11, 分割数16の時は 点線に沿っている様に見える。 また、この時の各分割数における誤差を表 6.1に示す。 これらの結果より、誤差が0.1以下のときに学習成功と定義することにする。
時系列データを予測するには正しい信号が途絶えてもその次の未来を予測し続けなければならない。 よって、バックプロパゲーションが終了してから、カオスニューロンの出力を入力に戻すことでその次の値の予測を行う。 これを動作させた結果を図 6.2,図 6.3に示す。 分割数が18の例では、次の値を予測し続けれているが、分割数が39の例においてはカオスニューロンの値が収束してしまい、 値が一定となってしまった。もちろん誤差が大きい場合は収束するが、 誤差が小さければ予測し続けれるといった特徴は見られなかった。 また、分割数が極端に小さい値においては予測ができることが分かった。
次に最大誤差の推移のグラフについて検討する。学習に成功した代表例として、分割数が5, 19, 31の正弦波における 最大誤差の推移のグラフを図 6.4, 図 6.5, 図 6.6に表す。 これらは学習時間によって最大誤差がどのように変化しているかを示している。 図 6.5では、誤差の変動にほとんどばらつきが見られない右肩下がりの曲線となった。 図 6.4, 図 6.6では、学習開始付近の時間では誤差に 大きくばらつきはあるが、学習時間が200を過ぎた辺りから、 そのばらつきと共に誤差が減少していくようなグラフとなっている。 図 6.4, 図 6.5, 図 6.6を比べてみると、 どれも学習の仕方に違いがあるように見れる。これについて後ほど検討することにする。 また、各分割数におけるエリート遺伝子のパラメータを表 6.2に示す。
次に、入力する波形のパターンを変えても同じパラメータで動作できるのかを調べる実験を行った。 まず、分割数5の遺伝子を選択し、分割数1〜50の正弦波にそのパラメータを適用して学習を行った。 その結果を図 6.7に示す。 横軸は適用した分割数、縦軸がその分割数に分割数5の遺伝子を適用した時の最大誤差をそれぞれ表す。 分割数5の最大誤差以外はおよそ0.5と高い誤差を示しており、 分割数5によって得られたエリート遺伝子と比べると、全体的に学習できていないことが分かる。
先ほどの実験で、それぞれの分割数によって、エリート遺伝子を適用した時の カオスニューロンの学習の仕方に違いがあることが分かった。 この違いは適用した遺伝子にあるのではないのかと考え、分割数5の正弦波の学習によって得られたエリート遺伝子を 分割数18の正弦波の学習に用いる実験を行う。 この時のバックプロパゲーションにおける誤差の推移は図 6.8のようになった。 このグラフを見てみると、図 6.4の特性と似たような学習の仕方をしていることが分かる。
これらの結果より、入力波形によってカオスニューラルネットやバックプロパゲーションのパラメータが適している値は異なり、 同じ遺伝子を使って学習できるならば、似たような学習をするという傾向があることが分かる。