PCA, ICA и лапласианские собственные карты


11

Вопрос

Я очень заинтересован в методе Лапласовых собственных карт. В настоящее время я использую его для уменьшения размеров моих медицинских данных.

Однако я столкнулся с проблемой при использовании метода.

Например, у меня есть некоторые данные (спектры сигналов), и я могу использовать PCA (или ICA) для получения некоторых ПК (или микросхем). Проблема в том, как получить аналогичные по размеру уменьшенные компоненты исходных данных с помощью LE?

Согласно методу лапласовских собственных карт нам нужно решить обобщенную проблему собственных значений, которая

Ly=λDy

Здесь - собственный вектор. Если я построю, например, верхние 3 собственных вектора (решение по 3 собственным значениям), результаты не будут интерпретироваться.y

Тем не менее, когда я строю 3 верхних ПК и 3 верхних, результаты всегда кажутся четко (визуально) отражающими исходные данные .x

Я предполагаю, что причина в том, что матрица определяется весовой матрицей (матрица смежности ), а данные были снабжены тепловым ядром для создания , который использует экспоненциальную функцию. Мой вопрос заключается в том, как извлечь приведенные компоненты (а не собственный вектор матрицы )?LWxWxyL


Данные

Мой набор данных ограничен и нелегко продемонстрировать проблему. Здесь я создал игрушечную задачу, чтобы показать, что я имел в виду и что хочу спросить.

Пожалуйста, смотрите картинку,

Сначала я создаю синусоидальные волны A, B, C, которые отображаются красными кривыми (первый столбец рисунка). A, B и C имеют 1000 выборок, другими словами, сохраненные в 1x1000 векторов.

Во-вторых, я смешал источники A, B, C, используя случайно созданные линейные комбинации, например, , в которых являются случайными значениями. Смешанный сигнал находится в очень высоком пространственном пространстве, например, , 1517 - произвольно выбранное большое пространственное пространство. Я показываю только первые три строки сигнала М зелеными кривыми (второй столбец рисунка).M=r1A+r2B+r3Cr1,r2,r3MMR1517×1000

Затем я запускаю собственные карты PCA, ICA и Laplacian, чтобы получить результаты уменьшения размеров. Я решил использовать 3 ПК, 3 ИС и 3 LE, чтобы провести справедливое сравнение (синие кривые показывают соответственно 3-й, 4-й и последний столбец рисунка).

Из результатов PCA и ICA (3-й, 4-й столбец рисунка) видно, что мы можем интерпретировать результаты как некоторое уменьшение размера, т. Е. Для результатов ICA мы можем восстановить смешанный сигнал с помощью (я не уверен, сможем ли мы также получить с результатами PCA, но результат кажется мне вполне подходящим).Mзнак равноб1*яС1+б2*яС2+б3*яС3Mзнак равноa1*пС1+a2*пС2+a3*пС3

Однако, пожалуйста, посмотрите на результаты LE, я едва могу интерпретировать результаты (последний столбец рисунка). Кажется, что-то не так с уменьшенными компонентами. Кроме того, я хочу упомянуть, что в конечном итоге график последнего столбца является собственным вектором в формулеYLYзнак равноλDY

У вас есть идеи?

Рисунок 1 с использованием 12 ближайших соседей и сигма в ядре нагрева составляет 0,5: Столбцы слева направо: исходный сигнал, смешанный сигнал, ПК, ИС, LE

Рисунок 2 с использованием 1000 ближайших соседей и сигма в ядре нагрева составляет 0,5: Столбцы слева направо: исходный сигнал, смешанный сигнал, ПК, ИС, LE

Исходный код : код Matlab с необходимым пакетом


2
Что вы подразумеваете под уменьшенными компонентами х? Вы хотите сказать, низкоразмерное вложение x?
катафалк

Это звучит интересно. Не могли бы вы дать более подробное описание того, как на самом деле выглядят ваши данные?
Плацидия

Ответы:


4

Ответ на ваш вопрос задается отображением в нижней части страницы 6 оригинального лапласиане Eigenmaps бумаги :

Икся(е1(я),...,ем(я))

Так, например, вложение точки , скажем, в верхние 2 «компоненты» определяется как где и - собственные векторы, соответствующие двум наименьшим ненулевым собственным значениям из обобщенной задачи на собственные значения . ( f 1 ( 5 ) , f 2 ( 5 ) ) f 1 f 2 L f = λ D fИкс5(е1(5),е2(5))е1е2Lезнак равноλDе

Обратите внимание, что в отличие от PCA, это не просто получить вложение вне образца. Другими словами, вы можете получить вложение точки, которая уже учитывалась при вычислении , но не (легко), если это новая точка. Если вы заинтересованы в последнем, посмотрите эту статью .L


Я немного озадачен тем, что вы рассматриваете в качестве переменных. Из того, что я понимаю, ваша матрица состоит из 1517 выборок из 1000-мерного пространства. Когда вы делаете PCA (или ICA) на этой матрице, вы можете довольно хорошо восстановить базовые способы изменения: например, в столбце 3 на ваших рисунках строки 1,2,3 соответствуют основаниям C, A, B соответственно. Это имеет смысл. Тем не менее, в вашем коде, когда вы выполняете LEM, вы вызываете функцию для ( ), что не согласуется с вышеизложенным. М ТMMTmixedSignal'
Шантану

Итак, во-первых, в матрице , каковы ваши переменные и каковы ваши наблюдения? Во-вторых, из вашего анализа выясняется, что вы ищете не только вложение с использованием LEM, но и эквивалент собственных векторов, как в PCA, верно? Вы не можете сделать это LEM, по крайней мере, не легко. Прочтите эту статью, чтобы понять, почему. МMM
Шантану

Если все, что вы ищете, это вложение, то это легко дается отображением . Посмотрите мой ответ для деталей. В вашем коде измените строку 47 и используйте вместо ее транспонирование; результат даст вам 3-мерное вложение ваших 1517 точек. Икся(е1(я),...,ем(я))mixedSignalmappedX
Шантану

PS: выше я имел в виду «Вы не можете сделать это с помощью LEM, по крайней мере, не легко».
Шантану

2

Вот ссылка на веб-страницу курса профессора Троссета, а также он пишет книгу http://mypage.iu.edu/~mtrosset/Courses/675/notes.pdf, которая обновляется каждую неделю или около того. Также приведены R-функции для собственных лапласовых отображений. Просто попробуйте сами. Вы также можете рассмотреть эту статью Belkin

Спасибо Абхик Студент Профессора Троссет


1

В отличие от PCA-лапласовых собственных карт используются обобщенные собственные векторы, соответствующие наименьшим собственным значениям. Он пропускает собственный вектор с наименьшим собственным значением (может быть нулевым) и использует собственные векторы, соответствующие следующим нескольким наименьшим собственным значениям. PCA - это максимальное сохранение дисперсии с использованием матрицы ядра / грамма. Лапласовы собственные карты ставятся скорее как задача минимизации относительно комбинаторного графа лапласиана (см. Работы Троссета).


Все заинтересованные, пожалуйста, посмотрите на мой вопрос еще раз. Я положил несколько примеров. Огромное спасибо.
Само Джером
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.