CompactRegressionSVM

Пакет: classreg.learning.regr

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

Описание

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

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

Конструкция

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

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

развернуть все

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

Свойства

развернуть все

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

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

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

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

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

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

predict метод вычисляет предсказанные значения отклика для модели как YFIT = (X/S)×Beta + Bias, whereS значение шкалы ядра, сохраненной в 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 isempty).

Типы данных: 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 isempty).

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

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

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

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

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

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

Примеры

свернуть все

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

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

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

Выборочные данные содержат 4 177 наблюдений. Все переменные предикторы непрерывны за исключением 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] Нэш, W.J., Т. Л. Селлерс, С. Р. Тэлбот, А. Дж. Которн и В. Б. Форд. Биология Населения Морского ушка (разновидности Haliotis) на Тасмании. I. Морское ушко Blacklip (H. rubra) от Северного Побережья и Островов Пролива Басса, Морского Деления Рыболовства, Технического отчета № 48, 1994.

[2] Во, S. Расширяя и Каскадная Корреляция сравнительного тестирования, Ph.D. тезис, Кафедра информатики, Университет Тасмании, 1995.

[3] Кларк, D., З. Шретер, А. Адамс. Количественное Сравнение Dystal и Backpropagation, представленного австралийской Конференции по Нейронным сетям, 1996.

[4] Личмен, M. Репозиторий Машинного обучения UCI, [http://archive.ics.uci.edu/ml]. Ирвин, CA: Калифорнийский университет, Школа Информатики и вычислительной техники.

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

Смотрите также

| | |

Введенный в R2015b