Suykens らによって提案された回帰の最小二乗サポート ベクター マシンを使用して予測を行いたいと思います。ここで MATLAB ツールボックスを見つけることができる LS-SVMlab を使用しています。独立変数 X と従属変数 Y があり、どちらもシミュレートされているとします。チュートリアルの指示に従っています。
>>X = linspace(-1,1,50)';
>>Y = (15*(X.^2-1).^2.*X.^4).*exp(-X)+normrnd(0,0.1,長さ(X),1);
>>type = '関数推定';
>>[gam,sig2] = tunelssvm({X,Y,type,[], [],'RBF_kernel'},'simplex',...'leaveoneoutlssvm','mse'});
>>[alpha,b] = trainlssvm({X,Y,type,gam,sig2,'RBF_kernel'});
>>plotlssvm({X,Y,type,gam,sig2,'RBF_kernel'},{alpha,b});
上記のコードは、シンプレックス法と leave-one-out 交差検証を使用して最適なパラメーターを見つけ、モデルをトレーニングして、アルファ (トレーニング セット内のすべてのデータ ポイントのサポート ベクター値) と b 係数を提供します。ただし、変数 Y の予測は得られません。プロットを描画するだけです。いくつかの記事で、以下のようなプロットを見ましたが、
前に述べたように、LS-SVM ツールボックスは Y の予測値を提供しません。プロットを描画するだけで、ワークスペースに値はありません。これらの値を取得して、予測値と実際の値のグラフを描画するにはどうすればよいですか?
私が考える解決策は一つです。トレーニング セットの X 値を使用して、モデルを再実行し、simlssvm
コマンドを使用して値 Y の予測を取得しましたが、妥当とは思えません。あなたが提供できる解決策はありますか?前もって感謝します。