我必须在MatLab中为svm做自己的预测。我使用下一个公式:
for i = 1:length(svmStruct1.Alpha)
salidasvm1 = salidasvm1 + svmStruct1.Alpha(i,:)*svmStruct1.GroupNames(svmStruct1.SupportVectorIndices(i),:)*svmStruct1.KernelFunction(svmStruct1.SupportVectors(i,:),ent,cell2mat(svmStruct1.KernelFunctionArgs(1)));
end
salidas1 = max(salidasvm1 + svmStruct1.Bias);
问题在于:
svmStruct1.KernelFunction(svmStruct1.SupportVectors(i,:),ent,cell2mat(svmStruct1.KernelFunctionArgs(1)))
预测总是返回0.
谢谢你的帮助。
答案 0 :(得分:0)
MatLab更改了SVM的指令,因为最后的MatLab版本倾向于如此早地进行舍入,并且SVM预测总是为0。