Processing math: 100%

Метод главных компонент (PCA)


Введение

Часто n-мерное пространство признаков оказывается избыточным. Объекты (точки) концентрируются в нём на вложенных m-мерных поверхностях, где m существенно меньше n. Выявление таких поверхностей приводит к снижению размерности задачи и упрощению дальнейшего анализа данных (в задачах классификации и т.п.). Метод главных компонент (principal component analysis) является простейшим методом, в котором, в качестве m-мерной поверхности выступает m-плоскость.

Напомним, что m векторов ek={e1,...,em} задают уравнение m-плоскости в n-мерном пространстве: x=x0+mk=1tkek. Параметры {t1,...,tm} выступают декартовыми координатами в базисе {e1,...,em} (если он ортогонален). Вектор x0 задаёт положение начала координат (точка в которой все координаты на плоскости tk равны нулю). Если m=1, то (1) будет уравнением прямой (одномерный объект). При m=2 мы имеем двумерную плоскость и т.д.

Квадрат кратчайшего евклидового расстояния d2=(Xx)2 от произвольной точки X до m-плоскости (1) равно d2=(Xx0)2mk=1[(Xx0)ek]2, а проекция точки X на m-плоскости имеет следующие координаты (в n- и m- пространствах): X  x=x0+mk=1[(Xx0)ek]ek,             tk=(Xx0)ek.


Центр тяжести

В методе главных компонент ищут m-плоскость, сумма квадратов расстояний от которой до множества точек (обучающий набор объектов) X1,...,XN минимальна (нижний индекс - номер объекта). Будем в дальнейшем обозначать угловыми скобками усреднение по всем точкам. Например, среднее значение (центр тяжести N объектов) равен: X=1NNi=1Xi. Таким образом, мы требуем, чтобы d2=(Xx0)2mk=1[(Xx0)ek]2=min. Определим сначала x0. Беря производную по x0 и приравнивая её нулю, имеем: Xx0mk=1[(Xx0)ek]ek=0. Это соотношение тождественно выполняется, если x0=X, т.е. плоскость проходит через центр тяжести. Поэтому вычтем его из каждой точки: XiXiX и далее будем считать, что X=0 и x0=0.


Первый компонент

Для определения направляющих векторов e1,...,em (базис в плоскости) необходимо найти максимум (знак минус в (2)!) выражения: D=mk=1(Xek)2=(Xe1)2+...+(Xem)2=max,           ekep=δkp, при сохранении ортонормированности векторов. Максимальным должно быть каждое слагаемое в сумме. Чем больше значение слагаемого, тем более значимым является k-й вектор. Пусть эти слагаемые отсортированы по убыванию значимости. Определим сначала e1, который называют первым компонентом. В плоскости он может иметь произвольное направление (произвол ориентации базиса в плоскости). Поэтому стоит задача поиска максимума (Xe1)2 при условии, что e21=1. Эту задачу можно решать методом множителей Лагранжа: (Xe1)2+λ(1e21)=max. Беря производные по e1, λ и приравнивая их нулю, имеем: (Xe1)X=λe1,             e21=1. Обозначим в круглых скобках номер компоненты вектора в n-мерном пространстве: e1={e(1)1,...,e(n)1}. Первое уравнение переписывается в форме уравнения на собственные значения: nj=1Cije(j)1=λe(i)1 ковариационной матрицы: Cij=X(i)X(j)=1N1Nk=1X(i)kX(j)k.

Из (6) следует (умножаем первое соотношение на e1), что λ=(Xe1)2, поэтому из всех собственных значений необходимо выбрать максимальное. Впрочем, это не обязательно. Если будут найдены все собственные значения матрицы Cij (см. ниже), то их можно отсортировать в порядке убывания, оставив только m самых больших. Соответствующие им собственные векторы ковариационной матрицы и являются искомыми направляющими векторами m-плоскости.


Второй компонент

Пусть первый компонент e1 и первое собственное значение λ1=λ матрицы Cij уже найдены. Изменим координаты точек следующущим образом: X=X(Xe1)e1,         Xe1=0. Среднее значение останется нулевым X=0. Остаток максимизируемой суммы (4) также не поменяется: D=(Xe2)2+...+(Xem)2=(Xe2)2+...+(Xem)2=max. Его необходимо продолжать максимизировать. Заметим, что пересчитывать ковариационную матрицу (8) по всем точкам X не обязательно, так после преобразования (9) она меняется следующим образом: Cij=Cijnk=1Ckie(k)1e(j)1nk=1Ckje(k)1e(i)1+nk=1Ckpe(k)1e(p)1e(i)1e(j)1. Учитывая уравнение на собственные значения (7) это соотношение можно упростить: Cij=Cijλ1e(i)1e(j)1. Теперь процесс поиска максимума можно повторять до тех пор, пока все векторы базиса плоскости не будут найдены. При этом, в силу построения по формуле (9), все эти векторы окажутся ортогональными.

Несложно видеть, собственные значения матрицы Cij одновременно являются собственными значениями исходной матрицы Cij. Поэтому m-плоскость строиться по m собственным векторами ковариационной матрицы, соответствующим максимальным собственным значениям.

Ещё одна интерпретация собственных векторов ковариационной матрицы - это оси эллипсоида характерного "разброса" точек в пространстве. Если эллипсоид вытянут вдоль одной из осей - это главная (наиболее значимая) компонента. Следующая по "вытянутости" ось - вторая компонента и т.д.


Пример 1: ирисы Фишера

Рассмотрим в качестве примера набор из 150 измерений длины и ширины лепестков цветков ириса (ирисы Фишера). В данном случае пространство признаков 4-мерно и в задаче классификации присутствуют 3 класса.

Статистики по всем признакам имеют вид:

xi	 aver	 sigma	  min	  max
x1	 5.843	 0.828	 4.30	 7.90
x2	 3.054	 0.434	 2.00	 4.40
x3	 3.759	 1.764	 1.00  6.90
x4	 1.199	 0.763	 0.10  2.50
После нормировки xi(xixi)/σi ковариационная матрица Cij равна:
 1.000	-0.109	 0.872	 0.818
-0.109	 1.000	-0.421	-0.357
 0.872	-0.421	 1.000	 0.963
 0.818	-0.357	 0.963	 1.000
Её собственные значения и собственные векторы:
λ1=2.911;   e1=(-0.522,  0.263,	-0.581,	-0.566)
λ2=0.921;   e2=(-0.372, -0.926,	-0.021,	-0.065)
λ3=0.147;   e3=( 0.721, -0.242,	-0.141,	-0.634)
λ4=0.021;   e4=(-0.262,  0.124,  0.801,	-0.524)

Главная компонента (наибольшее собственное значение λ1=2.911) cущественно отличается от остальных. Это свидетельствует о том, что точки в 4-мерном пространстве в основном вытянуты вдоль прямой. Следующее по значимости собственное значение λ2=0.921 и соответствующий ему собственный вектор e2, вместе с вектором e1 образует двумерную плоскость. Справа на рисунке приведена проекция данных на эту плоскость в диапазоне [-4,..,4] по каждой координате. Вектор e1 направлен вправо, а e2 - вниз. Статистики координат на этой плоскости имеют вид:

ti	 aver	sigma	   min	  max
t1	0.000	1.706	-3.298	2.765
t2	0.000	0.960	-2.713	2.649
Синие круги - первый класс, красные - второй и зелёные - третий.


Пример 2: рукописные цифры MNIST

База рукописных цифр MNIST содержит содержит 60000 обучающих 10000 тестовых изображений 28x28 пикселей в градациях серого. Все картинки отцентрованы по центру тяжести и более или менее приведены к единому масштабу.

Уменьшим цифры в 2 раза (картинки 14×14) и посчитаем ковариационную матрицу (в её графическом представлении красный цвет +1, синий -1). Собственные значения ковариационной матрицы приведены справа от неё. Видно, что размерность пространства признаков существенно меньше чем 14·14=196

PCA 2-мерная (m=2) плоскость для MNIST имеет вид (цветом помечены различные классы=цифры, расшифровка которых приведена в верхней части рисунка):


Проблемы PCA в задачах классификации

Метод главных компонент позволяет выяснить характерную размерность данных, т.е. размерность поверхности, вложенной в пространство признаков. Однако, проектирование данных на эту m-мерную плоскость может существенно ухудшить классификацию классов. Справа на рисунке приведены два класса (круги и крестики). Они являются хорошо (линейно) разделимыми. Однако при проектировании на линию (одна главная компонента), объекты различных класов перемешаются и перестанут быть разделимыми.

Например, в задаче ирисов Фишера метод главных компонент свидетельствует о "двумерности" исходных данных. Однако, первая главная компонента направлена не в направлении наиболее значимого (четвёртого) признака. Ниже, слева от вертикальной линии приведены исходные данные ирисов Фишера во всех парах координат. Справа те-же данные после устранения корреляции (т.е. PCA c m=4):

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