Основы линейной алгебры — собственные значения и собственные векторы матриц

математика

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

Давайте сначала посмотрим на его определение. Само определение очень просто. Предположим, у нас есть матрица A порядка n и действительное число\lambda, так что мы можем найти ненулевой вектор x, который удовлетворяет:

Ax=\lambda x

Если мы сможем найти его, мы назовем его\lambdaявляется собственным значением матрицы A, а ненулевой вектор x является собственным вектором матрицы A.


геометрический смысл


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

Все мы знаем, что для n-мерного вектора x, если мы умножим его на квадратную матрицу A порядка n, мы получим Ax. С геометрической точки зрения это линейное преобразование вектора x. После преобразования направление и длина вектора y и исходного вектора x изменились.

Однако для конкретной матрицы A всегда существуют векторы x в определенных направлениях, так что направления Ax и x не меняются, а изменяется только длина. Пусть изменение этой длины будет коэффициентом\lambda, то такой вектор называется собственным вектором матрицы A,\lambdaявляется специальным значением, соответствующим этому собственному вектору.


Процесс решения


Делаем очень простое преобразование оригинала:

(A-\lambda I)x = 0

Здесь I представляет собой единичную матрицу, если ее разложить, то можно получить однородную систему линейных уравнений из n элементов. Мы уже знакомы с этим.Если существует ненулевое решение для этой однородной системы линейных уравнений, то требуется определитель коэффициента.

|A-\lambda I|

отличен от нуля, то есть ранг матрицы коэффициентов меньше n.

Разложим этот определитель:

\left| \begin{matrix} a_{11}-\lambda & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} - \lambda & \cdots & a_{2n} \\  \vdots & \vdots & & \vdots \\  a_{n1} & a_{n2} & \cdots & a_{nm} - \lambda \end{matrix} \right|

Это\lambdaЭто система уравнений n-й степени с одной переменной и неизвестными, а система уравнений n-й степени имеет всего n решений в наборе комплексных чисел. Соблюдая приведенную выше формулу, мы можем найти\lambdaПоявляется только на положительной диагонали.Очевидно, что собственные значения A являются решениями системы уравнений. Так как система уравнений степени n имеет решения в множестве n комплексных чисел, матрица A имеет n собственных значений в множестве комплексных чисел.

Приведем пример и попробуем:

Предположения:

A=\left[ \begin{matrix} a_{11}-\lambda & a_{12} \\ a_{21} & a_{22}-\lambda \\ \end{matrix} \right]

Такf(\lambda)=(a_{11}-\lambda)(a_{22}-\lambda)-a_{12}a_{21}=\lambda^2-(a_{11}+a_{22})\lambda-|A|, мы можем получить формулу корня, вставив формулу так, чтоf(\lambda)=0два корня\lambda_1, \lambda_2,имеют:\lambda_1+\lambda_2=a_{11}+a_{22},\quad \lambda_1\lambda_2=|A|.

Этот вывод можно распространить на все n, которые можно установить, то есть для квадратной матрицы A порядка n мы можем получить:

  1. \lambda_1+\lambda_2+\cdots+\lambda_n=a_{11}+a_{22}+\cdots+a_{nn}
  2. \lambda_1\lambda_2\cdots\lambda_n=|A|

кейс


Давайте посмотрим на пример ниже:

A=\left[ \begin{matrix} 3 & 1 \\ 1 & 3 \end{matrix} \right]

мы приносим(A-\lambda I)x=0, вы можете получить:

\left| \begin{matrix} 3-\lambda & 1 \\ 1 & 3 - \lambda \end{matrix} \right|=0

так:(3-\lambda)^2 - 1 = 0, видно что\lambda_1=2, \quad \lambda_2=4

когда\lambda=2Время:

\left[ \begin{matrix} 3 & 1\\ 1 & 3 \end{matrix} \right]x = 2x
\left[ \begin{matrix} 3 & 1\\ 1 & 3 \end{matrix} \right][a_1, a_2]^T = [2a_1, 2a_2]^T
\begin{aligned} 3a_1 + a_2 &= 2a_1 \\ a_1 + 3a_2 &= 2a_2 \end{aligned}

Решая ее, вы можете получить:a_1+a_2=0,все(x, -x)Все векторы являются собственными векторами A.

Точно так же, когда\lambda = 4Время:

\begin{aligned} \left[ \begin{matrix} 3 & 1\\ 1 & 3 \end{matrix} \right]x &= 4x \\ \left[ \begin{matrix} 3 & 1\\ 1 & 3 \end{matrix} \right][a_1, a_2]^T &= [4a_1, 4a_2]^T \\ 3a_1 + a_2 &= 4a_1 \\ a_1 + 3a_2 &= 4a_2 \end{aligned}

Решая ее, вы можете получить:a_1=a_2,все(x, x)Все векторы являются собственными векторами A.


Решение собственных значений и собственных векторов с помощью Python


В нашей предыдущей статье мы представили мощные возможности Python в вычислительной технике, и на этот раз решение собственных значений и собственных матриц не является исключением. Используя библиотечные функции в numpy, мы можем легко выполнить двойной расчет собственных значений и собственных векторов с помощью одной строки кода.

Давайте посмотрим на код вместе:

import numpy as np

a = np.mat([[3, 1], [1, 3]])
lam, vet = np.linalg.eig(a)

Метод np.linalg.eig вернет два значения, первое возвращаемое значение — собственное значение матрицы, а второе возвращаемое значение — собственный вектор матрицы, давайте посмотрим на результат:

Почему здесь собственный вектор равен 0,707? Поскольку Python автоматически выполняет унификацию за нас, все возвращаемые векторы являются единичными векторами, что, должен сказать, слишком интимно.


Суммировать


Это конец введения в собственные значения и собственные векторы матриц, Для инженеров-алгоритмов по сравнению с тем, как вычислять собственные векторы и собственные значения. Еще более важно понять их концептуальное и геометрическое значение, поскольку оба они широко используются в области машинного обучения, во многихалгоритм уменьшения размерностиСреди них широко используются собственные значения и собственные векторы матрицы.

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

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

Если вы чувствуете, что что-то приобрели, пожалуйста, нажмитеПодпишитесь или сделайте ретвитНу, твоя поддержка - моя самая большая мотивация.