資源簡介
機器學習中的交叉驗證方法,可以用于分類結果的驗證,參數(shù)的選擇驗證等

代碼片段和文件信息
function?[cvmsegam_bestsig2_best]?=?crossvalidate(XtrainYtraingam_mingam_maxsig2_minsig2_maxk)
%%%%%%%%%%%%%%%
%子程序_交叉驗證程序
%
%
%函數(shù)輸入:Xtrain-訓練集的輸入,Ytrain-訓練集的輸出,gam_min-懲罰參數(shù)選擇范圍的最小值,
%?????????gam_max-懲罰參數(shù)選擇范圍的最大值,sig2_min-寬度系數(shù)選擇范圍的最小值,
%?????????sig2_max-寬度系數(shù)選擇范圍的最大值,k-交叉驗證的折數(shù)
%函數(shù)輸出:cvmse-交叉驗證精確度,gam_best-最佳懲罰系數(shù),sig2_best-最佳寬度系數(shù)
%
%
%
number?=?size(Xtrain1);
%將gam和sig2劃分網(wǎng)格
[XY]?=?meshgrid(gam_min:0.1:gam_maxsig2_min:0.05:sig2_max);
[mn]?=?size(X);
%cv對應不同gam,sig2的驗證誤差
cv?=?zeros(mn);
eps?=?10^(-4);
%
%
gam_best?=?0;
sig2_best?=?0;
mse_sum?=?0;
cvmse?=?Inf;
%
step?=?floor(number/k);
%交叉驗證
for?i?=?1:m
????for?j?=?1:n
????????gam?=?10^X(ij);
????????sig2?=?10^Y(ij);
????????%將Xtrain分成k組
????????for?t?=?1:k
????????????if?t~=k
????????????????startpoint?=?(t-1)*step?+1;
????????????????endpoint?=?t*step;
????????????else
????????????????startpoint?=?(t-1)*step+1;
????????????????endpoint?=?number;
????????????end
????????????%%%取一組為驗證數(shù)據(jù)
????????????validate_in?=?Xtrain(startpoint:endpoint:);
????????????validate_out?=?Ytrain(startpoint:endpoint:);????????????
????????????%%%剩余樣本為訓練數(shù)據(jù)
????????????train_in?=?Xtrain;
????????????train_in(startpoint:endpoint:)?=?‘‘;
????????????train_out?=?Ytrain;
????????????train_out(startpoint:endpoint:)?=?‘‘;
????????????%
????????????[outmse]?=?lssvm_regression(train_intrain_outgamsig2validate_invalidate_out);?????????
????????end
????????mse_sum?=?sum(mse);
????????cv(ij)?=?mse_sum/k;????????
????????if?cv(ij)?????????????cvmse?=?cv(ij);
????????????gam_best?=?gam;
????????????sig2_best?=?sig2;
????????end
????????%?達到精度后取小的gam
????????if?abs(cv(ij)-cvmse)<=eps?&&?gam_best>gam
????????????cvmse?=?cv(ij);
????????????gam_best?=?gam;
????????????sig2_best?=?sig2;
????????end
????end
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2016??2013-01-05?13:02??crossvalidate.m
-----------?---------??----------?-----??----
?????????????????2016????????????????????1
評論
共有 條評論