【发布时间】:2014-08-05 19:33:27
【问题描述】:
我正在研究使用 HOG 和 LBP 两种不同功能进行检测的人。我使用 SVM 来训练正样本和负样本。在这里,我想问一下如何提高SVM本身的准确性?因为,每次我添加更多的正负样本时,准确性总是在下降。目前我的正样本是1500,负样本是700。
%extract features
[fpos,fneg] = features(pathPos, pathNeg);
%train SVM
HOG_featV = loadingV(fpos,fneg); % loading and labeling each training example
fprintf('Training SVM..\n');
%L = ones(length(SV),1);
T = cell2mat(HOG_featV(2,:));
HOGtP = HOG_featV(3,:)';
C = cell2mat(HOGtP); % each row of P correspond to a training example
%extract features from LBP
[LBPpos,LBPneg] = LBPfeatures(pathPos, pathNeg);
LBP_featV = loadingV(LBPpos, LBPneg);
LBPlabel = cell2mat(LBP_featV(2,:));
LBPtP = LBP_featV(3,:);
M = cell2mat(LBPtP)'; % each row of P correspond to a training example
featureVector = [C M];
model = svmlearn(featureVector, T','-t 2 -g 0.3 -c 0.5');
有人知道如何找到最佳的 C 和 Gamma 值来提高 SVM 的准确性吗?
谢谢,
【问题讨论】:
标签: matlab image-processing svm feature-extraction