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

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



Части 1, 2 и 3 уже опубликованы, и вы можете посмотреть здесь:







Материалы, описанные в части 4:

В этой истории я расскажу о следующем. В Частях 1–3 мы уже рассмотрели основы, и далее темы будут основываться на основах, которые мы уже изучили.

  • Прогнозы
  • Ортонормированные векторы
  • Ортогональная матрица
  • Процесс Грама Шмидта

Соответствующие лекции из видео д-ра Гилберта Стрэнга по этим темам - это лекции 15–17, и я бы рекомендовал вам действительно посмотреть его выступления, чтобы лучше понять материалы!

Введение в прогнозы

Сначала поговорим о «прогнозах». Проекция - это линейное преобразование векторного пространства в себя. Давайте посмотрим на простой пример. В 2D-плоскости у вас есть два вектора: «a» и «b». Вы хотите знать вектор «b», который проецируется на вектор «a». Назовем этот спроецированный вектор «p». Поскольку «p» проецируется на «a», используя некоторый постоянный коэффициент «x», мы можем представить «p» относительно « a ». Кроме того, мы можем определить другой вектор «e», который ортогонален «a». Если записать все отношения, получится что-то вроде этого.

Итак, первая цель здесь - вычислить «x», чтобы, используя 1-е уравнение, можно было представить «p» как нечто умноженное на «a». Попробуйте как-нибудь решить уравнения.

Вот ответ.

Теперь вы знаете «x», поэтому поместите его в 1-е уравнение, чтобы узнать, что такое «p». Поскольку «x» является константой, мы могли бы немного изменить ее, чтобы изменить уравнение так, чтобы «p» представлялось «чем-то», умноженным на вектор «b».

Итак, теперь у нас есть «Матрица проекции». Это может быть трудно полностью понять из этой формы уравнения, поэтому позвольте мне привести вам конкретный пример ниже:

Допустим, у вас есть два вектора.

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

Теперь, используя эту рассчитанную матрицу проекции, мы можем вычислить спроецированный вектор «p».

Теперь вы можете видеть, что спроецированный вектор «p» - это не что иное, как масштабированная версия вектора «a». Помните, что a = transpose [5, 2]? Это имеет смысл, потому что проецируемый вектор находится на векторе «a».

Теперь давайте посмотрим на 3D-пример.

Плоскость, которую вы видите, представляет собой пространство столбцов, представленное векторами столбцов «a1» и «a2». «A» - это матрица, содержащая эти векторы-столбцы. Теперь мы хотим спроецировать на плоскость вектор «b», который не находится в этой плоскости.

Как и в случае с 2D-примером, мы определяем два вектора «p» и «e».

Поскольку «e» перпендикулярно плоскости, мы можем создать два уравнения следующим образом. Объединив эти два уравнения и изменив их соответствующим образом, мы получим коэффициент масштабирования «x».

Используя указанный выше коэффициент масштабирования, мы можем получить «p».

Теперь у нас есть «Матрица проекции»! На этот раз это более общая форма, поэтому ее можно использовать для размеров больше 3.

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

Эта часть проекции очень важна, поэтому убедитесь, что вы хорошо ее понимаете! Он используется для вывода формул для многих алгоритмов, используемых в машинном обучении. В качестве примера приведу хорошо знакомую технику машинного обучения под названием «Машина опорных векторов (SVM)» при расчете маржи. Если вы понимаете, о чем я говорю, отлично! Если нет, ничего страшного. Я коснусь и этой темы когда-нибудь в будущем.



Введение в ортонормированные векторы

Теперь еще одна новая тема под названием «Ортонормированные векторы». Все очень просто. Если два вектора:

  1. Единичные векторы
  2. Ортогональны друг другу

Тогда они ортонормированные векторы. В уравнениях это выражается примерно так:

Мы рассмотрели ортогональность в Части 3. В основном это говорит о том, что два вектора перпендикулярны друг другу или скалярное произведение равно нулю.

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

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



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



Введение в ортогональную матрицу

«Ортогональная матрица» - это не что иное, как квадратная матрица, строки и столбцы которой являются ортонормированными векторами.

Ортогональная матрица имеет интересное свойство: при умножении на собственное транспонирование результат становится единичной матрицей. Следовательно, мы можем сказать, что транспонированная ортогональная матрица равна обратной ортогональной матрице. Это свойство очень важно, когда дело доходит до разложения на собственные числа и разложения по сингулярным числам (описанных в следующих статьях), так что имейте это в виду!

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



Введение в процесс Грама-Шмидта

Итак, допустим, у вас есть набор векторов, но они не являются ортонормированными векторами. Вы хотите превратить их в ортонормированные векторы, но как мы можем это сделать? Именно здесь вступает в игру «процесс Грама-Шмидта».

Давайте рассмотрим пошаговый пример того, как работает этот процесс. Первый шаг очень простой. Вы просто назначаете свой вектор «y1». Позже вы собираетесь преобразовать все эти y в единичные векторы, но сначала давайте разберемся с ортогональностью.

Начиная с шага 2, именно здесь вступает в игру фактический процесс. Итак, мы хотим, чтобы векторы результатов были ортогональны друг другу. Посмотрите на график треугольника ниже. Мы уже определили «y1», и теперь нам нужен вектор «y2», ортогональный «y1», но производный от исходного вектора « x2 ». Если мы разложим «x2» на параллельные и перпендикулярные векторы, единственный вектор, который нам нужен в конечном итоге, - это тот, который является перпендикулярным. Вот почему мы вычитаем параллельную версию «x2» из исходного вектора «x2».

Давайте посмотрим на 3-й шаг.

К настоящему времени вы могли заметить здесь закономерности.

Если обобщить эту закономерность, процесс Грама-Шмидта описывается следующим образом.

В конце концов, не забудьте нормализовать до единичных векторов!



Резюме

  • Прогнозы

Проекция - это линейное преобразование, проецирующее вектор или пространство в другое векторное пространство.

  • Ортонормированные векторы

Ортонормированные векторы - это векторы, которые 1) ортогональны друг другу и 2) единичные векторы

  • Ортогональная матрица

Ортогональная матрица - это матрица с ортонормированными векторами в строках и столбцах.

  • Процесс Грама Шмидта

Процесс Грама Шмидта - это процесс преобразования векторов в ортонормированные векторы.

Надеюсь, это поможет! Увидимся в следующий раз!