PCA — алгоритм, уменьшающий пространство признаков так, чтобы потерять как можно меньше информации. Его часто спрашивали на собеседованиях, и, когда я впервые его изучил, то получил удовольствие от такого изящного применения линейной алгебры. Давайте же начнём разбор 🧑💻 Найти новые ортогональные оси (главные компоненты), вдоль которых дисперсия данных максимальна, и проецировать данные на первые k таких осей. 1) Нормирование.
Приводим признаки к сопоставимым шкалам. Иначе признаки с большими числовыми масштабами доминируют по дисперсии. Например, зарплата — в тысячах рублей, а рост — в десятках сантиметров, из-за этого и дисперсии будут несравнимы. 2) Центрирование.
Вычитаем среднее по каждому признаку. Нам важен разброс вокруг среднего, а не само значение среднего. 3) Строим ковариационную матрицу Σ.
Данная матрица показывает, как каждый из признаков меняется с другим. 4) Находим собственные векторы и собственные значения.
То есть решаем уравнение Σ v = λ v. Почему именно собственн