2017-01-19 7 views
1

Практический вопрос: Когда я использовать вычисленную PCA матрицу проекции P спроецировать вектор v в другое пространство (возможно более низкое с точкой зрения размеров), должен я сначала вычесть из против среднего значения векторов, которые были использованы для создания ковариационной матрицы, что основные ее собственные векторы образуют матрицу проекции P?РС вперед и назад означает вычитание/добавление

Другой вопрос, полученный: Если ответ на верхний вопрос «правильно», а затем, когда я проецировать «пониженная» вектор обратно в исходное пространство, я должен наконец добавить к нему же в виду?

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

PCA поток идет следующим образом:

  1. Принимая м векторов длины д и вычисления их ковариационной матрицы. Так как элемент в (I, J) положение ковариации я «го измерения и J» го измерения вдоль всех м векторов, мы можем получить целевой (дхд) размера матрицы ковариации путем вычитания среднего значения из всех векторов, что создает матрицу размера (dxm), в котором все средние вычитаемые векторы помещаются в виде векторов столбцов и вычисляют умножение: C = AA '.

  2. Вычисление d собственных значений и собственных векторов C, а для некоторых предварительно выбранных к, создавая матрицу P размера (KXD), а также размещение k eigenvec tors, соответствующих самым большим собственным значениям в порядке убывания, в качестве векторов строк от P.

  3. Для любого вектора v от исходного размера г, что мы хотим, чтобы проецировать к возможному снижению размерности к мы вычисляем умножение: и = Pv, который производит вектор в возможно уменьшенном размере k.

  4. Для любого вектора у, что уже было спроектировано к возможному снижению размерности к, если мы хотим, чтобы проецировать его обратно (после возможной потери данных) к исходному размеру г, вычисляется умножением: V = Пу, который производит вектор в первоначальном измерении д.

Вопрос заключается в том:

  • на этапе (3), мы должны сначала вычесть из об среднего мы вычисленные на этапе (1)?
  • на этапе (4), мы должны, наконец, добавить к об среднего мы вычисленные на этапе (1)?
+0

На шаге 1 вы забыли разделить ** AA '** ** ** **. –

+0

Я согласен, но он просто постоянный, он не должен влиять на собственные векторы и порядок их соответствующих собственных значений. – SalatYerakot

+0

Кроме того, я думаю, что вы должны разделить на ** sqrt (m) **, как в формуле ковариационной формулы – SalatYerakot

ответ

1

нашел ответ в некоторых руководствах. Разделяя его здесь, так что каждый может наслаждаться ...

По this очень приятный и дружественный PCA учебник, среднее действительно следует вычитать в (3) и добавляют в (4). Это также, как представляется, описано таким же образом в самой известной и классической бумаге eigenfaces.

Вот некоторые скриншоты из учебника PCA, которые имеют смысл:

проецирование на новое место: Projecting to new space

Проецирование обратно в исходное пространство: Projecting back to original space

2
  • на стадии (3), мы должны сначала вычесть из v среднем мы вычисленной на стадии (1)?
  • в шаге (4), мы должны, наконец, добавить к v среднее значение, которое мы вычислили на этапе (1)?

Да и да.

Также обратите внимание, что вы можете вычислить ковариационной матрицы в один проход над образцами, при необходимости, с:

COV = E[vv'] - E[v]E[v]' 
+0

Большое спасибо! – SalatYerakot

 Смежные вопросы

  • Нет связанных вопросов^_^