Анализ компонента окружения (NCA) является непараметрическим методом для выбора функций с целью максимизации точности предсказания алгоритмов регрессии и классификации. Функции Statistics and Machine Learning Toolbox™ fscnca
и fsrnca
выполните выбор признаков NCA с регуляризацией, чтобы изучить веса функции для минимизации целевой функции, которая измеряется, средняя классификация "пропускают один" или потеря регрессии по обучающим данным.
Рассмотрите многоклассовую задачу классификации с набором обучающих данных, содержащим наблюдения n:
где характеристические векторы, метки класса, и c является количеством классов. Цель состоит в том, чтобы изучить классификатор это принимает характеристический вектор и делает предсказание для истинной метки из .
Рассмотрите рандомизированный классификатор что:
Случайным образом выбирает точку, , от как 'контрольная точка' для
Метки использование метки контрольной точки .
Эта схема похожа на тот из классификатора на 1 нН, где контрольная точка выбрана, чтобы быть самым близким соседом новой точки . В NCA контрольная точка выбрана случайным образом и все точки в имейте некоторую вероятность того, чтобы быть выбранным как контрольная точка. Вероятность та точка выбран от как контрольная точка для выше если ближе к как измерено функцией расстояния , где
и веса функции. AssumeThat
где некоторое ядро или функция подобия, которая принимает большие значения когда мал. Предположим, что это
как предложено в [1]. Контрольная точка для выбран из , так сумма поскольку весь j должен быть равен 1. Поэтому возможно записать
Теперь полагайте, что приложение "пропускает один" этого рандомизированного классификатора, то есть, предсказывая метку использование данных в , набор обучающих данных исключая точку . Вероятность та точка выбран как контрольная точка для
Средняя вероятность "пропускает один" правильной классификации, вероятность то, что рандомизированный классификатор правильно классифицирует наблюдение использование i .
где
Средняя вероятность "пропускает один" правильной классификации с помощью рандомизированного классификатора, может быть записан как
Правая сторона зависит от вектора веса . Цель анализа компонента окружения состоит в том, чтобы максимизировать относительно . fscnca
использует упорядоченную целевую функцию, как введено в [1].
где параметр регуляризации. Срок регуляризации управляет многими весами в к 0.
После выбора параметра ядра \in как 1, находя вектор веса может быть описан как следующая проблема минимизации для данного .
где f (w) =-F (w) и f i (w) =-Fi (w).
Обратите внимание на то, что
и аргумент минимума не изменяется, если вы добавляете константу в целевую функцию. Поэтому можно переписать целевую функцию путем добавления постоянного 1.
где функция потерь задана как
Аргумент минимума является вектором веса, который минимизирует ошибку классификации. Можно задать пользовательскую функцию потерь с помощью LossFunction
аргумент пары "имя-значение" в вызове fscnca
.
fsrnca
функция выполняет выбор признаков NCA, измененный для регрессии. Учитывая наблюдения n
единственная разница от проблемы классификации то, что значения отклика непрерывны. В этом случае цель состоит в том, чтобы предсказать ответ учитывая набор обучающих данных .
Рассмотрите рандомизированную модель регрессии что:
Случайным образом выбирает точку () от как 'контрольная точка' для
Устанавливает значение отклика в равняйтесь значению отклика контрольной точки .
Снова, вероятность та точка выбран от как контрольная точка для
Теперь полагайте, что приложение "пропускает один" этой рандомизированной модели регрессии, то есть, предсказывая ответ для использование данных в , набор обучающих данных исключая точку . Вероятность та точка выбран как контрольная точка для
Пусть будьте значением отклика, которое рандомизированная модель регрессии предсказывает и будьте фактическим ответом для . И позвольте будьте функцией потерь, которая измеряет разногласие между и . Затем среднее значение
После добавления срока регуляризации целевая функция для минимизации:
Функция потерь по умолчанию поскольку NCA для регрессии является средним абсолютным отклонением, но можно задать другие функции потерь, включая пользовательскую, с помощью LossFunction
аргумент пары "имя-значение" в вызове fsrnca
.
Срок регуляризации выводит веса несоответствующих предикторов, чтобы обнулить. В целевых функциях для NCA для классификации или регрессии, существует только один параметр регуляризации для всех весов. Этот факт требует, чтобы величины весов были сопоставимы друг с другом. Когда характеристические векторы \in находятся в различных шкалах, этом результате силы в весах, которые находятся в различных шкалах и не значимы. Чтобы избежать этой ситуации, стандартизируйте предикторы, чтобы иметь нулевое среднее значение и модульное стандартное отклонение прежде, чем применить NCA. Можно стандартизировать предикторы с помощью 'Standardize',true
аргумент пары "имя-значение" в вызове fscnca
или fsrnca
.
Обычно необходимо выбрать значение параметра регуляризации путем вычисления точности рандомизированного классификатора NCA или модели регрессии на независимом наборе тестов. Если вы используете перекрестную проверку вместо одного набора тестов, выберите значение, которое минимизирует среднюю потерю через сгибы перекрестной проверки. Для примеров смотрите Параметр Регуляризации Мелодии, чтобы Обнаружить Функции Используя NCA для Параметра Регуляризации Классификации и Мелодии в NCA для Регрессии.
[1] Ян, W., К. Ван, В. Цзо. "Выбор признаков компонента окружения для высоко-размерных данных". Журнал компьютеров. Издание 7, номер 1, январь 2012.
FeatureSelectionNCAClassification
| FeatureSelectionNCARegression
| fscnca
| fsrnca