Сокращение размеров всегда теряет некоторую информацию?

10

Как видно из названия, всегда ли уменьшение размеров теряет некоторую информацию? Рассмотрим для примера PCA. Если у меня очень мало данных, я бы предположил, что может быть найдена «лучшая кодировка» (это как-то связано с рангом данных?), И ничего не будет потеряно.

интересно
источник
7
Нет, конечно, нет: например, некоторые из особых значений в PCA могут быть истинными нулями. Это в меньшей степени связано с «редкостью» данных, чем с тем, «заполняют» ли они измерения, используемые для их записи.
whuber
1
Да я вижу. Не могли бы вы написать свой комментарий в виде короткого ответа (возможно, даже с небольшим примером, если у вас есть время)?
интересно
1
Рассмотрим случай, когда у вас есть двумерные данные, где значение y для каждой точки равно «0». Вашим первым основным компонентом будет ось X, и вы ничего не потеряете, проецируя свои данные в это одно измерение, потому что оно фактически уже одно измерение.
Дэвид Маркс

Ответы:

9

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

Предположим, у вас есть некоторые данные, где каждое измеренное значение связано с двумя упорядоченными ковариатами. Например, предположим, что вы измерили качество сигнала (обозначено цветом белый = хороший, черный = плохой) на плотной сетке из положений и относительно некоторого излучателя. В этом случае ваши данные могут выглядеть как левый график [* 1]:Qxy

демонстрация радиального усреднения

Это, по крайней мере, внешне, двумерный фрагмент данных: . Тем не менее, мы можем знать априори (основываясь на базовой физике) или предположить, что это зависит только от расстояния от начала координат: r = . (Некоторый исследовательский анализ может также привести вас к такому выводу, если даже основное явление не совсем понято). Затем мы могли бы переписать наши данные как вместо , что эффективно уменьшило бы размерность до одного измерения. Очевидно, что это только без потерь, если данные радиально симметричны, но это разумное предположение для многих физических явлений.Q(x,y)x2+y2Q(r)Q(x,y)

Это преобразование является нелинейным (есть квадратный корень и два квадрата!), Поэтому оно несколько отличается от вида уменьшения размерности, выполняемого PCA, но я думаю, что это неплохо пример того, как вы можете иногда удалить измерение, не теряя никакой информации.Q(x,y)Q(r)

В качестве другого примера, предположим, что вы выполняете разложение по особым значениям для некоторых данных (SVD является близким родственником - и часто основным анализом основных компонентов). SVD берет вашу матрицу данных и разбивает ее на три матрицы, так что . Столбцы U и V являются левые и правые сингулярные векторы, соответственно, которые образуют множество ортогональных базисов . Диагональные элементы (т. являются единичными значениями, которые фактически являются весами на м базисном наборе, образованном соответствующими столбцами и (остальная частьM = U S V T M S S i , i ) i U V S N x N N x N S U V M Q ( x , y )MM=USVTMSSi,i)iUVSэто нули). Само по себе это не дает вам уменьшения размерности (фактически, теперь есть 3 матрицы вместо одной матрицы вы начали). Однако иногда некоторые диагональные элементы равны нулю. Это означает, что соответствующие базы в и не нужны для восстановления , и поэтому их можно отбросить. Например, предположим, чтоNxNNxNSUVMQ(x,y)матрица выше содержит 10 000 элементов (т.е. это 100x100). Когда мы выполняем SVD на нем, мы обнаруживаем, что только одна пара сингулярных векторов имеет ненулевое значение [* 2], поэтому мы можем заново представить исходную матрицу как произведение двух векторов по 100 элементов (200 коэффициентов, но Вы можете сделать немного лучше [* 3]).

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

Есть некоторые точные результаты об информационно-теоретической оптимальности PCA. Если ваш сигнал гауссовский и искажен аддитивным гауссовским шумом, то PCA может максимизировать взаимную информацию между сигналом и его версией с уменьшенной размерностью (при условии, что шум имеет идентичную ковариационную структуру).


Примечания:

  1. Это глупая и абсолютно нефизическая модель. Сожалею!
  2. Из-за неточности с плавающей запятой некоторые из этих значений будут не совсем нулевыми.
  3. При дальнейшей проверке, в этом конкретном случае , два сингулярных вектора одинаковы и симметричны относительно их центра, поэтому мы могли бы фактически представить всю матрицу только с 50 коэффициентами. Обратите внимание, что первый шаг выпадает из процесса SVD автоматически; второе требует некоторого осмотра / прыжка веры. (Если вы хотите подумать об этом с точки зрения баллов PCA, матрица баллов - это просто из первоначальной декомпозиции SVD; применимы аналогичные аргументы в отношении нулей, не вносящих вклад вообще).US
Мэтт Краузе
источник
Я не думаю, что ваш график правильный. 1) Это эллипс, а не круг, поэтому будет меняться в зависимости от угла с осями. Но это может быть артефактом. 2) PCA, где некоторые из собственных значений равны 0, указывает на коллинеарность в данных; это был бы график, представляющий собой прямую линию, а не сферическую неровность. 3) В реальной жизни данные никогда не бывают абсолютно симметричными. I(r)
Hong Ooi
В частности, обратите внимание, что в вашем примере. Это нелинейная комбинация переменных, поэтому она не актуальна, когда речь идет о PCA (который может обнаружить линейные комбинации в данных). r=(x2+y2)
Хонг Оои
1
Мэтт, мой вопрос действительно сводился к следующему: вы показываете нам картинку без какого-либо описания или ссылки и называете ее «данными»: я хотел бы знать, в каком смысле вы думаете о ней как о данных. Ваш комментарий смущает эту проблему, потому что представление «тепловой карты» обычно не является данными, а является чем-то созданным из данных. Например, если бы это были нерегулярные точечные данные 2D, и вы подгоняли к ним радиально-симметричную плотность, то , как вы утверждаете, изображение можно было бы рассматривать как одномерное, но это не было бы уменьшением безразмерности данных .
whuber
1
Возможно, мне следовало бы сказать «сетка» или «растр» вместо этого. Я представлял ситуацию, когда данные собираются на сетке, и каждая точка сетки связана с (скалярным) значением, но значения не обязательно являются интенсивностью света, как на (фотографическом) изображении. Тем не менее, я явно не раскачиваю этот ответ - позвольте мне попытаться отредактировать его в нечто более связное!
Мэтт Краузе
2
+1: изменения делают ваши пункты намного яснее. Спасибо за дополнительные усилия!
whuber
4

Я думаю, что вопрос, стоящий за вашим вопросом, «что делает информацию?». Это хороший вопрос.

Грамматичность:

PCA всегда теряет информацию? Нет. Это иногда теряет информацию? Еще бы. Вы можете восстановить исходные данные из компонентов. Если бы он всегда терял информацию, это было бы невозможно.

Это полезно, потому что часто не теряет важную информацию, когда вы используете ее, чтобы уменьшить размерность ваших данных. Когда вы теряете данные, часто это более высокочастотные данные, а зачастую это менее важно. Крупномасштабные общие тенденции отражаются в компонентах, связанных с большими собственными значениями.

EngrStudent
источник
4

Нет. Если одно или несколько измерений матрицы являются функцией других измерений, соответствующий метод уменьшения размеров не потеряет никакой информации.n×p

В наиболее прямолинейном случае, если одно измерение является линейной комбинацией других, уменьшение размерности на единицу может быть сделано без потери какой-либо информации - потому что отброшенное измерение может быть воссоздано при необходимости из того, что осталось.

Рассмотрим этот трехмерный случай, когда x3 является точной линейной комбинацией x1 и x2. Из исходных данных это не очевидно, хотя ясно, что x3 связан с двумя другими:

введите описание изображения здесь

Но если мы посмотрим на основные компоненты, третий равен нулю (в пределах числовой ошибки).

введите описание изображения здесь

График первых двух основных компонентов такой же, как график x1 против x2, только повернутый (хорошо, не так очевидно, как я имел в виду, позже я попытаюсь объяснить лучше) :

введите описание изображения здесь

Мы уменьшили размерность на единицу, но сохранили всю информацию по любому разумному определению.

Это выходит за рамки линейного уменьшения размеров, хотя, естественно, становится более сложным для иллюстрации. Дело в том, что общий ответ - «нет», а не тогда, когда некоторые измерения являются функциями комбинации других.

Код R:

library(GGally)


n <- 10^3
dat <- data.frame(x1=runif(n, 0, 3), x2=rnorm(n))
dat$x3 <- with(dat, x1 + x2)

ggpairs(dat)

pc <- princomp(dat)
plot(pc)

par(mfrow=c(1,2))
with(dat, plot(dat$x1, dat$x2, col="red", main="Original data", bty="l"))
with(pc, plot(scores[,1], scores[,2], col="blue", main="Scores from principal components(\n(rotated)", bty="l"))
Питер Эллис
источник