Объект модели пошагового обучения полностью задает, как функции реализуют инкрементный подбор кривой и оценку производительности модели. Чтобы сконфигурировать, или подготовиться, модель пошагового обучения, создают один путем вызова объекта непосредственно, любого incrementalClassificationLinear
или incrementalRegressionLinear
, или путем преобразования традиционно обученной модели в один из объектов. Таблица приводит доступные объекты, функции преобразования и поддерживаемых учеников для соответствующей проблемы машинного обучения.
Проблема | Метод создания | Функция | Поддерживаемые ученики |
---|---|---|---|
Бинарная классификация | Объект Call | incrementalClassificationLinear | Линейный SVM Логистическая регрессия |
Модель Convert |
| Линейный SVM Логистическая регрессия | |
Регрессия | Объект Call | incrementalRegressionLinear | Линейная регрессия SVM Метод наименьших квадратов |
Модель Convert |
| Линейная регрессия SVM Метод наименьших квадратов |
Метод создания, который вы выбираете, зависит от информации, которую вы имеете и ваши настройки.
Преобразуйте Модель: Преобразуйте традиционно обученную модель в инкрементного ученика, чтобы инициализировать модель для пошагового обучения. incrementalLearner
информация о передачах традиционно обученная модель, усвоенная из данных, которые включают оптимизированные содействующие оценки, характеристики данных и применимые гиперзначения параметров. Однако, чтобы преобразовать традиционно обученную модель, у вас должен быть набор маркированных данных, чтобы подобрать модель к.
Когда вы используете incrementalLearner
, можно задать все опции оценки результатов деятельности и только обучение, модель и опции данных, которые неизвестны во время преобразования. Для получения дополнительной информации смотрите, Преобразуют Традиционно Обученную Модель.
Объект вызова: Создайте инкрементную модель к своим техническим требованиям путем вызова объекта непосредственно. Этот метод гибок — у вас есть свобода задать большинство опций на ваше усмотрение, и модели обеспечивают разумные значения по умолчанию. Однако в зависимости от ваших технических требований, период оценки может требоваться.
Для получения дополнительной информации смотрите, Преобразуют Традиционно Обученную Модель.
Независимо от инкрементного метода создания модели вы решаете использовать, настройки, которые необходимо рассмотреть, включают:
Линейный тип модели, такой как модель SVM
Линейные начальные значения коэффициента модели
Решатель целевой функции, такой как стандартный SGD
Гиперзначения параметров решателя, такие как скорость обучения решателей SGD
Настройки оценки производительности модели, такие как показатель производительности, чтобы измериться
В отличие от других объектов модели машинного обучения, можно создать модель пошагового обучения путем вызова соответствующего объекта непосредственно без любого ведома о данных. Единственной информацией, запрошенной, чтобы создать модель непосредственно, является проблема машинного обучения, или классификация или регрессия. Например, следующий код создает инкрементную модель по умолчанию для линейной регрессии.
Mdl = incrementalRegressionLinear();
Если у вас есть информация о данных, чтобы задать, или вы хотите сконфигурировать линейную модель, гиперпараметры, решатель, или настройки оценки результатов деятельности, использовать аргументы пары "имя-значение", когда вы вызываете объект (все свойства модели только для чтения; вы не можете настроить их использующий запись через точку). Например, следующий псевдокод создает инкрементную модель логистической регрессии для бинарной классификации, инициализирует линейные коэффициенты модели Beta
и сместите Bias
(полученный из предварительных знаний проблемы), устанавливает прогрев показателей производительности на 500
наблюдения.
Mdl = incrementalClassificationLinear('Learner','logistic',... 'Beta',Beta,'Bias',Bias,'MetricsWarmupPeriod',500);
Следующие таблицы кратко описывают известные опции для главных аспектов пошагового обучения. Для большего количества детали обо всех опциях смотрите incrementalRegressionLinear
или incrementalClassificationLinear
.
Следующая таблица содержит известные опции модели и характеристики данных.
Имя | Описание |
---|---|
'Beta' | Линейные коэффициенты, также служащие начальными значениями для инкрементного подбора кривой |
'Bias' | Прерывание модели, также служащее начальным значением для инкрементного подбора кривой |
'ClassNames' | Для классификации, ожидаемых имен классов в метках наблюдения |
'Learner' | Тип модели, такой как линейный SVM или наименьшие квадраты. |
Сгенерировать предсказания и потерю модели, коэффициенты модели, сохраненные в Beta
и Bias
свойства должны быть непустыми. Кроме того, для проблем классификации, оба имен классов сохранены в ClassNames
свойство должно быть задано.
Следующая таблица содержит известное обучение и опции решателя и свойства.
Имя | Описание |
---|---|
'EstimationPeriod' | Предучебный период оценки |
'Solver' | Алгоритм оптимизации целевой функции |
'Standardize' | Отметьте, чтобы стандартизировать данные о предикторе |
'Lambda' | Гребенчатый штраф, гиперпараметр модели, который требует настройки для оптимизации SGD |
'BatchSize' | Мини-пакетный размер, гиперпараметр SGD |
'LearnRate' | Скорость обучения, гиперпараметр SGD |
'Mu' | Свойство только для чтения, содержащее средние значения переменного предиктора |
'Sigma' | Свойство только для чтения, содержащее стандартные отклонения переменного предиктора |
Период оценки, заданный количеством наблюдений в EstimationPeriod
, происходит, прежде чем обучение начинается (см. периоды пошагового обучения). В период оценки, инкрементные подходящие функции fit
и updateMetricsAndFit
вычислите количества, требуемые для обучения, когда они будут неизвестны. Например, если вы устанавливаете 'Standardize',true
, функции пошагового обучения требуют, чтобы средние значения предиктора и стандартные отклонения стандартизировали данные о предикторе. Следовательно, инкрементная модель требует положительного периода оценки (значением по умолчанию является 1000
).
Решатель по умолчанию является адаптивным инвариантным к масштабу решателем 'scale-invariant'
[2], который свободен от гиперпараметра и нечувствителен к шкалам переменного предиктора, что означает, что стандартизация данных о предикторе не требуется. Можно задать стандартный или средний SGD вместо этого, 'sgd'
или 'asgd'
, но SGD чувствителен к шкалам переменного предиктора, и он требует настройки гиперпараметра, которая может затруднить или быть невозможна сделать во время пошагового обучения. Если вы планируете установить решатель SGD:
Получите маркированные данные.
Традиционно обучите линейную классификацию или модель регрессии путем вызова fitclinear
или fitrlinear
, соответственно. Задайте решатель SGD, который вы планируете использовать для пошагового обучения, перекрестный подтвердить, чтобы определить соответствующий набор гиперпараметров и стандартизировать данные о предикторе.
Обучите модель на целой выборке с помощью желаемого гипернабора параметров.
Преобразуйте получившуюся модель в инкрементного ученика при помощи incrementalLearner
.
Свойства оценки результатов деятельности и опции позволяют вам сконфигурировать, как и когда производительность модели должна быть измерена инкрементными функциями updateMetrics
или updateMetricsAndFit
. Независимо от опций вы выбираете, сначала ознакомляете себя с периодами пошагового обучения.
Следующая таблица содержит все опции оценки результатов деятельности и свойства.
Имя | Описание |
---|---|
'Metrics' | Список показателей производительности или функций потерь, чтобы измериться инкрементно |
'MetricsWarmupPeiod' | Количество наблюдений, инкрементная модель должна быть подходящей к тому, прежде чем это отследит показатели производительности |
'MetricsWindowSize' | Отметьте, чтобы стандартизировать данные о предикторе |
'IsWarm' | Свойство только для чтения, указывающее, является ли модель теплой (измеряет показатели производительности), |
'Metrics' | Свойство только для чтения, содержащее таблицу отслеженного окна и совокупных метрик |
Метрики заданы 'Metrics'
форма пары "имя-значение" таблица, хранимая в Metrics
свойство модели. Например, если вы задаете 'Metrics',["Metric1" "Metric2"]
когда вы создаете инкрементную модель Mdl
, Metrics
свойство
>> Mdl.Metrics ans = 2×2 table Cumulative Window __________ ______ Metric1 NaN NaN Metric2 NaN NaN
Задайте положительный метрический прогрев, когда вы полагаете, что модель имеет низкое качество и должна быть обучена перед функциями updateMetrics
или updateMetricsAndFit
отследите показатели производительности в Metrics
свойство. В этом случае, IsWarm
свойством является false
, и необходимо передать входящие данные и модель к инкрементным подходящим функциям fit
или updateMetricsAndFit
.
Когда инкрементные подходящие функции обрабатывают достаточно данных, чтобы удовлетворить оценке и метрическим периодам прогрева, IsWarm
свойство становится true
, и можно измерить производительность модели на входящих данных и опционально обучить модель.
Когда модель является теплой, updateMetrics
и updateMetricsAndFit
отследите все заданные метрики кумулятивно (от запуска оценки) и в окне наблюдений, заданных 'MetricsWindowSize'
аргумент пары "имя-значение". Совокупные метрики отражают производительность модели по целой истории пошагового обучения; после того, как Период Оценки результатов деятельности 1 запускается, совокупные метрики независимы от испытательного срока. они независимы от. Метрики окна отражают производительность модели только свыше заданного размера окна в течение каждого периода оценки результатов деятельности.
incrementalLearner
позволяет вам инициализировать инкрементную модель с помощью информации, усвоенной из традиционно обученной модели. Конвертированная модель может сгенерировать предсказания, и тепло, что означает, что функции пошагового обучения могут измерить метрики производительности модели от запуска потока данных. Другими словами, оценка и периоды прогрева показателей производительности не требуются для пошагового обучения.
Чтобы преобразовать традиционно обученную модель в инкрементного ученика, передайте модель и любые другие опции, заданные аргументами пары "имя-значение", к incrementalLearner
. Например, следующий псевдокод инициализирует инкрементную модель классификации всей информацией, которую линейная модель SVM для бинарной классификации узнала из пакета данных.
Mdl = fitcsvm(X,Y); IncrementalMdl = incrementalLearner(Mdl,Name,Value);
IncrementalMdl
инкрементный объект ученика, сопоставленный с проблемой изучения.
Простота инкрементного создания модели и инициализации сбалансирована уменьшенной гибкостью — программное обеспечение принимает оцененные коэффициенты, значения гиперпараметров, и характеристики данных, изученные во время традиционного обучения, подходят для пошагового обучения. Поэтому вы не можете установить соответствующие изученные или настроенные опции, когда вы вызываете incrementalLearner
. Эта таблица приводит известные свойства только для чтения IncrementalMdl
это incrementalLearner
передачи от Mdl
, или что функция выводит из других значений:
Свойство | Описание |
---|---|
Beta | Линейные коэффициенты модели |
Bias | Прерывание модели |
ClassNames | Для проблем классификации класс помечает для бинарной классификации |
Epsilon | Для ученика регрессии SVM, половина ширины нечувствительной к эпсилону полосы |
Learner | Линейный тип модели |
Mu | Для объекта модели SVM, средних значений переменного предиктора |
NumPredictors | Количество переменных предикторов. Для моделей, что фиктивный код категориальные переменные предикторы, NumPredictors numel(Mdl.ExpandedPredictorNames) и переменные предикторы, ожидаемые во время пошагового обучения, соответствуют именам. Для получения дополнительной информации смотрите Фиктивные Переменные. |
Prior | Для проблем классификации, предшествующего распределения метки класса |
ResponseTransform | Для проблем регрессии, функция, чтобы примениться к предсказанным ответам |
ScoreTransform | Для проблем классификации, функция, чтобы примениться к классификационным оценкам. Например, если вы конфигурируете модель SVM, чтобы вычислить следующие вероятности класса, |
Sigma | Для объекта модели SVM, стандартных отклонений переменного предиктора |
Примечание
NumTrainingObservations
свойство IncrementalMdl
не включает наблюдения, используемые, чтобы обучить Mdl
.
Если вы задаете 'Standardize',true
когда вы обучаете Mdl
, IncrementalMdl
сконфигурирован, чтобы стандартизировать предикторы во время пошагового обучения по умолчанию.
Следующие условия применяются, вы преобразуете линейную классификацию или модель регрессии (ClassificationLinear
и RegressionLinear
, соответственно):
Инкрементные подходящие функции поддерживают гребень (L2) регуляризация только.
Инкрементные подходящие функции поддерживают спецификацию только одного значения регуляризации. Поэтому, если вы задаете путь к регуляризации (вектор из значений регуляризации), когда вы вызываете fitclinear
или fitrlinear
, выберите модель, сопоставленную с одним штрафом путем передачи его selectModels
.
Если вы решаете целевую функцию при помощи стандартного или среднего SGD ('sgd'
или 'asgd'
для 'Solver'
аргумент пары "имя-значение"), следующие условия применяются, когда вы вызываете incrementalLearner
:
incrementalLearner
передает решатель, используемый, чтобы оптимизировать Mdl
к IncrementalMdl
.
Можно задать адаптивный инвариантный к масштабу решатель 'scale-invariant'
вместо этого, но вы не можете задать различный решатель SGD.
Если вы не задаете адаптивный инвариантный к масштабу решатель, incrementalLearner
модель передач и гиперзначения параметров решателя к инкрементному объекту модели, такие как скорость обучения LearnRate
, мини-пакетный размер BatchSize
, и гребенчатый штраф Lambda
. Переданные свойства являются немодифицируемыми.
Если вы требуете большей гибкости, когда вы создаете инкрементную модель, можно вызвать объект непосредственно и инициализировать модель путем отдельной установки изученных информационных аргументов пары "имя-значение" использования. Следующий псевдокод показывает два примера:
Инициализируйте инкрементную модель классификации от коэффициентов и имен классов, изученных, подбирая линейную модель SVM для бинарной классификации к пакету данных Xc
и Yc
.
Инициализируйте инкрементную модель регрессии от коэффициентов, изученных, подбирая линейную модель к пакету данных Xr
и Yr
.
% Classification Mdl = fitcsvm(Xc,Yc); IncrementalMdl = incrementalClassificationLinear('Beta',Mdl.Beta,... 'Bias',Mdl.Bias,'ClassNames',Mdl.ClassNames); % Regression Mdl = fitlm(Xr,Yr); Bias = Mdl.Coefficients.Estimate(1); Beta = Mdl.Coefficients.Estimate(2:end); IncrementalMdl = incrementalRegressionLinear('Learner','leastsquares',... 'Bias',Bias,'Beta',Beta);
fit
| loss
| predict
| updateMetrics
| updateMetricsAndFit