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 пуст ('[]').

Типы данных: 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Отбросьте векторы поддержки
потеряОшибка регрессии для модели регрессии машины вектора поддержки
предсказатьПредскажите ответы с помощью модели регрессии машины вектора поддержки

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

Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

свернуть все

Этот пример показывает, как уменьшать размер полного, обучил модель регрессии 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. Расширяя и Каскадная Корреляция сравнительного тестирования, кандидатская диссертация, Кафедра информатики, Университет Тасмании, 1995.

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

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

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

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

| | | |

Введенный в R2015b