Обычно решение заключается в том, использовать ли линейное ядро или ядро RBF (или гауссовское). Есть два основных фактора, которые следует учитывать:
- Решение задачи оптимизации для линейного ядра выполняется намного быстрее, см., Например, LIBLINEAR.
- Как правило, наилучшая возможная прогностическая производительность лучше для нелинейного ядра (или, по крайней мере, столь же хорошей, как у линейного).
Было показано, что линейное ядро является вырожденной версией RBF , поэтому линейное ядро никогда не бывает более точным, чем правильно настроенное ядро RBF. Цитирую тезис из статьи, которую я связал:
Анализ также показывает, что если был выполнен полный выбор модели с использованием ядра Гаусса, нет необходимости рассматривать линейный SVM.
Основное правило кратко изложено в практическом руководстве NTU по поддержке векторной классификации (Приложение C).
Если количество объектов велико, может не потребоваться отображать данные в пространство более высокого измерения. То есть нелинейное отображение не улучшает производительность. Использование линейного ядра достаточно хорошо, и нужно искать только параметр C.
Ваше заключение более или менее верно, но у вас есть аргумент в обратном направлении. На практике линейное ядро имеет тенденцию работать очень хорошо, когда число объектов велико (например, нет необходимости отображать пространство пространственных объектов еще более высокого размера). Типичным примером этого является классификация документов с тысячами измерений в пространстве ввода.
В этих случаях нелинейные ядра не обязательно значительно более точны, чем линейные. По сути, это означает, что нелинейные ядра теряют свою привлекательность: им требуется гораздо больше ресурсов для обучения с минимальной или нулевой прибылью в предсказательной производительности, так что зачем беспокоиться.
TL; DR
Всегда старайтесь сначала линейно, так как тренироваться намного быстрее (И тестировать). Если точности достаточно, похлопайте себя по спине для хорошо выполненной работы и переходите к следующей проблеме. Если нет, попробуйте нелинейное ядро.