Выбор признаков для классификации с помощью анализа компонентов окрестностей (NCA)
FeatureSelectionNCAClassification объект содержит данные, информацию о модели, веса функций и другие параметры модели анализа соседних компонентов (NCA). fscnca изучает веса функции с помощью диагональной адаптации NCA и возвращает образец FeatureSelectionNCAClassification объект. Функция достигает выбора признаков путем упорядочения весов признаков.
Создайте FeatureSelectionNCAClassification использование объекта fscnca.
NumObservations - Количество наблюдений в обучающих данныхКоличество наблюдений в обучающих данных (X и Y) после удаления NaN или Inf значения, сохраненные в виде скаляра.
Типы данных: double
ModelParameters - Параметры моделиПараметры модели, используемые для настройки модели, хранятся как структура.
Вы можете получить доступ к полям ModelParameters использование записи через точку.
Для примера для объекта FeatureSelectionNCAClassification с именем mdl, вы можете получить доступ к LossFunction значение с использованием mdl.ModelParameters.LossFunction.
Типы данных: struct
Lambda - Параметр регуляризацииПараметр регуляризации, используемый для настройки этой модели, сохранен в виде скаляра. Для n наблюдений лучшая Lambda значение, которое минимизирует ошибку обобщения модели NCA, как ожидается, будет кратным 1/ n.
Типы данных: double
FitMethod - Имя метода аппроксимации'exact' | 'none' | 'average'Имя метода аппроксимации, используемого для подгонки этой модели, хранится как одно из следующего:
'exact' - Выполните подбор кривой, используя все данные.
'none' - Никакого подбора кривой. Используйте эту опцию, чтобы вычислить ошибку обобщения модели NCA с помощью начальных весов функций, предоставленных в вызове fscnca.
'average' - Разделите данные на разделы (подмножества), подбирайте каждый раздел используя exact метод, и возвращает среднее значение весов функций. Вы можете задать количество разделов, используя NumPartitions аргумент пары "имя-значение".
Solver - Имя решателя, используемого для соответствия этой модели'lbfgs' | 'sgd' | 'minibatch-lbfgs'Имя решателя, используемого для соответствия этой модели, хранится как одно из следующего:
'lbfgs' - Алгоритм Broyden-Fletcher-Goldfarb-Shanno (LBFGS) с ограниченной памятью
'sgd' - алгоритм Стохастического градиентного спуска (SGD)
'minibatch-lbfgs' - стохастический градиентный спуск с алгоритмом LBFGS, применяемым к мини-пакетам
GradientTolerance - Относительный допуск сходимости по норме градиентаОтносительный допуск сходимости по норме градиента для 'lbfgs' и 'minibatch-lbfgs' решатели, сохраненные как положительная скалярная величина значение.
Типы данных: double
IterationLimit - Максимальное количество итераций для оптимизацииМаксимальное количество итераций для оптимизации, сохраненных в виде положительного целого значения.
Типы данных: double
PassLimit - Максимальное количество проходовМаксимальное количество проходов для 'sgd' и 'minibatch-lbfgs' решатели. Каждый проход обрабатывает все наблюдения в данных.
Типы данных: double
InitialLearningRate - Начальная скорость обученияНачальная скорость обучения для 'sgd' и 'minibatch-lbfgs' решатели, сохраненные как положительный действительный скаляр. Скорость обучения затухает над итерациями, начиная со значения, заданного для InitialLearningRate.
Используйте NumTuningIterations и TuningSubsetSize аргументы пары "имя-значение" для управления автоматической настройкой начальной скорости обучения в вызове fscnca.
Типы данных: double
Verbose - Индикатор уровня подробностейИндикатор уровня подробностей, сохраненный как неотрицательное целое число. Возможные значения:
0 - Нет сводных данных сходимости
1 - сводные данные сходимости, включая норму градиента и значение целевой функции
> 1 - Больше информации о сходимости, в зависимости от алгоритма аппроксимации. Когда вы используете 'minibatch-lbfgs' решатель и уровень подробностей > 1, информация о сходимости включает в себя журнал итерации от промежуточных моделей minibatch LBFGS.
Типы данных: double
InitialFeatureWeights - Начальные веса функцийНачальные веса функций, сохраненные как p-на-1 вектор положительных действительных скаляров, где p количество предикторов в X.
Типы данных: double
FeatureWeights - Веса функцийВеса функций, сохраненные как p-на-1 вектор действительных скаляров, где p - количество предикторов в X.
Если FitMethod является 'average', затем FeatureWeights является p -by - m матрицей. m - количество разделов, заданное через 'NumPartitions' аргумент пары "имя-значение" в вызове fscnca.
Абсолютное значение FeatureWeights(k) является мерой важности предиктора k. A FeatureWeights(k) значение, близкое к 0, указывает, что предиктор k не влияет на ответ в Y.
Типы данных: double
FitInfo - Подгонка информацииПодгонка информации, хранящейся как структура со следующими полями.
| Имя поля | Значение |
|---|---|
Iteration | Индекс итерации |
Objective | Регуляризованная целевая функция для минимизации |
UnregularizedObjective | Нерегулируемая целевая функция для минимизации |
Gradient | Градиент регуляризованной целевой функции для минимизации |
Для классификации, UnregularizedObjective представляет отрицательное значение единичной точности классификатора NCA на обучающих данных.
Для регрессии, UnregularizedObjective представляет потерю «один выход» между истинным ответом и предсказанным ответом при использовании регрессионой модели NCA.
Для 'lbfgs' решатель, Gradient - конечный градиент. Для 'sgd' и 'minibatch-lbfgs' решатели, Gradient - конечный мини-градиент пакета.
Если FitMethod является 'average', затем FitInfo является m массивом структур -by-1, где m количество разделов, заданное через 'NumPartitions' аргумент пары "имя-значение".
Вы можете получить доступ к полям FitInfo использование записи через точку. Для примера для FeatureSelectionNCAClassificationobject с именем mdl, вы можете получить доступ к Objective поле с использованием mdl.FitInfo.Objective.
Типы данных: struct
Mu - Предиктор означает[]Предиктор означает, сохраненный как вектор p-на-1 для стандартизированных обучающих данных. В этом случае, predict матрица предикторов центров методов X путем вычитания соответствующего элемента Mu из каждого столбца.
Если данные не стандартизированы во время обучения, то Mu пуст.
Типы данных: double
Sigma - Стандартные отклонения предиктора[]Стандартные отклонения предиктора, сохраненные как вектор p-на-1 для стандартизированных обучающих данных. В этом случае, predict метод масштабирует матрицу предиктора X путем деления каждого столбца на соответствующий элемент Sigma после центрирования данных с помощью Mu.
Если данные не стандартизированы во время обучения, то Sigma пуст.
Типы данных: double
X - Значения предиктораПредикторные значения, используемые для обучения этой модели, хранятся как матрица n -by p. n - количество наблюдений, а p - количество переменных предиктора в обучающих данных.
Типы данных: double
Y - Значения откликаЗначения отклика, используемые для обучения этой модели, сохраняются как числовой вектор размера n, где n - количество наблюдений.
Типы данных: double
W - Веса наблюденийВеса наблюдений, используемые для обучения этой модели, сохраняются как числовой вектор n размера. Сумма весов наблюдений n.
Типы данных: double
| потеря | Оцените точность выученных весов функций на тестовых данных |
| предсказать | Прогнозируйте ответы с помощью классификатора анализа компонентов окрестностей (NCA) |
| ремонт | Преобразуйте модель анализа соседних компонентов (NCA) для классификации |
FeatureSelectionNCAClassification ОбъектЗагрузите выборочные данные.
load ionosphereНабор данных имеет 34 непрерывных предиктора. Переменная отклика является радиолокационными возвратами, обозначенной как b (плохой) или g (хороший).
Подбор модели анализа соседних компонентов (NCA) для классификации, чтобы обнаружить соответствующие функции.
mdl = fscnca(X,Y);
Возвращенная модель NCA, mdl, является FeatureSelectionNCAClassification объект. Этот объект хранит информацию о обучающих данных, модели и оптимизации. Вы можете получить доступ к свойствам объекта, таким как веса функций, с помощью записи через точку.
Постройте график весов функций.
figure() plot(mdl.FeatureWeights,'ro') xlabel('Feature Index') ylabel('Feature Weight') grid on

Веса нерелевантных функций равны нулю. The 'Verbose',1 опция в вызове fscnca отображает информацию об оптимизации в командной строке. Можно также визуализировать процесс оптимизации, построив график целевой функции от числа итерации.
figure plot(mdl.FitInfo.Iteration,mdl.FitInfo.Objective,'ro-') grid on xlabel('Iteration Number') ylabel('Objective')

The ModelParameters свойство является struct который содержит дополнительную информацию о модели. Вы можете получить доступ к полям этого свойства с помощью записи через точку. Для получения примера смотрите, были ли данные стандартизированы или нет.
mdl.ModelParameters.Standardize
ans = logical
0
0 означает, что данные не были стандартизированы перед подгонкой модели NCA. Можно стандартизировать предикторы, когда они находятся в очень разных шкалах, используя 'Standardize',1 аргумент пары "имя-значение" в вызове fscnca .
Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.