В основе алгоритма, с которого начался Google – один вектор
Представьте таблицу с 500 столбцами. Где здесь главные закономерности, а где второстепенные – глазами уже не увидеть. С ростом числа признаков работать с данными становится всё сложнее — одна из причин в том самом проклятии размерности.
Способ разобраться придумали больше ста лет назад. При линейном преобразовании почти все векторы меняют и длину, и направление. Почти все, но не собственные: они сохраняют направление и только сжимаются или растягиваются. Собственный вектор – это направление, которое преобразование не поворачивает, а λ показывает, во сколько раз оно его растягивает или сжимает.
Звучит абстрактно, пока не увидишь, где это работает.
▪️ PCA
Матрица ковариаций — это своего рода паспорт формы вашего облака данных. Её собственные векторы задают новые оси, вдоль которых разброс максимален. Чем больше λ, тем больше дисперсии данных приходится на соответствующее направление. Берём несколько компонент с наибольшими λ, остальные отбрасываем. Математически именно это вы просите сделать, когда пишете PCA(n_components=10).
▪️ PageRank
Та же математика, другие данные. Страница важна, если на неё ссылаются важные страницы. Определение рекурсивное, в лоб не посчитать. Google представил переходы по ссылкам в виде огромной матрицы и стал искать вектор рейтингов, который после очередного раунда пересчёта остаётся тем же. Это собственный вектор матрицы с λ = 1. Так работает PageRank — один из алгоритмов, на которых вырос ранний Google.
▪️ Eigenfaces
А самое неожиданное было в 90-х. Учёные прогнали через PCA базу фотографий и превратили главные компоненты обратно в изображения. Получились призрачные лица — eigenfaces. Каждое из них отражало одно из главных направлений, по которым лица в базе отличались друг от друга: из-за формы лица, освещения, выражения и других особенностей. И любое лицо стало не набором из десятков тысяч пикселей, а коротким рецептом из коэффициентов.
Одна математическая идея лежит в основе и сжатия данных, и ранжирования веб-страниц, и распознавания лиц. Чтобы её понять, не нужен мехмат: достаточно базовой работы с векторами и матрицами, но именно здесь проходит граница между «умею вызвать библиотеку» и «понимаю, что она делает».
А вы уже сталкивались с PCA на практике?
Представьте таблицу с 500 столбцами. Где здесь главные закономерности, а где второстепенные – глазами уже не увидеть. С ростом числа признаков работать с данными становится всё сложнее — одна из причин в том самом проклятии размерности.
Способ разобраться придумали больше ста лет назад. При линейном преобразовании почти все векторы меняют и длину, и направление. Почти все, но не собственные: они сохраняют направление и только сжимаются или растягиваются. Собственный вектор – это направление, которое преобразование не поворачивает, а λ показывает, во сколько раз оно его растягивает или сжимает.
Звучит абстрактно, пока не увидишь, где это работает.
▪️ PCA
Матрица ковариаций — это своего рода паспорт формы вашего облака данных. Её собственные векторы задают новые оси, вдоль которых разброс максимален. Чем больше λ, тем больше дисперсии данных приходится на соответствующее направление. Берём несколько компонент с наибольшими λ, остальные отбрасываем. Математически именно это вы просите сделать, когда пишете PCA(n_components=10).
▪️ PageRank
Та же математика, другие данные. Страница важна, если на неё ссылаются важные страницы. Определение рекурсивное, в лоб не посчитать. Google представил переходы по ссылкам в виде огромной матрицы и стал искать вектор рейтингов, который после очередного раунда пересчёта остаётся тем же. Это собственный вектор матрицы с λ = 1. Так работает PageRank — один из алгоритмов, на которых вырос ранний Google.
▪️ Eigenfaces
А самое неожиданное было в 90-х. Учёные прогнали через PCA базу фотографий и превратили главные компоненты обратно в изображения. Получились призрачные лица — eigenfaces. Каждое из них отражало одно из главных направлений, по которым лица в базе отличались друг от друга: из-за формы лица, освещения, выражения и других особенностей. И любое лицо стало не набором из десятков тысяч пикселей, а коротким рецептом из коэффициентов.
Одна математическая идея лежит в основе и сжатия данных, и ранжирования веб-страниц, и распознавания лиц. Чтобы её понять, не нужен мехмат: достаточно базовой работы с векторами и матрицами, но именно здесь проходит граница между «умею вызвать библиотеку» и «понимаю, что она делает».
А вы уже сталкивались с PCA на практике?