CompactRegressionSVM

Пакет: classreg.learning.regr

Компактная машина опорных векторов

Описание

CompactRegressionSVM является компактной машиной опорных векторов (SVM) регрессионной моделью. Он потребляет меньше памяти, чем полная, обученная модель машины опорных векторов (RegressionSVM model), потому что он не хранит данные, используемые для обучения модели.

Поскольку компактная модель не хранит обучающие данные, вы не можете использовать ее для выполнения определенных задач, таких как перекрестная валидация. Однако можно использовать компактную регрессионую модель SVM для предсказания откликов с помощью новых входных данных.

Конструкция

compactMdl = compact(mdl) возвращает компактную регрессионую модель SVM compactMdl из полной, обученной регрессионой модели SVM, mdl. Для получения дополнительной информации смотрите compact.

Входные параметры

расширить все

Полная, обученная регрессионая модель SVM, заданная как RegressionSVM модель, возвращенная fitrsvm.

Свойства

расширить все

Двойственные коэффициенты задачи, заданные как вектор числовых значений. Alpha содержит m элементов, где m - количество поддержки векторов в обученной регрессионой модели SVM. Двойственная задача вводит два множителя Лагранжа для каждого вектора поддержки. Значения Alpha являются различиями между двумя предполагаемыми множителями Лагранжа для поддерживающих векторов. Для получения дополнительной информации смотрите Понимание Машины опорных векторов регрессия.

Если вы задали, чтобы удалить дубликаты с помощью RemoveDuplicatesзатем для определенного набора повторяющихся наблюдений, которые являются поддерживающими векторами, Alpha содержит один коэффициент, соответствующий всему множеству. То есть MATLAB® приписывает ненулевый коэффициент одному наблюдению из множества дубликатов и коэффициенту 0 ко всем другим повторяющимся наблюдениям в наборе.

Типы данных: single | double

Основные линейные коэффициенты задачи, сохраненные как числовой вектор длины p, где p - количество предикторов в регрессионой модели SVM.

Значения в Beta являются линейными коэффициентами для основной задачи оптимизации.

Если модель получена с помощью функции ядра, отличной от 'linear', это свойство пустое ('[]').

The predict метод вычисляет предсказанные значения отклика для модели как YFIT = (X/S)×Beta + Bias, где S - значение шкалы ядра, сохраненное в KernelParameters.Scale свойство.

Типы данных: double

Термин смещения в регрессионной модели SVM, сохраненный в виде скалярного значения.

Типы данных: double

Категориальные индексы предиктора, заданные как вектор положительных целых чисел. CategoricalPredictors содержит значения индекса, соответствующие столбцам данных предиктора, которые содержат категориальные предикторы. Если ни один из предикторов не является категориальным, то это свойство пустое ([]).

Типы данных: single | double

Расширенные имена предикторов, сохраненные как массив ячеек из векторов символов.

Если модель использует кодировку для категориальных переменных, то ExpandedPredictorNames включает имена, которые описывают расширенные переменные. В противном случае ExpandedPredictorNames то же, что и PredictorNames.

Типы данных: cell

Параметры функции ядра, сохраненные как структура со следующими полями.

ОбластьОписание
Function Имя функции ядра (a вектора символов).
ScaleЧисленный масштабный коэффициент, используемый для деления значений предиктора.

Можно задать значения для KernelParameters.Function и KernelParameters.Scale при помощи KernelFunction и KernelScale аргументы пары "имя-значение" в fitrsvm, соответственно.

Типы данных: struct

Предиктор означает, сохраненный как вектор числовых значений.

Если обучающие данные стандартизированы, то Mu является числовым вектором длины p, где p - количество предикторов, используемых для обучения модели. В этом случае predict матрица предикторов центров методов X путем вычитания соответствующего элемента Mu из каждого столбца.

Если обучающие данные не стандартизированы, то Mu пуст ('[]').

Типы данных: single | double

Имена предиктора, сохраненные как массив ячеек из векторов символов, содержащий имя каждого предиктора в том порядке, в котором они появляются X. PredictorNames имеет длину, равную количеству столбцов в X.

Типы данных: cell

Имя переменной отклика, сохраненное как вектор символов.

Типы данных: char

Функция преобразования отклика, заданная как 'none' или указатель на функцию. ResponseTransform описывает, как программное обеспечение преобразует значения необработанного отклика.

Для функции MATLAB или функции, которую вы задаете, введите указатель на функцию. Для примера можно ввести Mdl.ResponseTransform = @function, где function принимает числовой вектор исходных откликов и возвращает числовой вектор того же размера, содержащий преобразованные отклики.

Типы данных: char | function_handle

Стандартные отклонения предиктора, сохраненные как вектор числовых значений.

Если обучающие данные стандартизированы, то Sigma является числовым вектором длины p, где p - количество предикторов, используемых для обучения модели. В этом случае predict метод масштабирует матрицу предиктора X путем деления каждого столбца на соответствующий элемент Sigma, после центрирования каждого элемента с помощью Mu.

Если обучающие данные не стандартизированы, то Sigma пуст ('[]').

Типы данных: single | double

Поддерживающие векторы, сохраненные как m -by - p матрица числовых значений. m - количество векторов поддержки (sum(Mdl.IsSupportVector)), и p количество предикторов в X.

Если вы задали, чтобы удалить дубликаты с помощью RemoveDuplicates, затем для заданного набора повторяющихся наблюдений, которые являются поддерживающими векторами, SupportVectors содержит один уникальный вектор поддержки.

Типы данных: single | double

Функции объекта

discardSupportVectorsСбросьте поддерживающие векторы
incrementalLearnerПреобразуйте машину опорных векторов (SVM) регрессионую модель в инкрементальную обучающуюся
limeЛокальные интерпретируемые модели-агностические объяснения (LIME)
lossОшибка регрессии для модели регрессии машины опорных векторов
partialDependenceВычисление частичной зависимости
plotPartialDependenceСоздайте график частичной зависимости (PDP) и отдельные графики условного ожидания (ICE)
predictСпрогнозируйте ответы, используя модель машины опорных векторов
shapleyЗначения Shapley
updateОбновите параметры модели для генерации кода

Копировать семантику

Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

Этот пример показывает, как уменьшить размер полной, обученной регрессионой модели SVM путем отбрасывания обучающих данных и некоторой информации, связанной с процессом обучения.

Этот пример использует данные abalone из репозитория машинного обучения UCI. Загрузите данные и сохраните их в текущей директории с именем 'abalone.data'. Считайте данные в table.

tbl = readtable('abalone.data','Filetype','text','ReadVariableNames',false);
rng default  % for reproducibility

В выборочные данные содержится 4177 наблюдений. Все переменные предиктора непрерывны, за исключением sex, которая является категориальной переменной с возможными значениями 'M' (для мужчин), 'F' (для женщин), и 'I' (для младенцев). Цель состоит в том, чтобы предсказать количество звонков на абалоне, и тем самым определить ее возраст, используя физические измерения.

Обучите регрессионую модель SVM с помощью функции Гауссова ядра и автоматической шкалы ядра. Стандартизируйте данные.

mdl = fitrsvm(tbl,'Var9','KernelFunction','gaussian','KernelScale','auto','Standardize',true)
mdl = 

  RegressionSVM
           PredictorNames: {1x8 cell}
             ResponseName: 'Var9'
    CategoricalPredictors: 1
        ResponseTransform: 'none'
                    Alpha: [3635x1 double]
                     Bias: 10.8144
         KernelParameters: [1x1 struct]
                       Mu: [1x10 double]
                    Sigma: [1x10 double]
          NumObservations: 4177
           BoxConstraints: [4177x1 double]
          ConvergenceInfo: [1x1 struct]
          IsSupportVector: [4177x1 logical]
                   Solver: 'SMO'


  Properties, Methods

Компактность модели.

compactMdl = compact(mdl)
compactMdl = 

  classreg.learning.regr.CompactRegressionSVM
           PredictorNames: {1x8 cell}
             ResponseName: 'Var9'
    CategoricalPredictors: 1
        ResponseTransform: 'none'
                    Alpha: [3635x1 double]
                     Bias: 10.8144
         KernelParameters: [1x1 struct]
                       Mu: [1x10 double]
                    Sigma: [1x10 double]
           SupportVectors: [3635x10 double]


  Properties, Methods

Уплотненная модель отбрасывает обучающие данные и некоторую информацию, связанную с процессом обучения.

Сравните размер полной модели mdl и компактную модель compactMdl.

vars = whos('compactMdl','mdl');
[vars(1).bytes,vars(2).bytes]
ans =

      323793      775968

Уплотненная модель потребляет около половины памяти полной модели.

Ссылки

[1] Нэш, У. Дж., Т. Л. Селлерс, С. Р. Тальбот, А. Дж. Коуторн и У. Б. Форд. "Популяционная биология Абалоне (виды Haliotis) в Тасмании. I. Blacklip Abalone (H. rubra) с Северного побережья и островов пролива Басс ". Деление морского рыболовства, технический доклад № 48, 1994 год.

[2] Waugh, S. «Extending and Benchmarking Cascade-Correlation: Extensions to the Cascade-Correlation Architecture and Benchmarking of Feed-Forward Supervied Neural Networds». Тасманийский университет, кафедра компьютерных наук, 1995 год.

[3] Кларк, Д., З. Шретер, А. Адамс. «A Quantitative Comparison of Dystal and Backpropagation». представлено на Австралийской конференции по нейронным сетям, 1996.

[4] Лихман, M. UCI Machine Learning Repository, [http://archive.ics.uci.edu/ml]. Ирвин, Калифорнийский университет, Школа информации и компьютерных наук.

Расширенные возможности

.

См. также

| | |

Введенный в R2015b