Является ли ядро ​​PCA с линейным ядром эквивалентным стандартному PCA?

17

Если в ядре PCA я выберу линейное ядро , будет ли результат отличаться от обычного линейного PCA ? Решения принципиально отличаются или существует какое-то четко определенное отношение?K(x,y)=xy

tgoossens
источник

Ответы:

27

Резюме: ядро ​​PCA с линейным ядром в точности эквивалентно стандартному PCA.

Пусть будет центрированной матрицей данных размера N × D с D переменными в столбцах и N точками данных в строках. Тогда ковариационная матрица D × D задается как XX / ( n - 1 ) , ее собственные векторы являются главными осями, а собственные значения являются дисперсиями ПК. В то же время, можно рассматривать так называемую матрицу Грама X X из N × N размер. Легко видеть, что он имеет одинаковые собственные значения (т.е. дисперсии ПК) вплоть до n - 1XN×DDND×DXX/(n1)XXN×Nn1 фактор, и его собственные векторы являются главными компонентами, масштабированными до единичной нормы.

Это был стандартный PCA. Теперь в ядре PCA мы рассматриваем некоторую функцию которая отображает каждую точку данных в другое векторное пространство, которое обычно имеет большую размерность D n e w , возможно, даже бесконечную. Идея ядра PCA состоит в том, чтобы выполнить стандартную PCA в этом новом пространстве.ϕ(x)Dnew

Поскольку размерность этого нового пространства очень велика (или бесконечна), трудно или невозможно вычислить ковариационную матрицу. Однако мы можем применить второй подход к PCA, описанному выше. Действительно, матрица Грама будет по-прежнему иметь такой же управляемый размер Элементы этой матрицы задаются как ϕ ( x i ) ϕ ( xN×N , которое мы будем называть функцией ядра K ( x i , x j ) = ϕ ( x i ) ϕ ( x j )ϕ(xi)ϕ(xj)K(xi,xj)=ϕ(xi)ϕ(xj), Это то, что известно как уловка ядра : на самом деле не нужно вычислять , а только K ( ) . Собственные векторы этой матрицы Грама будут главными компонентами в целевом пространстве, которые нас интересуют.ϕ()K()

Ответ на ваш вопрос теперь становится очевидным. Если , то матрица Грама ядра сводится к X X ⊤, который равен стандартной матрице Грама, и, следовательно, главные компоненты не изменятся.K(x,y)=xyXX

Очень удобочитаемая ссылка - Scholkopf B, Smola A и Müller KR, Анализ основных компонентов ядра, 1999 , и обратите внимание, что, например, на рисунке 1 они явно ссылаются на стандартный PCA как на тот, который использует точечный продукт в качестве функции ядра:

ядро PCA

амеба говорит восстановить монику
источник
Откуда были эти картинки в вашем ответе? Из какой-то книги?
Буратино
@Pinocchio, эта цифра взята из Scholkopf et al. бумага, на которую ссылаются и ссылаются в моем ответе.
говорит амеба: восстанови Монику
«Легко видеть, что он имеет те же собственные значения (то есть дисперсии ПК) вплоть до n − 1 фактора » - не означает ли это, что они не полностью эквивалентны тогда? Допустим, у меня есть матрица с n = 10 выборок, d = 200 измерений. В стандартном PCA я мог бы проецировать данные в 199 измерений, если бы захотел, но в ядре PCA с линейным ядром я могу только до 10 измерений.
Цезарь
1
@Cesar, нет, если у вас n = 10 выборок, то ковариационная матрица будет иметь ранг 10-1 = 9, а стандартный PCA найдет только 9 измерений (как и PCA ядра). Смотрите здесь: stats.stackexchange.com/questions/123318 .
говорит амеба, восстанови Монику
Я получаю файл, не найденный для справочной ссылки Scholkopf B, Smola A и Müller KR.
pbible
5

XN×DDNX=UΣVUXXX=UΣ2U имеет одинаковые левые сингулярные векторы и, следовательно, одинаковые главные компоненты.

Марта Уайт
источник
Что касается стандартного PCA, я думал, что мы заботимся о SVD ковариационной матрицы, так что не очень понимаете, как относится SVD к X, не могли бы вы расширить?
m0s
@ m0s Для PCA мы заботимся о собственном разложении ковариационной матрицы, которое мы обычно выполняем с помощью SVD (центрированной) матрицы данных.
MrDrFenner
1

Мне кажется, что KPCA с линейным ядром должен быть таким же, как и простой PCA.

Ковариационная матрица, из которой вы собираетесь получить собственные значения, одинакова:

linearKPCAmatrix=1lj=1lK(xj,xj)=1lj=1lxjxjT=PCAmatrix

Вы можете проверить с более подробной информацией здесь .

Jundiaius
источник
3
Ваш ответ верен по духу, но формула выглядит запутанной. KPCA работает с матрицей ГрамаК(Икся,ИксJ)не с ковариационной матрицей (для многих нелинейных ядер фактически невозможно вычислить ковариационную матрицу, поскольку целевое пространство имеет бесконечномерную размерность). Смотрите страницу 2 статьи, которую вы цитируете.
говорит амеба, восстанови Монику