Компактная модель нейронной сети для регрессии
CompactRegresionNeuralNetwork
является компактной версией RegressionNeuralNetwork
объект модели. Компактная модель не включает данные, используемые для настройки регрессионой модели. Поэтому вы не можете выполнить некоторые задачи, такие как перекрестная валидация, используя компактную модель. Используйте компактную модель для задач, таких как предсказание значений отклика новых данных.
Создайте CompactRegressionNeuralNetwork
объект из полного RegressionNeuralNetwork
объект модели при помощи compact
.
LayerSizes
- Размеры полносвязных слоевЭто свойство доступно только для чтения.
Размеры полносвязных слоев в модели нейронной сети, возвращенные как положительный целочисленный вектор. i-й элемент LayerSizes
- количество выходов в i-м полностью соединенном слое модели нейронной сети.
LayerSizes
не включает размер конечного полносвязного слоя. Этот слой всегда имеет один выход.
Типы данных: single
| double
LayerWeights
- Выученные веса слоевЭто свойство доступно только для чтения.
Обученные веса слоев для полносвязных слоев, возвращенные как массив ячеек. i-я запись в массиве ячеек соответствует весам слоев для i-го полносвязного слоя. Для примера, Mdl.LayerWeights{1}
возвращает веса для первого полносвязного слоя модели Mdl
.
LayerWeights
включает веса для конечного полносвязного слоя.
Типы данных: cell
LayerBiases
- Выученные смещения слояЭто свойство доступно только для чтения.
Выученные смещения слоя для полносвязных слоев, возвращенные как массив ячеек. i-я запись в массиве ячеек соответствует смещениям слоя для i-го полносвязного слоя. Для примера, Mdl.LayerBiases{1}
возвращает смещения для первого полносвязного слоя модели Mdl
.
LayerBiases
включает смещения для конечного полносвязного слоя.
Типы данных: cell
Activations
- Функции активации для полносвязных слоев'relu'
| 'tanh'
| 'sigmoid'
| 'none'
| массивов ячеек из векторов символовЭто свойство доступно только для чтения.
Функции активации для полносвязных слоев модели нейронной сети, возвращенные как вектор символов или массив ячеек из векторов символов со значениями из этой таблицы.
Значение | Описание |
---|---|
'relu' | Функция выпрямленного линейного модуля (ReLU) - выполняет операцию порога для каждого элемента входа, где любое значение, меньше нуля, устанавливается в ноль, то есть, |
'tanh' | Функция гиперболического тангенса (tanh) - применяет |
'sigmoid' | Сигмоидная функция - Выполняет следующую операцию на каждом входном элементе: |
'none' | Единичная функция - Возвращает каждый входной элемент, не выполняя никакого преобразования, то есть f (x) = x |
Если Activations
содержит только одну функцию активации, тогда это функция активации для каждого полносвязного слоя модели нейронной сети, исключая конечный полносвязный слой, который не имеет функции активации (OutputLayerActivation
).
Если Activations
является массивом функций активации, тогда i-й элемент является функцией активации для i-го слоя модели нейронной сети.
Типы данных: char
| cell
OutputLayerActivation
- Функция активации для конечного полносвязного слоя'none'
Это свойство доступно только для чтения.
Функция активации для конечного полносвязного слоя, возвращенная следующим 'none'
.
PredictorNames
- Имена переменных предиктораЭто свойство доступно только для чтения.
Имена переменных предиктора, возвращенные как массив ячеек из векторов символов. Порядок элементов PredictorNames
соответствует порядку, в котором имена предикторов появляются в обучающих данных.
Типы данных: cell
CategoricalPredictors
- Категориальные индексы предиктора[]
Это свойство доступно только для чтения.
Категориальные индексы предиктора, возвращенные как вектор положительных целых чисел. Принимая, что данные предиктора содержат наблюдения в строках, CategoricalPredictors
содержит значения индекса, соответствующие столбцам данных предиктора, которые содержат категориальные предикторы. Если ни один из предикторов не является категориальным, то это свойство пустое ([]
).
Типы данных: double
ExpandedPredictorNames
- Расширенные имена предикторовЭто свойство доступно только для чтения.
Расширенные имена предикторов, возвращенные как массив ячеек из векторов символов. Если модель использует кодировку для категориальных переменных, то ExpandedPredictorNames
включает имена, которые описывают расширенные переменные. В противном случае ExpandedPredictorNames
то же, что и PredictorNames
.
Типы данных: cell
ResponseName
- Имя переменной откликаЭто свойство доступно только для чтения.
Имя переменной отклика, возвращаемое как вектор символов.
Типы данных: char
ResponseTransform
- Функция преобразования отклика'none'
Это свойство доступно только для чтения.
Функция преобразования отклика, возвращенная как '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
Полная модель больше, чем компактная модель.
compact
| fitrnet
| loss
| predict
| RegressionNeuralNetwork
| RegressionPartitionedModel
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.