トイデータに対する実験をやっているが、色々と悲しい。
- 自然勾配SignAlgorithmの性能が悪い。下手するとSignAlgorithmとどっこい
- 実データに対しては良い結果を出していた。
- 原因を調べていたら、係数の初期値が最適値の近くにあると収束が早いということが分かった。
- トイデータ実験は[-1,1]から一様乱数選択していたので、それだと広すぎるらしく、収束が遅い。勾配が平坦に広がりすぎている可能性がある。
- 忘却係数を低く(ステップサイズを大きく)すると応答は良くなるけどオフセットが残る。
- 実データはサンプル数が多いのと、係数が大きな値を取りにくいことから性能が良かったものと想像。
- 正規化版は自己相関行列の逆行列の二次形式で割ってるから、自己相関の逆数で割ってる、即ち、自己相関を掛けてると見れる。じゃあ、簡易的に入力データのノルムの平均値を掛けてやればいいんじゃねと思ってやってみたらそれなりに安定してきた。
- 眉唾だから再度要検証。
- RLSが強すぎる。忘却係数付きRLSが一番強い。
- 忘却係数はトレードオフという感じ。0.9まで下げると収束は早いけどオフセットが残る。0.99だと係数が変わったときに収束が遅くなる。1.0(普通のRLS)だと係数が変わったときにまったく収束していかない。
- 正規化自然勾配SignAlgorithmは忘却係数の値によらずほぼ同じ学習曲線になる。依存するのはステップサイズくらいか。そこは主張できるかも。
- NLMSもMSD(係数誤差)の意味ではRLSと同程度まで下げられているが、正規化自然勾配SignAlgorithmは収束ははやいがそこまで誤差が下がらない。
- 実装ミスあり。係数更新がFinvの更新前に行われていた。
- 普通の自然勾配法は大きな影響あり。あれ?でも正規化自然勾配の方はあまり影響がない。
- 実装ミスなのか微妙。。負荷減らしのための方策だった(フィッシャー情報行列の逆との積を使い回せるから)
- 性能差が顕著なのでこれはよく考えたほうが良い。アルゴリズムの整合性的にもあやしい。