Простое объяснение PCA для уменьшения размерности набора данных

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

Как вы могли бы использовать тот факт, что PCA вращает набор данных таким образом, чтобы он имел наибольшую дисперсию по первому измерению, второму по второму и так далее, чтобы уменьшить размерность набора данных?

Я имею в виду, более подробно, как первые N собственных векторов используются для преобразования векторов признаков в представление более низкой размерности, которое сохраняет большую часть дисперсии?


person edgarmtze    schedule 29.08.2012    source источник


Ответы (1)


Пусть X будет N x d матрицей, где каждая строка X_{n,:} является вектором из набора данных.

Тогда X'X - это ковариационная матрица, а собственное разложение дает X'X=UDU', где U - это d x d матрица собственных векторов с U'U=I, а D - диагональная матрица d x d собственных значений.

Форма собственного разложения означает, что U'X'XU=U'UDU'U=D, что означает, что если вы преобразуете свой набор данных на U, тогда новый набор данных XU будет иметь диагональную ковариационную матрицу.

Если собственные значения упорядочены от наибольшего к наименьшему, это также означает, что средний квадрат значения первого преобразованного признака (заданного выражением U_1'X'XU_1=\sum_n (\sum_d U_{1,d} X_{n,d})^2) будет больше второго, второго больше третьего и т. Д.

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

person user1149913    schedule 30.08.2012