Как предполагает highBandwidth, это зависит от того, используете ли вы линейный SVM или нелинейный (педантичный, если ядро не используется, это линейный классификатор с максимальным запасом, а не SVM).
Линейный классификатор с максимальным запасом ничем не отличается от любого другого линейного классификатора тем, что если процесс создания данных означает, что между атрибутами есть взаимодействия, то предоставление этих условий взаимодействия, вероятно, повысит производительность. Линейный классификатор максимального запаса скорее похож на регрессию гребня, с небольшой разницей в штрафном члене, который разработан, чтобы избежать переобучения (учитывая подходящие значения для параметра регуляризации), и в большинстве случаев регрессия гребня и классификатор максимального запаса будут давать аналогичную производительность.
Если вы считаете, что члены взаимодействия, вероятно, важны, то вы можете ввести их в пространство признаков SVM, используя полиномиальное ядро , которое даст пространство признаков, в котором каждая ось представляет моном порядка или меньше, параметр влияет на относительный вес мономов разных порядков. Таким образом, SVM с полиномиальным ядром эквивалентно подгонке полиномиальной модели к пространству атрибутов, которое неявно включает эти взаимодействия.K(x,x′)=(x⋅x′+c)ddc
При наличии достаточного количества функций любой линейный классификатор может легко соответствовать данным. IIRC и точек в «общем положении» в мерном пространстве могут быть разбиты (разделены любым произвольным образом) гиперплоскостью (см. Размерность VC). Это обычно приводит к серьезному переоснащению, поэтому его следует избегать. Смысл классификации максимального запаса состоит в том, чтобы ограничить это переопределение, добавив штрафной термин, который означает, что достигается наибольшее возможное разделение (что потребовало бы наибольшего отклонения от любого обучающего примера для получения ошибочной классификации). Это означает, что вы можете преобразовать данные в очень многомерное пространство (где линейная модель очень мощная), не подвергаясь слишком большому переоснащению.nn−1
Обратите внимание, что некоторые ядра дают бесконечномерное пространство признаков, где «тривиальная» классификация гарантируется для любой конечной обучающей выборки в общем положении. Например, ядро радиальной базисной функции, , где пространство признаков является положительным ортантом бесконечномерной гиперсферы. Такие ядра делают SVM универсальным аппроксиматором, который может представлять практически любую границу решения.K(x,x′)=exp−γ∥x−x′∥2
Однако это только часть истории. На практике мы обычно используем SVM с мягким полем, где ограничение маржи разрешено нарушать, и есть параметр регуляризации, который управляет компромиссом между максимизацией маржи (который является штрафным термином, подобным тому, который используется в регрессия гребня) и величина слабых переменных (что сродни потере на тренировочной выборке). Затем мы избегаем чрезмерной подгонки, настраивая параметр регуляризации, например, сводя к минимуму ошибку перекрестной проверки (или некоторую привязку к ошибке «оставь один раз»), как мы это сделали бы в случае регрессии гребня.
Таким образом, хотя SVM может легко классифицировать обучающий набор, он, как правило, делает это только в том случае, если параметры регуляризации и ядра выбраны неправильно. Ключом к достижению хороших результатов с любой моделью ядра является выбор подходящего ядра, а затем настройка ядра и параметров регуляризации, чтобы избежать чрезмерного или недостаточного соответствия данных.
Ответы зависят от того, используете ли вы линейный SVM или ядро SVM. В линейном SVM вы используете только те функции, которые вы ему даете, и это не учитывает взаимодействия. С Kernel SVM, в основном, вы используете много разных функций, в зависимости от того, какое ядро вы выбрали. Если есть разделяющая гиперплоскость, т. Если определяет класс, где являются функциями, тогда вы можете выполнить полную подгонку обучающих данных. Обычно вы не указываете функции, но даете ядру , которое связано с функциями, как . Посмотрите, как воспроизводятся пространства Гильберта Ядра.sign(∑Ki=1βi(x)−β0) βi,i∈{1,2,...K} K K(x1,x2)=∑Ki=1βi(x1)βi(x2)
источник