📄 traintesthbcpm.m
字号:
[savefile allStates it updates iterTime G]=trainTestHBCPM(... headerAbun,datName,trainSetInd,testSetInd,classesTrain,classesTest,... maxIter,numCtrlPts,numBins,myThresh,USE_GLOBAL_U,numCtrlPts,... PROFILE,startSamp,logNormHyperParam,mixPriorStrength,mixOutPriorBelief,... smoothFrac)%% hard coded optionsUSE_CPM2=1; %% =1 means no scale states, use spline insteadextraPercent=0.1;oneScaleOnlyT=1; %% not using local scale statesSAMPLER_TYPE='sliceBen'; %'MH' or 'sliceIain' or 'sliceBen';%%%%%%%%%%%%%%%%%%%%%%% which parameters to updateinitVal=1; %%use all by defaultupdates = initUpdates(initVal);%%%%%%%%%%%%%%%%%%%%%if PROFILE profile off; profile -detail builtin on; end%%%%%%%%%%%%%%%%%%%%%%% generate appropriate filenames, etc.savedir = '/u/jenn/phd/MS/matlabCode/workspaces/thesisInProgress/';savefile = ['''' savedir 'HBCPM.' datName '.' 'B' ... num2str(numBins) '.P' num2str(numCtrlPts)... '.' filenameStamp '.mat'''];errorLogFile = savefile(1:(end-4));errorLogFile = [errorLogFile(2:end) 'LOG'];cmd1 = ['save ' savefile ';'];eval(cmd1);display(['Will save results to: ' savefile]);%%%%%%%%%%%%%%%%%%%%%startSamp=1; %trace from each class to initializemaxTimeSteps=3; %max time jump in the HMM portion of model%% convert cell data to mat data temporarilysamplesMat = reshape(cell2mat(headerAbun),... [numBins numRealTimes numSamples]);meanSampVal = mean(samplesMat(:));%% for the log-normal priors for alpha/rho% param=3;% %% child mixture model prior params% mixPriorStrength=50;% mixOutPriorBelief=0;%0.01;%% the parameters trainSetInd and testSetInduseLoos=1:length(trainSetInd);numTrain=0; numTest=0;for loo=useLoos testSet{loo} = headerAbun(testSetInd{loo}); trainSet{loo} = headerAbun(trainSetInd{loo}); numTrain=numTrain + length(trainSet{loo}); numTest=numTest + length(testSet{loo});endkeyboard;Gtrain = getHMMParamsB(numTrain,numRealTimes,classesTrain,... extraPercent,startSamp,maxTimeSteps,oneScaleOnlyT,numBins,... maxIter,USE_CPM2,numCtrlPts,updates.D,'',... meanSampVal,SAMPLER_TYPE,... logNormHyperParam,logNormHyperParam,mixPriorStrength,mixOutPriorBelief,... ONE_CLASS,USE_GLOBAL_U);if numTest>0 G = getHMMParamsB(numTest,numRealTimes,classesTest,... extraPercent,startSamp,maxTimeSteps,oneScaleOnlyT,numBins,... maxIter,USE_CPM2,numCtrlPts,updates.D,'',... meanSampVal,SAMPLER_TYPE,... logNormHyperParam,logNormHyperParam,mixPriorStrength,mixOutPriorBelief,... ONE_CLASS,USE_GLOBAL_U);endlatentTrace = initializeAllLatentTrace(G,headerAbun,'',smoothFrac);G.z=latentTrace;initAlpha=1; initRho=1;initStateTrain = initMCMCCPM(G,samplesMat,headerAbun,initAlpha,initRho);%% clear whatever we have taken from G - no longer stores state stuffG=rmfield(G,{'D','S','z','u'});initStateclear headerAbun;keyboard;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[allStates it updates iterTime G] = ... trainMCCPM(G,samplesMat(:),updates,initStateTrain,FP,savefile);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CREATE A MARKER FILE WHICH SHOWS THE COMPUTATION IS DONEsavefileFINISHED = savefile(1:(end-4));savefileFINISHED = [savefileFINISHED 'FINISHED'];cmd3 = ['save ' savefileFINISHED ''' savefileFINISHED ;'];display('FINISHED');%% child energy impulsesif PROFILE profile off; %profile report; %% save the profiler information profilerInfo = profile('info');end%% clear big stuff we don't need to save before savingkeyboard;display(['Saving results to: ' savefile]);eval(cmd1);fclose(FP);return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -