我可以使用以下MATLAB代码获取alpha
和b
:
model = initlssvm(trainX,trainY,'c',10,[],'lin_kernel');
model = trainlssvm(model);
b = model.b;
alpha = model.alpha;
当我想用公式计算模型参数w
时:
w = sum(alpha_i * y_i * x_i)
w = zeros(1,size(trainX,2));
for j = 1 : size(trainX,1)
w = w + alpha(j)*trainY(j,:).*trainX(j,:);
end
然后我使用以下代码检查w
的值是否正确:
for i = 1 : size(testX,1)
pre = sign(w * testX(i,:)'+b);
pres = [pres; pre];
end
然而,结果显示我得到的w
的值是错误的。
如何获得lssvm的正确w