templateLinear

Линейный шаблон ученика классификации

templateLinear создает шаблон, подходящий для подбора кривой линейной модели классификации к высоко-размерным данным для проблем мультикласса.

Шаблон задает бинарную модель ученика, тип регуляризации и силу и решатель, среди прочего. После создания шаблона обучите модель путем передачи шаблона и данных к fitcecoc.

Синтаксис

t = templateLinear()
t = templateLinear(Name,Value)

Описание

пример

t = templateLinear() возвращает линейный шаблон ученика классификации.

Если вы задаете шаблон по умолчанию, то программное обеспечение использует значения по умолчанию для всех входных параметров во время обучения.

пример

t = templateLinear(Name,Value) возвращает шаблон с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Например, можно задать, чтобы реализовать логистическую регрессию, задать тип регуляризации или силу, или задать решатель, чтобы использовать для минимизации целевой функции.

Если вы отображаете t в Командном окне, то все опции кажутся пустыми ([]) кроме опций, что вы задаете аргументы пары "имя-значение" использования. Во время обучения программное обеспечение использует значения по умолчанию для пустых опций.

Примеры

свернуть все

Обучите модель ECOC, состоявшую из нескольких двоичного файла, линейных моделей классификации.

Загрузите набор данных NLP.

load nlpdata

X является разреженной матрицей данных о предикторе, и Y является категориальным вектором меток класса. В данных существует больше чем два класса.

Создайте линейный образцовый классификацией шаблон по умолчанию.

t = templateLinear();

Чтобы настроить значения по умолчанию, см. Аргументы в виде пар имя-значение на странице templateLinear.

Обучите модель ECOC, состоявшую из нескольких двоичного файла, линейные модели классификации, которые могут идентифицировать продукт, учитывая плотность распределения слов на веб-странице документации. В течение более быстрого учебного времени транспонируйте данные о предикторе и укажите, что наблюдения соответствуют столбцам.

X = X';
rng(1); % For reproducibility 
Mdl = fitcecoc(X,Y,'Learners',t,'ObservationsIn','columns')
Mdl = 
  classreg.learning.classif.CompactClassificationECOC
      ResponseName: 'Y'
        ClassNames: [1x13 categorical]
    ScoreTransform: 'none'
    BinaryLearners: {78x1 cell}
      CodingMatrix: [13x78 double]


  Properties, Methods

Также можно обучить модель ECOC, состоявшую из линейных моделей классификации по умолчанию с помощью 'Learners','Linear'.

Чтобы сохранить память, fitcecoc возвращает обученные модели ECOC, состоявшие из линейных учеников классификации в объектах модели CompactClassificationECOC.

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

свернуть все

Аргументы в виде пар имя-значение

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

Пример: 'Learner','logistic','Regularization','lasso','CrossVal','on' задает, чтобы реализовать логистическую регрессию со штрафом лассо и реализовать 10-кратную перекрестную проверку.

Линейные опции классификации

свернуть все

Сила срока регуляризации, заданная как пара, разделенная запятой, состоящая из 'Lambda' и 'auto', неотрицательного скаляра или вектора неотрицательных значений.

  • Для 'auto', Lambda = 1/n.

    • Если вы задаете перекрестную проверку, аргумент пары "имя-значение" (например, CrossVal), то n является количеством, окутывают наблюдения.

    • В противном случае n является учебным объемом выборки.

  • Для вектора неотрицательных значений программное обеспечение последовательно оптимизирует целевую функцию для каждого отличного значения в Lambda в порядке возрастания.

    • Если Solver является 'sgd' или 'asgd', и Regularization является 'lasso', то программное обеспечение не использует предыдущие содействующие оценки в качестве горячего запуска для следующей итерации оптимизации. В противном случае программное обеспечение использует горячие запуски.

    • Если Regularization является 'lasso', то любая содействующая оценка 0 сохраняет свое значение, когда программное обеспечение оптимизирует использующие последующие значения в Lambda.

    Возвращает содействующие оценки для всех итераций оптимизации.

Пример: 'Lambda',10.^(-(10:-2:2))

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

Линейный тип модели классификации, заданный как пара, разделенная запятой, состоящая из 'Learner' и 'svm' или 'logistic'.

В этой таблице, f(x)=xβ+b.

  • β является вектором коэффициентов p.

  • x является наблюдением от переменных прогноза p.

  • b является скалярным смещением.

ЗначениеАлгоритмОбласть значений ответаФункция потерь
'svm'Поддержите векторную машинуy ∊ {-1,1}; 1 для положительного класса и –1 в противном случаеСтержень: [y,f(x)]=max [0,1yf(x)]
'logistic'Логистическая регрессияТо же самое как 'svm'(Логистическое) отклонение: [y,f(x)]=журнал{1+exp[yf(x)]}

Пример: 'Learner','logistic'

Тип штрафа сложности, заданный как пара, разделенная запятой, состоящая из 'Regularization' и 'lasso' или 'ridge'.

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

ЗначениеОписание
'lasso'Лассо (L1) штраф: λj=1p|βj|
'ridge'Гребень (L2) штраф: λ2j=1pβj2

Чтобы задать регуляризацию называют силу, которая является λ в выражениях, используйте Lambda.

Программное обеспечение исключает срок смещения (β 0) от штрафа регуляризации.

Если Solver является 'sparsa', то значением по умолчанию Regularization является 'lasso'. В противном случае значением по умолчанию является 'ridge'.

Совет

  • Для выбора переменной прогноза задайте 'lasso'.

  • Для точности оптимизации задайте 'ridge'.

Пример: 'Regularization','lasso'

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

ЗначениеОписаниеОграничения
'sgd'Стохастический спуск градиента (SGD) [5][3] 
'asgd'Средний стохастический спуск градиента (ASGD) [8] 
'dual'Двойной SGD для SVM [2][7]Regularization должен быть 'ridge', и Learner должен быть 'svm'.
'bfgs'Алгоритм квазиньютона Бройдена Флетчера Голдфарба Шэнно (BFGS) [4]Неэффективный, если X является очень высоко-размерным.
'lbfgs'Ограниченная память BFGS (LBFGS) [4]Regularization должен быть 'ridge'.
'sparsa'Разреженная реконструкция отделимым приближением (SpaRSA) [6]Regularization должен быть 'lasso'.

Если вы задаете:

  • Гребенчатый штраф (см. Regularization) и набор данных предиктора содержат 100 или меньше переменных прогноза, затем решателем по умолчанию является 'bfgs'.

  • Модель SVM (см. Learner), гребенчатый штраф и набор данных предиктора содержат больше чем 100 переменных прогноза, затем решателем по умолчанию является 'dual'.

  • Штраф лассо и набор данных предиктора содержат 100 или меньше переменных прогноза, затем решателем по умолчанию является 'sparsa'.

В противном случае решателем по умолчанию является 'sgd'.

Для получения дополнительной информации, на который решатель выбрать, смотрите Советы.

Пример: 'Solver',{'sgd','lbfgs'}

Начальный линейный коэффициент оценивает (β), заданный как пара, разделенная запятой, состоящая из 'Beta' и p - размерный числовой вектор или p-by-L числовая матрица. p является количеством переменных прогноза в X, и L является количеством значений силы регуляризации (для получения дополнительной информации, смотрите Lambda).

  • Если вы задаете p - размерный вектор, то программное обеспечение оптимизирует целевую функцию времена L с помощью этого процесса.

    1. Программное обеспечение оптимизирует использование Beta как начальное значение и минимальное значение Lambda как сила регуляризации.

    2. Программное обеспечение оптимизирует снова использование получившейся оценки от предыдущей оптимизации как горячий запуск и следующее наименьшее значение в Lambda как сила регуляризации.

    3. Программное обеспечение реализует шаг 2, пока это не исчерпывает все значения в Lambda.

  • Если вы задаете p-by-L матрица, то программное обеспечение оптимизирует целевую функцию времена L. В итерации j программное обеспечение использует Beta(:,j) в качестве начального значения и, после того, как это отсортирует Lambda в порядке возрастания, Lambda(j) использования как сила регуляризации.

Если вы устанавливаете 'Solver','dual', то программное обеспечение игнорирует Beta.

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

Начальная оценка прерывания (b), заданный как пара, разделенная запятой, состоящая из 'Bias' и числового скаляра или L - размерный числовой вектор. L является количеством значений силы регуляризации (для получения дополнительной информации, смотрите Lambda).

  • Если вы задаете скаляр, то программное обеспечение оптимизирует целевую функцию времена L с помощью этого процесса.

    1. Программное обеспечение оптимизирует использование Bias как начальное значение и минимальное значение Lambda как сила регуляризации.

    2. Использование получившаяся оценка как горячий запуск к следующей итерации оптимизации и использование следующее наименьшее значение в Lambda как сила регуляризации.

    3. Программное обеспечение реализует шаг 2, пока это не исчерпывает все значения в Lambda.

  • Если вы задаете L - размерный вектор, то программное обеспечение оптимизирует целевую функцию времена L. В итерации j программное обеспечение использует Bias(j) в качестве начального значения и, после того, как это отсортирует Lambda в порядке возрастания, Lambda(j) использования как сила регуляризации.

  • По умолчанию:

    • Если Learner является 'logistic', то gj, которому позволяют, 1, если Y(j) является положительным классом, и-1 в противном случае. Bias является взвешенным средним g для обучения или для перекрестной проверки, окутайте наблюдения.

    • Если Learner является 'svm', то Bias 0.

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

Линейный образцовый флаг включения прерывания, заданный как пара, разделенная запятой, состоящая из 'FitBias' и true или false.

ЗначениеОписание
trueПрограммное обеспечение включает срок смещения b в линейную модель, и затем оценивает его.
falseПрограммное обеспечение устанавливает b = 0 во время оценки.

Пример: 'FitBias',false

Типы данных: логический

Отметьте, чтобы соответствовать линейному образцовому прерыванию после оптимизации, заданной как пара, разделенная запятой, состоящая из 'PostFitBias' и true или false.

ЗначениеОписание
falseПрограммное обеспечение оценивает, что смещение называет b и коэффициенты β во время оптимизации.
true

Оценить b, программное обеспечение:

  1. Оценки β и b с помощью модели

  2. Очки классификации оценок

  3. b ремонтов путем размещения порога в очки классификации, который достигает максимальной точности

Если вы задаете true, то FitBias должен быть верным.

Пример: 'PostFitBias',true

Типы данных: логический

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

ЗначениеОписание
0templateLinear не отображает диагностическую информацию.
1templateLinear периодически отображает значение целевой функции, величины градиента и другой диагностической информации.

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

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

SGD и опции решателя ASGD

свернуть все

Мини-пакетный размер, заданный как пара, разделенная запятой, состоящая из 'BatchSize' и положительного целого числа. В каждой итерации программное обеспечение оценивает градиент с помощью наблюдений BatchSize от данных тренировки.

  • Если данные о предикторе являются числовой матрицей, то значением по умолчанию является 10.

  • Если данные о предикторе являются разреженной матрицей, то значением по умолчанию является max([10,ceil(sqrt(ff))]), где ff = numel(X)/nnz(X), то есть, fullness factor X.

Пример: 'BatchSize',100

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

Темп обучения, заданный как пара, разделенная запятой, состоящая из 'LearnRate' и положительной скалярной величины. LearnRate задает сколько шагов, чтобы взять на итерацию. В каждой итерации градиент задает направление и значение каждого шага.

  • Если Regularization является 'ridge', то LearnRate задает начальный темп обучения γ 0. Программное обеспечение определяет темп обучения для итерации t, γt, с помощью

    γt=γ0(1+λγ0t)c.

    • λ является значением Lambda.

    • Если Solver является 'sgd', то c = 1.

    • Если Solver является 'asgd', то c 0.75 [7].

  • Если Regularization является 'lasso', то для всех итераций LearnRate является постоянным.

По умолчанию LearnRate является 1/sqrt(1+max((sum(X.^2,obsDim)))), где obsDim является 1, если наблюдения составляют столбцы данных о предикторе X и 2 в противном случае.

Пример: 'LearnRate',0.01

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

Отметьте, чтобы уменьшить темп обучения, когда программное обеспечение обнаружит расхождение (то есть, переступая через минимум), заданный как пара, разделенная запятой, состоящая из 'OptimizeLearnRate' и true или false.

Если OptimizeLearnRate является 'true', то:

  1. Для нескольких итераций оптимизации программное обеспечение запускает оптимизацию с помощью LearnRate в качестве темпа обучения.

  2. Если значение увеличений целевой функции, то перезапуски программного обеспечения и использование половина текущего значения темпа обучения.

  3. Программное обеспечение выполняет итерации шага 2, пока целевая функция не уменьшается.

Пример: 'OptimizeLearnRate',true

Типы данных: логический

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

После запущенного усечения программное обеспечение применяет мягкий порог к линейным коэффициентам. Таким образом, после обработки k = мини-пакеты TruncationPeriod, программное обеспечение обрезает предполагаемый коэффициент использование j

β^j={β^jutесли β^j>ut,0если |β^j|ut,β^j+utесли β^j<ut.

  • Для SGD, β^j оценка коэффициента j после обработки мини-пакетов k. ut=kγtλ. γt является темпом обучения в итерации t. λ является значением Lambda.

  • Для ASGD, β^j усредненный оценочный коэффициент j после обработки мини-пакетов k, ut=kλ.

Если Regularization является 'ridge', то программное обеспечение игнорирует TruncationPeriod.

Пример: 'TruncationPeriod',100

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

SGD и средства управления сходимостью ASGD

свернуть все

Максимальное количество пакетов к процессу, заданному как пара, разделенная запятой, состоящая из 'BatchLimit' и положительного целого числа. Когда программные процессы пакеты BatchLimit, это отключает оптимизацию.

  • По умолчанию:

    • Проходы через данные программного обеспечения времена PassLimit.

    • Если вы задаете несколько решателей и используете (A) SGD, чтобы получить начальное приближение для следующего решателя, то значением по умолчанию является ceil(1e6/BatchSize). BatchSize является значением аргумента пары "имя-значение" ' BatchSize '.

  • Если вы задаете 'BatchLimit' и ' PassLimit ', то программное обеспечение выбирает аргумент, который приводит к обработке наименьшего количества наблюдений.

  • Если вы задаете 'BatchLimit', но не 'PassLimit', то программные процессы достаточно пакетов, чтобы завершиться до одного целого прохода через данные.

Пример: 'BatchLimit',100

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

Относительный допуск на линейных коэффициентах и сроке смещения (прерывание), заданное как пара, разделенная запятой, состоящая из 'BetaTolerance' и неотрицательного скаляра.

Пусть Bt=[βtbt], то есть, вектор коэффициентов и смещения называет в итерации оптимизации t. Если BtBt1Bt2<BetaTolerance, затем оптимизация останавливается.

Если программное обеспечение сходится для последнего решателя, заданного в Solver, то оптимизация останавливается. В противном случае программное обеспечение использует следующий решатель, заданный в Solver.

Пример: 'BetaTolerance',1e-6

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

Количество пакетов к процессу перед следующей проверкой сходимости, заданной как пара, разделенная запятой, состоящая из 'NumCheckConvergence' и положительного целого числа.

Чтобы задать пакетный размер, смотрите BatchSize.

Проверки программного обеспечения на сходимость приблизительно 10 раз на проходят через целый набор данных по умолчанию.

Пример: 'NumCheckConvergence',100

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

Максимальное количество проходов через данные, заданное как пара, разделенная запятой, состоящая из 'PassLimit' и положительного целого числа.

Программные процессы все наблюдения, когда это завершает один проход через данные.

Когда проходы через данные программного обеспечения времена PassLimit, это отключает оптимизацию.

Если вы задаете ' BatchLimit ' и PassLimit, то программное обеспечение выбирает аргумент, который приводит к обработке наименьшего количества наблюдений.

Пример: 'PassLimit',5

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

Двойные средства управления сходимостью SGD

свернуть все

Относительный допуск на линейных коэффициентах и сроке смещения (прерывание), заданное как пара, разделенная запятой, состоящая из 'BetaTolerance' и неотрицательного скаляра.

Пусть Bt=[βtbt], то есть, вектор коэффициентов и смещения называет в итерации оптимизации t. Если BtBt1Bt2<BetaTolerance, затем оптимизация останавливается.

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

Если программное обеспечение сходится для последнего решателя, заданного в Solver, то оптимизация останавливается. В противном случае программное обеспечение использует следующий решатель, заданный в Solver.

Пример: 'BetaTolerance',1e-6

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

Допуск различия градиента между верхними и более низкими нарушителями условий взаимозависимости Karush-Kuhn-Tucker (KKT) пула, заданными как пара, разделенная запятой, состоящая из 'DeltaGradientTolerance' и неотрицательного скаляра.

  • Если значение нарушителей KKT является меньше, чем DeltaGradientTolerance, то программное обеспечение отключает оптимизацию.

  • Если программное обеспечение сходится для последнего решателя, заданного в Solver, то оптимизация останавливается. В противном случае программное обеспечение использует следующий решатель, заданный в Solver.

Пример: 'DeltaGapTolerance',1e-2

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

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

Пример: 'NumCheckConvergence',100

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

Максимальное количество проходов через данные, заданное как пара, разделенная запятой, состоящая из 'PassLimit' и положительного целого числа.

Когда программное обеспечение завершает один проход через данные, оно обработало все наблюдения.

Когда проходы через данные программного обеспечения времена PassLimit, это отключает оптимизацию.

Пример: 'PassLimit',5

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

BFGS, LBFGS и средства управления сходимостью SpaRSA

свернуть все

Относительный допуск на линейных коэффициентах и сроке смещения (прерывание), заданное как пара, разделенная запятой, состоящая из 'BetaTolerance' и неотрицательного скаляра.

Пусть Bt=[βtbt], то есть, вектор коэффициентов и смещения называет в итерации оптимизации t. Если BtBt1Bt2<BetaTolerance, затем оптимизация останавливается.

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

Если программное обеспечение сходится для последнего решателя, заданного в Solver, то оптимизация останавливается. В противном случае программное обеспечение использует следующий решатель, заданный в Solver.

Пример: 'BetaTolerance',1e-6

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

Абсолютный допуск градиента, заданный как пара, разделенная запятой, состоящая из 'GradientTolerance' и неотрицательного скаляра.

Пусть t будьте вектором градиента целевой функции относительно коэффициентов, и смещение называют в итерации оптимизации t. Если t=max |t|<GradientTolerance, затем оптимизация останавливается.

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

Если программное обеспечение сходится для последнего решателя, заданного в программном обеспечении, то оптимизация останавливается. В противном случае программное обеспечение использует следующий решатель, заданный в Solver.

Пример: 'GradientTolerance',1e-5

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

Размер буфера истории для приближения Гессиана, заданного как пара, разделенная запятой, состоящая из 'HessianHistorySize' и положительного целого числа. Таким образом, в каждой итерации программное обеспечение составляет Гессиан с помощью статистики от последних итераций HessianHistorySize.

Программное обеспечение не поддерживает 'HessianHistorySize' для SpaRSA.

Пример: 'HessianHistorySize',10

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

Максимальное количество итераций оптимизации, заданных как пара, разделенная запятой, состоящая из 'IterationLimit' и положительного целого числа. IterationLimit применяется к этим значениям Solver: 'bfgs', 'lbfgs' и 'sparsa'.

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

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

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

свернуть все

Линейный шаблон ученика модели классификации, возвращенный как объект шаблона. Чтобы обучить линейную модель классификации использование высоко-размерных данных для проблем мультикласса, передайте t fitcecoc.

Если вы отображаете t к Командному окну, то все, незаданные опции кажутся пустыми ([]). Однако программное обеспечение заменяет пустые опции на их соответствующие значения по умолчанию во время обучения.

Больше о

свернуть все

Горячий запуск

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

Советы

  • Это - лучшая практика ориентировать вашу матрицу предиктора так, чтобы наблюдения соответствовали столбцам и задавать 'ObservationsIn','columns'. В результате можно испытать значительное сокращение во время выполнения оптимизации.

  • Для лучшей точности оптимизации, если данные о предикторе являются высоко-размерными и Regularization является 'ridge', установите любую из этих комбинаций для Solver:

    • 'sgd'

    • 'asgd'

    • 'dual', если Learner является 'svm'

    • {'sgd','lbfgs'}

    • {'asgd','lbfgs'}

    • {'dual','lbfgs'}, если Learner является 'svm'

    Другие комбинации могут привести к плохой точности оптимизации.

  • Для лучшей точности оптимизации, если данные о предикторе являются умеренными - через низко-размерный и Regularization, 'ridge', установите Solver на 'bfgs'.

  • Если Regularization является 'lasso', установите любую из этих комбинаций для Solver:

    • 'sgd'

    • 'asgd'

    • 'sparsa'

    • {'sgd','sparsa'}

    • {'asgd','sparsa'}

  • При выборе между SGD и ASGD, полагайте что:

    • SGD занимает меньше времени на итерацию, но требует, чтобы сходилось больше итераций.

    • ASGD требует, чтобы меньше итераций сходилось, но занимает больше времени на итерацию.

  • Если данные о предикторе имеют немного наблюдений, но много переменных прогноза, то:

    • Задайте 'PostFitBias',true.

    • Для SGD или решателей ASGD, набор PassLimit к положительному целому числу, которое больше, чем 1, например, 5 или 10. Эта установка часто приводит к лучшей точности.

  • Для SGD и решателей ASGD, BatchSize влияет на уровень сходимости.

    • Если BatchSize является слишком маленьким, то программное обеспечение достигает минимума во многих итерациях, но вычисляет градиент на итерацию быстро.

    • Если BatchSize является слишком большим, то программное обеспечение достигает минимума в меньшем количестве итераций, но вычисляет градиент на итерацию медленно.

  • Большой темп обучения (см. LearnRate) сходимость ускорения к минимуму, но может привести к расхождению (то есть, переступив через минимум). Небольшие темпы обучения гарантируют сходимость минимуму, но могут вести, чтобы замедлить завершение.

  • Если Regularization является 'lasso', то экспериментируйте с различными значениями TruncationPeriod. Например, установите TruncationPeriod на 1, 10, и затем 100.

  • Для эффективности программное обеспечение не стандартизирует данные о предикторе. Чтобы стандартизировать данные о предикторе (X), войти

    X = bsxfun(@rdivide,bsxfun(@minus,X,mean(X,2)),std(X,0,2));

    Код требует, чтобы вы ориентировали предикторы и наблюдения как строки и столбцы X, соответственно. Кроме того, для экономики использования памяти код заменяет исходные данные о предикторе стандартизированные данные.

Ссылки

[1] Се, C. J. К. В. Чанг, К. Дж. Лин, С. С. Кирти и С. Сандарарэджэн. “Двойной Координатный Метод Спуска для Крупномасштабного Линейного SVM”. Продолжения 25-й Международной конференции по вопросам Машинного обучения, ICML ’08, 2001, стр 408–415.

[2] Лэнгфорд, J., Л. Ли и Т. Чжан. “Разреженное Дистанционное обучение Через Усеченный Градиент”. Дж. Мах. Учиться. Res., Издание 10, 2009, стр 777–801.

[3] Nocedal, J. и С. Дж. Райт. Числовая Оптимизация, 2-й редактор, Нью-Йорк: Спрингер, 2006.

[4] Шалев-Шварц, S., И. Зингер и Н. Сребро. “Pegasos: Основной Предполагаемый Решатель Подградиента для SVM”. Продолжения 24-й Международной конференции по вопросам Машинного обучения, ICML ’07, 2007, стр 807–814.

[5] Мастер, S. J. Р. Д. Ноуок и М. А. Т. Фигередо. “Разреженная Реконструкция Отделимым Приближением”. Сигнал сделки Proc., Издание 57, № 7, 2009, стр 2479–2493.

[6] Сяо, Лин. “Двойные Методы усреднения для Упорядоченного Стохастического Изучения и Онлайновой Оптимизации”. Дж. Мах. Учиться. Res., Издание 11, 2010, стр 2543–2596.

[7] Сюй, Вэй. “К Оптимальному Один Крупный масштаб Передачи Изучение с Усредненным Стохастическим Спуском Градиента”. CoRR, abs/1107.2490, 2011.

Расширенные возможности

Смотрите также

| |

Введенный в R2016a