Шаблон учащегося линейной классификации
templateLinear создает шаблон, подходящий для подгонки линейной классификационной модели к высокоразмерным данным для многоклассных задач.
Шаблон определяет модель двоичного ученика, тип и силу регуляризации, а также решатель. После создания шаблона обучайте модель, передавая шаблон и данные в fitcecoc.
возвращает шаблон ученика линейной классификации.t = templateLinear()
Если указан шаблон по умолчанию, то программа использует значения по умолчанию для всех входных аргументов во время обучения.
возвращает шаблон с дополнительными параметрами, заданными одним или несколькими аргументами пары имя-значение. Например, можно указать для реализации логистической регрессии, тип или силу регуляризации или указать решатель, который будет использоваться для минимизации целевой функции.t = templateLinear(Name,Value)
При отображении t в окне команд все параметры отображаются пустыми ([]), за исключением параметров, указанных с помощью аргументов пары «имя-значение». Во время обучения программа использует значения по умолчанию для пустых параметров.
Обучение модели ECOC, состоящей из нескольких бинарных линейных классификационных моделей.
Загрузите набор данных NLP.
load nlpdataX является разреженной матрицей данных предиктора, и Y является категориальным вектором меток класса. В данных имеется более двух классов.
Создайте шаблон модели линейной классификации по умолчанию.
t = templateLinear();
Сведения о настройке значений по умолчанию см. в разделе Аргументы пары «имя-значение» на templateLinear страница.
Обучение модели ECOC, состоящей из нескольких бинарных линейных классификационных моделей, которые могут идентифицировать продукт с учетом частотного распределения слов на веб-странице документации. Для ускорения обучения перенесите данные предиктора и укажите, что наблюдения соответствуют столбцам.
X = X'; rng(1); % For reproducibility Mdl = fitcecoc(X,Y,'Learners',t,'ObservationsIn','columns')
Mdl =
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' (по умолчанию) | неотрицательный скаляр | вектор неотрицательных значенийСила термина регуляризации, определяемая как разделенная запятыми пара, состоящая из 'Lambda' и 'auto', неотрицательный скаляр или вектор неотрицательных значений.
Для 'auto', Lambda = 1/n.
Если указана перекрестная проверка, аргумент пары имя-значение (например, CrossVal), то n - количество кратных наблюдений.
В противном случае n - размер обучающей выборки.
Для вектора неотрицательных значений: templateLinear последовательно оптимизирует целевую функцию для каждого отдельного значения в Lambda в порядке возрастания.
Если Solver является 'sgd' или 'asgd' и Regularization является 'lasso', templateLinear не использует предыдущие оценки коэффициентов в качестве теплого начала для следующей итерации оптимизации. В противном случае templateLinear использует теплые старты.
Если Regularization является 'lasso', то любая оценка коэффициента 0 сохраняет свое значение, когда templateLinear оптимизирует с использованием последующих значений в Lambda.
templateLinear возвращает оценки коэффициентов для каждой заданной силы регуляризации.
Пример: 'Lambda',10.^(-(10:-2:2))
Типы данных: char | string | double | single
'Learner' - Тип модели линейной классификации'svm' (по умолчанию) | 'logistic'Тип модели линейной классификации, указанный как разделенная запятыми пара, состоящая из 'Learner' и 'svm' или 'logistic'.
В этой таблице + b.
β - вектор p-коэффициентов.
x - это наблюдение из переменных p-предиктора.
b - скалярное смещение.
| Стоимость | Алгоритм | Диапазон ответа | Функция потерь |
|---|---|---|---|
'svm' | Опорная векторная машина | y ∊ {-1,1}; 1 для положительного класса и -1 в противном случае | Шарнир: yf (x)] |
'logistic' | Логистическая регрессия | То же, что и 'svm' | Отклонение (логистическое): yf (x)]} |
Пример: 'Learner','logistic'
'Regularization' - Тип штрафа по сложности'lasso' | 'ridge'Тип штрафа сложности, указанный как разделенная запятыми пара, состоящая из 'Regularization' и 'lasso' или 'ridge'.
Программное обеспечение составляет целевую функцию для минимизации из суммы функции средних потерь (см. Learner) и термин регуляризации в этой таблице.
| Стоимость | Описание |
|---|---|
'lasso' | Лассо (L1) пенальти: |
'ridge' | Штраф по Риджу (L2): |
Чтобы указать силу термина регуляризации, которая является λ в выражениях, используйте Lambda.
Программное обеспечение исключает термин смещения (β0) из штрафа за регуляризацию.
Если Solver является 'sparsa', то значение по умолчанию Regularization является 'lasso'. В противном случае значение по умолчанию - 'ridge'.
Совет
Для выбора переменной предиктора укажите 'lasso'. Дополнительные сведения о выборе переменных см. в разделе Введение в выбор элементов.
Для точности оптимизации укажите 'ridge'.
Пример: 'Regularization','lasso'
'Solver' - Метод минимизации целевой функции'sgd' | 'asgd' | 'dual' | 'bfgs' | 'lbfgs' | 'sparsa' | строковый массив | массив ячеек символьных векторовМетод минимизации целевой функции, указанный как пара, разделенная запятыми, состоящая из 'Solver' и символьный вектор или строковый скаляр, строковый массив или массив ячеек символьных векторов со значениями из этой таблицы.
| Стоимость | Описание | Ограничения |
|---|---|---|
'sgd' | Стохастический градиентный спуск (SGD) [4][2] | |
'asgd' | Средний стохастический градиентный спуск (ASGD) [7] | |
'dual' | Двойной SGD для SVM [1][6] | Regularization должно быть 'ridge' и Learner должно быть 'svm'. |
'bfgs' | Алгоритм Бройдена-Флетчера-Гольдфарба-Шанно квази-Ньютона (BFGS) [3] | Неэффективно, если X является очень высокоразмерным. |
'lbfgs' | Ограниченная память BFGS (LBFGS) [3] | Regularization должно быть 'ridge'. |
'sparsa' | Разреженная реконструкция по разделяемому приближению (SpaRSA) [5] | Regularization должно быть 'lasso'. |
При указании:
Штраф по гребню (см. Regularization) и набор данных предиктора содержит 100 или менее переменных предиктора, тогда решателем по умолчанию является 'bfgs'.
Модель SVM (см. Learner), штраф по гребню, и набор данных предиктора содержит более 100 переменных предиктора, тогда решателем по умолчанию является 'dual'.
Штраф лассо и набор данных предиктора содержит 100 или менее переменных предиктора, тогда решателем по умолчанию является 'sparsa'.
В противном случае решателем по умолчанию является 'sgd'.
Дополнительные сведения о том, какой решатель выбрать, см. в разделе Советы.
Пример: 'Solver',{'sgd','lbfgs'}
'Beta' - Начальные оценки линейных коэффициентовzeros(p,1) (по умолчанию) | числовой вектор | числовая матрицаНачальные оценки линейных коэффициентов (β), определенные как разделенная запятыми пара, состоящая из 'Beta' и p-мерный числовой вектор или p-на-L-числовую матрицу. p - количество переменных предиктора в X и L - количество значений прочности на регуляризацию (подробнее см. Lambda).
Если задать p-мерный вектор, то программное обеспечение оптимизирует целевую функцию L раз, используя этот процесс.
Программное обеспечение оптимизирует использование Beta в качестве начального значения и минимального значения Lambda в качестве силы регуляризации.
Программное обеспечение снова оптимизирует, используя оценку, полученную в результате предыдущей оптимизации, как теплое начало, и следующее наименьшее значение в Lambda в качестве силы регуляризации.
Программное обеспечение реализует шаг 2, пока не исчерпает все значения в Lambda.
Если задать матрицу p-by-L, то программное обеспечение оптимизирует целевую функцию L раз. При итерации j, программное обеспечение использует Beta(:, как начальное значение и, после его сортировки j)Lambda по возрастанию, использует Lambda( в качестве силы регуляризации.j)
Если установить 'Solver','dual', то программное обеспечение игнорирует Beta.
Типы данных: single | double
'Bias' - Первоначальная оценка перехватаНачальная оценка перехвата (b), указанная как пара, разделенная запятыми, состоящая из 'Bias' и числовой скаляр или L-мерный числовой вектор. L - количество значений прочности на регуляризацию (подробнее см. Lambda).
Если указать скаляр, то программное обеспечение оптимизирует целевую функцию L раз, используя этот процесс.
Программное обеспечение оптимизирует использование Bias в качестве начального значения и минимального значения Lambda в качестве силы регуляризации.
Использует результирующую оценку в качестве теплого начала следующей итерации оптимизации и использует следующее наименьшее значение в Lambda в качестве силы регуляризации.
Программное обеспечение реализует шаг 2, пока не исчерпает все значения в Lambda.
Если задать L-мерный вектор, то программа оптимизирует целевую функцию L раз. При итерации j, программное обеспечение использует Bias( как начальное значение и, после его сортировки j)Lambda по возрастанию, использует Lambda( в качестве силы регуляризации.j)
По умолчанию:
Если Learner является 'logistic', то пусть gj будет 1, если Y( является положительным классом, а в противном случае -1. j)Bias - средневзвешенное значение g для обучения или, для перекрестной проверки, для кратных наблюдений.
Если Learner является 'svm', то Bias равно 0.
Типы данных: single | double
'FitBias' - Флаг включения пересечения линейной моделиtrue (по умолчанию) | falseФлаг включения пересечения линейной модели, заданный как разделенная запятыми пара, состоящая из 'FitBias' и true или false.
| Стоимость | Описание |
|---|---|
true | Программное обеспечение включает член смещения b в линейную модель, а затем оценивает его. |
false | Программное обеспечение устанавливает b = 0 во время оценки. |
Пример: 'FitBias',false
Типы данных: logical
'PostFitBias' - Флаг, соответствующий пересечению линейной модели после оптимизацииfalse (по умолчанию) | trueФлаг, соответствующий пересечению линейной модели после оптимизации, указанный как разделенная запятыми пара, состоящая из 'PostFitBias' и true или false.
| Стоимость | Описание |
|---|---|
false | Программное обеспечение оценивает член смещения b и коэффициенты β во время оптимизации. |
true |
Для оценки b программное обеспечение:
|
При указании true, то FitBias должно быть истинно.
Пример: 'PostFitBias',true
Типы данных: logical
'Verbose' - Уровень детализации0 (по умолчанию) | 1Уровень детализации, указанный как разделенная запятыми пара, состоящая из 'Verbose' и либо 0 или 1. Verbose управляет отображением диагностической информации в командной строке.
| Стоимость | Описание |
|---|---|
0 | templateLinear не отображает диагностическую информацию. |
1 | templateLinear периодически отображает значение целевой функции, величину градиента и другую диагностическую информацию. |
Пример: 'Verbose',1
Типы данных: single | double
'BatchSize' - Размер мини-партииРазмер мини-партии, указанный как разделенная запятыми пара, состоящая из 'BatchSize' и положительное целое число. При каждой итерации программа оценивает градиент с помощью BatchSize наблюдения из данных обучения.
Если данные предиктора являются числовой матрицей, то значением по умолчанию является 10.
Если данные предиктора являются разреженной матрицей, то значением по умолчанию является max([10,ceil(sqrt(ff))]), где ff = numel(X)/nnz(X), то есть коэффициент полноты X.
Пример: 'BatchSize',100
Типы данных: single | double
'LearnRate' - Коэффициент обученияСкорость обучения, указанная как разделенная запятыми пара, состоящая из 'LearnRate' и положительный скаляр. LearnRate управляет размером шага оптимизации путем масштабирования подукладчика.
Если Regularization является 'ridge', то LearnRate определяет начальную скорость обучения γ 0. templateLinear определяет скорость обучения для итерации t, γ t, используя
λ γ 0t) c.
Если 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 или false.
Если OptimizeLearnRate является 'true', то:
Для нескольких итераций оптимизации программа начинает оптимизацию с помощью LearnRate как скорость обучения.
Если значение целевой функции увеличивается, то программное обеспечение перезапускается и использует половину текущего значения скорости обучения.
Программное обеспечение выполняет этап 2 до тех пор, пока целевая функция не будет уменьшена.
Пример: 'OptimizeLearnRate',true
Типы данных: logical
'TruncationPeriod' - Количество мини-партий между прогонами усечения лассо10 (по умолчанию) | положительное целое числоКоличество мини-пакетов между прогонами усечения лассо, указанное как пара, разделенная запятыми, состоящая из 'TruncationPeriod' и положительное целое число.
После выполнения усечения программное обеспечение применяет мягкий порог к линейным коэффициентам. То есть после обработки k = TruncationPeriod мини-партии, программное обеспечение усекает оценочный коэффициент j, используя
ut.
Для SGD j - оценка коэффициента j после обработки k мини-партийkγ tλ. γ t - скорость обучения при итерации t.λ - значениеLambda.
Для ASGD j - усредненный оценочный коэффициент j после обработки k мини-партийkλ.
Если Regularization является 'ridge', то программное обеспечение игнорирует TruncationPeriod.
Пример: 'TruncationPeriod',100
Типы данных: single | double
'BatchLimit' - Максимальное количество партийМаксимальное количество обрабатываемых пакетов, указанное как пара, разделенная запятыми, состоящая из 'BatchLimit' и положительное целое число. При обработке программного обеспечения BatchLimit пакеты, он завершает оптимизацию.
По умолчанию:
При указании 'BatchLimit' и 'PassLimit', то программное обеспечение выбирает аргумент, который приводит к обработке наименьшего количества наблюдений.
При указании 'BatchLimit' но не 'PassLimit', затем программное обеспечение обрабатывает достаточное количество пакетов, чтобы завершить до одного полного прохода через данные.
Пример: 'BatchLimit',100
Типы данных: single | double
'BetaTolerance' - Относительный допуск по линейным коэффициентам и термину смещения1e-4 (по умолчанию) | неотрицательный скалярОтносительный допуск на линейные коэффициенты и член смещения (пересечение), указанный как разделенная запятыми пара, состоящая из 'BetaTolerance' и неотрицательный скаляр.
Пусть bt], то есть вектор коэффициентов и член смещения при итерации оптимизации т. Bt−Bt−1Bt‖2<BetaTolerance, то оптимизация заканчивается.
Если программное обеспечение сходится для последнего решателя, указанного в Solver, то оптимизация заканчивается. В противном случае программа использует следующий решатель, указанный в Solver.
Пример: 'BetaTolerance',1e-6
Типы данных: single | double
'NumCheckConvergence' - Количество пакетов для обработки перед следующей проверкой сходимостиКоличество пакетов для обработки перед следующей проверкой сходимости, указанное как разделенная запятыми пара, состоящая из 'NumCheckConvergence' и положительное целое число.
Чтобы указать размер партии, см. раздел BatchSize.
По умолчанию программа проверяет сходимость примерно в 10 раз за один проход по всему набору данных.
Пример: 'NumCheckConvergence',100
Типы данных: single | double
'PassLimit' - Максимальное количество проходов1 (по умолчанию) | положительное целое числоМаксимальное количество проходов через данные, указанное как разделенная запятыми пара, состоящая из 'PassLimit' и положительное целое число.
Программа обрабатывает все наблюдения по завершении одного прохода через данные.
Когда программное обеспечение проходит через данные PassLimit раз, он прекращает оптимизацию.
При указании 'BatchLimit' и PassLimit, то программное обеспечение выбирает аргумент, который приводит к обработке наименьшего количества наблюдений.
Пример: 'PassLimit',5
Типы данных: single | double
'BetaTolerance' - Относительный допуск по линейным коэффициентам и термину смещения1e-4 (по умолчанию) | неотрицательный скалярОтносительный допуск на линейные коэффициенты и член смещения (пересечение), указанный как разделенная запятыми пара, состоящая из 'BetaTolerance' и неотрицательный скаляр.
Пусть bt], то есть вектор коэффициентов и член смещения при итерации оптимизации т. Bt−Bt−1Bt‖2<BetaTolerance, то оптимизация заканчивается.
Если также указать DeltaGradientTolerance, то оптимизация завершается, когда программное обеспечение удовлетворяет любому критерию остановки.
Если программное обеспечение сходится для последнего решателя, указанного в Solver, то оптимизация заканчивается. В противном случае программа использует следующий решатель, указанный в Solver.
Пример: 'BetaTolerance',1e-6
Типы данных: single | double
'DeltaGradientTolerance' - Допуск разности градиентов1 (по умолчанию) | неотрицательный скалярГрадиентно-разностный допуск между нарушителями условий комплементарности верхнего и нижнего пулов Karush-Kuhn-Tucker (KKT), определяемый как разделенная запятыми пара, состоящая из 'DeltaGradientTolerance' и неотрицательный скаляр.
Если магнитуда нарушителей ККТ меньше DeltaGradientTolerance, то программное обеспечение завершает оптимизацию.
Если программное обеспечение сходится для последнего решателя, указанного в Solver, то оптимизация заканчивается. В противном случае программа использует следующий решатель, указанный в Solver.
Пример: 'DeltaGapTolerance',1e-2
Типы данных: double | single
'NumCheckConvergence' - Количество проходов через весь набор данных для обработки перед следующей проверкой сходимости5 (по умолчанию) | положительное целое числоКоличество проходов через весь набор данных для обработки перед следующей проверкой сходимости, указанной как пара, разделенная запятыми, состоящая из 'NumCheckConvergence' и положительное целое число.
Пример: 'NumCheckConvergence',100
Типы данных: single | double
'PassLimit' - Максимальное количество проходов10 (по умолчанию) | положительное целое числоМаксимальное количество проходов через данные, указанное как разделенная запятыми пара, состоящая из 'PassLimit' и положительное целое число.
Когда программное обеспечение завершает один проход через данные, оно обрабатывает все наблюдения.
Когда программное обеспечение проходит через данные PassLimit раз, он прекращает оптимизацию.
Пример: 'PassLimit',5
Типы данных: single | double
'BetaTolerance' - Относительный допуск по линейным коэффициентам и термину смещения1e-4 (по умолчанию) | неотрицательный скалярОтносительный допуск на линейные коэффициенты и член смещения (пересечение), указанный как разделенная запятыми пара, состоящая из 'BetaTolerance' и неотрицательный скаляр.
Пусть bt], то есть вектор коэффициентов и член смещения при итерации оптимизации т. Bt−Bt−1Bt‖2<BetaTolerance, то оптимизация заканчивается.
Если также указать GradientTolerance, то оптимизация завершается, когда программное обеспечение удовлетворяет любому критерию остановки.
Если программное обеспечение сходится для последнего решателя, указанного в Solver, то оптимизация заканчивается. В противном случае программа использует следующий решатель, указанный в Solver.
Пример: 'BetaTolerance',1e-6
Типы данных: single | double
'GradientTolerance' - Абсолютный градиентный допуск1e-6 (по умолчанию) | неотрицательный скалярАбсолютный градиентный допуск, заданный как разделенная запятыми пара, состоящая из 'GradientTolerance' и неотрицательный скаляр.
Пусть является градиентным вектором целевой функции относительно коэффициентов и члена смещения при итерации оптимизации T. Если ∇ℒt‖∞=max|∇ℒt|<GradientTolerance, то оптимизация заканчивается.
Если также указать BetaTolerance, то оптимизация завершается, когда программное обеспечение удовлетворяет любому критерию остановки.
Если программное обеспечение сходится для последнего решателя, указанного в программном обеспечении, оптимизация завершается. В противном случае программа использует следующий решатель, указанный в Solver.
Пример: 'GradientTolerance',1e-5
Типы данных: single | double
'HessianHistorySize' - Размер буфера истории для гессенского приближения15 (по умолчанию) | положительное целое числоРазмер буфера истории для гессенского приближения, определяемого как разделенная запятыми пара, состоящая из 'HessianHistorySize' и положительное целое число. То есть на каждой итерации программное обеспечение составляет гессен, используя статистику из последних HessianHistorySize итерации.
Программное обеспечение не поддерживает 'HessianHistorySize' для SpaRSA.
Пример: 'HessianHistorySize',10
Типы данных: single | double
'IterationLimit' - максимальное число итераций оптимизации;1000 (по умолчанию) | положительное целое числоМаксимальное число итераций оптимизации, указанное как пара, разделенная запятыми, состоящая из 'IterationLimit' и положительное целое число. IterationLimit применяется к этим значениям Solver: 'bfgs', 'lbfgs', и 'sparsa'.
Пример: 'IterationLimit',500
Типы данных: single | double
t - Шаблон обучающегося модели линейной классификацииШаблон обучающегося модели линейной классификации, возвращаемый как объект шаблона. Для обучения модели линейной классификации с использованием многомерных данных для многоклассных задач пройдите t кому fitcecoc.
При отображении t в окне команд все неустановленные параметры отображаются пустыми ([]). Однако во время обучения программа заменяет пустые опции соответствующими значениями по умолчанию.
Теплое начало - это начальные оценки бета-коэффициентов и члена смещения, подаваемые в подпрограмму оптимизации для более быстрой сходимости.
Рекомендуется ориентировать матрицу предиктора таким образом, чтобы наблюдения соответствовали столбцам и указывали '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] Hsieh, C. J., K. W. Chang, C. J. Лин, С. С. Кеэрти и С. Сундарараджан. «Метод двухкоординатного спуска для крупномасштабного линейного SVM». Материалы 25-й Международной конференции по машинному обучению, ICML "08, 2001, pp. 408-415.
[2] Лэнгфорд, Дж., Л. Ли и Т. Чжан. «Разреженное онлайн-обучение через усеченный градиент». Дж. Мач. Рес., т. 10, 2009, стр. 777-801.
[3] Nocedal, J. и С. Дж. Райт. Численная оптимизация, 2-е изд., Нью-Йорк: Спрингер, 2006.
[4] Шалев-Шварц, С., Я. Сингер и Н. Сребро. «Pegasos: Основной оценочный вычислитель субпогренов для SVM». Материалы 24-й Международной конференции по машинному обучению, ICML "07, 2007, стр. 807-814.
[5] Мастер, S. J., Р. Д. Ноуок и М. А. Т. Фигередо. «Разреженная реконструкция по разделяемому приближению». Транс. Сиг. Proc., том 57, № 7, 2009, стр. 2479-2493.
[6] Сяо, Линь. «Двойные методы усреднения для регуляризованного стохастического обучения и онлайн-оптимизации». Дж. Мач. Рес., т. 11, 2010, стр. 2543-2596.
[7] Сюй, Вэй. «К оптимальному однопроходному крупномасштабному обучению со усредненным стохастическим градиентным спуском». CoRR, abs/1107.2490, 2011.
Примечания и ограничения по использованию при обучении модели путем передачи шаблона линейной модели и массивов уровней в fitcecoc:
Значения по умолчанию для этих аргументов пары имя-значение различаются при работе с массивами tall.
'Lambda' - Может быть 'auto' (по умолчанию) или скаляром
'Regularization' - Только поддержка 'ridge'
'Solver' - Только поддержка 'lbfgs'
'FitBias' - Только поддержка true
'Verbose' - Значение по умолчанию: 1
'BetaTolerance' - Значение по умолчанию смягчено до 1e–3
'GradientTolerance' - Значение по умолчанию смягчено до 1e–3
'IterationLimit' - Значение по умолчанию смягчено до 20
Когда fitcecoc использует templateLinear объект с массивами tall, единственным доступным решателем является LBFGS. Программное обеспечение реализует LBFGS, распределяя вычисление потерь и градиента между различными частями массива высокого уровня на каждой итерации. Если не указаны начальные значения для Beta и Biasпрограммное обеспечение уточняет начальные оценки параметров, подгоняя модель локально к частям данных и комбинируя коэффициенты путем усреднения.
Дополнительные сведения см. в разделе Массивы Tall.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.