Я получаю следующую ошибку от Liblinear при попытке обучить SVM: «Ошибка: C‹= 0». Хотя очевидно, что не так, я не могу понять, в чем проблема, так как C, который я нахожу с помощью перекрестной проверки, положителен.
Это код перекрестной проверки (я удалил младший бит) для поиска C
for log2c = 2:1:6,
cmd = ['-s 2 -v 5 -c ', num2str(2^log2c)];
cv = train(labels, features, cmd);
и результат, который я получаю,
Cross Validation Accuracy = 91.6772%
bestc = 4, cv = 91.6772
Однако, когда я затем тренирую SVM, я получаю
models{i} = train(trainLabel, trainFeats, ['-s 2 -c ', bestc]);
Error: C <= 0
Если у кого-то есть предложения, они будут очень признательны!
(Кроме того, мои данные примерно на 2/3 отрицательные и на 1/3 положительные, если это имеет какое-либо значение)