А что не крутится?
Рассмотрим подробнее геометрию линейных преобразований
Возьмём стандартный базис и рассмотрим преобразование заданное такой матрицей:
На видео будет видно, как оно действует
Но вот сразу фотки, где видно начало и конец преобразования


Если обратить внимание на жёлтый и фиолетовый вектора, то можно заметить, что они не поменяли своего направления при трансформации (только жёлтый вектор удвоился)
Можно убедиться в этом, прямо умножив:
Тут ещё важно понять, что любые вектора того же направления так же остаются на месте и умножаются на те же числа
Например, если вектор (1, 1) умножается на 2,, то и (2, 2) тоже будет умножаться на 2
Такие вектора называются собственными, попробуем изучить их свойства
Формально определение собственного вектора такое:
То есть, при применении преобразования вектор умножается на число (при этом, не меняя направление)
Если мы перекинем всё влево и вынесем v, то получим:
, где
- единичная матрица
Как мы помним, вектор может обнулиться, только если матрица вырождена
Поэтому, чтобы равенство было верным, матрица должна быть вырождена:
То есть, наша задача найти такое , при котором преобразование будет “схлопывать простанство”
Этот определитель называется “характеристический многочлен”
Через это уравнение мы получаем - собственные значения
И далее решаем систему уравнений:
Так мы получим собственные векторы
*На практике часто используются другие численные алгоритмы поиска собственных векторов, но это уже не относится к теме нашего курса
Важное для данных свойство таких векторов:
Если матрица симметричная, то собственные вектора, отвечающие разнымсобственным значениям будут перпендикулярныи если мы **возьмём эти вектора за базис,**то матрица будет диагональной
Как пример, возьмём симметричную матрицу:
Процесс поиска векторов я писать не буду, вот сразу они:
Проверим:
Чтобы добавить какую-то наглядность, вот фото этого преобразования:


Жёлтый вектор смотрит туда же, фиолетовый в противоположную сторону
Посчитаем новую матрицу по уже известной нам формуле:
Как мы видим, матрица диагональная, как и ожидалось
Причём, на диагонали стоят собственные значения
Я так подробно про это рассказал, потому что это очень важно для данных
На этом основан широко используемый алгоритм PCA(метод главных компонент)
Его часть мы уже рассматривали ранее, когда говорили про замену координат
Полностью алгоритм выглядит так:
1. Центрирование данных
Из значения каждого признака вычитается его среднее арифметическое. Это сдвигает облако точек так, чтобы его центр оказался в начале координат
Это **очень важный шаг,**если его пропустить, алгоритм, скорее всего, перестанет работать
2. Построение матрицы ковариации
На основе центрированных данных рассчитывается матрица ковариации C
Элементы на главной диагонали показывают дисперсию отдельных признаков, а внедиагональные элементы — ковариацию (взаимосвязь) между парами признаков
Наша задача сделать так, чтобы матрица стала диагональной
Это будет означать, что нет лишней зависимости между данными
По прошлому шагу мы узнали, что если матрица симметрична, то её можно диагонализировать
А наша матрица C как раз симметрична
3. Диагонализация
Остаётся найти собственные вектора и взять их за новый базис
Получится ортогональный базис (где вектора перпендикулярны друг другу)
Благодаря этому, признаки не будут зависеть друг от друга
Представьте линейное преобразование «сдвиг» (shear), которое смещает верхнюю часть картинки вправо, оставляя нижнюю неподвижной. Какое утверждение верно для собственных векторов этого преобразования?