CompactRegressionNeuralNetwork

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

    Описание

    CompactRegresionNeuralNetwork является компактной версией RegressionNeuralNetwork объект модели. Компактная модель не включает данные, используемые для настройки регрессионой модели. Поэтому вы не можете выполнить некоторые задачи, такие как перекрестная валидация, используя компактную модель. Используйте компактную модель для задач, таких как предсказание значений отклика новых данных.

    Создание

    Создайте CompactRegressionNeuralNetwork объект из полного RegressionNeuralNetwork объект модели при помощи compact.

    Свойства

    расширить все

    Свойства нейронной сети

    Это свойство доступно только для чтения.

    Размеры полносвязных слоев в модели нейронной сети, возвращенные как положительный целочисленный вектор. i-й элемент LayerSizes - количество выходов в i-м полностью соединенном слое модели нейронной сети.

    LayerSizes не включает размер конечного полносвязного слоя. Этот слой всегда имеет один выход.

    Типы данных: single | double

    Это свойство доступно только для чтения.

    Обученные веса слоев для полносвязных слоев, возвращенные как массив ячеек. i-я запись в массиве ячеек соответствует весам слоев для i-го полносвязного слоя. Для примера, Mdl.LayerWeights{1} возвращает веса для первого полносвязного слоя модели Mdl.

    LayerWeights включает веса для конечного полносвязного слоя.

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

    Это свойство доступно только для чтения.

    Выученные смещения слоя для полносвязных слоев, возвращенные как массив ячеек. i-я запись в массиве ячеек соответствует смещениям слоя для i-го полносвязного слоя. Для примера, Mdl.LayerBiases{1} возвращает смещения для первого полносвязного слоя модели Mdl.

    LayerBiases включает смещения для конечного полносвязного слоя.

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

    Это свойство доступно только для чтения.

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

    ЗначениеОписание
    'relu'

    Функция выпрямленного линейного модуля (ReLU) - выполняет операцию порога для каждого элемента входа, где любое значение, меньше нуля, устанавливается в ноль, то есть,

    f(x)={x,x00,x<0

    'tanh'

    Функция гиперболического тангенса (tanh) - применяет tanh функцию каждому входному элементу

    'sigmoid'

    Сигмоидная функция - Выполняет следующую операцию на каждом входном элементе:

    f(x)=11+ex

    'none'

    Единичная функция - Возвращает каждый входной элемент, не выполняя никакого преобразования, то есть f (x) = x

    • Если Activations содержит только одну функцию активации, тогда это функция активации для каждого полносвязного слоя модели нейронной сети, исключая конечный полносвязный слой, который не имеет функции активации (OutputLayerActivation).

    • Если Activations является массивом функций активации, тогда i-й элемент является функцией активации для i-го слоя модели нейронной сети.

    Типы данных: char | cell

    Это свойство доступно только для чтения.

    Функция активации для конечного полносвязного слоя, возвращенная следующим 'none'.

    Свойства данных

    Это свойство доступно только для чтения.

    Имена переменных предиктора, возвращенные как массив ячеек из векторов символов. Порядок элементов PredictorNames соответствует порядку, в котором имена предикторов появляются в обучающих данных.

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

    Это свойство доступно только для чтения.

    Категориальные индексы предиктора, возвращенные как вектор положительных целых чисел. Принимая, что данные предиктора содержат наблюдения в строках, CategoricalPredictors содержит значения индекса, соответствующие столбцам данных предиктора, которые содержат категориальные предикторы. Если ни один из предикторов не является категориальным, то это свойство пустое ([]).

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

    Это свойство доступно только для чтения.

    Расширенные имена предикторов, возвращенные как массив ячеек из векторов символов. Если модель использует кодировку для категориальных переменных, то ExpandedPredictorNames включает имена, которые описывают расширенные переменные. В противном случае ExpandedPredictorNames то же, что и PredictorNames.

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

    Это свойство доступно только для чтения.

    Имя переменной отклика, возвращаемое как вектор символов.

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

    Это свойство доступно только для чтения.

    Функция преобразования отклика, возвращенная как 'none'. Программное обеспечение не преобразует необработанные значения отклика.

    Функции объекта

    lossПотеря для регрессионной нейронной сети
    partialDependenceВычисление частичной зависимости
    plotPartialDependenceСоздайте график частичной зависимости (PDP) и отдельные графики условного ожидания (ICE)
    predictСпрогнозируйте ответы, используя регрессионую нейронную сеть

    Примеры

    свернуть все

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

    Загрузите patients набор данных. Составьте таблицу из набора данных. Каждая строка соответствует одному пациенту, и каждый столбец соответствует диагностической переменной. Используйте Systolic переменная как переменная отклика, а остальная часть переменных как предикторы.

    load patients
    tbl = table(Age,Diastolic,Gender,Height,Smoker,Weight,Systolic);

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

    Mdl = fitrnet(tbl,"Systolic","Standardize",true)
    Mdl = 
      RegressionNeuralNetwork
               PredictorNames: {'Age'  'Diastolic'  'Gender'  'Height'  'Smoker'  'Weight'}
                 ResponseName: 'Systolic'
        CategoricalPredictors: [3 5]
            ResponseTransform: 'none'
              NumObservations: 100
                   LayerSizes: 10
                  Activations: 'relu'
        OutputLayerActivation: 'linear'
                       Solver: 'LBFGS'
              ConvergenceInfo: [1×1 struct]
              TrainingHistory: [1000×7 table]
    
    
      Properties, Methods
    
    

    Mdl является полным RegressionNeuralNetwork объект модели.

    Уменьшите размер модели при помощи compact.

    compactMdl = compact(Mdl)
    compactMdl = 
      CompactRegressionNeuralNetwork
                   LayerSizes: 10
                  Activations: 'relu'
        OutputLayerActivation: 'linear'
    
    
      Properties, Methods
    
    

    compactMdl является CompactRegressionNeuralNetwork объект модели. compactMdl содержит меньше свойств, чем полная модель Mdl.

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

    whos("Mdl","compactMdl")
      Name            Size            Bytes  Class                                                    Attributes
    
      Mdl             1x1             72818  RegressionNeuralNetwork                                            
      compactMdl      1x1              5995  classreg.learning.regr.CompactRegressionNeuralNetwork              
    

    Полная модель больше, чем компактная модель.

    Введенный в R2021a