exponenta event banner

Прогнозирование RegingSVM

Прогнозирование ответов с использованием регрессионной модели вспомогательного вектора (SVM)

  • Библиотека:
  • Набор инструментов для статистики и машинного обучения/регрессия

Описание

Блок прогнозирования RegingSVM предсказывает ответы с использованием объекта регрессии SVM (RegressionSVM или CompactRegressionSVM).

Импортируйте обученный объект регрессии SVM в блок, указав имя переменной рабочей области, содержащей объект. Входной порт x принимает данные наблюдения (данные предиктора), а выходной порт yfit возвращает предсказанный отклик для наблюдения.

Порты

Вход

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

Данные предиктора, заданные как вектор столбца или вектор строки одного наблюдения.

Зависимости

  • Переменные в x должны иметь тот же порядок, что и переменные предиктора, которые обучали модель SVM, заданную Select trained machine learning model.

  • Если установить 'Standardize',true в fitrsvm при обучении модели SVM, затем блок RegingSVM Predict стандартизирует значения x с использованием средств и стандартных отклонений в Mu и Sigma свойства (соответственно) модели SVM.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Продукция

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

Прогнозируемый отклик, возвращенный как скаляр.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Параметры

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

Главный

Укажите имя переменной рабочей области, содержащей RegressionSVM объект или CompactRegressionSVM объект.

При обучении модели SVM с помощью fitrsvm, применяются следующие ограничения:

  • Данные предиктора не могут включать категориальные предикторы (logical, categorical, char, string, или cell). При вводе данных обучения в таблицу предикторы должны быть числовыми (double или single). Кроме того, нельзя использовать 'CategoricalPredictors' аргумент «имя-значение». Чтобы включить категориальные предикторы в модель, выполните предварительную обработку категориальных предикторов с помощью dummyvar перед подгонкой модели.

  • Значение 'ResponseTransform' аргумент «имя-значение» должен быть 'none' (по умолчанию).

  • Значение 'KernelFunction' аргумент «имя-значение» должен быть 'gaussian', 'linear' (по умолчанию), или 'polynomial'.

Программное использование

Параметр блока: TrainedLearner
Тип: переменная рабочего пространства
Значения: RegressionSVM объект | CompactRegressionSVM объект
По умолчанию: 'svmMdl'

Типы данных

Рабочие параметры с фиксированной точкой

Укажите режим округления для операций с фиксированной точкой. Дополнительные сведения см. в разделе Округление (конструктор фиксированных точек).

Параметры блока всегда округляются до ближайшего представимого значения. Для управления округлением параметра блока введите выражение с помощью функции округления MATLAB ® в поле маски.

Программное использование

Параметр блока: RndMeth
Текст: символьный вектор
Значения: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
По умолчанию: 'Floor'

Укажите, будут ли переполнения насыщаться или переноситься.

ДействиеОбъяснениеВлияние на переполнениеПример

Установите этот флажок (on).

Возможно переполнение модели, и требуется явная защита от насыщения в сгенерированном коде.

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

Максимальное значение, int8 (со знаком 8-разрядное целое число) тип данных может представлять значение 127. Любой результат операции блока, превышающий это максимальное значение, вызывает переполнение 8-разрядного целого числа. Если флажок установлен, выходной сигнал блока насыщается на уровне 127. Аналогично, блочный выход насыщается при минимальном выходном значении -128.

Снимите этот флажок (off).

Требуется оптимизировать эффективность созданного кода.

Необходимо избегать чрезмерного указания того, как блок обрабатывает сигналы вне диапазона. Дополнительные сведения см. в разделе Устранение ошибок диапазона сигналов (Simulink).

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

Максимальное значение, int8 (со знаком 8-разрядное целое число) тип данных может представлять значение 127. Любой результат операции блока, превышающий это максимальное значение, вызывает переполнение 8-разрядного целого числа. Если флажок снят, программное обеспечение интерпретирует значение, вызывающее переполнение, как int8, что может привести к непреднамеренному результату. Например, результат блока 130 (двоичный 1000 0010), выраженный как int8 составляет -126.

Программное использование

Параметр блока: SaturateOnIntegerOverflow
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли тип данных, заданный для блока. Дополнительные сведения см. в разделе Использование параметров типа выходных данных блокировки (конструктор фиксированных точек).

Программное использование

Параметр блока: LockScale
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'
Тип данных

Укажите тип данных для вывода yfit. Тип может быть унаследован, указан непосредственно или выражен как объект типа данных, например Simulink.NumericType.

При выборе Inherit: autoблок использует правило, наследующее тип данных.

Дополнительные сведения о типах данных см. в разделе Типы данных управляющих сигналов (Simulink).

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

Программное использование

Параметр блока: OutDataTypeStr
Текст: символьный вектор
Значения: 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
По умолчанию: 'Inherit: auto'

Меньшее значение выходного диапазона yfit, которое проверяет Simulink ®.

Simulink использует минимальное значение для выполнения:

Примечание

Параметр Output minimum не насыщает и не отсекает действительный сигнал yfit. Вместо этого используйте блок «Насыщенность» (Simulink).

Программное использование

Параметр блока: OutMin
Текст: символьный вектор
Значения: '[]' | скаляр
По умолчанию: '[]'

Верхнее значение выходного диапазона yfit, которое проверяет Simulink.

Simulink использует минимальное значение для выполнения:

Примечание

Параметр Output maximum не насыщает и не отсекает действительный сигнал yfit. Вместо этого используйте блок «Насыщенность» (Simulink).

Программное использование

Параметр блока: OutMax
Текст: символьный вектор
Значения: '[]' | скаляр
По умолчанию: '[]'

Укажите тип данных параметра для вычисления ядра. Тип может быть указан непосредственно или выражен как объект типа данных, например Simulink.NumericType.

Параметр Kernel data type указывает тип данных другого параметра в зависимости от типа функции ядра указанной модели SVM. Вы указываете 'KernelFunction' аргумент «имя-значение» при обучении модели SVM.

'KernelFunction' стоимостьТип данных
'gaussian' или 'rbf'Тип данных ядра задает тип данных квадратного расстояния, D2=‖x−s‖2 для гауссова ядра G (x, s) = exp (− D2), где x - данные предиктора для наблюдения, а s - вектор поддержки.
'linear'Тип данных ядра определяет тип данных для вывода линейной функции ядра G (x, s) = xs ', где x - данные предиктора для наблюдения, а s - поддерживающий вектор.
'polynomial'Тип данных ядра определяет тип данных для вывода полиномиальной функции ядра G (x, s) = (1 + xs ') p, где x - данные предиктора для наблюдения, s - вектор поддержки, p - порядок функций ядра полинома.

Дополнительные сведения о типах данных см. в разделе Типы данных управляющих сигналов (Simulink).

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

Программное использование

Параметр блока: KernelDataTypeStr
Текст: символьный вектор
Значения: 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'uint64' | 'int64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
По умолчанию: 'double'

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

Simulink использует минимальное значение для выполнения:

Примечание

Параметр Kernel minimum не насыщает и не отсекает сигнал фактического значения вычисления ядра.

Программное использование

Параметр блока: KernelOutMin
Текст: символьный вектор
Значения: '[]' | скаляр
По умолчанию: '[]'

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

Simulink использует максимальное значение для выполнения:

Примечание

Параметр Kernel maximum не насыщает и не отсекает сигнал фактического значения вычисления ядра.

Программное использование

Параметр блока: KernelOutMax
Текст: символьный вектор
Значения: '[]' | скаляр
По умолчанию: '[]'

Характеристики блока

Типы данных

Boolean | double | fixed point | half | integer | single

Прямой проход

yes

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулей

no

Совет

  • Если используется линейная модель SVM и она имеет множество векторов поддержки, то прогнозирование может быть медленным. Для эффективного прогнозирования ответов на основе линейной модели SVM удалите векторы поддержки из RegressionSVM или CompactRegressionSVM объект с помощью discardSupportVectors.

Альтернативная функциональность

Функциональный блок MATLAB можно использовать с predict функция объекта регрессии SVM (RegressionSVM или CompactRegressionSVM). Пример см. в разделе Прогнозирование меток классов с использованием функционального блока MATLAB.

При принятии решения об использовании блока RegingSVM Predict в библиотеке Toolbox™ статистики и машинного обучения или блока MATLAB Function с помощью predict рассмотрите следующие функции:

  • При использовании блока библиотеки инструментов «Статистика и машинное обучение» для преобразования модели с плавающей запятой в фиксированную можно использовать инструмент «Фиксированная точка» (Fixed-Point Designer).

  • Поддержка массивов переменного размера должна быть включена для функционального блока MATLAB с predict функция.

  • При использовании функционального блока MATLAB можно использовать функции MATLAB для предварительной обработки или последующей обработки до или после прогнозирования в том же функциональном блоке MATLAB.

Вопросы совместимости

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

В R2021a изменилось поведение

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

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