GPR回帰の最適化の違い:連続計算と単独計算

ドキュメント”GPR回帰の最適化"を参考にして、GRPモデルの近似を行おうとしています。入力データ(x1,x2,x3,x4,x5,y1)と(x1,x2,x3,x4,x5,y2)を順番にGPRモデルの作成を行う場合と、(x1,,,,y1)と(x1,,,,y2)を別々にGPRモデルを作成する場合で得られる結果に差異があります。この違いが起きる原因はなんでしょうか。

4 Comments

Hisashi Sato
Hisashi Sato on 31 Oct 2017
上記の通りに入力データが2種類あり、"for"文にて繰り返してGPR回帰の最適化を連続で行う場合と"for"文を使わず、入力データ違い毎にGPR回帰の最適化を実行する場合を比較しています。y1,y2の順番にて実行した結果とy2だけを実行した結果に違いがみられます。
mizuki
mizuki on 2 Nov 2017
Edited: mizuki on 2 Nov 2017
「順番に」の意味は、
in1 = (x1,x2,x3,x4,x5);
in2 = (x1,x2,x3,x4,x5);
y1, y2
の変数がある場合に、
gptMdl1 = fitrgp(in1, y1);
gptMdl2 = fitrgp(in2, y2);
のようにハイパーパラメタの最適化を行うということでしょうか。
それとも、in1 と in2 で異なるデータセット、つまり
in1 = (x11,x12,x13,x14,x15);
in2 = (x21,x22,x23,x24,x25);
y1, y2
を使われており、
gptMdl1 = fitrgp(in1, y1);
gptMdl2 = fitrgp(in2, y2);
で最適化ということでしょうか。
「順番に」と「別々に」で行われているコードの違いがわからないのですが教えていただけますか。
Hisashi Sato
Hisashi Sato on 2 Nov 2017
in1とin2は同じデータです。 連続:スクリプトでfor文を使い、k=1でin1,y1を読み込みgprMdl1を実行し、同様にk=2にてin1,y2を読み込みgprMdl2を実行する。 別々:スクリプトを分け、gprMdl1を実行。結果を確認後、別のスクリプトにてgprMdl2を実行する。 上記の計算結果が同じにならないので質問をさせていただいております。
Hisashi Sato
Hisashi Sato on 2 Nov 2017
"連続"の計算はfor文で繰り返すので、k=1とk=2で同じ変数名"gprMdl1"です。 gprMdl1=fitrgp(in1,y(k))としています。

Sign in to comment.

Answers (0)

Asked:

on 31 Oct 2017

Commented:

on 2 Nov 2017

Community Treasure Hunt

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

Start Hunting!