resume

Возобновите обучение обобщенной аддитивной модели (GAM)

    Описание

    пример

    UpdatedMdl = resume(Mdl,numTrees) возвращает обновленную обобщенную аддитивную модель UpdatedMdl учебным Mdl для numTrees больше итераций с теми же опциями, используемыми, чтобы обучить Mdl.

    Для каждой итерации, resume обучает одно дерево предиктора на линейный член или одно дерево взаимодействия в период взаимодействия.

    • Если Mdl содержит только линейные члены для предикторов (деревья предиктора), затем resume обучает дополнительный numTrees количество деревьев на предиктор.

    • Если Mdl содержит и линейные члены и периоды взаимодействия для предикторов (деревья предиктора и деревья взаимодействия), затем resume обучает дополнительный numTrees количество деревьев в период взаимодействия.

    resume не добавляют новые термины к модели. Если вы хотите добавить периоды взаимодействия в модель, которая содержит только линейные члены, используйте addInteractions функция.

    пример

    UpdatedMdl = resume(Mdl,numTrees,Name,Value) задает дополнительные опции с помощью одних или нескольких аргументов name-value. Например, 'Verbose',2 задает уровень многословия как 2, чтобы отобразить диагностические сообщения в каждой итерации.

    Примеры

    свернуть все

    Обучите одномерную классификацию GAM (который содержит только линейные члены) для небольшого количества итераций. После обучения модель для большего количества итераций сравните потерю перезамены.

    Загрузите ionosphere набор данных. Этот набор данных имеет 34 предиктора, и 351 бинарный ответ для радара возвращается, любой плохо ('b') или хороший ('g').

    load ionosphere

    Обучите одномерный GAM, который идентифицирует, плох ли радарный возврат ('b') или хороший ('g'). Задайте количество деревьев на линейный член как 2. fitcgam выполняет итерации повышающего алгоритма для конкретного количества итераций. Для каждой повышающей итерации функция добавляет одно дерево на линейный член. Задайте 'Verbose' как 2, чтобы отобразить диагностические сообщения в каждой итерации.

    Mdl = fitcgam(X,Y,'NumTreesPerPredictor',2,'Verbose',2);
    |========================================================|
    | Type | NumTrees |  Deviance  |   RelTol   | LearnRate  |
    |========================================================|
    |    1D|         0|      486.59|      -     |      -     |
    |    1D|         1|      166.71|         Inf|           1|
    |    1D|         2|      78.336|     0.58205|           1|
    

    Проверять ли fitcgam обучает конкретное количество деревьев, отобразите ReasonForTermination свойство обученной модели и представления отображенное сообщение.

    Mdl.ReasonForTermination
    ans = struct with fields:
          PredictorTrees: 'Terminated after training the requested number of trees.'
        InteractionTrees: ''
    
    

    Вычислите потерю классификации для обучающих данных.

    resubLoss(Mdl)
    ans = 0.0142
    

    Возобновите обучение модель еще для 100 итераций. Поскольку Mdl содержит только линейные члены, resume функционируйте возобновляет обучение линейным членам и добавляет больше деревьев для них (деревья предиктора). Задайте 'Verbose' и 'NumPrint' отобразить диагностические сообщения в каждых 10 итерациях.

    UpdatedMdl = resume(Mdl,100,'Verbose',1,'NumPrint',10);
    |========================================================|
    | Type | NumTrees |  Deviance  |   RelTol   | LearnRate  |
    |========================================================|
    |    1D|         0|      78.336|      -     |      -     |
    |    1D|         1|      38.364|     0.17429|           1|
    |    1D|        10|     0.16311|    0.011894|           1|
    |    1D|        20|  0.00035693|   0.0025178|           1|
    |    1D|        30|  8.1191e-07|   0.0011006|           1|
    |    1D|        40|  1.7978e-09|  0.00074607|           1|
    |    1D|        50|  3.6113e-12|  0.00034404|           1|
    |    1D|        60|  1.7497e-13|  0.00016541|           1|
    
    UpdatedMdl.ReasonForTermination
    ans = struct with fields:
          PredictorTrees: 'Unable to improve the model fit.'
        InteractionTrees: ''
    
    

    resume отключает обучение, когда добавление большего количества деревьев не улучшает отклонение подгонки модели.

    Вычислите потерю классификации с помощью обновленной модели.

    resubLoss(UpdatedMdl)
    ans = 0
    

    Уменьшения классификации потерь после resume обновляет модель с большим количеством итераций.

    Обучите регрессию GAM, который содержит и линейные члены и периоды взаимодействия. Задайте, чтобы обучить периоды взаимодействия небольшому количеству итераций. После обучения периоды взаимодействия для большего количества итераций сравните потерю перезамены.

    Загрузите carbig набор данных, который содержит измерения автомобилей, сделанных в 1970-х и в начале 1980-х.

    load carbig

    Задайте Acceleration, Displacement, Horsepower, и Weight как переменные предикторы (X) и MPG как переменная отклика (Y).

    X = [Acceleration,Displacement,Horsepower,Weight];
    Y = MPG;

    Обучите GAM, который включает все доступные линейные члены и периоды взаимодействия в X. Задайте количество деревьев в период взаимодействия как 2. fitrgam выполняет итерации повышающего алгоритма 300 раз (значение по умолчанию) для линейных членов и выполняет итерации алгоритма конкретное количество итераций в течение многих периодов взаимодействия. Для каждой повышающей итерации функция добавляет одно дерево на линейный член или одно дерево в период взаимодействия. Задайте 'Verbose' как 1, чтобы отобразить диагностические сообщения в каждых 10 итерациях.

    Mdl = fitrgam(X,Y,'Interactions','all','NumTreesPerInteraction',2,'Verbose',1);
    |========================================================|
    | Type | NumTrees |  Deviance  |   RelTol   | LearnRate  |
    |========================================================|
    |    1D|         0|  2.4432e+05|      -     |      -     |
    |    1D|         1|      9507.4|         Inf|           1|
    |    1D|        10|      4470.6|  0.00025206|           1|
    |    1D|        20|      3895.3|  0.00011448|           1|
    |    1D|        30|      3617.7|  3.5365e-05|           1|
    |    1D|        40|      3402.5|  3.7992e-05|           1|
    |    1D|        50|      3257.1|  2.4983e-05|           1|
    |    1D|        60|      3131.8|  2.3873e-05|           1|
    |    1D|        70|      3019.8|  2.2967e-05|           1|
    |    1D|        80|      2925.9|  2.8071e-05|           1|
    |    1D|        90|      2845.3|  1.6811e-05|           1|
    |    1D|       100|      2772.7|   1.852e-05|           1|
    |    1D|       110|      2707.8|  1.6754e-05|           1|
    |    1D|       120|      2649.8|   1.651e-05|           1|
    |    1D|       130|      2596.6|  1.1723e-05|           1|
    |    1D|       140|      2547.4|   1.813e-05|           1|
    |    1D|       150|      2501.1|  1.8659e-05|           1|
    |    1D|       160|      2455.7|   1.386e-05|           1|
    |    1D|       170|      2416.9|  1.0615e-05|           1|
    |    1D|       180|      2377.2|   8.534e-06|           1|
    |    1D|       190|        2339|  7.6771e-06|           1|
    |    1D|       200|      2303.3|  9.5866e-06|           1|
    |    1D|       210|      2270.7|  8.4276e-06|           1|
    |    1D|       220|      2240.1|  8.5778e-06|           1|
    |    1D|       230|      2209.2|  9.6761e-06|           1|
    |    1D|       240|      2178.7|  7.0622e-06|           1|
    |    1D|       250|      2150.3|  8.3082e-06|           1|
    |    1D|       260|      2122.3|  7.9542e-06|           1|
    |    1D|       270|      2097.7|  7.6328e-06|           1|
    |    1D|       280|      2070.4|  9.4322e-06|           1|
    |    1D|       290|      2044.3|  7.5722e-06|           1|
    |    1D|       300|      2019.7|  6.6719e-06|           1|
    |========================================================|
    | Type | NumTrees |  Deviance  |   RelTol   | LearnRate  |
    |========================================================|
    |    2D|         0|      2019.7|      -     |      -     |
    |    2D|         1|      1795.5|   0.0005975|           1|
    |    2D|         2|      1523.4|   0.0010079|           1|
    

    Проверять ли fitrgam обучает конкретное количество деревьев, отобразите ReasonForTermination свойство обученной модели и представления отображенные сообщения.

    Mdl.ReasonForTermination
    ans = struct with fields:
          PredictorTrees: 'Terminated after training the requested number of trees.'
        InteractionTrees: 'Terminated after training the requested number of trees.'
    
    

    Вычислите потерю регрессии для обучающих данных.

    resubLoss(Mdl)
    ans = 3.8277
    

    Возобновите обучение модель еще для 100 итераций. Поскольку Mdl содержит и линейные члены и периоды взаимодействия, resume функционируйте возобновляет обучение в течение периодов взаимодействия и добавляет больше деревьев для них (деревья взаимодействия).

    UpdatedMdl = resume(Mdl,100);
    |========================================================|
    | Type | NumTrees |  Deviance  |   RelTol   | LearnRate  |
    |========================================================|
    |    2D|         0|      1523.4|      -     |      -     |
    |    2D|         1|      1363.9|  0.00039695|           1|
    |    2D|        10|      594.04|  8.0295e-05|           1|
    |    2D|        20|      359.44|  4.3201e-05|           1|
    |    2D|        30|      238.51|  2.6869e-05|           1|
    |    2D|        40|      153.98|  2.6271e-05|           1|
    |    2D|        50|      91.464|  8.0936e-06|           1|
    |    2D|        60|      61.882|  3.8528e-06|           1|
    |    2D|        70|      43.206|  5.9888e-06|           1|
    
    UpdatedMdl.ReasonForTermination
    ans = struct with fields:
          PredictorTrees: 'Terminated after training the requested number of trees.'
        InteractionTrees: 'Unable to improve the model fit.'
    
    

    resume отключает обучение, когда добавление большего количества деревьев не улучшает отклонение подгонки модели.

    Вычислите потерю регрессии с помощью обновленной модели.

    resubLoss(UpdatedMdl)
    ans = 0.0944
    

    Уменьшения регрессии потерь после resume обновляет модель с большим количеством итераций.

    Входные параметры

    свернуть все

    Обобщенная аддитивная модель в виде ClassificationGAM или RegressionGAM объект модели.

    Количество деревьев, чтобы добавить в виде положительного целочисленного скаляра.

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

    Аргументы name-value

    Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

    Пример: 'Verbose',1,'NumPrint',100 задает, чтобы распечатать диагностические сообщения в Командном окне каждые 100 итераций.

    Количество итераций между диагностическими распечатками сообщения в виде неотрицательного целочисленного скаляра. Этот аргумент допустим только, когда вы задаете 'Verbose' как 1.

    Если вы задаете 'Verbose',1 и 'NumPrint',numPrint, затем программное обеспечение отображается, диагностика передает каждый numPrint итерации в Командном окне.

    Значением по умолчанию является Mdl.ModelParameters.NumPrint, который является NumPrint значение, которое вы задаете при создании объекта GAM Mdl.

    Пример: 'NumPrint',500

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

    Уровень многословия в виде 0, 1, или 2. Verbose значение управляет объемом информации, который программное обеспечение отображает в Командном окне.

    Эта таблица суммирует доступные опции уровня многословия.

    ЗначениеОписание
    0Программное обеспечение не отображает информации.
    1Программное обеспечение отображается, диагностика передает каждый numPrint итерации, где numPrint 'NumPrint' значение.
    2Программное обеспечение отображает диагностические сообщения в каждой итерации.

    Каждая линия диагностических сообщений показывает информацию о каждой повышающей итерации и включает следующие столбцы:

    • Type — Тип обученных деревьев, 1D (деревья предиктора или повышенные деревья для линейных членов для предикторов) или 2D (деревья взаимодействия или повышенные деревья в течение многих периодов взаимодействия для предикторов)

    • NumTrees — Количество деревьев на линейный член или период взаимодействия это resume добавленный к модели до сих пор

    • DevianceОтклонение модели

    • RelTol — Относительное изменение предсказаний модели: (y^ky^k1)(y^ky^k1)/y^ky^k, где y^k вектор-столбец предсказаний модели в итерации k

    • LearnRate — Скорость обучения используется для текущей итерации

    Значением по умолчанию является Mdl.ModelParameters.VerbosityLevel, который является Verbose значение, которое вы задаете при создании объекта GAM Mdl.

    Пример: 'Verbose',1

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

    Выходные аргументы

    свернуть все

    Обновленная обобщенная аддитивная модель, возвращенная как ClassificationGAM или RegressionGAM объект модели. UpdatedMdl имеет тот же тип объекта как входная модель Mdl.

    Перезаписывать входной параметр Mdl, присвойте выход resume к Mdl:

    Mdl = resume(Mdl,numTrees);

    Больше о

    свернуть все

    Отклонение

    Отклонение является обобщением остаточной суммы квадратов. Это измеряет качество подгонки по сравнению с влажной моделью.

    Отклонение подобранной модели является дважды различием между логарифмической правдоподобностью модели и влажной модели:

    - 2 (logL - logLs),

    где L и Ls являются вероятностями подобранной модели и влажной модели, соответственно. Влажная модель является моделью с максимальным количеством параметров, которые можно оценить.

    resume использует отклонение, чтобы измерить совершенство подгонки модели и находит скорость обучения, которая уменьшает отклонение в каждой итерации. Задайте 'Verbose' как 1 или 2, чтобы отобразить отклонение и скорость обучения в Командном окне.

    Введенный в R2021a
    Для просмотра документации необходимо авторизоваться на сайте