ClassificationNeuralNetwork Predict

Классифицируйте наблюдения с помощью модели классификации нейронных сетей

  • Библиотека:
  • Statistics and Machine Learning Toolbox / Классификация

  • ClassificationNeuralNetwork Predict Block Icon

Описание

Блок ClassificationNeuralNetwork Predict классифицирует наблюдения с помощью объекта классификации нейронных сетей (ClassificationNeuralNetwork или CompactClassificationNeuralNetwork) для классификации мультиклассов.

Импортируйте обученный объект классификации в блок путем определения имени переменной рабочей области, которая содержит объект. Входной порт x получает наблюдение (данные о предикторе), и выходной порт label, возвращает предсказанную метку класса для наблюдения. Можно добавить дополнительный выходной порт score, который возвращает предсказанные баллы класса или апостериорные вероятности.

Порты

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

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

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

Зависимости

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

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

Вывод

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

Предсказанная метка класса, возвращенная как скаляр. Предсказанный класс является классом, который минимизирует ожидаемую стоимость классификации. Для получения дополнительной информации смотрите раздел More About predict страница ссылки на функцию.

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

Предсказанные баллы класса или апостериорные вероятности, возвращенные как вектор-строка из размера 1 k, где k является количеством классов в модели нейронной сети. Классификационная оценка Score(i) представляет апостериорную вероятность, что наблюдение в x принадлежит, чтобы классифицировать i.

Чтобы проверять порядок классов, используйте ClassNames свойство модели нейронной сети задано Select trained machine learning model.

Зависимости

Чтобы включить этот порт, установите флажок для Add output port for predicted class scores на вкладке Main диалогового окна Block Parameters.

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

Параметры

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

Основной

Задайте имя переменной рабочей области, которая содержит ClassificationNeuralNetwork объект или CompactClassificationNeuralNetwork объект.

Когда вы обучаете модель при помощи fitcnet, следующие ограничения применяются:

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

  • Значение 'ScoreTransform' аргументом значения имени не может быть 'invlogit' или анонимная функция.

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

Параметры блоков: TrainedLearner
Ввод: переменная рабочей области
Значения: ClassificationNeuralNetwork возразите | CompactClassificationNeuralNetwork объект
Значение по умолчанию: 'nnetMdl'

Установите флажок, чтобы включать второй выходной порт score в блок ClassificationNeuralNetwork Predict.

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

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

Типы данных

Фиксированная точка операционные параметры

Задайте округляющийся режим для операций фиксированной точки. Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).

Параметры блоков всегда вокруг к самому близкому представимому значению. Чтобы управлять округлением параметров блоков, введите выражение с помощью 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'

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили тип данных, который вы задаете для блока. Для получения дополнительной информации смотрите, что Тип Выходных данных Блокировки Использования Устанавливает (Fixed-Point Designer).

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

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

Задайте тип данных для label выход. Тип может быть наследован в виде перечислимого типа данных или описан как объект типа данных, такой как Simulink.NumericType.

Когда вы выбираете наследованную опцию, программное обеспечение ведет себя можно следующим образом:

  • Inherit: Inherit via back propagation (значение по умолчанию для числовых и логических меток) — Simulink автоматически определяет Label data type блока во время распространения типа данных (см. Распространение Типа данных (Simulink)). В этом случае блок использует тип данных нисходящего блока или объекта сигнала.

  • Inherit: auto (значение по умолчанию для нечисловых меток) — блок использует автозаданную перечислимую переменную типа данных. Например, предположите имя переменной рабочей области, заданное Select trained machine learning model myMdl, и метками класса является  class 1 и  class 2. Затем соответствующими значениями label является myMdl_enumLabels.class_1 и myMdl_enumLabels.class_2. Блок преобразует метки класса в допустимые идентификаторы MATLAB при помощи matlab.lang.makeValidName функция.

Для получения дополнительной информации о типах данных, смотрите Типы данных Управления Сигналов (Simulink).

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).

Зависимости

Поддерживаемые типы данных зависят от меток, используемых в модели, заданной Select trained machine learning model.

  • Если модель использует числовые или логические метки, поддерживаемыми типами данных является Inherit: Inherit via back propagation (значение по умолчанию), doubleединственный, halfint8uint8int16uint16int32uint32int64uint64, boolean, фиксированная точка и объект типа данных.

  • Если модель использует нечисловые метки, поддерживаемыми типами данных является Inherit: auto (значение по умолчанию), Enum: <class name>, и объект типа данных.

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

Параметры блоков: LabelDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Inherit via back propagation' | '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)' | 'Enum: <class name>' | '<data type expression>'
Значение по умолчанию: 'Inherit: Inherit via back propagation' (для числовых и логических меток) | 'Inherit: auto' (для нечисловых меток)

Нижнее значение label область значений выхода, что Simulink® проверки.

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

Примечание

Параметр Label minimum не насыщает или отсекает фактический выходной сигнал label. Используйте блок Saturation (Simulink) вместо этого.

Зависимости

Можно задать этот параметр только если модель, заданная Select trained machine learning model использует числовые метки.

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

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

Верхнее значение label область значений выхода это Simulink Check.

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

Примечание

Параметр Label maximum не насыщает или отсекает фактический выходной сигнал label. Используйте блок Saturation (Simulink) вместо этого.

Зависимости

Можно задать этот параметр только если модель, заданная Select trained machine learning model использует числовые метки.

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

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

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

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

Для получения дополнительной информации о типах данных, смотрите Типы данных Управления Сигналов (Simulink).

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).

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

Параметры блоков: ScoreDataTypeStr
Ввод: символьный вектор
Значения: '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'

Нижнее значение score область значений выхода это Simulink Check.

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

Примечание

Параметр Score minimum не насыщает или отсекает фактический сигнал score. Используйте блок Saturation (Simulink) вместо этого.

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

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

Верхнее значение score область значений выхода это Simulink Check.

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

Примечание

Параметр Score maximum не насыщает или отсекает фактический сигнал score. Используйте блок Saturation (Simulink) вместо этого.

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

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

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

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

Для получения дополнительной информации о типах данных, смотрите Типы данных Управления Сигналов (Simulink).

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).

Зависимости

Можно задать этот параметр только если модель, заданная Select trained machine learning model использует преобразование счета кроме 'none' (значение по умолчанию, то же самое как 'identity').

  • Если модель не использует преобразований счета ('none' или 'identity'), затем можно задать тип данных счета при помощи Score data type.

  • Если модель использует преобразование счета кроме 'none' или 'identity', затем можно задать тип данных непреобразованных необработанных баллов при помощи этого параметра и задать тип данных преобразованных баллов при помощи Score data type.

Можно изменить опцию преобразования счета путем определения 'ScoreTransform' аргумент значения имени во время обучения, или путем изменения ScoreTransform свойство после обучения.

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

Параметры блоков: RawScoreDataTypeStr
Ввод: символьный вектор
Значения: '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'

Нижнее значение непреобразованной области значений счета это Simulink Check.

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

Примечание

Параметр Raw score minimum не насыщает или отсекает фактический непреобразованный сигнал счета.

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

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

Верхнее значение непреобразованной области значений счета это Simulink Check.

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

Примечание

Параметр Raw score maximum не насыщает или отсекает фактический непреобразованный сигнал счета.

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

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

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

Когда вы выбираете Inherit: Inherit via internal rule, блок использует внутреннее правило, чтобы определить тип выходных данных. Внутреннее правило выбирает тип данных, который оптимизирует числовую точность, эффективность и размер сгенерированного кода, при принятии во внимание свойств оборудования целевого процессора. Программное обеспечение не может всегда оптимизировать КПД и числовую точность одновременно.

Для получения дополнительной информации о типах данных, смотрите Типы данных Управления Сигналов (Simulink).

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).

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

Параметры блоков: OutputLayerDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Inherit via internal rule' | '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'

Нижнее значение выходной области значений внутренней переменной слоя проверило Simulink.

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

Примечание

Параметр Output layer minimum не насыщает или отсекает выходной сигнал значения слоя.

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

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

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

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

Примечание

Параметр Output layer maximum не насыщает или отсекает выходной сигнал значения слоя.

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

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

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

Когда вы выбираете Inherit: Inherit via internal rule, блок использует внутреннее правило, чтобы определить тип данных. Внутреннее правило выбирает тип данных, который оптимизирует числовую точность, эффективность и размер сгенерированного кода, при принятии во внимание свойств оборудования целевого процессора. Программное обеспечение не может всегда оптимизировать КПД и числовую точность одновременно.

Для получения дополнительной информации о типах данных, смотрите Типы данных Управления Сигналов (Simulink).

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).

Советы

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

  • Можно задать тип данных для каждого отдельного слоя для первых 10 слоев. Задайте тип данных Layer n data type для каждого слоя. Типом данных первого слоя является Layer 1 data type, типом данных второго слоя является Layer 2 data type и так далее.

  • Можно задать тип данных для слоев 11 к k, где k является общим количеством слоев, при помощи типа данных Additional layer(s) data type. Параметрами блоков для Additional layer(s) data type является Layer11DataTypeStr.

  • Типы данных Layer n data type и Additional layer(s) data type могут быть наследованы, заданы непосредственно или описаны как объект типа данных, такой как Simulink.NumericType. Эти типы данных поддерживают те же значения как Layer 1 data type.

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

Параметры блоков: Layer1DataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Inherit via internal rule' | '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'

Нижнее значение области значений внутренней переменной первого слоя проверило Simulink.

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

Примечание

Параметр Layer 1 minimum не насыщает или отсекает первый сигнал значения слоя.

Советы

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

  • Можно указать, что нижнее значение области значений внутренней переменной каждого отдельного слоя проверило Simulink для первых 10 слоев. Задайте нижнее значение Layer n minimum для каждого слоя. Минимальным значением первого слоя является Layer 1 minimum, минимальным значением второго слоя является Layer 2 minimum и так далее.

  • Можно задать нижнее значение для слоев 11 к k, где k является общим количеством слоев, при помощи Additional layer(s) minimum. Параметрами блоков для Additional layer(s) minimum является Layer11OutMin.

  • Layer n minimum и Additional layer(s) minimum поддерживают те же значения как Layer 1 minimum.

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

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

Верхнее значение области значений внутренней переменной первого слоя проверило Simulink.

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

Примечание

Параметр Layer 1 maximum не насыщает или отсекает первый сигнал значения слоя.

Советы

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

  • Можно указать, что верхнее значение области значений внутренней переменной каждого отдельного слоя проверило Simulink для первых 10 слоев. Задайте верхнее значение Layer n maximum для каждого слоя. Максимальным значением первого слоя является Layer 1 maximum, максимальным значением второго слоя является Layer 2 maximum и так далее.

  • Можно задать верхнее значение для слоев 11 к k, где k является общим количеством слоев, при помощи Additional layer(s) maximum. Параметрами блоков для Additional layer(s) maximum является Layer11OutMax.

  • Layer n maximum и Additional layer(s) maximum поддерживают те же значения как Layer 1 maximum.

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

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

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

Типы данных

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

Прямое сквозное соединение

yes

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

no

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

no

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

no

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Преобразование фиксированной точки
Спроектируйте и симулируйте системы фиксированной точки с помощью Fixed-Point Designer™.

Введенный в R2021b
Для просмотра документации необходимо авторизоваться на сайте