exponenta event banner

Класс FeatureSeliceNCARexression

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

Описание

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

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

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

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

  • '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 для управления автоматической настройкой начальной скорости обучения в вызове fsrnca.

Типы данных: 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' аргумент пары имя-значение в вызове fsrnca.

Абсолютное значение FeatureWeights(k) является мерой важности предиктора k. Если 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 с использованием точечной нотации. Например, для объекта FeatureSeliceNCARegressionobject с именем 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 imports-85

Первые 15 столбцов содержат непрерывные переменные предиктора, в то время как 16-й столбец содержит переменную отклика, которая является ценой автомобиля. Определите переменные для модели анализа компонентов окрестности.

Predictors = X(:,1:15);
Y = X(:,16);

Подгонка модели анализа компонентов окрестности (NCA) для регрессии для обнаружения соответствующих элементов.

mdl = fsrnca(Predictors,Y);

Возвращенная модель NCA, mdl, является FeatureSelectionNCARegression объект. В этом объекте хранится информация о данных обучения, модели и оптимизации. Доступ к свойствам объекта, таким как веса элементов, можно получить с помощью точечной нотации.

Постройте график весов элементов.

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 опция в вызове fsrnca отображает информацию об оптимизации в командной строке. Можно также визуализировать процесс оптимизации путем отображения целевой функции в сравнении с номером итерации.

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 аргумент пары имя-значение в вызове fsrnca .

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

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

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