Выбор функции Анализа компонента окружения (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.

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

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

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

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

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

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

P(Касательно(x)= xj|S)k(dw(x,xj)),

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

k(z)=exp(zσ),

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

P(Касательно(x)= xj|S)=k(dw(x,xj))j=1nk(dw(x,xj)).

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

pij=P(Касательно(xi)= xj|Si)=k(dw(xi,xj))j=1,jink(dw(xi,xj)).

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

pi=j=1,jinP(Касательно(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.

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

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

  • Устанавливает значение ответа в x равняйтесь значению ответа контрольной точки Касательно(x).

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

P(Касательно(x)= xj|S)=k(dw(x,xj))j=1nk(dw(x,xj)).

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

pij=P(Касательно(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.

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

|