exponenta event banner

компактный

Класс: RegingSVM

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

Синтаксис

compactMdl = compact(mdl)

Описание

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

compactMdl не содержит данных обучения, тогда как mdl содержит данные обучения в свойствах mdl.X и mdl.Y.

Входные аргументы

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

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

Выходные аргументы

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

Компактная регрессионная модель SVM, возвращенная как CompactRegressionSVM модель.

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

Примеры

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

В этом примере показано, как уменьшить размер полной, обученной модели регрессии 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

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

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

Загрузить carsmall образец данных.

load carsmall
rng default  % for reproducibility

Обучение модели линейной регрессии SVM с использованием Weight в качестве предикторной переменной и MPG в качестве переменной ответа. Стандартизация данных.

mdl = fitrsvm(Weight,MPG,'Standardize',true);

Обратите внимание, что MPG содержит несколько NaN значения. При обучении модели fitrsvm удалит строки, содержащие NaN значения как из данных предиктора, так и из данных ответа. В результате обученная модель использует только 94 из 100 общих наблюдений, содержащихся в данных выборки.

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

compactMdl = compact(mdl);

compactMdl является CompactRegressionSVM модель, которая имеет те же параметры, векторы поддержки и связанные оценки, что и mdl, но больше не сохраняет данные обучения.

Отбросьте векторы поддержки и связанные оценки для уплотненной модели.

mdlOut = discardSupportVectors(compactMdl);

mdlOut является CompactRegressionSVM модель, которая имеет те же параметры, что и mdl и compactMdl, но больше не хранит векторы поддержки и связанные оценки.

Сравните размеры трех регрессионных моделей SVM, compactMdl, mdl, и mdlOut.

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

        3601       13727        2305

Уплотненная модель compactMdl потребляет 3601 байт памяти, в то время как полная модель mdl потребляет 13727 байт памяти. Модель mdlOut, которая также отбрасывает векторы поддержки, потребляет 2305 байт памяти.

Ссылки

[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