exponenta event banner

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,x≥00,x<0

    'tanh'

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

    'sigmoid'

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

    f (x) = 11 + e − x

    'none'

    Функция Identity - возвращает каждый входной элемент без какого-либо преобразования, то есть 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