У меня есть два мультиклассовых набора данных с 5 метками, один для обучения, а другой для перекрестной проверки. Эти наборы данных хранятся в виде файлов .csv, поэтому в этом эксперименте они действуют как элемент управления.
У меня есть оболочка C ++ для libsvm и функции MATLAB для libsvm.
Для C ++ и MATLAB:
Используя SVM C-типа с ядром RBF, я перебираю 2 списка значений C и Gamma. Для каждой комбинации параметров я тренируюсь на наборе обучающих данных, а затем прогнозирую набор данных перекрестной проверки. Я сохраняю точность прогноза в 2D-карте, которая соответствует значению C и Gamma, которое дало точность.
Я воссоздал различные наборы данных обучения и перекрестной проверки много-много раз. Каждый раз точность C ++ и MATLAB различна; иногда очень много! В основном MATLAB дает более высокую точность, но иногда реализация на C ++ лучше.
Что может быть причиной этих различий? Я пытаюсь использовать те же значения C / Gamma, что и остальные параметры SVM (по умолчанию).
Не должно быть никаких существенных различий, так как коды C и Matlab используют так же svm.c
файл. Так в чем может быть причина?
Других решений пока нет …