Principal Component Analysis

В рассмотренных ранее случаях нам был известен вид регрессионной модели и требовалось определить те или иные количественные характеристики, определяющие эту модель. А что, если нет информации ни о качественных, ни о количественных характеристиках регрессии? Как быть в этом случае? Эффективным методом решения такого рода задач является метод главных компонент (Principal Component Analysis - PCA).
Метод главных компонент (МГК)- один из основных способов уменьшения размерности данных с потерей минимального количества информации, разработан Карлом Пирсоном (Karl Pearson) в 1901 г. Применяется во многих областях, таких как распознавание образов, компьютерное зрение, сжатие данных и т.п.
Основной задачей метода главных компонент является замена исходных данных на некие агрегированные значения в новом пространстве, решая при этом две задачи - первая из которых состоит в объединении наиболее важных (с точки зрания минимизации среднеквадратичной ошибки) значений в меньшее количество параметров, но более информативных (уменьшение размерности пространства данных), а вторая - уменьшить шум в данных.
Для решения этой проблемы МГК ищет пространство, которое наилучшим образом отражает дисперсию данных. Направление с наибольшей прогнозируемой дисперсией называется первой главной компонентой. Ортогональное направление, которое захватывает вторую по величине прогнозируемую дисперсию, называется второй главной компонентой и так далее. Заметим, то направление, максимизирующее дисперсию, минимизирует среднеквадратичную ошибку.
Нахождение главных компонент сводится к вычислению собственных векторов и собственных значений ковариационной матрицы исходных данных. Иногда метод главных компонент называют преобразованием Кархунена-Лоэва (Karhunen-Loeve) или преобразованием Хотеллинга (Hotelling transform).

Формализуем задачу.

Пусть \(\left\{ {e_1 ,...,e_k } \right\}\) ортонормированный базис \(W\). Любой вектор из \(W\) может быть написан в виде линейной комбинации векторов базиса, следовательно, \(x_1\) можно поставить в соответствие некоторый вектор \(\sum\limits_{i = 1}^k {\alpha _{1,i} } e_i\) из \(W\). Ошибка между ними вычисляется следующим образом \[ \varepsilon _1 = \left\| {x_1 - \sum\limits_{i = 1}^k {\alpha _{1,i} } e_i } \right\|_2^2 = \left\langle {x_1 - \sum\limits_{i = 1}^k {\alpha _{1,i} } e_i ,x_1 - \sum\limits_{i = 1}^k {\alpha _{1,i} } e_i } \right\rangle . \]


Иллюстрация ошибки восстановления вектора.

Чтобы найти полную ошибку, нам нужно просуммировать величины ошибок по всем \(x_j\), поэтому полная ошибка равна \begin{equation}\label{eq2.1} \varepsilon \underbrace {\left( {e_1 ,...,e_k ,\alpha _{1,1} ,...,\alpha_{n,k} } \right)}_{unknowns} = \sum\limits_{j = 1}^n {\varepsilon _j } = \sum\limits_{j = 1}^n {\left\| {x_j - \sum\limits_{i = 1}^k {\alpha _{j,i} } e_i } \right\|_2^2 } . \end{equation} Метод главных компонент состоит в том, чтобы минимизировать ошибку как по \(\alpha_{j,i}\) так и по \(e_i\).
Приведем алгоритмизацию МГК.
Пусть \(D = \left\{ {X_1 ,...,X_n } \right\}\) исходные (оригинальные) данные, каждый из этих векторов \(X_i\) имеет размерность \(N\)
  1. Найдем среднее \(\mu = \frac{1}{n}\sum\limits_{i = 1}^n {X_i } \).
  2. Вычтем среднее из каждого вектора \(x_i= X_i - \mu \).
  3. Найдем ковариационную матрицу \(S = \sum\limits_{j = 1}^n {x_jx_j^T }\).
  4. Вычислим собственные векторы \(\left\{ {e_1 ,...,e_k } \right\}\), соответствующие \(k\) наибольшим собственным значениям \(S\).
  5. Пусть \(\left\{ {e_1 ,...,e_k } \right\}\) составляют матрицу \(E = \left[ {e_1...e_k } \right]\).
  6. Найдем координаты главных компонент α=\(\{\alpha _{m,\ell} = x_m^T e_\ell\}\).
  7. Тогда самой близкой аппроксимацией к \(X\) является \(\alpha^TE+\mu\).

Отметим важные свойства полученных компонент

  1. Имеет место равенство \[ \min\left\{\left.\sum_{j=1}^{n}\left\|x_j-\sum_{i=1}^{k}\alpha_{j,i}e_i\right\|_2^2 \right| \alpha_{j,i},e_i: \|e_i\|=1 \right\}= \sum_{j=1}^{n}\left\|x_j-\sum_{i=1}^{k}\hat{\alpha}_{j,i}\hat{e}_i\right\|_2^2. \]
  2. Если \[ \hat{x}_j=\sum_{i=1}^{n}\hat{\alpha}_{j,i}\hat{e}_i \] то имеет место равенство Парсеваля \[ \sum_{j=1}^{n}\left\|\hat{x}_j\right\|_2^2=\sum_{j=1}^{n}\sum_{i=1}^{n}\left\|\hat{\alpha}_{j,i}\right\|_2^2, \]
  3. Более того, для \(m=1,..,n\) и \[ \hat{x}^m_j=\sum_{i=1}^{m}\hat{\alpha}_{j,i}\hat{e}_i \] выполняется соотношение \[ \sum_{j=1}^{m}\left\|\hat{x}^m_j-\hat{x}_j\right\|_2^2=\sum_{j=m+1}^{n}\sum_{i=1}^{n}\left\|\hat{\alpha}_{j,i}\right\|_2^2, \]
  4. Векторы \(\hat{e}_1,\hat{e}_2,..,\hat{e}_n\) образуют ортонормированную систему.
  5. Множество \(\left\|\hat{\alpha}_{j,i}\right\|_2^2\) \((i=1,..,n)\) есть собственные числа корреляционной матрицы \(\left[\lt x_ix_j\gt \right]\), векторы \(\hat{e}_i\) \((1=1,..,n)\) ее собственные векторы.
  6. Последние частотные домены содержат информационный "белый шум".

Рассмотрим пример.

Unfortunately, your browser is currently unsupported by our web application. We are sorry for the inconvenience. Please use one of the supported browsers listed below, or draw the image you want using an offline tool.

Supported browsers: Opera, Firefox, Safari, and Konqueror.

Приведем алгоритмизацию этого алгоритма.
  1. Вначале центрируем данные, вычитая из исходных данных среднее значение и в дальнейшем считаем, что данные в среднем равны нулю.
  2. Положим номер итерации \(\nu = 1.\)
  3. Выбираем стартовые значения \(e_1^\nu\) (с выполнением условия \(\left\langle {e_1^\nu ,e_1^\nu } \right\rangle =1\)), например, пусть все они между собой равны \(1/\sqrt{n}\).
  4. Далее находим \[\alpha _{i,1}^{\nu} = \frac{\left\langle {x_i ,e_1^\nu } \right\rangle}{\left\langle {e_1^\nu ,e_1^\nu } \right\rangle } =\left\langle {x_i ,e_1^\nu } \right\rangle (\left\langle {e_1^\nu ,e_1^\nu } \right\rangle =1) .\]
  5. Вычисляем \[ \bar{e}_1 = \frac{\sum\limits_{j = 1}^n {x_j \alpha _{i,1}^{\nu} } }{\sum\limits_{j =1}^n {\left(\alpha _{i,1}^{\nu}\right)^2 } }, \] и нормируем его единицей.
  6. Полагаем \(\nu = \nu + 1\).
  7. Проводим проверку критерия остановки, в качестве этого может быть либо стабилизация коэффициентов \(e_1^\nu\), либо стабилизация главной компоненты \(\left\{ {\alpha _{i,1}^\nu } \right\}_{i = 1}^n\), либо проверка на заранее заданное фиксированное число итераций. Если условие окончания итерационного процесса не выполнено, то переходим к пункту 4.

Полезная литература. Книги.

  1. An Introduction to Statistical Learning with Applications in R / G.James, D.Witten, T.Hastie, R.Tibshirani .— New York Heidelberg Dordrecht London: Springer, 2013 .— 418 p.
  2. Charu C. Aggarwal Data Mining. The Textbook. / C.A.Charu; — Springer, 2015 .— 746 p.
  3. Christopher M. Bishop Pattern Recognition and Machine Learning / M.B.Christopher .— Springer, 2006 .— 758 p.
  4. Clarke B. Principles and Theory for Data Mining and Machine Learning / B.Clarke, E.Fokoue, H.Zhang .— Dordrecht Heidelberg London New York: Springer, 2009 .— 793 с.
  5. Data Analysis, Machine Learning and Applications / C.Preisach, H.Burkhardt, L.Schmidt-Thieme, R.Decker and etc.; Proceedings of the 31st Annual Conference of the Gesellschaft für Klassifikation, Albert-Ludwigs-Universität Freiburg, March 7–9, 2007 .— Berlin Heidelberg: Springer-Verlag, 2008 .— 703 p.
  6. Giudici P. Applied data mining: statistical methods for business and industry / P.Giudici .— West Sussex, England: John Wiley & Sons Ltd, 2003 .— 378 с.
  7. Goodfellow I. Deep Learning / I.Goodfellow, Y.Bengio, A.Courville .— MIT: MIT Press, 2016 .— 800 с.
  8. Han J. Data Mining Concepts and Techniques / J.Han, M.Kamber, J.Pei; Third Edition .— 225 Wyman Street, Waltham, MA 02451, USA: Morgan Kaufmann Publishers is an imprint of Elsevier, 2012 .— 740 p.
  9. Hand D. Principles of Data Mining / D.Hand, H.Mannila, P.Smyth .— MIT: The MIT Press, 2001 .— 546 с.
  10. Harrington P. Machine Learning in Action / P.Harrington .— Shelter Island: Manning Publications Co., 2012 .— 354 p.
  11. Hastie T. The Elements of Statistical Learning Data Mining, Inference, and Prediction / T.Hastie, R.Tibshirani, J.Friedman; Second Edition .— Springer, 2017 .— 764 p.
  12. Lausen B. Data Science, Learning by Latent Structures, and Knowledge Discovery / B.Lausen, S.Krolak-Schwerdt, M.Böhmer .— Berlin Heidelberg: Springer, 2015 .— 552 с.
  13. Nisbet R. Handbook of statistical analysys and data mining applications / R.Nisbet, J.Elder, G.Miner .— San Diego: Elsevier Inc., 2009 .— 860 с.
  14. Pattern Recognition and Machine Intelligence / Sergei O. Kuznetsov Deba P. Mandal Malay K. Kundu Sankar K. Pal (Eds.); 4th International Conference, PReMI 2011 Moscow, Russia, June 27 – July 1, 2011 Proceedings .— Springer, 2011 .— 495 p.
  15. Principal Manifolds for Data Visualisation and Dimension Reduction / A.Gorban, B.Kegl, D.Wunsch, A.Zinovyev .— Berlin – Heidelberg – New York: Springer, 2007 .— Режим доступу: http://pca.narod.ru/
  16. Sammut C. Encyclopedia of Machine Learning / C.Sammut, G.Webb .— NY: Springer Science+Business Media, 2010 .— 1059 p.
  17. Shalev-Shwartz S. Understanding Machine Learning: From Theory to Algorithms / S.Shalev-Shwartz, S.Ben-David .— Cambridge: Cambridge University Press., 2014 .— 449 с.
  18. Wang J. Encyclopedia of Data Warehousing and Mining / J.Wang; Second Edition .— Hershey: Information Science Reference, 2009 .— 2227 p.
  19. Zaki M.J. Data Mining and Analysis: Fundamental Concepts and Algorithms / M.J.Zaki, W.Meira .— New York: Cambridge University Press, 2014 .— 660 p.
  20. Прикладная статистика. Классификация и снижение размерности. / С.А.Айвазян, В.М.Бухштабер, И.С.Енюков, Л.Д.Мешалкин .— М.: Финансы и статистика, 1989 .— 607 с.
  21. Шумейко А.А., Сотник С.Л. Интеллектуальный анализ данных (Введение в Data Mining).-Днепропетровск:Белая Е.А., 2012.- 212 с.
  22. Эсбенсен К. Анализ многомерных данных / К.Эсбенсен .— Черноголовка: ИПХФ РАН, 2005 .— 160 с.

Полезная литература. Статьи.

  1. Abdi H. Principal Component Analysis [Електронний ресурс] /H.Abdi, L.Williams // Wiley Interdisciplinary Reviews .— Режим доступу: https://pdfs.semanticscholar.org/53b9/966a0333c9c9198cdf03efc073e991647c12.pdf
  2. Robust Principal Component Analysis? [Електронний ресурс] / E.J.Cand`es, X.Li, Y.Ma, J.Wright // JACM .— 2009 .— Режим доступу: https://arxiv.org/pdf/0912.3599.pdf
  3. Wold S. Principal Component Analysis / S.Wold, K.Esbensen, P.Geladi // Chemometrics and Intelligent Laboratory Systems .— 1987 .— №2 .— C.37-52.
  4. Мокеев В.В. О повышение эффективности вычислений главных компонент в задачах анализа изображений / В.В.Мокеев // Цифровая Обработка Сигналов .— 2012 .— №1 .— C.30-36 .— Режим доступу: http://www.dspa.ru/articles/year2011/jour11_4/art11_4_7.pdf
  5. Полищук Ю.М. Геоинформационный комплекс анализа состояния окружающей среды на основе метода главных компонент / Ю.М.Полищук, Т.О.Перемитина // Вычислительные технологии .— 2004 .— №1 .— C.1-13 .— Режим доступу: http://www.scert.ru/files/cites/pdfs/Polishuk/polishuk.pdf
  6. Шумейко А.А. Оптимальные непересекающиеся фильтры в обработке изображений / А.А.Шумейко, В.А.Смородский // Методи математичного моделювання .— 2015 .— №2(33) .— C.5-10 .— Режим доступу: http://matmod.dp.ua/archive/21/st-1-5-10.pdf

Вопрос-ответ.

Задать вопрос: