exponenta event banner

предсказать

Прогнозирование ответов с использованием обученной нейронной сети глубокого обучения

Описание

Вы можете делать прогнозы, используя обученную нейронную сеть для глубокого обучения на CPU или GPU. Для использования графического процессора требуется Toolbox™ параллельных вычислений и поддерживаемое устройство графического процессора. Сведения о поддерживаемых устройствах см. в разделе Поддержка графического процессора по выпуску (Parallel Computing Toolbox). Укажите требования к оборудованию с помощью ExecutionEnvironment аргумент пары имя-значение.

YPred = predict(net,imds) предсказывает отклики для данных изображения в imds с использованием обученного SeriesNetwork или DAGNetwork объект net. Для dlnetwork ввод, см. predict.

YPred = predict(net,ds) предсказывает ответы для данных в хранилище данных ds.

YPred = predict(net,tbl) предсказывает ответы для данных в таблице tbl.

пример

YPred = predict(net,X) предсказывает отклики для изображения или данных элемента в числовом массиве X.

YPred = predict(net,X1,...,XN) предсказывает отклики на данные в числовых массивах X1, …, XN для mutli-input сети net. Вход Xi соответствует сетевому входу net.InputNames(i).

[YPred1,...,YPredM] = predict(___) предсказывает ответы для M выходы многовыходной сети с использованием любого из предыдущих синтаксисов. Продукция YPredj соответствует сетевому выходу net.OutputNames(j). Для возврата категориальных выходных уровней классификации установите значение 'ReturnCategorical' опция для true.

пример

YPred = predict(net,sequences) предсказывает ответы для последовательности или данных временных рядов в sequences использование обученной повторяющейся сети (например, сети LSTM или GRU) net.

пример

___ = predict(___,Name,Value) предсказывает ответы с дополнительными параметрами, заданными одним или несколькими аргументами пары имя-значение.

Совет

При составлении прогнозов с последовательностями различной длины размер мини-партии может влиять на количество дополнений, добавляемых к входным данным, что может привести к различным прогнозируемым значениям. Попробуйте использовать различные значения, чтобы увидеть, что лучше всего подходит для вашей сети. Чтобы указать размер мини-пакета и параметры заполнения, используйте 'MiniBatchSize' и 'SequenceLength' соответственно.

Примеры

свернуть все

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

[XTrain,YTrain] = digitTrain4DArrayData;

digitTrain4DArrayData загружает набор обучающих цифр 4-D виде данных массива. XTrain множество 28 на 28 на 1 на 5000, где 28 высота, и 28 ширина изображений. 1 - количество каналов, а 5000 - количество синтетических изображений рукописных цифр. YTrain - категориальный вектор, содержащий метки для каждого наблюдения.

Построение архитектуры сверточной нейронной сети.

layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(5,20)
    reluLayer
    maxPooling2dLayer(2,'Stride',2)
    fullyConnectedLayer(10)
    softmaxLayer
    classificationLayer];

Установите параметры по умолчанию для стохастического градиентного спуска с импульсом.

options = trainingOptions('sgdm');

Обучение сети.

rng('default')
net = trainNetwork(XTrain,YTrain,layers,options);
Training on single CPU.
Initializing input data normalization.
|========================================================================================|
|  Epoch  |  Iteration  |  Time Elapsed  |  Mini-batch  |  Mini-batch  |  Base Learning  |
|         |             |   (hh:mm:ss)   |   Accuracy   |     Loss     |      Rate       |
|========================================================================================|
|       1 |           1 |       00:00:00 |       10.16% |       2.3195 |          0.0100 |
|       2 |          50 |       00:00:03 |       50.78% |       1.7102 |          0.0100 |
|       3 |         100 |       00:00:06 |       63.28% |       1.1632 |          0.0100 |
|       4 |         150 |       00:00:08 |       60.16% |       1.0859 |          0.0100 |
|       6 |         200 |       00:00:12 |       68.75% |       0.8997 |          0.0100 |
|       7 |         250 |       00:00:16 |       76.56% |       0.7919 |          0.0100 |
|       8 |         300 |       00:00:20 |       73.44% |       0.8411 |          0.0100 |
|       9 |         350 |       00:00:23 |       81.25% |       0.5512 |          0.0100 |
|      11 |         400 |       00:00:27 |       89.84% |       0.4745 |          0.0100 |
|      12 |         450 |       00:00:31 |       92.19% |       0.3614 |          0.0100 |
|      13 |         500 |       00:00:34 |       94.53% |       0.3160 |          0.0100 |
|      15 |         550 |       00:00:38 |       96.09% |       0.2543 |          0.0100 |
|      16 |         600 |       00:00:41 |       92.19% |       0.2765 |          0.0100 |
|      17 |         650 |       00:00:45 |       95.31% |       0.2460 |          0.0100 |
|      18 |         700 |       00:00:48 |       99.22% |       0.1419 |          0.0100 |
|      20 |         750 |       00:00:52 |       98.44% |       0.1000 |          0.0100 |
|      21 |         800 |       00:00:55 |       98.44% |       0.1449 |          0.0100 |
|      22 |         850 |       00:00:58 |       98.44% |       0.0989 |          0.0100 |
|      24 |         900 |       00:01:02 |       96.88% |       0.1315 |          0.0100 |
|      25 |         950 |       00:01:06 |      100.00% |       0.0859 |          0.0100 |
|      26 |        1000 |       00:01:09 |      100.00% |       0.0701 |          0.0100 |
|      27 |        1050 |       00:01:13 |      100.00% |       0.0759 |          0.0100 |
|      29 |        1100 |       00:01:17 |       99.22% |       0.0663 |          0.0100 |
|      30 |        1150 |       00:01:21 |       98.44% |       0.0776 |          0.0100 |
|      30 |        1170 |       00:01:22 |       99.22% |       0.0731 |          0.0100 |
|========================================================================================|

Запустите обученную сеть на тестовом наборе и спрогнозируйте результаты.

[XTest,YTest] = digitTest4DArrayData;
YPred = predict(net,XTest);

predictпо умолчанию использует графический процессор CUDA ® с возможностью вычислений 3.0, если он доступен. Можно также выбрать запуск predict на CPU с использованием 'ExecutionEnvironment','cpu' аргумент пары имя-значение.

Отображение первых 10 изображений в тестовых данных и сравнение с прогнозами из predict.

YTest(1:10,:)
ans = 10x1 categorical
     0 
     0 
     0 
     0 
     0 
     0 
     0 
     0 
     0 
     0 

YPred(1:10,:)
ans = 10x10 single matrix

    0.9978    0.0001    0.0008    0.0002    0.0003    0.0000    0.0004    0.0000    0.0002    0.0003
    0.8878    0.0000    0.0476    0.0001    0.0000    0.0002    0.0029    0.0001    0.0014    0.0599
    0.9998    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0001
    0.9814    0.0000    0.0000    0.0000    0.0000    0.0000    0.0046    0.0000    0.0011    0.0129
    0.9746    0.0000    0.0134    0.0003    0.0000    0.0000    0.0002    0.0004    0.0111    0.0001
    0.9873    0.0000    0.0001    0.0000    0.0000    0.0000    0.0007    0.0000    0.0072    0.0046
    0.9981    0.0000    0.0000    0.0000    0.0000    0.0000    0.0019    0.0000    0.0000    0.0000
    1.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000
    0.9265    0.0000    0.0046    0.0000    0.0006    0.0009    0.0001    0.0000    0.0018    0.0655
    0.9327    0.0000    0.0140    0.0012    0.0001    0.0001    0.0378    0.0000    0.0111    0.0031

YTest содержит цифры, соответствующие изображениям в XTest. Столбцы YPred содержать predict«Оценка вероятности того, что изображение содержит определенную цифру». То есть первый столбец содержит оценку вероятности того, что данное изображение является цифрой 0, второй столбец содержит оценку вероятности того, что изображение является цифрой 1, третий столбец содержит оценку вероятности того, что изображение является цифрой 2, и так далее. Вы можете видеть, что predictОценка вероятностей для правильных цифр составляет почти 1, а вероятность для любой другой цифры - почти 0. predict правильно оценивает первые 10 наблюдений как цифру 0.

Загрузить предварительно обученную сеть. JapaneseVowelsNet является предварительно обученной сетью LSTM, обученной на наборе данных Vowels на японском языке, как описано в [1] и [2]. Его обучали последовательностям, отсортированным по длине последовательности с размером мини-партии 27.

load JapaneseVowelsNet

Просмотр сетевой архитектуры.

net.Layers
ans = 
  5x1 Layer array with layers:

     1   'sequenceinput'   Sequence Input          Sequence input with 12 dimensions
     2   'lstm'            LSTM                    LSTM with 100 hidden units
     3   'fc'              Fully Connected         9 fully connected layer
     4   'softmax'         Softmax                 softmax
     5   'classoutput'     Classification Output   crossentropyex with '1' and 8 other classes

Загрузите данные теста.

[XTest,YTest] = japaneseVowelsTestData;

Сделайте прогнозы на тестовых данных.

YPred = predict(net,XTest);

Просмотрите оценки прогноза для первых 10 последовательностей.

YPred(1:10,:)
ans = 10x9 single matrix

    0.9918    0.0000    0.0000    0.0000    0.0006    0.0010    0.0001    0.0006    0.0059
    0.9868    0.0000    0.0000    0.0000    0.0006    0.0010    0.0001    0.0010    0.0105
    0.9924    0.0000    0.0000    0.0000    0.0006    0.0010    0.0001    0.0006    0.0054
    0.9896    0.0000    0.0000    0.0000    0.0006    0.0009    0.0001    0.0007    0.0080
    0.9965    0.0000    0.0000    0.0000    0.0007    0.0009    0.0000    0.0003    0.0016
    0.9888    0.0000    0.0000    0.0000    0.0006    0.0010    0.0001    0.0008    0.0087
    0.9886    0.0000    0.0000    0.0000    0.0006    0.0010    0.0001    0.0008    0.0089
    0.9982    0.0000    0.0000    0.0000    0.0006    0.0007    0.0000    0.0001    0.0004
    0.9883    0.0000    0.0000    0.0000    0.0006    0.0010    0.0001    0.0008    0.0093
    0.9959    0.0000    0.0000    0.0000    0.0007    0.0011    0.0000    0.0004    0.0019

Сравните эти оценки прогнозирования с метками этих последовательностей. Функция присваивает высокие оценки прогнозирования правильному классу.

YTest(1:10)
ans = 10x1 categorical
     1 
     1 
     1 
     1 
     1 
     1 
     1 
     1 
     1 
     1 

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

свернуть все

Обученная сеть, указанная как SeriesNetwork или DAGNetwork объект. Обученную сеть можно получить путем импорта предварительно обученной сети (например, с помощью googlenet функция) или обучая собственную сеть с помощью trainNetwork.

Хранилище данных изображения, указанное как ImageDatastore объект.

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

Совет

Использовать augmentedImageDatastore для эффективной предварительной обработки изображений для глубокого обучения, включая изменение размеров изображений.

Не используйте readFcn вариант imageDatastore для предварительной обработки или изменения размера, поскольку этот параметр обычно значительно медленнее.

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

Сетевая архитектураВыходные данные хранилища данныхПример вывода
Одиночный вход

Таблица или массив ячеек, где первый столбец определяет предикторы.

Элементы таблицы должны быть скалярами, векторами строк или массивами ячеек 1 на 1, содержащими числовой массив.

Пользовательские хранилища данных должны выводить таблицы.

data = read(ds)
data =

  4×1 table

        Predictors    
    __________________

    {224×224×3 double}
    {224×224×3 double}
    {224×224×3 double}
    {224×224×3 double}
data = read(ds)
data =

  4×1 cell array

    {224×224×3 double}
    {224×224×3 double}
    {224×224×3 double}
    {224×224×3 double}
Множественный вход

Массив ячеек по крайней мере с numInputs столбцы, где numInputs - количество сетевых входов.

Первое numInputs столбцы задают предикторы для каждого ввода.

Порядок входных данных задается InputNames свойство сети.

data = read(ds)
data =

  4×2 cell array

    {224×224×3 double}    {128×128×3 double}
    {224×224×3 double}    {128×128×3 double}
    {224×224×3 double}    {128×128×3 double}
    {224×224×3 double}    {128×128×3 double}

Формат предикторов зависит от типа данных.

ДанныеФормат предикторов
2-D изображение

h-by-w-by-c числовой массив, где h, w и c - высота, ширина и количество каналов изображения соответственно.

3-D изображение

h-by-w-by-d-by-c числовой массив, где h, w, d и c - высота, ширина, глубина и количество каналов изображения соответственно.

Векторная последовательность

матрица c-by-s, где c - число признаков последовательности, а s - длина последовательности.

2-D последовательность изображений

h-by-w-by-c-by-s массив, где h, w и c соответствуют высоте, ширине и количеству каналов изображения соответственно, а s - длина последовательности.

Каждая последовательность в мини-партии должна иметь одинаковую длину.

3-D последовательность изображений

h-by-w-d-by-c-by-s массив, где h, w, d и c соответствуют высоте, ширине, глубине и количеству каналов изображения, соответственно, и s - длина последовательности.

Каждая последовательность в мини-партии должна иметь одинаковую длину.

Особенности

вектор столбца c-by-1, где c - количество элементов.

Дополнительные сведения см. в разделе Хранилища данных для глубокого обучения.

Данные изображения или элемента, заданные как числовой массив. Размер массива зависит от типа ввода:

ВходОписание
2-D изображенияЧисловой массив h-by-w-by-c-by-N, где h, w и c - высота, ширина и количество каналов изображений соответственно, а N - количество изображений.
3-D изображенияЧисловой массив h-by-d-by-c-by-N, где h, w, d и c - высота, ширина, глубина и количество каналов изображений соответственно, а N - количество изображений.
ОсобенностиA N-by-numFeatures числовой массив, где N - количество наблюдений и numFeatures - количество признаков входных данных.

Если массив содержит NaNs, затем они распространяются по сети.

Для сетей с несколькими входами можно указать несколько массивов X1, …, XN, где N - количество сетевых входов и входов Xi соответствует сетевому входу net.InputNames(i).

Данные последовательности или временного ряда, заданные как массив N-by-1 ячеек числовых массивов, где N - количество наблюдений, числовой массив, представляющий одну последовательность, или хранилище данных.

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

ВходОписание
Векторные последовательностиматрицы c-by-s, где c - число признаков последовательностей, а s - длина последовательности.
2-D последовательности изображениймассивы h-by-w-by-s, где h, w и c соответствуют высоте, ширине и количеству каналов изображений, соответственно, и s - длина последовательности.
3-D последовательности изображенийh-by-w-d-by-c-by-s, где h, w, d и c соответствуют высоте, ширине, глубине и количеству каналов 3-D изображений, соответственно, и s - длина последовательности.

Для входа хранилища данных хранилище данных должно возвратить данные как множество клетки последовательностей или стола, первая колонка которого содержит последовательности. Размеры данных последовательности должны соответствовать приведенной выше таблице.

Таблица данных изображения или элемента. Каждая строка в таблице соответствует наблюдению.

Расположение предикторов в столбцах таблицы зависит от типа входных данных.

ВходПредсказатели
Данные изображения
  • Абсолютный или относительный путь к изображению, заданный как символьный вектор в одном столбце

  • Изображение, указанное как 3-D числовой массив

Укажите предикторы в одном столбце.

Данные о характеристиках

Числовой скаляр.

Укажите предикторы в первом numFeatures столбцы таблицы, где numFeatures - количество признаков входных данных.

Этот аргумент поддерживает сети только с одним входом.

Типы данных: table

Аргументы пары «имя-значение»

Пример: 'MiniBatchSize',256 задает размер мини-партии как 256.

Укажите необязательную пару, разделенную запятыми Name,Value аргумент. Name является именем аргумента и Value - соответствующее значение. Name должно отображаться внутри отдельных кавычек (' ').

Размер мини-пакетов, используемых для прогнозирования, задается как положительное целое число. Большие размеры мини-партии требуют больше памяти, но могут привести к более быстрым прогнозам.

При составлении прогнозов с последовательностями различной длины размер мини-партии может влиять на количество дополнений, добавляемых к входным данным, что может привести к различным прогнозируемым значениям. Попробуйте использовать различные значения, чтобы увидеть, что лучше всего подходит для вашей сети. Чтобы указать размер мини-пакета и параметры заполнения, используйте 'MiniBatchSize' и 'SequenceLength' соответственно.

Пример: 'MiniBatchSize',256

Оптимизация производительности, указанная как пара, разделенная запятыми, состоящая из 'Acceleration' и одно из следующих:

  • 'auto' - Автоматически применять ряд оптимизаций, подходящих для входной сети и аппаратных ресурсов.

  • 'mex' - Компиляция и выполнение функции MEX. Эта опция доступна только при использовании графического процессора. Для использования графического процессора требуется панель параллельных вычислений и поддерживаемое устройство графического процессора. Сведения о поддерживаемых устройствах см. в разделе Поддержка графического процессора по выпуску (Parallel Computing Toolbox). Если панель инструментов Parallel Computing Toolbox или подходящий графический процессор недоступны, программа возвращает ошибку.

  • 'none' - Отключить все ускорения.

Параметр по умолчанию: 'auto'. Если 'auto' указано, MATLAB ® применит ряд совместимых оптимизаций. Если вы используете 'auto' , MATLAB никогда не генерирует функцию MEX.

Использование 'Acceleration' варианты 'auto' и 'mex' может обеспечить преимущества производительности, но за счет увеличенного начального времени выполнения. Последующие вызовы с совместимыми параметрами выполняются быстрее. Оптимизация производительности используется при планировании многократного вызова функции с использованием новых входных данных.

'mex' генерирует и выполняет функцию MEX на основе сети и параметров, используемых в вызове функции. Вы можете иметь несколько функций MEX, связанных с одной сетью одновременно. При сбросе сетевой переменной также удаляются все функции MEX, связанные с этой сетью.

'mex' доступна только при использовании графического процессора. Необходимо установить компилятор C/C + + и пакет поддержки GPU Coder™ Interface for Deep Learning Libraries. Установите пакет поддержки с помощью проводника Add-On в MATLAB. Инструкции по установке см. в разделе Настройка MEX (кодер графического процессора). Кодер графического процессора не требуется.

'mex' не поддерживает все слои. Список поддерживаемых слоев см. в разделе Поддерживаемые слои (кодер графического процессора). Рецидивирующие нейронные сети (RNN), содержащие sequenceInputLayer не поддерживаются.

'mex' не поддерживает сети с несколькими входными слоями или с несколькими выходными слоями.

Нельзя использовать MATLAB Compiler™ для развертывания сети при использовании 'mex' вариант.

Пример: 'Acceleration','mex'

Аппаратный ресурс, указанный как разделенная запятыми пара, состоящая из 'ExecutionEnvironment' и одно из следующих:

  • 'auto' - использовать графический процессор, если он доступен; в противном случае используйте CPU.

  • 'gpu' - Использовать графический процессор. Для использования графического процессора требуется панель параллельных вычислений и поддерживаемое устройство графического процессора. Сведения о поддерживаемых устройствах см. в разделе Поддержка графического процессора по выпуску (Parallel Computing Toolbox). Если панель инструментов Parallel Computing Toolbox или подходящий графический процессор недоступны, программа возвращает ошибку.

  • 'cpu' - Использовать ЦП.

Пример: 'ExecutionEnvironment','cpu'

Параметр для возврата категориальных меток, указанных как true или false.

Если ReturnCategorical является true, то функция возвращает категориальные метки для классификационных выходных слоев. В противном случае функция возвращает оценки прогнозирования для выходных уровней классификации.

Опция для вставки, усечения или разделения входных последовательностей, заданная как одна из следующих:

  • 'longest' - Последовательности прокладок в каждой мини-партии должны иметь ту же длину, что и самая длинная последовательность. Этот параметр не отбрасывает данные, хотя заполнение может вызвать шум в сети.

  • 'shortest' - Усечение последовательностей в каждой мини-партии до такой же длины, что и самая короткая последовательность. Этот параметр обеспечивает отсутствие добавления дополнений за счет отбрасывания данных.

  • Положительное целое число - для каждой мини-партии поместите последовательности в ближайшую кратную указанную длину, которая больше, чем самая длинная длина последовательности в мини-партии, а затем разбейте последовательности на меньшие последовательности указанной длины. Если происходит разделение, программа создает дополнительные мини-пакеты. Используйте эту опцию, если полные последовательности не помещаются в память. Либо попробуйте уменьшить количество последовательностей на мини-пакет, установив 'MiniBatchSize' для более низкого значения.

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

Пример: 'SequenceLength','shortest'

Направление заполнения или усечения, указанное как одно из следующих:

  • 'right' - Последовательность подушек или усечений справа. Последовательности начинаются на одном и том же этапе, и программное обеспечение усекает или добавляет дополнение к концу последовательностей.

  • 'left' - Последовательность подушек или усечений слева. Программное обеспечение усекает или добавляет дополнение к началу последовательностей, так что последовательности заканчиваются на одном и том же шаге времени.

Поскольку уровни LSTM обрабатывают данные последовательности один раз за раз, когда уровень OutputMode свойство - 'last'любое заполнение на последних временных этапах может отрицательно влиять на выход слоя. Для размещения или усечения данных последовательности слева установите 'SequencePaddingDirection' опция для 'left'.

Для сетей «последовательность-последовательность» (когда OutputMode свойство - 'sequence' для каждого уровня LSTM), любое заполнение в первых временных шагах может негативно влиять на прогнозы для более ранних временных шагов. Для добавления или усечения данных последовательности справа установите 'SequencePaddingDirection' опция для 'right'.

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

Значение, с помощью которого подаются входные последовательности, заданные как скаляр. Параметр допустим только в том случае, если SequenceLength является 'longest' или положительное целое число. Не устанавливать последовательности с NaN, поскольку это может распространять ошибки по всей сети.

Пример: 'SequencePaddingValue',-1

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

свернуть все

Прогнозируемые оценки или ответы, возвращаемые в виде матрицы, 4-D числового массива или массива ячеек матриц. Формат YPred зависит от типа проблемы.

В следующей таблице описывается формат проблем классификации.

ЗадачаФормат
Классификация изображенийМатрица N-by-K, где N - количество наблюдений, а K - число классов
Классификация «последовательность-метка»
Классификация элементов
Классификация последовательности к последовательности

N-by-1 массив ячеек матриц, где N - количество наблюдений. Последовательности представляют собой матрицы с K строками, где K - количество классов. Каждая последовательность имеет то же количество временных шагов, что и соответствующая входная последовательность после применения SequenceLength опция для каждой мини-партии независимо.

В следующей таблице описывается формат для проблем регрессии.

ЗадачаФормат
2-D регрессия изображения
  • Матрица N-по-R, где N - количество изображений, а R - количество откликов.

  • h-by-w-by-c-by-N числовой массив, где h, w и c - высота, ширина и количество каналов изображений соответственно, а N - количество изображений.

3-D регрессия изображения
  • Матрица N-по-R, где N - количество изображений, а R - количество откликов.

  • h-by-w-d-by-c-by-N числовой массив, где h, w, d и c - высота, ширина, глубина и количество каналов изображений соответственно, а N - количество изображений.

Регрессия «последовательность к одному»Матрица N-по-R, где N - число последовательностей, а R - число откликов.
Регрессия последовательности к последовательности

N-by-1 массив ячеек числовых последовательностей, где N - количество последовательностей. Последовательности представляют собой матрицы с R строками, где R - количество откликов. Каждая последовательность имеет то же количество временных шагов, что и соответствующая входная последовательность после применения SequenceLength опция для каждой мини-партии независимо.

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

Регрессия элемента

Матрица N-по-R, где N - количество наблюдений, а R - количество откликов.

Для проблем регрессии последовательности к последовательности с одним наблюдением, sequences может быть матрицей. В этом случае YPred является матрицей откликов.

Алгоритмы

Если данные изображения содержат NaNs, predict распространяет их по сети. Если в сети имеются уровни ReLU, эти уровни игнорируются NaNс. Однако если сеть не имеет уровня ReLU, то predict возвращает NaNs в качестве прогнозов.

При обучении сети с помощью trainNetwork функция или при использовании функций прогнозирования или проверки с DAGNetwork и SeriesNetwork объекты, программное обеспечение выполняет эти вычисления, используя арифметику с одной точностью и плавающей запятой. Функции обучения, прогнозирования и проверки включают trainNetwork, predict, classify, и activations. Программа использует арифметику с одинарной точностью при обучении сетей с использованием процессоров и графических процессоров.

Альтернативы

Можно вычислить прогнозируемые баллы и прогнозируемые классы из обученной сети с помощью classify.

Можно также вычислить активации с сетевого уровня с помощью activations.

Для сетей классификации «последовательность-метка» и «последовательность-последовательность» (например, сетей LSTM) можно делать прогнозы и обновлять состояние сети с помощью classifyAndUpdateState и predictAndUpdateState.

Ссылки

[1] М. Кудо, Дж. Тояма и М. Симбо. «Многомерная классификация кривых с использованием сквозных областей». Буквы распознавания образов. т. 20, № 11-13, стр. 1103-1111.

[2] Хранилище машинного обучения UCI: набор данных гласных на японском языке. https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels

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

..
Представлен в R2016a