fastLinear: fastLinear

Создает список, содержащий имя функции и аргументы, для обучения быстрой линейной модели с rxEnsemble.

Использование

  fastLinear(lossFunction = NULL, l2Weight = NULL, l1Weight = NULL,
    trainThreads = NULL, convergenceTolerance = 0.1, maxIterations = NULL,
    shuffle = TRUE, checkFrequency = NULL, ...)
 

Аргументы

lossFunction

Указывает эмпирическую функцию потерь, которую необходимо оптимизировать. Для двоичной классификации доступны следующие варианты.

  • logLoss — логарифмическая функция потерь. Это значение по умолчанию.
  • hingeLoss — кусочно-линейная функция потерь SVM. Ее параметр представляет размер поля.
  • smoothHingeLoss — сглаженная кусочно-линейная функция потерь. Ее параметр представляет постоянную сглаживания.
    Для линейной регрессии сейчас поддерживается квадратичная функция потерь squaredLoss. Если для этого параметра задано значение NULL, его значение по умолчанию зависит от типа обучения:
  • logLoss — для двоичной классификации.
  • squaredLoss — для линейной регрессии.

l2Weight

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

l1Weight

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

trainThreads

Указывает, сколько параллельных потоков можно использовать для выполнения алгоритма. Если этот параметр имеет значение NULL, количество используемых потоков определяется на основе количества логических процессоров, доступных для процесса, а также степени незаполненности данных. Задайте для него значение 1, чтобы запустить алгоритм в одном потоке.

convergenceTolerance

Задает пороговое значение допуска, используемое в качестве критерия конвергенции. Значение должно находиться в диапазоне от 0 до 1. Значение по умолчанию — 0.1. Алгоритм считается конвергированным, если относительный разрыв двойственности, который представляет собой отношение между разрывом двойственности и первичными потерями, опускается ниже указанного допуска конвергенции.

maxIterations

Задает верхнюю границу количества итераций обучения. Этот параметр должен быть положительным или иметь значение NULL. Если указано значение NULL, фактическое значение будет вычисляться автоматически на основе набора данных. Для каждой итерации требуется полный проход по обучающим данным. Обучение завершается после того, как общее число итераций достигает указанной верхней границы, или когда функция потери конвергируется, в зависимости от того, что происходит раньше.

shuffle

Указывает, следует ли перемешивать обучающие данные. Укажите значение TRUE, чтобы перемешивать данные, и значение FALSE, чтобы не перемешивать данные. Значение по умолчанию — TRUE. SDCA — это стохастический алгоритм оптимизации. Если перемешивание включено, обучающие данные сортируются в случайном порядке в каждой итерации.

checkFrequency

Число итераций, после которых функция потерь вычислена и проверяется на конвергентность. Указываемое значение должно быть положительным целым числом или NULL. Если указано значение NULL, фактическое значение будет вычисляться автоматически на основе набора данных. В противном случае, например, если указано значение checkFrequency = 5, вычисляется функция потерь и конвергенция проверяется каждые 5 итераций. Для вычисления функции потерь требуется отдельный полный проход по обучающим данным.

...

Дополнительные аргументы.