exponenta event banner

CompactRegressionSVM

Пакет: classreg.learning.regr

Компактная опорная векторная модель регрессии машины

Описание

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

Поскольку в компактной модели не хранятся данные обучения, их нельзя использовать для выполнения определенных задач, таких как перекрестная проверка. Однако можно использовать компактную регрессионную модель 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', это свойство пустое ('[]').

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

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

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

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

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

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

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

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

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

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

ОбластьОписание
Function Имя функции ядра (символьный вектор).
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Значения Шапли
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) в Тасмании. И. Блэклип Абалоне (Х. рубра) с Северного побережья и островов Бассова пролива ". Отдел морского рыболовства, Технический доклад № 48, 1994 год.

[2] Во, С. «Расширение и сравнительный анализ каскадной корреляции: расширение каскадно-корреляционной архитектуры и сравнительный анализ искусственных нейронных сетей, находящихся под контролем Feed-Forward». Факультет компьютерных наук Тасманийского университета, 1995 год.

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

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

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

.

См. также

| | |

Представлен в R2015b