Собственные векторы и собственные значения матрицы играют важную роль в технике и науке. Некоторые из областей, в которых он может применяться, включают спектральную кластеризацию, PCA, алгоритм Google Page Rank, распознавание лиц и квантовую механику. Тем не менее, что собственные векторы и собственные значения, когда их использовать и как их можно использовать? Конечно, для всех, кто хочет глубже изучить алгоритмы машинного обучения, знание собственных векторов и собственных значений будет полезной темой, и именно это мы обсудим в этой статье.

Что такое собственные значения и собственные векторы?

Eigen в переводе с немецкого означает характеристика. Другими словами, когда мы говорим о собственных проблемах, мы имеем в виду определение характерных свойств чего-либо. Когда линейное преобразование применяется к вектору, его характеристический вектор является ненулевым вектором, который изменяется только на скалярный коэффициент. Масштабируя собственный вектор по лямбда, можно получить соответствующее собственное значение. Чтобы понять собственные векторы, мы должны понять линейные преобразования. Масштабирование, вращение и сдвиг — это некоторые из операций преобразования матрицы. Чаще всего мы думаем о том, как эти преобразования могут повлиять на конкретный вектор при их применении. Если их применить к каждому вектору в этом пространстве, также будет полезно рассмотреть, как это будет выглядеть. Давайте посмотрим на этот пример линейного преобразования, взглянем на эти три вектора и посмотрим, что произойдет, если мы выполним для них вертикальное масштабирование:

Используя приведенный выше пример, вы можете видеть, что оранжевый вектор остался прежним, указывающим в том же направлении и той же длины, что и раньше. Синий вектор, с другой стороны, указывает в том же направлении, но имеет другую длину. Наконец, фиолетовый вектор раньше составлял 45 градусов, но теперь его угол и длина увеличились. Следовательно, вы можете сказать, что, за исключением горизонтального (оранжевого) и вертикального (синего) векторов, все остальные направления векторов в некотором смысле изменились, что показывает, почему мы назвали оранжевый и синий векторы собственными векторами, поскольку они представляют характеристики именно этого преобразования. Кроме того, мы можем сказать, что собственное значение 1 соответствует горизонтальному вектору, а собственное значение 2 соответствует вертикальному вектору.

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

Линейное преобразование также показано в примере ниже. Как мы все знаем, собственные векторы нельзя получить, вращая эти векторы на любую степень вращения. Однако мы получаем собственные векторы, поворачивая их на 180 градусов. Важно отметить, что хотя эти векторы остаются в том же диапазоне, что и раньше, направление, в котором они указывают, является противоположным. Таким образом, все векторы, которые являются собственными векторами в этом линейном преобразовании, имеют собственное значение -1, поэтому все векторы в этом линейном преобразовании являются собственными векторами.

Как рассчитать собственные векторы?

Наше предыдущее чтение показывает, что векторы, которые остаются в одном диапазоне после преобразования, являются собственными векторами, даже если их длины меняются и они указывают в разных направлениях. Однако, если они остаются в одном диапазоне, они считаются собственными векторами. Рассмотрим случай преобразования A. Предполагая, что мы хотим вычислить собственные значения и собственные векторы матрицы A, давайте выполним следующие шаги:

На первом этапе лямбда будет умножаться на единичную матрицу I следующим образом:

В качестве второго шага мы возьмем матрицу A и вычтем из нее лямбду, умноженную на I:

В качестве третьего шага определите определитель этой матрицы:

Четвертый шаг - установить определитель равным 0 и решить его, чтобы определить собственные значения матрицы:

После определения собственных значений воспользуемся ими для вычисления собственных векторов, подставив их в матрицу A (для каждого собственного значения в отдельности):

Таким образом, для собственного значения лямбда = 3 собственный вектор x = [1, 2] применяется к вектору со скаляром c, и в этом случае применим вектор [c, 2c]. В результате любой вектор, у которого первый элемент в два раза больше второго, считается собственным вектором матрицы A.

В случае lambda = -1 делаем то же самое, что и раньше:

Отсюда при лямбда = -1 получаем собственный вектор x = [1, -2], который соответствует вектору [c, -2c], где c — скалярное значение.

Надеюсь, эта статья оказалась полезной, несмотря на то, что нам не нужно вычислять собственные значения и собственные векторы вручную каждый раз, когда мы используем алгоритм, но все же важно понимать, как модель работает внутри, чтобы иметь возможность использовать это уверенно.

Источники