この機能を最小限に抑えたい:
function [GCV2]=GCV(y,x,k)
[n, p]=size(x);
A=(x'*x+k*eye(p));
A=A\x';
A=x*A;
I_mat=eye(n);
num2=(I_mat-A);
num2=num2*y;
num2=norm(num2);
num2=num2^2;
num2=num2/n;
%(norm((I_mat-A)*y)^2)/n;
den2=(I_mat-A);
den2=trace(den2);
den2=den2/n;
den2=den2^2;
GCV2=num2/den2;
end
x
およびのy
値は、それぞれ 13 行 4 列および 13 行 1 列の配列であり、これらの値は Matlab ワークスペースで既に定義されています。k
関数値GCV
が最小になるように値を最適化したい。
最適化されるパラメーターと出力はスカラーであるためfminsearch
、適切なはずです。
しかし、私はそれを実行することはできませんか?
私はいくつかの方法を試しましたが、最新のものは次のとおりです。
k_min = fminsearch(@GCV,(x;y;0));
??? k_min = fminsearch(@GCV,(x;y;0));
|
Error: Unbalanced or unexpected parenthesis or bracket.
私は何を間違っていますか?