Сегодня я расскажу вам об очень важном понятии, которое широко используется в области машинного обучения — собственных значениях и собственных векторах матриц.
Давайте сначала посмотрим на его определение. Само определение очень просто. Предположим, у нас есть матрица A порядка n и действительное число, так что мы можем найти ненулевой вектор x, который удовлетворяет:
Если мы сможем найти его, мы назовем егоявляется собственным значением матрицы A, а ненулевой вектор x является собственным вектором матрицы A.
геометрический смысл
На самом деле нам сложно что-либо увидеть из вышеприведенной формулы, но мы можем объединить геометрический смысл матричных преобразований, и это будет намного понятнее.
Все мы знаем, что для n-мерного вектора x, если мы умножим его на квадратную матрицу A порядка n, мы получим Ax. С геометрической точки зрения это линейное преобразование вектора x. После преобразования направление и длина вектора y и исходного вектора x изменились.
Однако для конкретной матрицы A всегда существуют векторы x в определенных направлениях, так что направления Ax и x не меняются, а изменяется только длина. Пусть изменение этой длины будет коэффициентом, то такой вектор называется собственным вектором матрицы A,
является специальным значением, соответствующим этому собственному вектору.
Процесс решения
Делаем очень простое преобразование оригинала:
Здесь I представляет собой единичную матрицу, если ее разложить, то можно получить однородную систему линейных уравнений из n элементов. Мы уже знакомы с этим.Если существует ненулевое решение для этой однородной системы линейных уравнений, то требуется определитель коэффициента.
отличен от нуля, то есть ранг матрицы коэффициентов меньше n.
Разложим этот определитель:
ЭтоЭто система уравнений n-й степени с одной переменной и неизвестными, а система уравнений n-й степени имеет всего n решений в наборе комплексных чисел. Соблюдая приведенную выше формулу, мы можем найти
Появляется только на положительной диагонали.Очевидно, что собственные значения A являются решениями системы уравнений. Так как система уравнений степени n имеет решения в множестве n комплексных чисел, матрица A имеет n собственных значений в множестве комплексных чисел.
Приведем пример и попробуем:
Предположения:
Так, мы можем получить формулу корня, вставив формулу так, что
два корня
,имеют:
.
Этот вывод можно распространить на все n, которые можно установить, то есть для квадратной матрицы A порядка n мы можем получить:
кейс
Давайте посмотрим на пример ниже:
мы приносим, вы можете получить:
так:, видно что
когдаВремя:
Решая ее, вы можете получить:,все
Все векторы являются собственными векторами A.
Точно так же, когдаВремя:
Решая ее, вы можете получить:,все
Все векторы являются собственными векторами 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, надеюсь, вы все с нетерпением ждете ее.
Если вы чувствуете, что что-то приобрели, пожалуйста, нажмитеПодпишитесь или сделайте ретвитНу, твоя поддержка - моя самая большая мотивация.