⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelssvm.m

📁 支持向量机学习中用到的用Matlab编写的工具箱。
💻 M
字号:
function model = changelssvm(model,option, value)% Change a field of the object oriented representation of the LS-SVM%%% The different options of the fields are given in following table:% %     1. General options representing the kind of model:% %           type: 'classifier' ,'function estimation' % implementation: 'CMEX' ,'CFILE' ,'MATLAB' %         status: Status of this model ('trained'  or 'changed' )%          alpha: Support values of the trained LS-SVM model%              b: Bias term of the trained LS-SVM model%       duration: Number of seconds the training lasts%         latent: Returning latent variables ('no' ,'yes' ) %       x_delays: Number of delays of eXogeneous variables (by default 0 )%       y_delays: Number of delays of responses (by default 0 )%          steps: Number of steps to predict (by default 1 )%            gam: Regularisation parameter%    kernel_type: Kernel function%    kernel_pars: Extra parameters of the kernel function% %%     2. Fields used to specify the used training data:% %    x_dim: Dimension of input space%    y_dim: Dimension of responses%  nb_data: Number of training data%   xtrain: (preprocessed) inputs of training data%   ytrain: (preprocessed,coded) outputs of training data% selector: Indexes of training data effectively used during training% %%     3. Options used in the Conjugate Gradient (CG) algorithm:% %     cga_max_itr: Maximum number of iterations in CG%         cga_eps: Stopcriterium of CG, largest allowed error%    cga_fi_bound: Stopcriterium of CG, smallest allowed improvement%        cga_show: Show the results of the CG algorithm (1 or 0)% cga_startvalues: Starting values of the CG algorithm% %%     4. Fields with the information for pre- and post-processing (only given if appropriate):% %  preprocess: 'preprocess'  or 'original' %     schemed: Status of the preprocessing %               ('coded' ,'original'  or 'schemed' )% pre_xscheme: Scheme used for preprocessing the input data% pre_yscheme: Scheme used for preprocessing the output data%   pre_xmean: Mean of the input data%    pre_xstd: Standard deviation of the input data%   pre_ymean: Mean of the responses%    pre_ystd: Standard deviation of the reponses% %%     5. The specifications of the used encoding (only given if appropriate):% %          code: Status of the coding %                 ('original' ,'changed'  or 'encoded')%      codetype: Used function for constructing the encoding %                  for multiclass classification (by default 'none')% codetype_args: Arguments of the codetype function%  codedist_fct: Function used to calculate to which class a%                coded result belongs% codedist_args: Arguments of the codedist function%     codebook2: Codebook of the new coding%     codebook1: Codebook of the original coding% % Full syntax% % >> model = changelssvm(model, field, value)% %       Outputs    %         model(*) : Obtained object oriented representation of the LS-SVM model%       Inputs    %         model    : Original object oriented representation of the LS-SVM model%         field    : Field of the model one wants to change (e.g. 'preprocess')%         value    : New value of the field of the model one wants to change% % See also:%   trainlssvm, initlssvm, simlssvm, plotlssvm.% Copyright (c) 2002,  KULeuven-ESAT-SCD, License & help @ http://www.esat.kuleuven.ac.be/sista/lssvmlab%% alias sigma^2%if (strcmpi(option,'sig2')) option = 'kernel_pars'; end%% selector -> nb_data% nb_data -> selector%if strcmp(option,'selector'),  model.nb_data = length(value);endif strcmp(option,'nb_data'),  model.selector = 1:value;end%% xtrain%if strcmp(option,'xtrain'),   [nb,model.x_dim] = size(value);  model.nb_data = nb;%min(nb,model.nb_data);  model.selector = 1:model.nb_data;  if length(model.gam)>model.y_dim & length(model.gam)~=size(value,1),    warning('Discarting  different gamma''s...');    model.gam = max(model.gam);   end    eval('value=prelssvm(model,value);',...       'warning(''new trainings inputdata not comform with used preprocessing'');');  model.cga_startvalues=[];end%% ytrain%if strcmp(option,'ytrain'),  if size(value,2)~=size(model.ytrain,2),    model.y_dim = size(value,2);  end  eval('value = codelssvm(model,[],value);',...       'warning(''new trainings outputdata not comform with used encoding;'');');  eval('[ff,value] = prelssvm(model,[],value);',...       'warning(''new trainings outputdata not comform with used preprocessing;'');');  [nb,model.y_dim] = size(value);  model.nb_data = min(nb,model.nb_data);  model.selector = 1:model.nb_data;  model.cga_startvalues=[];end%% switch between preprocessing - original data% model.prestatus = {'changed','ok'}%if (strcmpi(option,'preprocess')) & model.preprocess(1)~=value(1),  model.prestatus = 'changed'; end                %% change coding%if strcmpi(option,'codetype') | strcmpi(option,'codebook2') | ...      strcmpi(option, 'codeargs') | strcmpi(option, 'codedistfct'),  model.code = 'changed';elseif  strcmpi(option,'codebook1'),  warning('change original format of the classifier; the toolbox will be unable to return results in the original format');end%% final change%eval(['old_value = model.' lower(option) ';'],'old_value=[];');eval(['model.' lower(option) '=value;']);if (isempty(value) | isempty(old_value)),  different = 1;else  eval('different = any(old_value~=value);','different=1;');endif different & ~strcmpi(option,'implementation'),  model.status = 'changed';end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -