CompactRegressionNeuralNetwork

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

    Описание

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

    Создание

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

    Свойства

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

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

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

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

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

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

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

    Изученные веса слоя для полносвязных слоев, возвращенных как массив ячеек. i th запись в массиве ячеек соответствует весам слоя для i th полносвязный слой. Например, Mdl.LayerWeights{1} возвращает веса для первого полносвязного слоя модели Mdl.

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

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

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

    Изученный слой смещает для полносвязных слоев, возвращенных как массив ячеек. i th запись в массиве ячеек соответствует смещениям слоя для i th полносвязный слой. Например, 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 th элемент является функцией активации для i th слой модели нейронной сети.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    limeЛокальные поддающиеся толкованию объяснения модели агностические (LIME)
    partialDependenceВычислите частичную зависимость
    plotPartialDependenceСоздайте графики отдельного условного ожидания (ICE) и частичный график зависимости (PDP)
    shapleyШепли оценивает
    lossПотеря для нейронной сети регрессии
    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