train.m
来自「是一个用MATLAB编的一个系统」· M 代码 · 共 72 行
M
72 行
function net = train(tutor, x, y, C, kernel, zeta, net)
if size(y, 2) ~= 1 | ~isreal(y)
error('y must be a real double precision column vector');
end
if size(y, 1) ~= size(x, 1)
error('x and y must have the same number of rows');
end
if nargin == 4 & isa(C, 'svc')
net = C;
C = getC(net);
kernel = getkernel(net);
zeta = getzeta(net);
alpha = abs(getw(net));
bias = getbias(net);
else
if nargin < 4
C = Inf;
end
if nargin < 5
kernel = linear;
end
if nargin < 6
zeta = ones(size(y));
end
if nargin < 7
alpha = zeros(size(y));
bias = 0;
else
old_C = getC(net);
alpha = abs(getw(net));
bias = getbias(net);
if C ~= Inf
alpha = alpha*C/old_C;
bias = bias*C/old_C;
end
end
end
net = smosvctrain(tutor, x, y, C, kernel, zeta, alpha, bias);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?