Класс FeatureSelectionNCARegression

Суперклассы:

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

Описание

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

Конструкция

Создайте объект FeatureSelectionNCAClassification с помощью fsrnca.

Свойства

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

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

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

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

Можно получить доступ к полям ModelParameters с помощью записи через точку.

Например, для объекта FeatureSelectionNCARegression под названием 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 с помощью записи через точку. Например, для FeatureSelectionNCARegressionobject по имени 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

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

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

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

mdl.ModelParameters.Standardize
ans = logical
   0

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

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

Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Смотрите также

| | |

Введенный в R2017b