В -SVR параметр используется для определения доли числа векторов поддержки, которые вы хотите сохранить в своем решении, по отношению к общему количеству выборок в наборе данных. В -SVR параметр вводится в постановку задачи оптимизации и оценивается автоматически (оптимально) для вас.ν ν ϵνννϵ
Однако в -SVR вы не можете контролировать, сколько векторов данных из набора данных станут опорными векторами, их может быть несколько, может быть много. Тем не менее, вы будете иметь полный контроль над тем, сколько ошибок вы допустите для вашей модели, и все, что находится за пределами указанного значения будет оштрафовано пропорционально , который является параметром регуляризации.ϵ CϵϵC
В зависимости от того, что я хочу, я выбираю между двумя. Если я действительно отчаянно нуждаюсь в небольшом решении (меньшее количество векторов поддержки), я выбираю -SVR и надеюсь получить приличную модель. Но если я действительно хочу контролировать количество ошибок в моей модели и стремиться к лучшей производительности, я выбираю -SVR и надеюсь, что модель не слишком сложна (много векторов поддержки).ϵνϵ
Мне нравятся ответы Пабло и Марка. Еще один момент:
В статье, цитируемой Марком, написано (раздел 4)
«Мотивация -SVR заключается в том, что может быть нелегко определить параметр . Следовательно, здесь нас интересует возможный диапазон . Как и следовало ожидать, результаты показывают, что связан с целевыми значениями .ν ϵ ϵ ϵ y
[...]
Поскольку на эффективный диапазон влияют целевые значения , способ решить эту проблему для -SVM состоит в масштабировании целевых значений перед тренировкой данных. Например, если все целевые значения масштабируются до , то эффективный диапазон будет равен , так же, как и у . Тогда может быть проще выбрать . "ϵ y ϵ [−1,+1] ϵ [0,1] ν ϵ
Это заставляет меня думать, что проще масштабировать целевые переменные и использовать -SVR, чем пытаться решить, использовать ли или SVR.ϵ ϵ− ν−
Что вы думаете?
источник