Линейная алгебра 4 Матричные уравнения

Линейная алгебра 4 Матричные уравнения в действии

Решение матричных уравнений Ax = b

Предисловие

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

Эта статья лучше всего служит читателям, если они будут читать ее вместе с книгой “Линейная алгебра и ее применение” Дэвида К. Лея, Стивена Р. Лея и Джуди Дж. Макдональд. Рассматривайте эту серию как дополнительный ресурс.

Не стесняйтесь делиться своими мыслями, вопросами и критикой.

Интуиция

Мы остановились на изучении линейных комбинаций, которые, как я обещал, имеют важные последствия. Вспомним, что заданным векторам v₁, v₂, … vₐ в ℝⁿ и скалярам (также известным как веса) c₁, c₂, … cₐ соответствует линейная комбинация, которая является вектором, определяемым суммой скалярных произведений: c₁v₁ + c₂v₂ + … + cₐvₐ.¹

Мы говорим, что вектор b является линейной комбинацией набора векторов v₁, v₂, .. vₐₚ в Rⁿ, если существует набор весов c₁, c₂, … cₐ (решение), такой, что c₁v₁ + c₂v₂ + … + cₐvₐ = b.

Чтобы определить, является ли b линейной комбинацией заданных векторов v₁, v₂, .. vₐ, мы упорядочиваем наши векторы в систему линейных уравнений, затем создаем расширенную матрицу наших уравнений и используем операции сокращения строк, чтобы свести матрицу к упрощенной ступенчатой форме. Если у упрощенной ступенчатой формы была несогласованность, то есть строка, которая выглядела бы так: [0, 0, … | m], где m ≠ 0, это значит, что наш вектор b не является линейной комбинацией векторов, потому что не существует набора весов для уравнения c₁v₁ + c₂v₂ + … + cₐvₐ = b, чтобы оно было истинным.

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

Этот процесс проверки – это матричное уравнение Ax = b в маске!

Ax = b

Если A – это матрица размером m x n, и x находится в Rⁿ (вы увидите, почему важно, чтобы x был в Rⁿ в следующем разделе), тогда произведение Ax является линейной комбинацией векторов (столбцов) в A с использованием соответствующих скаляров в x.

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

Теперь мы знаем, что если нам даны матрица A размером m x n и x, и мы вычисляем произведение матрицы Ax и оно равно b, то b можно записать как линейную комбинацию векторов (столбцов) в A и скаляров/элементов в x. Итак, вкратце: уравнение Ax = b будет иметь решение (x), только если b можно записать как линейную комбинацию столбцов A.

Умножение матриц

Я представил Ax = b как произведение матриц, но еще не объяснил умножение матриц (которое и есть Ax)!

Умножение матриц – это операция умножения двух матриц для получения одной – их произведения. Мы уже видели сложение матриц, где две матрицы складываются для получения их суммы. Чтобы сложение матриц было определено, две складываемые матрицы, матрица A и матрица B, должны иметь одинаковый размер. Аналогично умножение матриц также имеет свое требование. Чтобы умножить матрицу A на матрицу B и получить AB, количество столбцов матрицы A должно быть равно количеству строк матрицы B. Размер произведения матриц A и B, которое мы назовем матрицей C, будет зависеть от количества строк в матрице A и количества столбцов в матрице B. Матрица C будет иметь m (# строк в матрице A) строк и p (# столбцов в матрице B) столбцов.

Так как работает умножение матриц? Если мы умножим матрицу A на B, каждый элемент i-й строки, j-й столбца в произведении матрицы является скалярным произведением i-й строки в матрице A и j-й строки в матрице B.

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

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

Свойства умножения матриц

Если A, B и C – матрицы размером n x n, а c и d – скаляры, то следующие свойства верны.³

  1. AB BA (в общем случае не коммутативно)
  2. (AB)C = A(BC) (ассоциативность)
  3. A(B+C) = AB + AC и (B+C)A = BA + CA (дистрибутивность)
  4. 0A = 0 (мультипликативное свойство нуля)

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

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

Заключение

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

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

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

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

Резюме

В этой главе мы узнали о следующем:

  • Интуиция линейных комбинаций и матричного произведения Ax = b: как матричное произведение не является новым понятием, а формализует процедуру, которую мы уже использовали!
  • Ax = b: матричное произведение имеет решение x, если b является линейной комбинацией набора векторов (столбцов) в A.
  • Умножение матриц: операция, стоящая за Ax = b, широко используемая в приложениях машинного обучения, с конкретными примерами, включая нейронные сети.
  • Свойства умножения матриц: некоммутативность, ассоциативность, дистрибутивность и мультипликативное свойство нуля.

Примечания

*Все изображения созданы автором, если не указано иное.* Извините, что заняло мне время, чтобы продолжить с того места, где мы остановились в последний раз. Сейчас я нахожусь в процессе сдачи промежуточных экзаменов (включая один по линейной алгебре, ха-ха!) ¹Определение линейных комбинаций взято из книги “Linear Algebra and Its Applications” 6-го издания Дэвида C. Лэя, Стивена Р. Лэя и Джуди Дж. Макдональда²Определение свойств матричного произведения взято из книги “Linear Algebra and Its Applications” 6-го издания Дэвида C. Лэя, Стивена Р. Лэя и Джуди Дж. Макдональда³Ссылка на свойства матриц из src.