В настоящее время я изучаю svm и задаюсь вопросом, что такое применение svm`s с линейным ядром. На мой взгляд, это должно быть что-то, что применяется для решения проблемы линейной оптимизации. Правильно ли это?
Я ценю ваш ответ!
В настоящее время я изучаю svm и задаюсь вопросом, что такое применение svm`s с линейным ядром. На мой взгляд, это должно быть что-то, что применяется для решения проблемы линейной оптимизации. Правильно ли это?
Я ценю ваш ответ!
Еще одна вещь, которую нужно добавить: линейный SVM менее подвержен переобучению, чем нелинейный. И вам нужно решить, какое ядро выбрать в зависимости от вашей ситуации: если количество функций действительно велико по сравнению с образцом обучения, просто используйте линейное ядро; если количество ваших функций невелико, но образец обучения большой, вам также может понадобиться линейное ядро, но попробуйте добавить дополнительные функции; если ваш номер функции мал (10 ^ 0 - 10 ^ 3), а номер образца является промежуточным (10 ^ 1 - 10 ^ 4), использование гауссового ядра будет лучше.
Насколько я знаю, SVM с линейным ядром обычно сравнивается с логистической регрессией.
Линейное ядро имеет некоторые преимущества, но, вероятно, (на мой взгляд) наиболее важным является тот факт, что, как правило, более быстрый способ тренироваться по сравнению с нелинейными ядрами, такими как RBF.
Если размер вашего набора данных равен гигабайтам, вы увидите, что разница в времени обучения огромна (минуты против часов).
Линейные ядра лучше всего применять для линейно разделяемых данных. Представьте, что ваш набор данных имеет только 2 функции и 2 класса. Если вы нарисуете свои образцы набора данных на диаграмме, используя 2 функции как X и Y, вы сможете увидеть, как образцы из разных классов расположены по отношению друг к другу.
Если легко провести линию, разделяющую два класса, то линейное ядро отлично подходит для задания:
Конечно, это работает со многими функциями, а не только с двумя, рендерингом многомерных пространств. Однако, если ваши данные не являются линейно разделяемыми, вам необходимо сопоставить ваши образцы в другое размерное пространство, используя такие ядра, как RBF или полином.
Кроме того, поскольку линейное ядро не выполняет никакого сопоставления, как правило, быстрее обучать ваш классификатор, чем с другими ядрами.
Применение машины носителя поддержки с линейным ядром заключается в выполнении классификации или регрессии. Он будет лучше всего работать, когда есть линейная граница решения или линейная подгонка к данным, таким образом, линейное ядро.
SVM с линейным ядром действительно является одним из самых простых классификаторов, но неудивительно, если мы получим очень высокую производительность, когда распределение данных линейно разделяется.
В этом смысле, я думаю, ваше мнение верное. Однако вам необходимо понять, что сила SVM лежит в расширении с гораздо более сложными нелинейными ядрами (например, RBF).
Одна ссылка на выбор классификаторов.