SVM 训练的轻微偏斜图
Slighthly skewed graph for SVM training
我正在 coursera 上学习 ML 类,我的 SVMtraining 代码是正确的,但图表与 pdf 中提供的解决方案不匹配。而且我不明白为什么或我的代码有什么问题。
以下是我的解决方案。我也附上了图表,第一个是提供的解决方案,另一个是我的。enter image description here
enter image description here
function [C, sigma] = dataset3Params(X, y, Xval, yval)
C = 1;
sigma = 0.3;
vals= [0.01 0.03 0.1 0.3 1 3 10 30];
err=1000000000;
for i=1:8
for j= 1:8
ex_C=vals(i);
ex_sigma=vals(j);
model=svmTrain(X, y, ex_C, @(x1,x2) gaussianKernel(x1,x2,ex_sigma));
predictions = svmPredict(model, Xval);
sam_err= mean(double(predictions ~= yval));
if sam_err <= err
C=ex_C;
sigma=ex_sigma;
err=sam_err;
end
end
end
轮廓应该是contour(X1, X2, vals, [0.5 0.5], 'b');
我正在 coursera 上学习 ML 类,我的 SVMtraining 代码是正确的,但图表与 pdf 中提供的解决方案不匹配。而且我不明白为什么或我的代码有什么问题。
以下是我的解决方案。我也附上了图表,第一个是提供的解决方案,另一个是我的。enter image description here enter image description here
function [C, sigma] = dataset3Params(X, y, Xval, yval)
C = 1;
sigma = 0.3;
vals= [0.01 0.03 0.1 0.3 1 3 10 30];
err=1000000000;
for i=1:8
for j= 1:8
ex_C=vals(i);
ex_sigma=vals(j);
model=svmTrain(X, y, ex_C, @(x1,x2) gaussianKernel(x1,x2,ex_sigma));
predictions = svmPredict(model, Xval);
sam_err= mean(double(predictions ~= yval));
if sam_err <= err
C=ex_C;
sigma=ex_sigma;
err=sam_err;
end
end
end
轮廓应该是contour(X1, X2, vals, [0.5 0.5], 'b');