Подбирайте модель регрессии машины опорных векторов
fitrsvm
обучает или перекрестный подтверждает модель регрессии машины опорных векторов (SVM) на минимуме - через умеренно-размерный набор данных предиктора. fitrsvm
поддержки, сопоставляющие данные о предикторе с помощью функций ядра и поддержек SMO, ISDA или L 1 мягко-граничная минимизация через квадратичное программирование для минимизации целевой функции.
Чтобы обучить линейную модель регрессии SVM на высоко-размерном наборе данных, то есть, наборы данных, которые включают много переменных предикторов, используют fitrlinear
вместо этого.
Чтобы обучить модель SVM бинарной классификации, смотрите fitcsvm
для низкого - через умеренно-размерные наборы данных предиктора или fitclinear
для высоко-размерных наборов данных.
возвращает полную, обученную модель Mdl
= fitrsvm(Tbl
,ResponseVarName
)Mdl
регрессии машины опорных векторов (SVM) обученное использование значений предикторов в таблице
Tbl
и значения ответа в Tbl.ResponseVarName
.
возвращает модель регрессии SVM с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение", с помощью любого из предыдущих синтаксисов. Например, можно указать, что ядро функционирует или обучает перекрестную подтвержденную модель.Mdl
= fitrsvm(___,Name,Value
)
fitrsvm
поддержки низко - через умеренно-размерные наборы данных. Для высоко-размерного набора данных используйте fitrlinear
вместо этого.
Если ваш набор данных не является большим, всегда пытайтесь стандартизировать предикторы (см. Standardize
). Стандартизация делает предикторы нечувствительными к шкалам, по которым они измеряются.
Это - хорошая практика, чтобы перекрестный подтвердить использование KFold
аргумент пары "имя-значение". Результаты перекрестной проверки определяют, как хорошо модель SVM делает вывод.
Разреженность в векторах поддержки является желательным свойством модели SVM. Чтобы сократить число векторов поддержки, установите BoxConstraint
аргумент пары "имя-значение" большому значению. Это действие также увеличивает учебное время.
В течение оптимального учебного времени, набор CacheSize
настолько же высоко, как предел памяти на вашем компьютере позволяет.
Если вы ожидаете много меньше векторов поддержки, чем наблюдения в наборе обучающих данных, то можно значительно ускорить сходимость путем уменьшения активного набора с помощью аргумента пары "имя-значение" 'ShrinkagePeriod'
. Это - хорошая практика, чтобы использовать 'ShrinkagePeriod',1000
.
Дублирующиеся наблюдения, которые далеки от линии регрессии, не влияют на сходимость. Однако всего несколько дублирующихся наблюдений, которые происходят около линии регрессии, могут значительно замедлить сходимость. Чтобы ускорить сходимость, задайте 'RemoveDuplicates',true
если:
Ваш набор данных содержит много дублирующихся наблюдений.
Вы подозреваете, что несколько дублирующихся наблюдений могут упасть около линии регрессии.
Однако обеспечить исходный набор данных во время обучения, fitrsvm
должен временно сохранить отдельные наборы данных: оригинал и один без дублирующихся наблюдений. Поэтому, если вы задаете true
для наборов данных, содержащих немного копий, затем fitrsvm
использует близко к дважды памяти об исходных данных.
После обучения модель можно сгенерировать код C/C++, который предсказывает ответы для новых данных. Генерация кода C/C++ требует MATLAB Coder™. Для получения дополнительной информации смотрите Введение в Генерацию кода.
Для математической формулировки линейных и нелинейных проблем регрессии SVM и алгоритмов решателя, смотрите Регрессию Машины опорных векторов Понимания.
NaN
, <undefined>
, пустой символьный вектор (''
), пустая строка (""
), и <missing>
значения указывают на недостающие значения данных. fitrsvm
удаляет целые строки данных, соответствующих недостающему ответу. При нормализации весов, fitrsvm
игнорирует любой вес, соответствующий наблюдению по крайней мере с одним недостающим предиктором. Следовательно, ограничения поля наблюдения не могут равняться BoxConstraint
.
fitrsvm
удаляет наблюдения, которые имеют нулевой вес.
Если вы устанавливаете 'Standardize',true
и 'Weights'
, затем fitrsvm
стандартизирует предикторы с помощью их соответствующих взвешенных средних и взвешенных стандартных отклонений. Таким образом, fitrsvm
стандартизирует предиктор j (xj) использование
xjk является наблюдением k (строка) предиктора j (столбец).
Если ваши данные о предикторе содержат категориальные переменные, то программное обеспечение обычно использует полное фиктивное кодирование в этих переменных. Программное обеспечение создает одну фиктивную переменную для каждого уровня каждой категориальной переменной.
PredictorNames
свойство хранит один элемент для каждого из исходных имен переменного предиктора. Например, примите, что существует три предиктора, один из которых является категориальной переменной с тремя уровнями. Затем PredictorNames
1 3 массив ячеек из символьных векторов, содержащий настоящие имена переменных предикторов.
ExpandedPredictorNames
свойство хранит один элемент для каждого из переменных предикторов, включая фиктивные переменные. Например, примите, что существует три предиктора, один из которых является категориальной переменной с тремя уровнями. Затем ExpandedPredictorNames
массив ячеек из символьных векторов 1 на 5, содержащий имена переменных предикторов и новых фиктивных переменных.
Точно так же Beta
свойство хранит один бета коэффициент для каждого предиктора, включая фиктивные переменные.
SupportVectors
свойство хранит значения предиктора для векторов поддержки, включая фиктивные переменные. Например, примите, что существуют векторы поддержки m и три предиктора, один из которых является категориальной переменной с тремя уровнями. Затем SupportVectors
m-by-5 матрица.
X
свойство хранит обучающие данные, как первоначально введено. Это не включает фиктивные переменные. Когда вход является таблицей, X
содержит только столбцы, используемые в качестве предикторов.
Для предикторов, заданных в таблице, если какая-либо из переменных содержит упорядоченные (порядковые) категории, программное обеспечение использует порядковое кодирование в этих переменных.
Для переменной, заказывая k уровни, программное обеспечение создает k – 1 фиктивная переменная. j th фиктивная переменная-1 для уровней до j, и +1 для уровней j + 1 через k.
Имена фиктивных переменных сохранены в ExpandedPredictorNames
свойство указывает на первый уровень со значением +1. Программное обеспечение хранит k – 1 дополнительное имя предиктора для фиктивных переменных, включая имена уровней 2, 3..., k.
Все решатели реализуют L 1 мягко-граничная минимизация.
Позвольте p
будьте пропорцией выбросов, которые вы ожидаете в обучающих данных. Если вы устанавливаете 'OutlierFraction',p
, затем программное обеспечение реализует robust learning. Другими словами, программное обеспечение пытается удалить 100p
% из наблюдений, когда алгоритм оптимизации сходится. Удаленные наблюдения соответствуют градиентам, которые являются большими в величине.
[1] Кларк, D., З. Шретер, А. Адамс. Количественное Сравнение Dystal и Backpropagation, представленного австралийской Конференции по Нейронным сетям, 1996.
[2] Вентилятор, R.-E., P.-H. Чен и C.-J. Лин. “Выбор рабочего набора с помощью информации о втором порядке в учебных машинах опорных векторов”. Журнал Исследования Машинного обучения, Vol 6, 2005, стр 1889–1918.
[3] Кекмен V, T.-M. Хуан и М. Вогт. “Итеративный Один Алгоритм Данных для Учебных Машин Ядра от Огромных Наборов данных: Теория и Производительность”. В Машинах опорных векторов: Теория и Приложения. Отредактированный Липо Ваном, 255–274. Берлин: Springer-Verlag, 2005.
[4] Личмен, M. Репозиторий Машинного обучения UCI, [http://archive.ics.uci.edu/ml]. Ирвин, CA: Калифорнийский университет, Школа Информатики и вычислительной техники.
[5] Нэш, W.J., Т. Л. Селлерс, С. Р. Тэлбот, А. Дж. Которн и В. Б. Форд. Биология Населения Морского ушка (разновидности Haliotis) на Тасмании. I. Морское ушко Blacklip (H. rubra) от Северного Побережья и Островов Пролива Басса, Морского Деления Рыболовства, Технического отчета № 48, 1994.
[6] Во, S. Расширяя и Каскадная Корреляция сравнительного тестирования, кандидатская диссертация, Кафедра информатики, Университет Тасмании, 1995.
CompactRegressionSVM
| RegressionPartitionedSVM
| RegressionSVM
| predict