exponenta event banner

Класс FeatureSeliceNCAClassification

Выбор элемента для классификации с использованием анализа компонентов окрестности (NCA)

Описание

FeatureSelectionNCAClassification объект содержит данные, информацию о подгонке, веса элементов и другие параметры модели анализа компонентов окрестности (NCA). fscnca изучает веса функций с помощью диагональной адаптации NCA и возвращает экземпляр FeatureSelectionNCAClassification объект. Функция обеспечивает выбор элемента путем упорядочения весов элемента.

Строительство

Создать FeatureSelectionNCAClassification объект с использованием fscnca.

Свойства

развернуть все

Количество наблюдений в данных обучения (X и Y) после удаления NaN или Inf значения, хранящиеся как скаляр.

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

Параметры модели, используемые для обучения модели, хранящиеся в виде структуры.

Вы можете получить доступ к полям ModelParameters с использованием точечной нотации.

Например, для объекта FeatureSeliceNCAClassification с именем mdl, вы можете получить доступ к LossFunction значение с использованием mdl.ModelParameters.LossFunction.

Типы данных: struct

Параметр регуляризации, используемый для обучения этой модели, хранится как скаляр. Для n наблюдений лучшее Lambda ожидается, что значение, которое минимизирует ошибку обобщения модели NCA, будет кратным 1/n.

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

Имя метода подгонки, используемого для подгонки этой модели, сохраненное как одно из следующих:

  • 'exact' - Выполнить фитинг с использованием всех данных.

  • 'none' - Без подгонки. Эта опция используется для оценки ошибки обобщения модели NCA с использованием начальных весов функций, предоставленных в вызове fscnca.

  • 'average' - Разделите данные на разделы (подмножества), поместите каждый раздел с помощью exact и возвращает среднее значение весов элемента. Можно указать количество разделов с помощью NumPartitions аргумент пары имя-значение.

Имя решателя, используемого для соответствия этой модели, сохраненное как одно из следующих:

  • 'lbfgs' - Алгоритм Бройдена-Флетчера-Гольдфарба-Шанно (LBFGS) с ограниченной памятью

  • 'sgd' - Алгоритм стохастического градиентного спуска (SGD)

  • 'minibatch-lbfgs' - стохастический градиентный спуск с алгоритмом LBFGS, применяемым к мини-партиям

Относительный допуск сходимости для градиентной нормы 'lbfgs' и 'minibatch-lbfgs' решатели, хранящиеся как положительное скалярное значение.

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

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

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

Максимальное количество проходов для 'sgd' и 'minibatch-lbfgs' решатели. Каждый проход обрабатывает все наблюдения в данных.

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

Начальный уровень обучения для 'sgd' и 'minibatch-lbfgs' решатели, хранящиеся как положительный действительный скаляр. Скорость обучения затухает над итерациями, начиная со значения, указанного для InitialLearningRate.

Используйте NumTuningIterations и TuningSubsetSize аргументы пары имя-значение для управления автоматической настройкой начальной скорости обучения при вызове fscnca.

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

Индикатор уровня детализации, хранящийся как неотрицательное целое число. Возможные значения:

  • 0 - Сводка сходимости отсутствует

  • 1 - Сводка сходимости, включая норму градиента и значение целевой функции

  • > 1 - Дополнительная информация о сходимости в зависимости от алгоритма подгонки. При использовании 'minibatch-lbfgs' решатель и уровень детализации > 1, информация о сходимости включает в себя журнал итераций из промежуточной мини-таблицы LBFGS.

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

Начальные веса признаков, хранящиеся в виде вектора p-by-1 положительных вещественных скаляров, где p - число предикторов в X.

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

Веса признаков, хранящиеся как вектор p-by-1 вещественных скаляров, где p - число предикторов в X.

Если FitMethod является 'average', то FeatureWeights представляет собой матрицу p-by-m. m - количество разделов, указанных через 'NumPartitions' аргумент пары имя-значение в вызове fscnca.

Абсолютное значение FeatureWeights(k) является мерой важности предиктора k. A FeatureWeights(k) значение, близкое к 0, указывает на то, что предиктор k не влияет на ответ в Y.

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

Информация о соответствии, хранящаяся в виде структуры со следующими полями.

Имя поляЗначение
IterationИндекс итерации
ObjectiveРегуляризованная целевая функция для минимизации
UnregularizedObjectiveНерегулируемая целевая функция для минимизации
GradientГрадиент регуляризованной целевой функции для минимизации
  • Для классификации, UnregularizedObjective представляет собой отрицательное значение точности отказа от использования классификатора NCA в данных обучения.

  • Для регрессии UnregularizedObjective представляет единоразовую потерю между истинным ответом и прогнозируемым ответом при использовании регрессионной модели NCA.

  • Для 'lbfgs' решатель, Gradient - конечный градиент. Для 'sgd' и 'minibatch-lbfgs' решатели, Gradient - окончательный градиент мини-партии.

  • Если FitMethod является 'average', то FitInfo является массивом структуры m-by-1, где m - количество разделов, указанных через 'NumPartitions' аргумент пары имя-значение.

Вы можете получить доступ к полям FitInfo с использованием точечной нотации. Например, для объекта FeatureNCAClassificationobject с именем mdl, вы можете получить доступ к Objective использование поля mdl.FitInfo.Objective.

Типы данных: struct

Предикторные средства, хранящиеся в виде вектора p-by-1 для стандартизированных тренировочных данных. В этом случае predict метод центрирует матрицу предиктора X путем вычитания соответствующего элемента Mu из каждого столбца.

Если данные не стандартизированы во время обучения, то Mu пуст.

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

Стандартные отклонения предиктора, хранящиеся в виде вектора p-by-1 для стандартизированных тренировочных данных. В этом случае predict метод масштабирует матрицу предиктора X делением каждого столбца на соответствующий элемент Sigma после центрирования данных с помощью Mu.

Если данные не стандартизированы во время обучения, то Sigma пуст.

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

Предикторные значения, используемые для обучения этой модели, хранятся в виде матрицы n-by-p. n - количество наблюдений, а p - число предикторных переменных в данных обучения.

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

Значения ответа, используемые для обучения этой модели, хранятся в виде числового вектора размера n, где n - количество наблюдений.

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

Веса наблюдения, используемые для обучения этой модели, хранятся в виде числового вектора размера N. Сумма весов наблюдения равна n.

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

Методы

потеряОценка точности усвоенных весов характеристик на тестовых данных
предсказатьПрогнозирование ответов с использованием классификатора анализа компонентов соседства (NCA)
ремонтМодель анализа соседства (NCA) для классификации

Примеры

свернуть все

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

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

Figure contains an axes. The axes contains an object of type line.

Веса неактуальных элементов равны нулю. 'Verbose',1 опция в вызове fscnca отображает информацию об оптимизации в командной строке. Можно также визуализировать процесс оптимизации путем отображения целевой функции в сравнении с номером итерации.

figure
plot(mdl.FitInfo.Iteration,mdl.FitInfo.Objective,'ro-')
grid on
xlabel('Iteration Number')
ylabel('Objective')

Figure contains an axes. The axes contains an object of type line.

ModelParameters свойство является struct содержит дополнительную информацию о модели. Доступ к полям этого свойства можно получить с помощью точечной нотации. Например, проверьте, были ли данные стандартизированы или нет.

mdl.ModelParameters.Standardize
ans = logical
   0

0 означает, что данные не были стандартизированы до установки модели NCA. Вы можете стандартизировать предикторы, когда они находятся в очень разных масштабах, используя 'Standardize',1 аргумент пары имя-значение в вызове fscnca .

Копирование семантики

Значение. Сведения о том, как классы значений влияют на операции копирования, см. в разделе Копирование объектов.

Представлен в R2016b