Матрицы и системы уравнений | Линейная алгебра

Матрицы и системы уравнений

Все курсы > Линейная алгебра > Занятие 2

На прошлом занятии мы поговорили про векторы и векторные пространства. Сегодня мы поговорим про матрицы и системы линейных уравнений.

Ноутбук к сегодняшнему занятию

Матричные преобразования

Как матрицы преобразовывают пространство

Рассмотрим как матрица может изменить положение вектора.

Преобразование базисных векторов

Начнем с базисных векторов. Возьмем матрицу A и два базисных вектора i и j.

Если поочередно умножить матрицу на каждый из векторов, то первый столбец матрицы A определит новые координаты вектора i, второй столбец — вектора j.

Так трансформационная матрица (transformation matrix, левый множитель) оказывает влияние на базисные (и все остальные) векторы и таким образом меняет пространство.

Посмотрим на результат на графике.

Очевидно. все остальные векторы пространства $R^2$ также сместятся. Так матрица преобразует векторное пространство.

Продемонстрируем, что при преобразовании любого вектора, по сути мы меняем базисные векторы, умноженные на скаляр. Рассмотрим, как в результате умножения матрицы A на вектор $r$, мы получим новый вектор $r’$.

$$A \cdot r = r’ $$

Очевидно, мы можем умножать вектор $r$ и $r’$ на скаляр или представить в виде суммы двух (базисных) векторов.

$$A \cdot nr = nr’ $$

$$A \cdot (i+j) = (i+j)’ $$

Тогда справедливо, что

$$A \cdot (ni+mj) = (ni+mj)’ $$

Выполним умножение

$$ A \cdot (ni+mj) = (nAi+mAj) = ni’ + mj’ $$

Таким образом, можно сказать, что при преобразовании пространства матрица преобразует масштабированные (scaled) базисные векторы. Приведем пример.

$$  \begin{bmatrix} 2 & 3 \\ 10 & 1 \end{bmatrix} \begin{bmatrix} 2 \\ 3 \end{bmatrix} = \begin{bmatrix} 12 \\ 32 \end{bmatrix} $$

$$  \begin{bmatrix} 2 & 3 \\ 10 & 1 \end{bmatrix} \left( 2 \begin{bmatrix} 1 \\ 0 \end{bmatrix} + 3 \begin{bmatrix} 0 \\ 1 \end{bmatrix} \right)  = \begin{bmatrix} 12 \\ 32 \end{bmatrix} $$

$$ 2 \begin{bmatrix} 2 & 3 \\ 10 & 1 \end{bmatrix} \begin{bmatrix} 1 \\ 0 \end{bmatrix} + 3 \begin{bmatrix} 2 & 3 \\ 10 & 1 \end{bmatrix} \begin{bmatrix} 0 \\ 1 \end{bmatrix} = \begin{bmatrix} 12 \\ 32 \end{bmatrix} $$

$$ 2 \begin{bmatrix} 2 \\ 10 \end{bmatrix} + 3 \begin{bmatrix} 3 \\ 1 \end{bmatrix} = \begin{bmatrix} 12 \\ 32 \end{bmatrix} $$

Свойства преобразований

Важным свойством трансформации пространства является то, что начало координат не смещается, а линии координатной сетки остаются параллельными друг другу и сохраняются исходное расстояние друг от друга (origin remains fixed, grid lines remain parallel and evenly spaced).

Можно также сказать «новые», преобразованные векторы будут иметь те же координаты относительно нового базиса, что и исходный вектор, относительно исходного базиса.

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

Решение системы уравнений как преобразование

Теперь рассмотрим решение системы линейных уравнений (simultaneous equations) с точки зрения трансформации пространства.

$$ \begin{bmatrix} 2 & 3 \\ 10 & 1 \end{bmatrix} \begin{bmatrix} a \\ b \end{bmatrix} = \begin{bmatrix} 8 \\ 13 \end{bmatrix}$$

По сути, нам нужно найти такой вектор $\begin{bmatrix} a \\ b \end{bmatrix}$, при умножении матрицы на который мы окажемся в точке $ \begin{bmatrix} 8 \\ 13 \end{bmatrix} $.

Виды преобразований

Можно выделить некоторые часто встречающиеся виды преобразований. Создадим вектор x.

Единичная матрица

Если умножить единичную матрицу (identity matrix) на вектор x, не произойдет ничего.

Обратите внимание, мы легко можем догадаться, что с вектором после преоразования ничего не произойдет, потому что столбцы трансформационной матрицы в точности повторяют векторы базиса i и j.

Сжатие и растяжение

При сжатии или растяжении (scaling) координаты вектора соответственно уменьшаются или увеличиваются в размере. В случае базисных векторов, они не меняют направления. Приведем пример растяжения.

Посмотрим, как это выглядит на графике.

Дадим пояснения. преобразования пространства удобно описывать с помощью площади, образованной двумя (в пространстве $R^2$) векторами.

  • Зеленый квадрат: площадь базисных векторов
  • Синий квадрат: площадь масштабированных синих векторов
  • Красный вектор: масштабированный вектор x

Обратите внимание, векторы базиса i и j после трансформации сохранили направление, вектор r сместился выше. Понимание того, что некоторые векторы сохраняют направление, а некоторые — нет, пригодится на следующем занятии.

Приведем пример сжатия. Для этого нужно, чтобы ее ненулевые координаты были меньше единицы.

Отражение

Отражение (reflection) как бы «перекидывает» вектор на другую сторону от осей координат. Посмотрим на отражение относительно оси y (то есть «перекидывать» мы будем вектор i). Для этого в первом столбце трансформационной матрицы 1 меняется на $-1$.

Выполним отражение относительно обеих осей.

Матрица перестановки

Матрица перестановки (permutation matrix) позволяет поменять векторы i и j местами.

Сдвиг (трансвекция)

Сдвиг или трансвекция (shear) предполагают, что один из базисных векторов остается на месте, второй сдвигается.

Вращение

Посмотрим, как можно повернуть (rotate) базисные векторы на 90 градусов против часовой стрелки.

Поворот на определенный угол против часовой стрелки.

Смысл такой трансформации представлен на схеме ниже. Для поворота на 90 градусов против часовой стрелки вспомним, что для вектора i $cos(90^{\circ}) = 0, sin(90^{\circ}) = 1$, для вектора j $-sin(90^{\circ}) = -1, cos(90^{\circ}) = 0$.

Источник и подробности

Видео про линейные преобразования.

Композиция преобразований

Посмотрим, что произойдет, если применить сначала поворот на 90 градусов по часовой стрелке, затем отражение относительно оси y.

Так как матрица преобразования стоит слева от преобразуемого вектора, то для применения двух преобразований, матрица второго преобразования будет стоять слева от матрицы первого.

$$ Reflect_y \cdot (Rotate \cdot x ) $$

Подготовим матрицы.

Выполним преобразование.

Посмотрим на этот процесс графически. Вначале первое преобразование (вращение).

Применим второе преобразование (отражение) к результату первого.

Запишем, где оказались векторы i и j после второго преобразования и соединим эти координаты в матрицу. Затем умножим на исходные векторы i и j.

Результат аналогичен последовательному применению предыдущих преобразований.

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

Это еще раз демонстрирует некоммутативность, но ассоциативность умножения матриц.

Посмотрим на преобразования в трехмерном пространстве.

Системы уравнений

Обратная матрица

Обратимся к системе уравнений.

$$ \begin{bmatrix} 1 & 1 & 3 \\ 1 & 2 & 4 \\ 1 & 1 & 2 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} = \begin{bmatrix} 15 \\ 21 \\ 13 \end{bmatrix}$$

Перепишем ее в виде

$$ A x = b $$

Вспомним, что существует обратная матрица (inverse matrix) $A^{-1}$, которая при умножении на матрицу A дает единичную матрицу $I$, т.е. $A^{-1}A = I$. Умножим обе стороны уравнения на $A^{-1}$.

$$ A^{-1}Ax = A^{-1} b $$

$$ Ix = A^{-1} b $$

$$ x = A^{-1} b $$

Соответственно задача сводится к нахождению обратной матрицы.

$$ Ax = b \rightarrow A^{-1}b = x $$

С точки зрения линейных преобразований матрица A перемещает вектор x на вектор b. Обратная же матрица «возращает» вектор b на вектор x.

Решим систему уравнений с помощью метода .inv() модуля linalg библиотеки Numpy.

Метод Гаусса

Рассмотрим метод Гаусса (Gaussian Elimination) для решения систем линейных уравнений.

Метод заключается в том, чтобы с помощью ряда операций привести расширенную матрицу (augmented matrix), т.е. матрицу коэффициентов при неизвестных (A) + вектор свободных коэффициентов (b), к ступенчатому виду (row-echelon form) путем последовательного исключения коэффициентов (elimination).

Получив ступенчатую матрицу мы можем последовательно, начиная с последней, найти все переменные системы (back-substitution).

Приведем перечень трех возможных операций:

  • перестановка местами двух строк матрицы
  • умножение на число, отличное от нуля
  • прибавление одной строки к другой, умноженной на константу (вычитание предполагает сложение и умножение на $-1$)

Приведем пример решения⧉ системы уравнения вручную и пример алгоритма⧉ на Питоне.

Применим этот алгоритм для решения приведенной выше системы. Одновременно выведем получившуюся расширенную матрицу в ступенчатом виде.

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

$$ \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} = \begin{pmatrix} 5 \\ 4 \\ 2 \end{pmatrix} $$

В этом можно убедиться, выполнив:

  • $ R_3 \times (-1)$
  • $ -3R_3 + R_1 $
  • $ -1R_3 + R_2 $
  • $ -1R_2 + R_1 $

Метод Гаусса-Жордана

Приведение матрицы к виду выше (когда слева остается единичная матрица) можно использовать для нахождения обратной матрицы методом Гаусса-Жордана (Gauss–Jordan elimination). Его суть заключается в том, чтобы (пример взять отсюда⧉):

Во-первых, расширить исходную матрицу с помощью единичной матрицы.

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

Получившаяся справа матрица B будет обратной матрице A ($B = A^{-1}$).

Теперь с обратной матрицей мы можем найти x вне зависимости от значений b.

Идея такого преобразования заключается в следующем. Приведенные выше операции с матрицей можно выразить через умножение трансформационной матрицы Е на матрицу A. Например, возьмем вектор $ \mathbf b$.

Для того чтобы превратить 8 в 4 можно применить следующую трансформационную матрицу.

Эта матрица аналогична операции $ -2R_1 + R_2 $. В целом все операции по приведению матрицы A к виду I можно записать в виде матрицы Е. Тогда получаем, что $EA = I$. При этом по определению $E = A^{-1}$.

Найдем обратную матрицу с помощью написанного вручную алгоритма, а затем проверим решение через метод np.linalg.inv().

Определитель матрицы

Площадь, задаваемая векторами

Возьмем матрицу расширения, которая увеличивает площадь, заданную векторами.

Определитель матрицы показывает, какой будет площадь после трансформации.

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

Посмотрим на сдвиг.

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

Определитель и обратная матрица

Возьмем матрицу и предположим, что она преобразовывает площадь, задаваемую базисными векторами в параллелограмм.

$$ A = \begin{pmatrix} a & b \\ c & d \end{pmatrix} $$

Источник

Формула для расчета определителя $ad-bc$ одновременно является площадью этого параллелограмма. Теперь выполним умножение на эту же матрицу, у которой элементы главной диагонали (leading diagonal) поменяем местами, а у элементов на побочной диагонали (off-diagonal) — знак.

$$ \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix} = \begin{pmatrix} ad-bc & 0 \\ 0 & ad-bc \end{pmatrix} $$

Если элементы этой матрицы разделить на $\frac{1}{ad-bc}$ то получится единичная матрица. Как следствие, можно сказать, что

$$ A^{-1} = \frac{1}{ad-bc} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix} $$

Идея здесь в следующем, обратная матрица, состоит из обратного преобразования (матрица $\begin{pmatrix} d & -b \\ -c & a \end{pmatrix}$) и обратного масштабирующего фактора ($\frac{1}{Det(A)}$).

Линейно зависимые векторы

Возьмем матрицу с линейно зависимыми столбцами.

Такая матрица располагает базисные векторы на прямой линии.

Как следствие, площадь после трансформации, а значит и определитель, равны нулю.

В случае трехмерной матрицы, в которой один из вектор был бы линейной комбинацией двух других векторов, трехмерное пространство «схлопывалось» бы до двумерного (плоскости) и определитель также был бы равен нулю, потому что объем, задаваемый векторами был бы нулевым.

Если определитель равен 0, то матрица 2 x 2 преобразует вектор в линию. Если не равен нулю, сохраняет двумерность пространства. Приведем еще один пример.

Возьмем следующую систему уравнений с линейно зависимыми строками и столбцами.

Такая матрица преобразований (первые три столбца) не описывает три линейно независимых базисных вектора. Один из них зависит от двух других. Если применить метод Гаусса, то получим

$$ \begin{pmatrix} 1 & 1 & 3 & 12 \\ 0 & 1 & 1 & 5 \\ 0 & 0 & 0 & 0 \end{pmatrix} $$

Другими словами, $0x_3 = 0$, что предполагает, что у $x_3$ может быть бесконечное количество решений. Это значит, что в имеющейся у нас матрице недостаточно информации для нахождения всех трех неизвестных.

Сингулярной (singular), вырожденной или необратимой матрицей, как мы помним, называют квадратную матрицу, определитель которой равен нулю и которая не имеет обратной матрицы.

Одновременно, у такой матрицы с линейно зависимыми векторами нет обратной матрицы, так как если считать, что обратная матрица «отматывает» преобразование к исходному состоянию, при «схлопывании» пространства мы уже не сможем восстановить куб из плоскости, при изначальном преобразовании из куба в плоскость была потеряна часть информации.

Мы вернулись обратно. Какой можно сделать вывод? При применении сначала одного преобразования, потом обратного, мы остаемся на месте. Именно это свойство описано в формуле $ AA^{-1} = A^{-1}A = I $, потому что единичная матрица I будучи умноженной на любую матрицу оставляет ее без изменений $ AI = IA = A $.

Применительно к СЛУ. Если определитель равен нулю, то трансформация понижает размерность, и соответственно нет возможности перенести вектор x на вектор b и обратно вектор b на вектор x.

Единственная возможность найти решение при нулевом определителе, заключается в том, что если при умножение $А^{-1}$ на b получается плоскость, то вектор x должен лежать на этой плоскости, чтобы решение было найдено.

Отрицательный определитель

Отрицательный определитель меняет ориентацию пространства. Наиболее иллюстративной кажется следующая картинка.

Источник

Видео ниже позволяет визуализировать изменение определителя в динамике.

Ранг, пространство столбцов, ядро

Ранг

При нулевом определителе в трехмерном пространстве матрица можем «схлопнуть» пространство до плоскости, линии или точки (во всех трех случая определитель равен нулю).

Выше мы сказали, что для того чтобы у системы уравнений, в которой, например, трехмерная матрица A при нулевом определителе все же имела решение, вектор $b$, на который матрица A переводит вектор х, должен лежать на плоскости или линии, в которые схлопывается трехмерное пространство. Можно предположить, что для вектора $b$ шансов оказаться на плоскости больше, чем на прямой.

Размерность пространства после трансформации принято описывать рангом матрицы (rank).

Если преобразование «сворачивает» размерность до линии, то ранг такого преобразования равен 1, до плоскости — 2 и т.д. В случае матрицы 2 x 2 самый высокий ранг матрицы — 2, это значит что при преобразовании размерность сохранилась (и соответственно определитель не равен 0).

Пространство столбцов

Пространством столбцов (column space) называют векторы, которые определяют пространство после трансформации.

В случае линейно зависимых векторов таких векторов будет меньше. Приведем пример линейно зависимых векторов и рассчитаем ранг матрицы.

Приведем матрицу к ступенчатому виду (reduced row-echelon form).

Как мы видим, с одной стороны, пространство сократилось до двух измерений (поэтому ранг матрицы равен двум), с другой, двумерное пространство можно писать первыми двумя столбцами (их еще называют разрещающими, pivot columns), где все элементы кроме одного равны нулю.

Разрешающие столбцы и образуют пространство столбцов.

Откуда такое название? Столбцы матрицы говорят куда «приземлятся» координаты базисных векторов. В этом смысле, оболочка вектор-столбцов то же самое, что и постранство столбцов.

В матрице 2 х 2 первый столбец первый столбец показывает где окажется вектор i, второй — вектор j. И вот оболочка этих столбцов даст пространство столбцов. Если, например, в матрице 2 х 2 столбцы линейно независимы и преоразование не приводит к снижению размерности, то пространство столбцов задается этими двумя векторами.

Ядро матрицы

Если преобразование уменьшает размерность (например, преобразовывает плоскость в линию), то несколько векторов оказываются в начале координат (становятся нулевыми векторами). Видео ниже прекрасно визуализирует эту трансформацию.

Множество таких «исчезающих» векторов называется ядром матрицы (null space, kernel).

В системе линейных уравнений если b — нулевой вектор, $Ax = 0$, то ядро дает все возможные решения этой системы.

Метод наименьших квадратов

Общее решение

Посмотрим на задачу регрессии с точки зрения линейной алгебры.

Выше обычная задача простой линейной регрессии с немного измененной нотацией. У нас есть пять наблюдений (для каждого наблюдения есть информация $a_0$ и $a_1$, $a_0$ заполнена единицами) и подставив некоторые веса $\theta_0$ и $\theta_1$ мы получим для каждой точки некоторую целевую переменную b (обычно мы ее обозначали через y).

Единственного решения для такой системы не существует, то есть мы не сможем подобрать такие $\theta_0$ и $\theta_1$, которые бы удовлетворяли всем $a_0$ и $a_1$ в каждой строке (для каждого из наблюдений).

Такая система уравнений называется переопределенной (overdetermined). У нас пять уравнений (наблюдений) и только двое неизвестных (коэффициентов). Можно также сказать, что мы наложили слишком много ограничений (ограничения, в данном случае, это уравнения), чтобы найти единственное решение.

Перепишем эту систему в виде матриц, здесь будет больше признаков $a_0, a_1, a_2,.., a_k$, но систему по-прежнему будем считать переопределенной $n > k$. Также заменим $\theta$ на $x$.

$$ \begin{bmatrix} \vdots & \vdots & \vdots & \vdots \\ a_1 & a_2 & \dots & a_k \\ \vdots & \vdots & \vdots & \vdots \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_k \end{bmatrix} = \begin{bmatrix} b_1 \\ b_2 \\ \vdots \\ b_n \end{bmatrix} $$

$$ \underset{n \times k} Ax = b $$

При этом в данном случае $A, x \in R^k$, а $b \in R^n$. То есть у нас вектор b находится в пространстве большей размерности, чем x. Например, вектор x находится на плоскости (двумерный вектор), а вектор b в трехмерном пространстве.

Можно также сказать, что не существует линейной комбинации значений вектора x (веса) и векторов $a_0, a_1, a_2,.., a_k$, которые бы преобразовывались бы в вектор b.

$$ x_1 \mathbf a_1 + x_2 \mathbf a_2 + x_3 \mathbf a_3 + … + x_k \mathbf a_k \not= \mathbf b $$

Наконец, можно сказать, что $ \mathbf b $ не находится в пространстве столбцов A, $\mathbf b \not\in col(A)$ (плоскости), а вектор $ \mathbf x $ как раз находится, а это значит, что мы никак не можем перевести с помощью матрицы A вектор $ \mathbf x $ из двумерного пространства в трехмерное.

С другой стороны, мы можем попробовать приблизить решение, найдя такой вектор $ \mathbf x^* $, который будет максимально приближен к вектору $ \mathbf b $ (т.е. имел минимальное расстояние). Мы помним, что расстояние между векторами можно определить как разницу двух векторов (чтобы положительные и отрицательные значения не взаимоудалялись, возведем значения в квадрат).

$$ min || \mathbf b-A \mathbf x^* ||^2 $$

Очевидно, что вектор (назовем его $ \mathbf p $), получившийся в результате $A \mathbf x^*$ будет в пространстве $R^k$, что то же самое, что $ \mathbf p \in col(A) $ (то есть в данном случае на плоскости).

Далее, наименьшее расстояние от вектора $ \mathbf b $ до $ \mathbf p $ можно определить как ортогональную проекцию.

$$ A \mathbf x^* = \mathbf p = proj_{col(A)} \mathbf b $$

Попробуем найти решение относительно $\mathbf b$.

$$ A \mathbf x^* = proj_{col(A)} \mathbf b $$

Вычтем вектор $\mathbf b$ из обеих частей.

$$ A \mathbf x^*-\mathbf b = proj_{col(A)} \mathbf b-\mathbf b $$

Заметим, что вектор $ proj_{col(A)} \mathbf b-\mathbf b $ (на рисунке представлен красным вектором) ортогонален к плоскости $col(A)$. Как следствие, $A \mathbf x^*-\mathbf b$ ортогонально $col(A)$.

Можно также сказать, что $A \mathbf x^*-\mathbf b$ является ортогональным дополнением (orthogonal complement) пространства $col(A)$. Запишем это как $A \mathbf x^*-\mathbf b \in col(A)^{\perp}$.

Примечание. Под ортогональным дополнением имеется в виду пространство, векторы которого ортогональны исходному.

Одновременно ортогональное дополнение матрицы A равно⧉ ядру $A^T$ $col(A)^{\perp} = null(A)^T$. Тогда,

$$ A \mathbf x^*-\mathbf b \in null(A^{T}) $$

Вспомним, что если умножить матрицу $A^T$ на ее ядро $ A \mathbf x^*-\mathbf b $, то мы получим нулевой вектор.

$$ A^T (A \mathbf x^*-\mathbf b) = \mathbf 0 $$

$$ A^TA \mathbf x^*-A^T \mathbf b = 0 $$

$$ A^TA \mathbf x^* = A^T \mathbf b $$

Таким образом, можно найти $\mathbf x^*$, которое минимизирует квадрат расстояний до проекции вектора $ \mathbf b $ и вектором проекции $A \mathbf x^*$.

Уверен вы узнали в этом выражении нормальные уравнения, о которых мы говорили на занятии по линейной регрессии.

$$ X^TX\theta = X^Ty $$

Таким образом, можно сказать, что минимизация расстояний от точек до прямой вдоль оси y одновременно приводит к минимизации длины перпендикуляров к проекциям точек.

Пример

Возьмем систему уравнений.

$$ \left\{\begin{matrix} 2x-y=2 \\ x+2y=1 \\ x + y = 4 \end{matrix}\right. $$

Такая система опять же могла бы описывать данные, где x и y предсталяют собой некоторые коэффициенты (без сдвига, например, $\theta_1$ и $\theta_2$), а сами уравнения объекты (наблюдения). Убедимся, что нам не удастся найти x и y, которые бы удовлетворяли каждому из уравнений, построив соответствующие прямые на графике (для этого решим уравнения относительно y).

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

Опять же решить систему методом Гаусса у нас не получится. То есть $ A \mathbf x = \mathbf b $ решения не имеет. Однако мы можем найти приближенное решение через $ A^TA \mathbf x^* = A^T \mathbf b $. Найдем $A^TA$ и $A^T \mathbf b$.

Таким образом, мы получили

$$ \begin{bmatrix} 6 & 1 \\ 1 & 6 \end{bmatrix} \mathbf x^* = \begin{bmatrix} 9 \\ 4 \end{bmatrix} $$

Решим систему (а такая система уже решается) методом Гаусса.

Вектор $ \begin{bmatrix} 1.43 \\ 0.43 \end{bmatrix} $ и будет решением. Выведем его на графике.

Решим эту задачу с помощью питона. Вначале с помощью функции np.linalg.lstsq().

Теперь с помощью класса LinearRegression.

Подведем итог

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

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