templateLinear

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

Описание

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

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

пример

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 имя аргумента и 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'Stochastic gradient descent (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, программное обеспечение использует Бету (: 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, программное обеспечение использует Смещение (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 \times.

    • Если вы задаете несколько решателей и используете (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