Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我已经有一个训练有素的SVM模型(Mdl),该模型可以保存alpha,偏差,支持向量,支持向量标签...我想在不使用Matlab预测函数的情况下计算新功能的预测值。但是我无法获得正确的输出。
我使用一对高斯内核SVM对5个类进行分类。有关于第一个SVM模型(类1或2)的代码 %% load('Mdl.mat') %% % dicide which SVM (1-10) % load Mdl first i = 1; % the order of the SVM alpha = Mdl.BinaryLearners{i}.Alpha; Bias = Mdl.BinaryLearners{i}.Bias; Sigma = Mdl.BinaryLearners{i}.Sigma; Mu = Mdl.BinaryLearners{i}.Mu; SV = Mdl.BinaryLearners{i}.SupportVectors; % (i=1)size SVLabel = Mdl.BinaryLearners{i}.SupportVectorLabels; % Bias = Bias*Sigma + Mu; Sigma = repmat(Sigma,size(SV,1),1); Mu = repmat(Mu,size(SV,1),1); SV = SV.* Sigma + Mu; %% Newpoint = testing_feature(1,:); % size: 1x318 NewpointV = repmat(Newpoint,size(SV,1),1); % Gaussian Kernel: G(x1,x2) = exp(-||x1-x2||^2) GaussianV = exp( -((sqrt((NewpointV-SV).^2)).^2) ); % size: 7340x318 yn = repmat( alpha .* SVLabel ,1,318) .* GaussianV; % yn = sum(yn); yn = (sum(yn)+Bias)/size(SV,1); p = sum(yn)/size(SV,2); 该标签已经分类为1类。我认为,如果p为正,则该特征将为1类;如果p为负,则该特征将为2类。但是,我得到的p的值为负。如何获得正确的价值? 更多&回答... |
![]() |
![]() |