Выбор признаков Анализа компонента окружения (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 нН, где контрольная точка выбрана, чтобы быть самым близким соседом новой точки x. В NCA контрольная точка выбрана случайным образом и все точки в S имейте некоторую вероятность того, чтобы быть выбранным как контрольная точка. Вероятность P(Ref(x)= xj|S) та точка xj выбран от S как контрольная точка для x выше если xj ближе к x как измерено функцией расстояния dw, где

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

и wr веса функции. AssumeThat

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.

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

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

где f (w) =-F (w) и f i (w) =-Fi (w).

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

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 \in S находятся в различных шкалах, этом результате силы в весах, которые находятся в различных шкалах и не значимы. Чтобы избежать этой ситуации, стандартизируйте предикторы, чтобы иметь нулевое среднее значение и модульное стандартное отклонение прежде, чем применить NCA. Можно стандартизировать предикторы с помощью 'Standardize',true аргумент пары "имя-значение" в вызове fscnca или fsrnca.

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

Обычно необходимо выбрать значение параметра регуляризации путем вычисления точности рандомизированного классификатора NCA или модели регрессии на независимом наборе тестов. Если вы используете перекрестную проверку вместо одного набора тестов, выберите λ значение, которое минимизирует среднюю потерю через сгибы перекрестной проверки. Для примеров смотрите Параметр Регуляризации Мелодии, чтобы Обнаружить Функции Используя NCA для Параметра Регуляризации Классификации и Мелодии в NCA для Регрессии.

Ссылки

[1] Ян, W., К. Ван, В. Цзо. "Выбор признаков компонента окружения для высоко-размерных данных". Журнал компьютеров. Издание 7, номер 1, январь 2012.

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

| | |

Похожие темы