Подгонка модели опорной векторной машинной регрессии
fitrsvm обучает или перекрестно проверяет регрессионную модель машины опорных векторов (SVM) на наборе данных умеренно-размерного предиктора. fitrsvm поддерживает отображение данных предиктора с использованием функций ядра и поддерживает минимизацию мягкой границы SMO, ISDA или L1 посредством квадратичного программирования для минимизации целевой функции.
Чтобы обучить линейную регрессионную модель SVM на высокомерном наборе данных, то есть наборах данных, которые включают много переменных предиктора, используйте fitrlinear вместо этого.
Для получения информации о модели SVM для двоичной классификации см. раздел fitcsvm для наборов данных умеренно-размерных предикторов или fitclinear для высокоразмерных наборов данных.
возвращает полную модель регрессии обученной машины вектора поддержки (SVM) Mdl = fitrsvm(Tbl,ResponseVarName)Mdl обучение с использованием значений предикторов в таблице 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 + + требуется Coder™ MATLAB. Дополнительные сведения см. в разделе Введение в создание кода.
Математическую формулировку задач линейной и нелинейной регрессии SVM и алгоритмов решателя см. в разделе Общие сведения о поддержке векторной машинной регрессии.
NaN, <undefined>, пустой символьный вектор (''), пустая строка (""), и <missing> значения указывают отсутствующие значения данных. fitrsvm удаляет целые строки данных, соответствующие отсутствующему ответу. При нормализации весов fitrsvm игнорирует любой вес, соответствующий наблюдению, по меньшей мере, с одним отсутствующим предиктором. Следовательно, ограничения поля наблюдения могут не совпадать BoxConstraint.
fitrsvm удаляет наблюдения, имеющие нулевой вес.
Если установить 'Standardize',true и 'Weights', то fitrsvm стандартизирует предикторы, используя их соответствующие взвешенные средства и взвешенные стандартные отклонения. То есть fitrsvm стандартизирует предиктор j (xj) с использованием
xjk - наблюдение k (строка) предиктора j (столбец).
2.
2.
Если данные предиктора содержат категориальные переменные, то программное обеспечение обычно использует полную фиктивную кодировку для этих переменных. Программа создает одну фиктивную переменную для каждого уровня каждой категориальной переменной.
PredictorNames свойство сохраняет один элемент для каждого из исходных имен переменных предиктора. Например, предположим, что существует три предиктора, один из которых является категориальной переменной с тремя уровнями. Тогда PredictorNames является массивом ячеек 1 на 3 символьных векторов, содержащих исходные имена переменных предиктора.
ExpandedPredictorNames свойство сохраняет один элемент для каждой из переменных предиктора, включая фиктивные переменные. Например, предположим, что существует три предиктора, один из которых является категориальной переменной с тремя уровнями. Тогда ExpandedPredictorNames - клеточный массив символьных векторов, содержащий имена переменных предиктора и новых фиктивных переменных.
Аналогично, Beta свойство хранит один бета-коэффициент для каждого предиктора, включая фиктивные переменные.
SupportVectors свойство сохраняет предикторные значения для векторов поддержки, включая фиктивные переменные. Например, предположим, что существуют m векторов поддержки и три предиктора, один из которых является категориальной переменной с тремя уровнями. Тогда SupportVectors является матрицей m-на-5.
X свойство сохраняет данные обучения в том виде, в каком они были первоначально введены. Он не включает фиктивные переменные. Если вводом является таблица, X содержит только столбцы, используемые в качестве предикторов.
Для предикторов, указанных в таблице, если какая-либо из переменных содержит упорядоченные (порядковые) категории, программное обеспечение использует кодировку порядковых номеров для этих переменных.
Для переменной, имеющей k упорядоченных уровней, программа создает k-1 фиктивных переменных. j-я фиктивная переменная равна -1 для уровней до j и + 1 для уровней j + 1-k.
Имена фиктивных переменных, сохраненных в ExpandedPredictorNames свойство указывает первый уровень со значением + 1. Программа сохраняет k-1 дополнительных предикторных имен для фиктивных переменных, включая имена уровней 2, 3,..., k.
Все решатели реализуют L1 минимизацию мягких полей.
Давайте p - доля отклонений, ожидаемая в данных обучения. Если установить 'OutlierFraction',p, то программное обеспечение реализует надежное обучение. Другими словами, программное обеспечение пытается удалить 100p% наблюдений, когда алгоритм оптимизации сходится. Удаленные наблюдения соответствуют градиентам, которые являются большими по величине.
[1] Кларк, Д., З. Шретер, А. Адамс. «A Quantificative Comparison of Dystal and Backpropagation» («Количественное сравнение кристалла и обратного распространения»), представленный Австралийской конференции по нейронным сетям, 1996 год.
[2] Вентилятор, R.-E., P.-H. Чен и К.-Ж. Лин. «Выбор рабочего набора с использованием информации второго порядка для тренировочных машин поддержки векторов». Журнал исследований машинного обучения, том 6, 2005, стр. 1889-1918.
[3] Кекман В., Т. -М. Хуан и М. Фогт. «Итеративный алгоритм одиночных данных для обучения машин ядра из огромных наборов данных: теория и производительность». В поддержке векторных машин: теория и приложения. Под редакцией Липо Вана, 255-274. Берлин: Спрингер-Верлаг, 2005.
[4] Лихман, M. UCI Machine Learning Repository, [http://archive.ics.uci.edu/ml]. Ирвин, Калифорния: Калифорнийский университет, Школа информации и компьютерных наук.
[5] Нэш, У. Джей, Т. Л. Селлерс, С. Р. Толбот, А. Дж. Коуторн и У. Б. Форд. "Популяционная биология Абалоне (вид Haliotis) в Тасмании. И. Блэклип Абалоне (Х. рубра) с Северного побережья и островов Бассова пролива ". Отдел морского рыболовства, Технический доклад № 48, 1994 год.
[6] Во, С. «Расширение и сравнительный анализ каскадной корреляции: расширение каскадно-корреляционной архитектуры и сравнительный анализ управляемых вперед искусственных нейронных сетей». Факультет компьютерных наук Тасманийского университета, 1995 год.
CompactRegressionSVM | predict | RegressionPartitionedSVM | RegressionSVM