Добавьте периоды взаимодействия в одномерную обобщенную аддитивную модель (GAM)
возвращает обновленную модель UpdatedMdl
= addInteractions(Mdl
,Interactions
)UpdatedMdl
путем добавления периодов взаимодействия в Interactions
к одномерной обобщенной аддитивной модели Mdl
. Модель Mdl
должен содержать только линейные члены для предикторов.
Если вы хотите возобновить обучение существующим условиям в Mdl
, используйте resume
функция.
задает дополнительные опции с помощью одного или нескольких аргументов значения имени. Например, UpdatedMdl
= addInteractions(Mdl
,Interactions
,Name,Value
)'MaxPValue',0.05
задает, чтобы включать только периоды взаимодействия, p которых - значения не больше 0.05.
Обучите одномерный GAM, который содержит линейные члены для предикторов, и затем добавьте периоды взаимодействия в обученную модель при помощи addInteractions
функция.
Загрузите carbig
набор данных, который содержит измерения автомобилей, сделанных в 1970-х и в начале 1980-х.
load carbig
Составьте таблицу, которая содержит переменные предикторы (Acceleration
, Displacement
, Horsepower
, и Weight
) и переменная отклика (MPG
).
tbl = table(Acceleration,Displacement,Horsepower,Weight,MPG);
Обучите одномерный GAM, который содержит линейные члены для предикторов в tbl
.
Mdl = fitrgam(tbl,'MPG');
Добавьте пять самых важных периодов взаимодействия в обученную модель.
UpdatedMdl = addInteractions(Mdl,5);
Mdl
одномерный GAM и UpdatedMdl
обновленный GAM, который содержит все условия в Mdl
и пять дополнительных периодов взаимодействия. Отобразите периоды взаимодействия в UpdatedMdl
.
UpdatedMdl.Interactions
ans = 5×2
2 3
1 2
3 4
1 4
1 3
Каждая строка Interactions
свойство представляет один период взаимодействия и содержит индексы столбца переменных предикторов в течение периода взаимодействия. Можно использовать Interactions
свойство проверять периоды взаимодействия в модель и порядок, в который fitrgam
добавляет их в модель.
Обучите одномерный GAM, который содержит линейные члены для предикторов, и затем добавьте периоды взаимодействия в обученную модель при помощи addInteractions
функция. Задайте 'MaxPValue'
аргумент значения имени, чтобы добавить периоды взаимодействия, p-значения которых не больше 'MaxPValue'
значение.
Загрузите ирисовый набор данных Фишера. Составьте таблицу, которая содержит наблюдения для versicolor и virginica.
load fisheriris inds = strcmp(species,'versicolor') | strcmp(species,'virginica'); Tbl = array2table(meas(inds,:),'VariableNames',["x1","x2","x3","x4"]); Tbl.Y = species(inds,:);
Обучите одномерный GAM, который содержит линейные члены для предикторов в Tbl
.
Mdl = fitcgam(Tbl,'Y');
Добавьте важные периоды взаимодействия в обученную модель Mdl
. Задайте 'all'
для Interactions
аргумент и набор 'MaxPValue'
аргумент значения имени к 0,05. Среди всех доступных периодов взаимодействия, addInteractions
идентифицирует тех, p-значения которых не больше 'MaxPValue'
значение и добавляет их в модель. 'MaxPValue'
по умолчанию 1 так, чтобы функция добавила все заданные периоды взаимодействия в модель.
UpdatedMdl = addInteractions(Mdl,'all','MaxPValue',0.05); UpdatedMdl.Interactions
ans = 5×2
3 4
2 4
1 4
2 3
1 3
Mdl
одномерный GAM и UpdatedMdl
обновленный GAM, который содержит все условия в Mdl
и пять дополнительных периодов взаимодействия. UpdatedMdl
включает пять из шести доступных пар периодов взаимодействия.
Mdl
— Обобщенная аддитивная модельClassificationGAM
объект модели | RegressionGAM
объект моделиОбобщенная аддитивная модель в виде ClassificationGAM
или RegressionGAM
объект модели.
Interactions
— Номер периодов взаимодействия или список периодов взаимодействия
| неотрицательное целое число | логическая матрица | 'all'
Номер или список периодов взаимодействия, чтобы включать в кандидата устанавливают S в виде неотрицательного целочисленного скаляра, логической матрицы или 'all'
.
Номер периодов взаимодействия в виде неотрицательного целого числа — S включает конкретное количество важных периодов взаимодействия, выбранных на основе p - значения условий.
Список периодов взаимодействия в виде логической матрицы — S включает условия, заданные t
- p
логическая матрица, где t
номер периодов взаимодействия и p
количество предикторов, используемых, чтобы обучить модель. Например, logical([1 1 0; 0 1 1])
представляет две пары периодов взаимодействия: пара первых и вторых предикторов и пара вторых и третьих предикторов.
Если addInteractions
использует подмножество входных переменных как предикторы, затем функция индексирует предикторы с помощью только подмножество. Таким образом, индексы столбца логической матрицы не считают переменные веса ответа и наблюдения. Индексы также не считают переменные не используемыми функцией.
'all'
— S включает все возможные пары периодов взаимодействия, который является p*(p – 1)/2
количество условий всего.
Среди периодов взаимодействия в S, addInteractions
функция идентифицирует тех, p которых - значения не больше 'MaxPValue'
значение и использует их, чтобы создать набор деревьев взаимодействия. Используйте значение по умолчанию ('MaxPValue'
, 1) создавать деревья взаимодействия, использующие все термины в S.
Типы данных: single
| double
| logical
| char
| string
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
addInteractions (Mdl
, 'все', 'MaxPValue', 0.05, 'Многословный', 1, 'NumPrints', 10)
задает, чтобы включать все доступные периоды взаимодействия, p которых - значения не больше 0.05, и отобразить диагностику передает каждые 10 итераций.'InitialLearnRateForInteractions'
— Начальная скорость обучения повышения градиента в течение многих периодов взаимодействия
(значение по умолчанию) | числовой скаляр в (0,1]Начальная скорость обучения повышения градиента в течение многих периодов взаимодействия в виде числового скаляра в интервале (0,1].
Для каждой повышающей итерации для деревьев взаимодействия, addInteractions
начинает соответствовать начальной скорости обучения. Функциональные половины скорость обучения, пока это не находит уровень, который улучшает подгонку модели.
Обучение модель с помощью небольшой скорости обучения требует большего количества итераций изучения, но часто достигает лучшей точности.
Для получения дополнительной информации о повышении градиента, смотрите, что Градиент Повышает Алгоритм.
Пример: 'InitialLearnRateForInteractions',0.1
Типы данных: single
| double
'MaxNumSplitsPerInteraction'
— Максимальное количество решения разделяет на дерево взаимодействияМаксимальное количество разделений решения (или узлы ветви) для каждого дерева взаимодействия (повышенное дерево в течение периода взаимодействия) в виде положительного целочисленного скаляра.
Пример: 'MaxNumSplitsPerInteraction',5
Типы данных: single
| double
'MaxPValue'
— Максимальный p - значение для обнаружения периодов взаимодействияМаксимальный p - значение для обнаружения периодов взаимодействия в виде числового скаляра в интервале [0,1].
addInteractions
сначала находит, что кандидат установил S периодов взаимодействия от Interactions
значение. Затем функция идентифицирует периоды взаимодействия, p которых - значения не больше 'MaxPValue'
значение и использует их, чтобы создать набор деревьев взаимодействия.
Значение по умолчанию ('MaxPValue',1
) деревья взаимодействия сборок в течение всех периодов взаимодействия в кандидате устанавливают S.
Для получения дополнительной информации об обнаружении периодов взаимодействия, смотрите Обнаружение Периода взаимодействия.
Пример: 'MaxPValue',0.05
Типы данных: single
| double
'NumPrint'
— Количество итераций между диагностическими распечатками сообщенияMdl.ModelParameters.NumPrint
(значение по умолчанию) | неотрицательный целочисленный скалярКоличество итераций между диагностическими распечатками сообщения в виде неотрицательного целочисленного скаляра. Этот аргумент допустим только, когда вы задаете 'Verbose'
как 1.
Если вы задаете 'Verbose',1
и 'NumPrint',numPrint
, затем программное обеспечение отображается, диагностика передает каждый numPrint
итерации в Командном окне.
Значением по умолчанию является Mdl.ModelParameters.NumPrint
, который является NumPrint
значение, которое вы задаете при создании объекта GAM Mdl
.
Пример: 'NumPrint',500
Типы данных: single
| double
'NumTreesPerInteraction'
— Количество деревьев в период взаимодействияКоличество деревьев в период взаимодействия в виде положительного целочисленного скаляра.
'NumTreesPerInteraction'
значение эквивалентно количеству итераций повышения градиента в течение периодов взаимодействия для предикторов. Для каждой итерации, addInteractions
добавляет набор деревьев взаимодействия к модели, одного дерева в течение каждого периода взаимодействия. Чтобы узнать об алгоритме повышения градиента, смотрите, что Градиент Повышает Алгоритм.
Можно определить, имеет ли подобранная модель конкретное количество деревьев путем просмотра диагностического сообщения, отображенного когда 'Verbose'
1 или 2, или путем проверки ReasonForTermination
значение свойства модели Mdl
.
Пример: 'NumTreesPerInteraction',500
Типы данных: single
| double
'Verbose'
— Уровень многословияMdl.ModelParameters.VerbosityLevel
(значение по умолчанию) | 0 | 1
| 2
Уровень многословия в виде 0
, 1, или
2
. Verbose
значение управляет объемом информации, который программное обеспечение отображает в Командном окне.
Эта таблица суммирует доступные опции уровня многословия.
Значение | Описание |
---|---|
0
| Программное обеспечение не отображает информации. |
1
| Программное обеспечение отображается, диагностика передает каждый numPrint итерации, где numPrint 'NumPrint' значение. |
2
| Программное обеспечение отображает диагностические сообщения в каждой итерации. |
Каждая линия диагностических сообщений показывает информацию о каждой повышающей итерации и включает следующие столбцы:
Type
— Тип обученных деревьев, 1D
(деревья предиктора или повышенные деревья для линейных членов для предикторов) или 2D
(деревья взаимодействия или повышенные деревья в течение многих периодов взаимодействия для предикторов)
NumTrees
— Количество деревьев на линейный член или период взаимодействия это addInteractions
добавленный к модели до сих пор
Deviance
— Отклонение модели
RelTol
— Относительное изменение предсказаний модели: , где вектор-столбец предсказаний модели в итерации k
LearnRate
— Скорость обучения используется для текущей итерации
Значением по умолчанию является Mdl.ModelParameters.VerbosityLevel
, который является Verbose
значение, которое вы задаете при создании объекта GAM Mdl
.
Пример: 'Verbose',1
Типы данных: single
| double
UpdatedMdl
— Обновленная обобщенная аддитивная модельClassificationGAM
объект модели | RegressionGAM
объект моделиОбновленная обобщенная аддитивная модель, возвращенная как ClassificationGAM
или RegressionGAM
объект модели. UpdatedMdl
имеет тот же тип объекта как входная модель Mdl
.
Перезаписывать входной параметр Mdl
, присвойте выход addInteractions
к Mdl
:
Mdl = addInteractions(Mdl,Interactions);
Отклонение является обобщением остаточной суммы квадратов. Это измеряет качество подгонки по сравнению с влажной моделью.
Отклонение подобранной модели является дважды различием между логарифмической правдоподобностью модели и влажной модели:
- 2 (logL - logLs),
где L и Ls являются вероятностями подобранной модели и влажной модели, соответственно. Влажная модель является моделью с максимальным количеством параметров, которые можно оценить.
addInteractions
использует отклонение, чтобы измерить совершенство подгонки модели и находит скорость обучения, которая уменьшает отклонение в каждой итерации. Задайте 'Verbose'
как 1 или 2, чтобы отобразить отклонение и скорость обучения в Командном окне.
addInteractions
добавляют наборы деревьев взаимодействия (повышенные деревья в течение многих периодов взаимодействия для предикторов) к одномерной обобщенной аддитивной модели при помощи алгоритма повышения градиента (Повышение Наименьших квадратов для регрессии и Адаптивная Логистическая регрессия для классификации). Алгоритм выполняет итерации для в большей части 'NumTreesPerInteraction'
времена для деревьев взаимодействия.
Для каждой повышающей итерации, addInteractions
создает набор деревьев взаимодействия с начальной скоростью обучения 'InitialLearnRateForInteractions'
.
При создании набора деревьев функция обучает одно дерево за один раз. Это соответствует дереву к невязке, которая является различием между ответом (наблюдаемые значения отклика для регрессии или множества наблюдаемых классов для классификации) и агрегированным предсказанием от всех деревьев, выращенных ранее. Чтобы контролировать скорость изучения повышения, функция уменьшает дерево скоростью обучения и затем добавляет дерево в модель и обновляет невязку.
Обновленная модель = текущая модель + (скорость обучения) · (новое дерево)
Обновленная невязка = текущая невязка – (скорость обучения) · (ответ, объясненный новым деревом)
Если добавление набора деревьев улучшает подгонку модели (то есть, уменьшает отклонение подгонки), затем addInteractions
перемещения к следующей итерации.
В противном случае, addInteractions
половины скорость обучения и использование это, чтобы обновить модель и невязку. Функция продолжает делить на два скорость обучения, пока это не находит уровень, который улучшает подгонку модели.
Если функция не может найти такую скорость обучения для деревьев взаимодействия, то это отключает подбор кривой модели. Можно определить, почему обучение зашло в проверку ReasonForTermination
свойство обученной модели.
В течение каждого попарного периода взаимодействия xi xj (заданный Interactions
), программное обеспечение выполняет F - тест, чтобы исследовать, является ли термин статистически значительным.
Ускорять процесс, addInteractions
интервалы числовые предикторы в самое большее 8 равновероятных интервалов. Количество интервалов может быть меньше 8, если предиктор имеет меньше чем 8 уникальных значений. F - тест исследует нулевую гипотезу, что интервалы, созданные xi и xj, имеют равные ответы по сравнению с альтернативой в наименьшем количестве одного интервала, имеет различное значение отклика от других. Маленький p - значение указывает, что различия являются значительными, который подразумевает, что соответствующий период взаимодействия является значительным и, поэтому, включая термин может улучшить подгонку модели.
addInteractions
создает набор деревьев взаимодействия, использующих термины, p которых - значения не больше 'MaxPValue'
значение. Можно использовать 'MaxPValue'
по умолчанию значение
1
создавать деревья взаимодействия, использующие все термины, заданные Interactions
.
addInteractions
добавляют периоды взаимодействия к модели в порядке важности на основе p - значения. Используйте Interactions
свойство возвращенной модели проверять порядок периодов взаимодействия, добавленных к модели.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.