Покажите выбор с помощью анализа компонента окружения для классификации
mdl = fscnca(X,Y)
mdl = fscnca(X,Y,Name,Value)
выполняет выбор функции для классификации с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение".mdl
= fscnca(X
,Y
,Name,Value
)
Сгенерируйте игрушечные данные, где переменная отклика зависит от 3-х, 9-х, и 15-х предикторов.
rng(0,'twister'); % For reproducibility N = 100; X = rand(N,20); y = -ones(N,1); y(X(:,3).*X(:,9)./X(:,15) < 0.4) = 1;
Соответствуйте аналитической модели компонента окружения для классификации.
mdl = fscnca(X,y,'Solver','sgd','Verbose',1);
o Tuning initial learning rate: NumTuningIterations = 20, TuningSubsetSize = 100 |===============================================| | TUNING | TUNING SUBSET | LEARNING | | ITER | FUN VALUE | RATE | |===============================================| | 1 | -3.755936e-01 | 2.000000e-01 | | 2 | -3.950971e-01 | 4.000000e-01 | | 3 | -4.311848e-01 | 8.000000e-01 | | 4 | -4.903195e-01 | 1.600000e+00 | | 5 | -5.630190e-01 | 3.200000e+00 | | 6 | -6.166993e-01 | 6.400000e+00 | | 7 | -6.255669e-01 | 1.280000e+01 | | 8 | -6.255669e-01 | 1.280000e+01 | | 9 | -6.255669e-01 | 1.280000e+01 | | 10 | -6.255669e-01 | 1.280000e+01 | | 11 | -6.255669e-01 | 1.280000e+01 | | 12 | -6.255669e-01 | 1.280000e+01 | | 13 | -6.255669e-01 | 1.280000e+01 | | 14 | -6.279210e-01 | 2.560000e+01 | | 15 | -6.279210e-01 | 2.560000e+01 | | 16 | -6.279210e-01 | 2.560000e+01 | | 17 | -6.279210e-01 | 2.560000e+01 | | 18 | -6.279210e-01 | 2.560000e+01 | | 19 | -6.279210e-01 | 2.560000e+01 | | 20 | -6.279210e-01 | 2.560000e+01 | o Solver = SGD, MiniBatchSize = 10, PassLimit = 5 |==========================================================================================| | PASS | ITER | AVG MINIBATCH | AVG MINIBATCH | NORM STEP | LEARNING | | | | FUN VALUE | NORM GRAD | | RATE | |==========================================================================================| | 0 | 9 | -5.658450e-01 | 4.492407e-02 | 9.290605e-01 | 2.560000e+01 | | 1 | 19 | -6.131382e-01 | 4.923625e-02 | 7.421541e-01 | 1.280000e+01 | | 2 | 29 | -6.225056e-01 | 3.738784e-02 | 3.277588e-01 | 8.533333e+00 | | 3 | 39 | -6.233366e-01 | 4.947901e-02 | 5.431133e-01 | 6.400000e+00 | | 4 | 49 | -6.238576e-01 | 3.445763e-02 | 2.946188e-01 | 5.120000e+00 | Two norm of the final step = 2.946e-01 Relative two norm of the final step = 6.588e-02, TolX = 1.000e-06 EXIT: Iteration or pass limit reached.
Постройте выбранные функции. Веса несоответствующих функций должны быть близко к нулю.
figure() plot(mdl.FeatureWeights,'ro') grid on xlabel('Feature index') ylabel('Feature weight')
fscnca
правильно обнаруживает соответствующие функции.
Загрузка демонстрационных данных
load ovariancancer;
whos
Name Size Bytes Class Attributes grp 216x1 26784 cell obs 216x4000 3456000 single
Этот пример использует набор данных рака яичника с высоким разрешением, который был сгенерирован с помощью массива белка WCX2. Данные являются от FDA-NCI Клиническим Банком данных Программы Протеомики. После некоторых шагов предварительной обработки набор данных имеет две переменные: obs
и grp
. Переменная obs
состоит 216 наблюдений с 4 000 функций. Каждый элемент в grp
задает группу, которой принадлежит соответствующая строка obs
.
Разделите данные на наборы обучающих данных и наборы тестов
Используйте cvpartition
, чтобы разделить данные на набор обучающих данных размера 160 и набор тестов размера 56. И набор обучающих данных и набор тестов имеют примерно те же пропорции группы как в grp
.
rng(1); % For reproducibility cvp = cvpartition(grp,'holdout',56)
cvp = Hold-out cross validation partition NumObservations: 216 NumTestSets: 1 TrainSize: 160 TestSize: 56
Xtrain = obs(cvp.training,:); ytrain = grp(cvp.training,:); Xtest = obs(cvp.test,:); ytest = grp(cvp.test,:);
Определите, необходим ли выбор функции
Вычислите ошибку обобщения без подбора кривой.
nca = fscnca(Xtrain,ytrain,'FitMethod','none'); L = loss(nca,Xtest,ytest)
L = 0.0893
Эта опция вычисляет ошибку обобщения модели выбора функции анализа компонента окружения (NCA) использование начальных весов функции (в этом случае веса функции по умолчанию) обеспеченный в fscnca
.
Соответствуйте NCA без параметра регуляризации (Lambda = 0)
nca = fscnca(Xtrain,ytrain,'FitMethod','exact','Lambda',0,... 'Solver','sgd','Standardize',true); L = loss(nca,Xtest,ytest)
L = 0.0714
Улучшение на значении потерь предполагает, что выбор функции является хорошей идеей. Настройка значение обычно улучшает результаты.
Настройте параметр регуляризации для NCA использование пятикратной перекрестной проверки
Настройка средние значения, находящие значение, которое производит минимальную потерю классификации. Настроиться использование перекрестной проверки:
1. Разделите данные тренировки в пять сгибов и извлеките количество валидации (тест) наборы. Для каждого сгиба cvpartition
присваивает четыре пятых данных как набор обучающих данных и одну пятую данных как набор тестов.
cvp = cvpartition(ytrain,'kfold',5);
numvalidsets = cvp.NumTestSets;
Присвоение значения и создают массив, чтобы сохранить значения функции потерь.
n = length(ytrain); lambdavals = linspace(0,20,20)/n; lossvals = zeros(length(lambdavals),numvalidsets);
2. Обучите модель NCA каждому значение, с помощью набора обучающих данных в каждом сгибе.
3. Вычислите потерю классификации для соответствующего набора тестов в сгибе с помощью модели NCA. Запишите значение потерь.
4. Повторите этот процесс для всех сгибов и всех значения.
for i = 1:length(lambdavals) for k = 1:numvalidsets X = Xtrain(cvp.training(k),:); y = ytrain(cvp.training(k),:); Xvalid = Xtrain(cvp.test(k),:); yvalid = ytrain(cvp.test(k),:); nca = fscnca(X,y,'FitMethod','exact', ... 'Solver','sgd','Lambda',lambdavals(i), ... 'IterationLimit',30,'GradientTolerance',1e-4, ... 'Standardize',true); lossvals(i,k) = loss(nca,Xvalid,yvalid,'LossFunction','classiferror'); end end
Вычислите среднюю потерю, полученную из сгибов для каждого значение.
meanloss = mean(lossvals,2);
Постройте средние значения потерь по сравнению с значения.
figure() plot(lambdavals,meanloss,'ro-') xlabel('Lambda') ylabel('Loss (MSE)') grid on
Найдите лучшее значение lambda, которое соответствует минимальной средней потере.
[~,idx] = min(meanloss) % Find the index
idx = 2
bestlambda = lambdavals(idx) % Find the best lambda value
bestlambda = 0.0066
bestloss = meanloss(idx)
bestloss = 0.0250
Соответствуйте nca модели на всех данных, использующих лучше всего и постройте веса функции
Используйте решатель lbfgs и стандартизируйте значения предиктора.
nca = fscnca(Xtrain,ytrain,'FitMethod','exact','Solver','sgd',... 'Lambda',bestlambda,'Standardize',true,'Verbose',1);
o Tuning initial learning rate: NumTuningIterations = 20, TuningSubsetSize = 100 |===============================================| | TUNING | TUNING SUBSET | LEARNING | | ITER | FUN VALUE | RATE | |===============================================| | 1 | 2.403497e+01 | 2.000000e-01 | | 2 | 2.275050e+01 | 4.000000e-01 | | 3 | 2.036845e+01 | 8.000000e-01 | | 4 | 1.627647e+01 | 1.600000e+00 | | 5 | 1.023512e+01 | 3.200000e+00 | | 6 | 3.864283e+00 | 6.400000e+00 | | 7 | 4.743816e-01 | 1.280000e+01 | | 8 | -7.260138e-01 | 2.560000e+01 | | 9 | -7.260138e-01 | 2.560000e+01 | | 10 | -7.260138e-01 | 2.560000e+01 | | 11 | -7.260138e-01 | 2.560000e+01 | | 12 | -7.260138e-01 | 2.560000e+01 | | 13 | -7.260138e-01 | 2.560000e+01 | | 14 | -7.260138e-01 | 2.560000e+01 | | 15 | -7.260138e-01 | 2.560000e+01 | | 16 | -7.260138e-01 | 2.560000e+01 | | 17 | -7.260138e-01 | 2.560000e+01 | | 18 | -7.260138e-01 | 2.560000e+01 | | 19 | -7.260138e-01 | 2.560000e+01 | | 20 | -7.260138e-01 | 2.560000e+01 | o Solver = SGD, MiniBatchSize = 10, PassLimit = 5 |==========================================================================================| | PASS | ITER | AVG MINIBATCH | AVG MINIBATCH | NORM STEP | LEARNING | | | | FUN VALUE | NORM GRAD | | RATE | |==========================================================================================| | 0 | 9 | 4.016078e+00 | 2.835465e-02 | 5.395984e+00 | 2.560000e+01 | | 1 | 19 | -6.726156e-01 | 6.111354e-02 | 5.021138e-01 | 1.280000e+01 | | 1 | 29 | -8.316555e-01 | 4.024185e-02 | 1.196030e+00 | 1.280000e+01 | | 2 | 39 | -8.838656e-01 | 2.333418e-02 | 1.225839e-01 | 8.533333e+00 | | 3 | 49 | -8.669035e-01 | 3.413150e-02 | 3.421881e-01 | 6.400000e+00 | | 3 | 59 | -8.906935e-01 | 1.946293e-02 | 2.232510e-01 | 6.400000e+00 | | 4 | 69 | -8.778630e-01 | 3.561283e-02 | 3.290643e-01 | 5.120000e+00 | | 4 | 79 | -8.857136e-01 | 2.516633e-02 | 3.902977e-01 | 5.120000e+00 | Two norm of the final step = 3.903e-01 Relative two norm of the final step = 6.171e-03, TolX = 1.000e-06 EXIT: Iteration or pass limit reached.
Постройте веса функции.
figure() plot(nca.FeatureWeights,'ro') xlabel('Feature index') ylabel('Feature weight') grid on
Выберите функции с помощью весов функции и относительного порога.
tol = 0.02; selidx = find(nca.FeatureWeights > tol*max(1,max(nca.FeatureWeights)))
selidx = 72×1
565
611
654
681
737
743
744
750
754
839
⋮
Вычислите потерю классификации с помощью набора тестов.
L = loss(nca,Xtest,ytest)
L = 0.0179
Классифицируйте наблюдения, использующие выбранные функции
Извлеките функции с весами функции, больше, чем 0 от данных тренировки.
features = Xtrain(:,selidx);
Примените классификатор машины вектора поддержки, использующий выбранные функции к уменьшаемому набору обучающих данных.
svmMdl = fitcsvm(features,ytrain);
Оцените точность обученного классификатора на тестовых данных, который не использовался для выбора функций.
L = loss(svmMdl,Xtest(:,selidx),ytest)
L = single
0
X
Значения переменной прогнозаЗначения переменной прогноза, заданные как n-by-p матрица, где n является количеством наблюдений и p, являются количеством переменных прогноза.
Типы данных: single | double
Y
Метки классаМетки класса, заданные как категориальный вектор, логический вектор, числовой вектор, массив строк, массив ячеек из символьных векторов длины n или символьная матрица со строками n, где n является количеством наблюдений. Элемент i или строка i Y
является меткой класса, соответствующей строке i X
(наблюдение i).
Типы данных: single
| double
| logical
| char
| string
| cell
| categorical
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'Solver','sgd','Weights',W,'Lambda',0.0003
задает решатель как стохастический спуск градиента, веса наблюдения как значения в векторном W
, и устанавливает параметр регуляризации в 0,0003.'FitMethod'
— Метод для подбора кривой модели'exact'
(значение по умолчанию) | 'none'
| 'average'
Метод для подбора кривой модели, заданной как пара, разделенная запятой, состоящая из 'FitMethod'
и одно из следующего:
'exact'
— Выполняет подбор кривой с помощью всех данных.
'none'
Никакой подбор кривой. Используйте эту опцию, чтобы оценить ошибку обобщения модели NCA с помощью начальных весов функции, предоставленных в вызове fscnca.
'average'
— Делит данные на разделы (подмножества), соответствует каждому разделу с помощью метода exact
и возвращает среднее значение весов функции. Можно задать количество разделов с помощью аргумента пары "имя-значение" NumPartitions
.
Пример: 'FitMethod','none'
numpartitions
Количество разделовmax(2,min(10,n))
(значение по умолчанию) | целое число между 2 и nКоличество разделов, чтобы разделить данные для использования с опцией 'FitMethod','average'
, заданной как пара, разделенная запятой, состоящая из 'NumPartitions'
и целочисленного значения между 2 и n, где n является количеством наблюдений.
Пример: 'NumPartitions',15
Типы данных: double | single
\lambda
Параметр регуляризацииПараметр регуляризации, чтобы предотвратить сверхподбор кривой, заданный как пара, разделенная запятой, состоящая из 'Lambda'
и неотрицательного скаляра.
Как количество наблюдений увеличения n, также уменьшается шанс сверхподбора кривой уменьшениям и необходимому количеству регуляризации. Смотрите Идентифицируют Соответствующие Функции Параметра Регуляризации Классификации и Мелодии, чтобы Обнаружить Функции Используя NCA для Классификации, чтобы изучить, как настроить параметр регуляризации.
Пример: 'Lambda',0.002
Типы данных: double | single
'LengthScale'
— Ширина ядра1
(значение по умолчанию) | положительный действительный скалярШирина ядра, заданного как пара, разделенная запятой, состоящая из 'LengthScale'
и положительного действительного скаляра.
Значение шкалы расстояний 1 разумно, когда все предикторы находятся в той же шкале. Если предикторы в X
имеют совсем другие значения, то рассматривают стандартизацию значений предиктора с помощью 'Standardize',true
и установки 'LengthScale',1
.
Пример: 'LengthScale',1.5
Типы данных: double | single
'InitialFeatureWeights'
— Начальные веса функцииones(p,1)
(значение по умолчанию) | p-by-1 вектор действительных положительных скалярных величинНачальные веса функции, заданные как пара, разделенная запятой, состоящая из 'InitialFeatureWeights'
и p-by-1 вектор действительных положительных скалярных величин, где p является количеством предикторов в данных тренировки.
Упорядоченная целевая функция для оптимизации весов функции невыпукла. В результате использование различных начальных весов функции может дать различные результаты. Установка всех начальных весов функции к 1 обычно работает хорошо, но в некоторых случаях, случайная инициализация с помощью rand(p,1)
может дать лучшие качественные решения.
Типы данных: double | single
'Weights'
— Веса наблюденияВеса наблюдения, заданные как пара, разделенная запятой, состоящая из 'ObservationWeights'
и n-by-1 вектор действительных положительных скалярных величин. Используйте веса наблюдения, чтобы задать более высокую важность некоторых наблюдений по сравнению с другими. Веса по умолчанию присваивают равную важность для всех наблюдений.
Типы данных: double | single
'Prior'
— Априорные вероятности для каждого класса'empirical'
(значение по умолчанию) | 'uniform'
| структураАприорные вероятности для каждого класса, заданного как пара, разделенная запятой, состоящая из 'Prior'
и одно из следующего:
'empirical'
— fscnca
получает предшествующие вероятности класса из частот класса.
'uniform'
— fscnca
устанавливает все равные вероятности класса.
Структура с двумя полями:
ClassProbs
— Вектор вероятностей класса. Если это числовые значения с общим количеством, больше, чем 1, fsnca
нормирует их, чтобы составить в целом 1.
ClassNames
— Имена классов, соответствующие вероятностям класса в ClassProbs
.
Пример: 'Prior','uniform'
'Standardize'
— Индикатор для стандартизации данных о предиктореfalse
(значение по умолчанию) | true
Индикатор для стандартизации данных о предикторе, заданных как пара, разделенная запятой, состоящая из 'Standardize'
и или false
или true
. Для получения дополнительной информации смотрите Влияние Стандартизации.
Пример: 'Standardize',true
Типы данных: логический
'Verbose'
— Индикатор уровня многословияИндикатор уровня многословия для отображения сводных данных сходимости, заданного как пара, разделенная запятой, состоящая из 'Verbose'
и одно из следующего:
0 — Никакие сводные данные сходимости
1 — сводные данные Сходимости, включая норму градиента и значений целевой функции
> 1 — Больше информации о сходимости, в зависимости от алгоритма подбора
При использовании решателя 'minibatch-lbfgs'
и уровня многословия> 1, информация о сходимости включает итерацию журнал от промежуточных мини-пакетных подгонок LBFGS.
Пример: 'Verbose',1
Типы данных: double | single
'Solver'
— Тип решателя'lbfgs'
| 'sgd'
| 'minibatch-lbfgs'
Тип решателя для оценки весов функции, заданных как пара, разделенная запятой, состоящая из 'Solver'
и одно из следующего:
'lbfgs'
— Ограниченная память Бройден Флетчер Голдфарб Шэнно (LBFGS) алгоритм
'sgd'
— Алгоритм Стохастического спуска градиента (SGD)
'minibatch-lbfgs'
— Стохастический спуск градиента с алгоритмом LBFGS применился к мини-пакетам
Значением по умолчанию является 'lbfgs'
для n ≤ 1000, и 'sgd'
для n> 1000.
Пример: 'solver','minibatch-lbfgs'
'LossFunction'
— Функция потерь'classiferror'
(значение по умолчанию) | указатель на функциюФункция потерь, заданная как пара, разделенная запятой, состоящая из 'LossFunction'
и одно из следующих.
'classiferror'
— Ошибка Misclassification
— Пользовательский указатель функции потерь. Функция потерь имеет эту форму. @lossfun
function L = lossfun(Yu,Yv) % calculation of loss ...
Yu
является u-by-1 вектор, и Yv
является v-by-1 вектор. L
является u-by-v, матрица потери оценивает таким образом, что L(i,j)
является значением потерь для Yu(i)
и Yv(j)
.Целевая функция для минимизации включает функцию потерь l (y i, y j) можно следующим образом:
где w является вектором веса функции, n является количеством наблюдений, и p является количеством переменных прогноза. ij p является вероятностью, что x j является контрольной точкой для x i. Для получения дополнительной информации см. Выбор Функции NCA для Классификации.
Пример: 'LossFunction',@lossfun
CacheSize
Емкость памяти1000MB
(значение по умолчанию) | целое числоЕмкость памяти, в Мбайте, чтобы использовать для целевой функции и вычисления градиента, заданного как пара, разделенная запятой, состоящая из 'CacheSize'
и целого числа.
Пример: 'CacheSize',1500MB
Типы данных: double | single
'HessianHistorySize'
— Размер буфера истории для приближения Гессиана15
(значение по умолчанию) | положительное целое числоРазмер буфера истории для приближения Гессиана для решателя 'lbfgs'
, заданного как пара, разделенная запятой, состоящая из 'HessianHistorySize'
и положительного целого числа. В каждой итерации функция использует новые итерации HessianHistorySize
, чтобы создать приближение к обратному Гессиану.
Пример: 'HessianHistorySize',20
Типы данных: double | single
'InitialStepSize'
— Начальный размер шага'auto'
(значение по умолчанию) | положительный действительный скалярНачальный размер шага для решателя 'lbfgs'
, заданного как пара, разделенная запятой, состоящая из 'InitialStepSize'
и положительного действительного скаляра. По умолчанию функция определяет начальный размер шага автоматически.
Типы данных: double | single
'LineSearchMethod'
— Метод поиска строки'weakwolfe'
(значение по умолчанию) | 'strongwolfe'
| 'backtracking'
Метод поиска строки, заданный как пара, разделенная запятой, состоящая из 'LineSearchMethod'
и одно из следующего:
'weakwolfe'
— Слабый поиск строки Вольфа
'strongwolfe'
— Сильный поиск строки Вольфа
'backtracking'
— Отслеживание в обратном порядке поиска строки
Пример: 'LineSearchMethod','backtracking'
'MaxLineSearchIterations'
— Максимальное количество строки ищет итерации20
(значение по умолчанию) | положительное целое числоМаксимальное количество строки ищет итерации, заданные как пара, разделенная запятой, состоящая из 'MaxLineSearchIterations'
и положительного целого числа.
Пример: 'MaxLineSearchIterations',25
Типы данных: double | single
'GradientTolerance'
— Относительный допуск сходимости1e-6
(значение по умолчанию) | положительный действительный скалярОтносительный допуск сходимости на норме градиента для решателя lbfgs
, заданный как пара, разделенная запятой, состоящая из 'GradientTolerance'
и положительного действительного скаляра.
Пример: 'GradientTolerance',0.000002
Типы данных: double | single
'InitialLearningRate'
— Начальный темп обучения для решателя 'sgd'
'auto'
(значение по умолчанию) | положительный действительный скалярНачальный темп обучения для решателя 'sgd'
, заданного как пара, разделенная запятой, состоящая из 'InitialLearningRate'
и положительного действительного скаляра.
При использовании решателя вводят 'sgd'
, затухания темпа обучения по итерациям начиная со значения, заданного для 'InitialLearningRate'
.
'auto'
по умолчанию означает, что начальный темп обучения определяется с помощью экспериментов на небольших подмножествах данных. Используйте аргумент пары "имя-значение" NumTuningIterations
, чтобы задать количество итераций для того, чтобы автоматически настроить начальный темп обучения. Используйте аргумент пары "имя-значение" TuningSubsetSize
, чтобы задать количество наблюдений, чтобы использовать для того, чтобы автоматически настроить начальный темп обучения.
Поскольку решатель вводит 'minibatch-lbfgs'
, можно установить 'InitialLearningRate'
на очень высокое значение. В этом случае функция применяет LBFGS к каждому мини-пакету отдельно с начальными весами функции от предыдущего мини-пакета.
Чтобы убедиться выбранный начальный темп обучения уменьшает объективное значение с каждой итерацией, постройте Iteration
по сравнению со значениями Objective
, сохраненными в свойстве mdl.FitInfo
.
Можно использовать метод refit
с 'InitialFeatureWeights'
, равным mdl.FeatureWeights
, чтобы начать с текущего решения и запустить дополнительные итерации
Пример: 'InitialLearningRate',0.9
Типы данных: double | single
'MiniBatchSize'
— Количество наблюдений, чтобы использовать в каждом пакете для решателя 'sgd'
Количество наблюдений, чтобы использовать в каждом пакете для решателя 'sgd'
, заданного как пара, разделенная запятой, состоящая из 'MiniBatchSize'
и положительного целого числа от 1 до n.
Пример: 'MiniBatchSize',25
Типы данных: double | single
'PassLimit'
— Максимальное количество передач для решателя 'sgd'
5
(значение по умолчанию) | положительное целое число Максимальное количество проходит через все наблюдения n для решателя 'sgd'
, заданный как пара, разделенная запятой, состоящая из 'PassLimit'
и положительного целого числа. Каждый проходит через все данные, называется эпохой.
Пример: 'PassLimit',10
Типы данных: double | single
'NumPrint'
— Частота пакетов для отображения сводных данных сходимостиЧастота пакетов для отображения сводных данных сходимости для решателя 'sgd'
, заданного как пара, разделенная запятой, состоящая из 'NumPrint'
и положительного целого числа. Этот аргумент применяется, когда значение 'Verbose'
больше, чем 0. мини-пакеты NumPrint
обрабатываются для каждой строки сводных данных сходимости, которые отображены на командной строке.
Пример: 'NumPrint',5
Типы данных: double | single
'NumTuningIterations'
— Количество настраивающихся итерацийКоличество настраивающихся итераций для решателя 'sgd'
, заданного как пара, разделенная запятой, состоящая из 'NumTuningIterations'
и положительного целого числа. Эта опция допустима только для 'InitialLearningRate','auto'
.
Пример: 'NumTuningIterations',15
Типы данных: double | single
'TuningSubsetSize'
— Количество наблюдений, чтобы использовать для настройки начального темпа обученияКоличество наблюдений, чтобы использовать для настройки начального темпа обучения, заданного как пара, разделенная запятой, состоящая из 'TuningSubsetSize'
и положительного целочисленного значения от 1 до n. Эта опция допустима только для 'InitialLearningRate','auto'
.
Пример: 'TuningSubsetSize',25
Типы данных: double | single
'IterationLimit'
— Максимальное количество итерацийМаксимальное количество итераций, заданных как пара, разделенная запятой, состоящая из 'IterationLimit'
и положительного целого числа. Значение по умолчанию 10000 для SGD и 1000 для LBFGS и мини-пакетного LBFGS.
Каждый проходит через пакет, итерация. Каждый проходит через все данные, эпоха. Если данные разделены на мини-пакеты k, то каждая эпоха эквивалентна итерациям k.
Пример: 'IterationLimit',250
Типы данных: double | single
'StepTolerance'
— Допуск сходимости на размере шагаДопуск сходимости на размере шага, заданном как пара, разделенная запятой, состоящая из 'StepTolerance'
и положительного действительного скаляра. Решатель 'lbfgs'
использует абсолютный допуск шага, и решатель 'sgd'
использует относительный допуск шага.
Пример: 'StepTolerance',0.000005
Типы данных: double | single
'MiniBatchLBFGSIterations'
— Максимальное количество итераций на мини-пакетный шаг LBFGSМаксимальное количество итераций на мини-пакетный шаг LBFGS, заданный как пара, разделенная запятой, состоящая из 'MiniBatchLBFGSIterations'
и положительного целого числа.
Пример: 'MiniBatchLBFGSIterations',15
Мини-пакетный алгоритм LBFGS является комбинацией SGD и методов LBFGS. Поэтому все аргументы пары "имя-значение", которые применяются к SGD и решателям LBFGS также, применяются к мини-пакетному алгоритму LBFGS.
Типы данных: double | single
mdl
— Аналитическая модель компонента окружения для классификацииFeatureSelectionNCAClassification
Аналитическая модель компонента окружения для классификации, возвращенной как объект FeatureSelectionNCAClassification
.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.