Анализ компонентов по соседству (NCA) Выбора признаков

Анализ компонента окрестности (NCA) является непараметрическим методом для выбора функций с целью максимизации точности предсказания алгоритмов регрессии и классификации. Функции Statistics and Machine Learning Toolbox™ fscnca и fsrnca выполните выбор признаков NCA с регуляризацией, чтобы узнать веса признаков для минимизации целевой функции, которая измеряет среднюю классификацию «один на один» или регрессионные потери по сравнению с обучающими данными.

Выбор признаков NCA для классификации

Рассмотрим многоклассовую задачу классификации с набора обучающих данных, содержащей n наблюдения:

S={(xi,yi),i=1,2,,n},

где xip являются векторами функций, yi{1,2,,c} являются метками классов, и c количество классов. Цель состоит в том, чтобы узнать классификатор f:p{1,2,,c} который принимает вектор функции и делает предсказание f(x) для истинной метки y из x.

Рассмотрим рандомизированный классификатор, который:

  • Случайным образом выбирает точку, Ref(x), от S в качестве «контрольной точки» для x

  • Метки x использование метки точки ссылки Ref(x).

Эта схема аналогична схеме классификатора 1-NN, где контрольная точка выбрана ближайшим соседом новой точки x. В NCA точка ссылки выбирается случайным образом и все точки в S иметь некоторую вероятность выбора в качестве опорной точки. Вероятность P(Ref(x)= xj|S) что точка xj выбран из S как ссылка точка для x выше, если xj ближе к x как измерено функцией расстояния dw, где

dw(xi,xj)=r=1pwr2|xirxjr|,

и wr являются весами функций. Предположим, что

P(Ref(x)= xj|S)k(dw(x,xj)),

где k является некоторым ядром или функцией подобия, которая принимает большие значения, когда dw(x,xj) маленькая. Предположим, что это так

k(z)=exp(zσ),

как предложено в [1]. Точка ссылки для x выбирается из S, так сумма P(Ref(x)= xj|S) для всех j должно быть равно 1. Поэтому писать можно

P(Ref(x)= xj|S)=k(dw(x,xj))j=1nk(dw(x,xj)).

Теперь рассмотрим разовое применение этого рандомизированного классификатора, то есть предсказание метки xi используя данные в Si, а набор обучающих данных S исключая точку (xi,yi). Вероятность того, что точка xj выбран как ссылка точка для xi является

pij=P(Ref(xi)= xj|Si)=k(dw(xi,xj))j=1,jink(dw(xi,xj)).

Средняя вероятность выхода из правильной классификации является вероятностью pi что рандомизированный классификатор правильно классифицирует i наблюдений с помощью Si.

pi=j=1,jinP(Ref(xi)=xj|Si)I(yi=yj)=j=1,jinpijyij,

где

yij=I(yi=yj)={1еслиyi=yj,0иначе.

Средняя вероятность выхода из правильной классификации с использованием рандомизированного классификатора может быть записана как

F(w)=1ni=1npi.

Правая сторона графика F(w) зависит от вектора веса w. Цель анализа компонентов окрестностей состоит в том, чтобы максимизировать F(w) по отношению к w. fscnca использует регуляризованную целевую функцию, введенную в [1].

F(w)=1ni=1npiλr=1pwr2=1ni=1n[j=1,jinpijyijλr=1pwr2]Fi(w)=1ni=1nFi(w),

где λ является параметром регуляризации. Термин регуляризации управляет многими весами в w в 0.

После выбора параметра ядра σ в pij как 1, нахождение вектора веса w может быть выражена как следующая задача минимизации для данного λ.

w^=argminwf(w)=argminw1ni=1nfi(w),

где f (<reservedrangesplaceholder8>) = - F (<reservedrangesplaceholder6>) и <reservedrangesplaceholder5> <reservedrangesplaceholder4> (<reservedrangesplaceholder3>) = - <reservedrangesplaceholder2> <reservedrangesplaceholder1> (<reservedrangesplaceholder0>).

Обратите внимание, что

1ni=1nj=1,jinpij=1,

и аргумент минимума не меняется, если вы добавляете константу к целевой функции. Поэтому можно переписать целевую функцию, добавив константу 1.

w^=argminw{1+f(w)}=argminw{1ni=1nj=1,jinpij1ni=1nj=1,jinpijyij+λr=1pwr2}=argminw{1ni=1nj=1,jinpij(1yij)+λr=1pwr2}=argminw{1ni=1nj=1,jinpijl(yi,yj)+λr=1pwr2},

где функция потерь определяется как

l(yi,yj)={1еслиyiyj,0иначе.

Аргументом минимума является вектор веса, который минимизирует ошибку классификации. Вы можете задать пользовательскую функцию потерь, используя LossFunction аргумент пары "имя-значение" в вызове fscnca.

Выбор признаков NCA для регрессии

fsrnca функция выполняет выбор признаков NCA, измененный для регрессии. Учитывая n наблюдения

S={(xi,yi),i=1,2,,n},

единственное различие от задачи классификации заключается в том, что значения отклика yi непрерывны. В этом случае цель состоит в том, чтобы предсказать ответ y учитывая набор обучающих данных S.

Рассмотрим рандомизированную регрессионую модель, которая:

  • Случайным образом выбирает точку (Ref(x)) из Sв качестве «контрольной точки» для x

  • Устанавливает значение отклика в x равным значению отклика точки ссылкой Ref(x).

Снова вероятность P(Ref(x)= xj|S) что точка xj выбран из S как ссылка точка для x является

P(Ref(x)= xj|S)=k(dw(x,xj))j=1nk(dw(x,xj)).

Теперь рассмотрим разовое применение этой рандомизированной регрессионой модели, то есть предсказание отклика для xi используя данные в Si, а набор обучающих данных S исключая точку (xi,yi). Вероятность того, что точка xj выбран как ссылка точка для xi является

pij=P(Ref(xi)= xj|Si)=k(dw(xi,xj))j=1,jink(dw(xi,xj)).

Давайте y^i быть значением отклика, который предсказывает рандомизированная регрессионая модель, и yi быть фактическим ответом для xi. И пусть l:2 быть функцией потерь, которая измеряет разногласия между y^i и yi. Затем среднее значение l(yi,y^i) является

li=E(l(yi,y^i)|Si)=j=1,jinpijl(yi,yj).

После добавления термина регуляризации, целевая функция минимизации является:

f(w)=1ni=1nli+λr=1pwr2.

Функция потерь по умолчанию l(yi,yj) для NCA для регрессии является средним абсолютным отклонением, но можно задать другие функции потерь, включая пользовательскую, используя LossFunction аргумент пары "имя-значение" в вызове fsrnca.

Влияние стандартизации

Термин регуляризации выводит веса нерелевантных предикторов в нуль. В целевых функциях для NCA для классификации или регрессии существует только один параметр регуляризации λ для всех весов. Этот факт требует, чтобы величины весов были сопоставимы друг с другом. Когда векторы функций xi в S в разных шкалах, это может привести к весам, которые в разных шкалах и не значимы. Чтобы избежать этой ситуации, стандартизируйте предикторы, чтобы иметь нулевое среднее и единичное стандартное отклонение перед применением NCA. Можно стандартизировать предикторы, используя 'Standardize',true аргумент пары "имя-значение" в вызове fscnca или fsrnca.

Выбор значения параметров регуляризации

Обычно необходимо выбрать значение параметра регуляризации путем вычисления точности рандомизированного классификатора NCA или регрессионной модели на независимом тестовом наборе. Если вы используете перекрестную валидацию вместо одного тестового набора, выберите λ значение, которое минимизирует средние потери через сгибы перекрестной валидации. Для примеров смотрите Tune Regularization Parameter, чтобы обнаружить функции, используя NCA для классификации и Tune Regularization Parameter в NCA для регрессии.

Ссылки

[1] Yang, W., K. Wang, W. Zuo. «Компонент соседства Выбора признаков для высоко-размерных Данных». Журнал компьютеров. Том 7, № 1, январь 2012 года.

См. также

| | |

Похожие темы