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=r1∗A+r2∗B+r3∗Cr1,r2,r3MM∈R1517×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.