fitrgpのエラー対応

6 views (last 30 days)
Hisashi Sato
Hisashi Sato on 17 Oct 2017
Commented: Hisashi Sato on 19 Oct 2017
ガウス過程回帰モデルにて学習モデルを作成しようとしています。以下のエラーが発生しており、対処方法についての説明をお願いいたします。 エラー: classreg.learning.impl.CompactGPImpl/computeLFactorExact (line 131) 予測に必要なコレスキー因子を計算できません。fitrgp を呼び出す場合、'KernelParameters' と 'Sigma' の初期値を変更してみてください。また、'Standardize' を true に設定 し、'SigmaLowerBound' の値を増やすことも検討してください。

Accepted Answer

mizuki
mizuki on 17 Oct 2017
Edited: mizuki on 17 Oct 2017
現在、グラム行列(カーネル値の行列)が特異行列に近くなっているためにコレスキファクタを計算できないことでエラーが生じているようです。(つまり有効なカーネルの必要条件を満たしていない)
エラーメッセージには以下のような文章があります。
fitrgp を呼び出す場合、'KernelParameters' と 'Sigma' の
初期値を変更してみてください。
また、'Standardize' true に設定 し、
'SigmaLowerBound' の値を増やすことも検討してください。
FITRGP のデフォルトのカーネルは 'squaredexponential' (二乗指数カーネル) です。 KernelParameters Sigma が何に対応するかに関しては、 FITRGP のドキュメント カーネル(共分散)関数のオプション にあるカーネルの式、 ガウス回帰モデルのドキュメント が参考になるかと思います。まずは KernelParameters Sigma のオプションを変更してください。
初期パラメタを変更する例については 例: 初期カーネル パラメーター値の指定による影響 を参考にしてください。
また、エラーメッセージにあるように、 Standardize オプション true に設定してください。これにより、ガウス過程回帰を実行する前にデータの標準化(センタリング&スケーリング)をしておくことができ、データのスケールなどに偏りがあった場合に計算時に問題が起こることを防ぎます。
  1 Comment
Hisashi Sato
Hisashi Sato on 19 Oct 2017
phi = [mean(std(X));std(y)/sqrt(2)]が二乗指数カーネルのパラメータ既定初期値ということですが、これに対して、KernelParametersとSigmaの初期値を変更するとあります。予測子は応答によって値がことなると思いますが、初期値設定手法についての記載ページ提示を希望します。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!