Базисные векторы в линейной алгебре - ML

Опубликовано: 20 Июля, 2021

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

В этой статье мы поговорим о -

  • Идея за вектором базы?
  • Определение базисного вектора
  • Свойства базисного вектора
  • Базисные векторы для данного пространства
  • Это важно с точки зрения науки о данных

В чем идея базисных векторов?
Итак, идея заключается в следующем,

Давайте возьмем пространство R-квадрат, что в основном означает, что мы смотрим на векторы в 2 измерениях. Это означает, что в каждом из этих векторов есть 2 компонента, как мы сделали на изображении выше. Мы можем взять много-много векторов. Таким образом, будет бесконечное количество векторов, которые будут в двух измерениях. Итак, суть в том, можем ли мы представить все эти векторы, используя некоторые базовые элементы, а затем некоторую комбинацию этих базовых элементов.

Теперь давайте рассмотрим 2 вектора, например,

Теперь, если вы возьмете любой вектор, заданный в пространстве R в квадрате, допустим, возьмем
Мы можем записать этот вектор как некоторую линейную комбинацию этого вектора плюс этот вектор следующим образом.

Аналогично, если вы возьмете

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

По аналогии,

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

Итак, в некотором смысле мы говорим, что эти 2 вектора ( v1 и v2 ) характеризуют пространство или они образуют основу для пространства, и любой вектор в этом пространстве может быть просто записан как линейная комбинация этих двух векторов. Теперь вы можете заметить, что линейные комбинации на самом деле сами числа. Так, например, если я хочу, чтобы вектор (2, 1) был записан как линейная комбинация вектора (1, 0) и вектора (0, 1) , скалярные кратные 2 и 1, что аналогично для вектора ( 4, 4) и так далее.

Итак, ключевым моментом является то, что, хотя у нас здесь бесконечное количество векторов, все они могут быть сгенерированы как линейная комбинация всего 2 векторов, и мы видели здесь, что эти 2 вектора являются вектором (1, 0) и вектором (0, 1) . Теперь эти 2 вектора называются базисом всего пространства.

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

Свойства базисного вектора:

  1. Базисные векторы должны быть линейно независимыми друг от друга:
    Если я умножу v1 на любой скаляр, я никогда не смогу получить вектор v2. И это доказывает, что v1 и v2 линейно независимы друг от друга. Мы хотим, чтобы базисные векторы были линейно независимыми друг от друга, потому что мы хотим, чтобы каждый вектор, то есть базис, генерировал уникальную информацию. Если они станут зависимыми друг от друга, то этот вектор не принесет ничего уникального.
  2. Базисные векторы должны охватывать все пространство:
    Слово span в основном означает, что любой вектор в этом пространстве я могу записать как линейную комбинацию базисных векторов, как мы видим в нашем предыдущем примере.
  3. Базисные векторы не уникальны: можно найти множество множеств базисных векторов. Единственное условие - они должны быть линейно независимыми и охватывать все пространство. Итак, давайте разберемся с этим свойством подробно, взяв тот же пример, который мы использовали ранее.

    Рассмотрим еще 2 вектора, которые линейно независимы друг от друга.

    Сначала мы должны проверить, подчиняются ли эти два вектора свойствам базисного вектора?
    Вы можете видеть, что эти 2 вектора линейно независимы друг от друга, так как умножение v1 на любой скаляр никогда не дает вектора v2. Так, например, если я умножу v1 на -1, я получу вектор (-1, -1) , но не вектор (1, -1) .

    Чтобы проверить второе свойство, возьмем вектор (2, 1) . Теперь давайте посмотрим, можем ли мы представить этот вектор (2, 1) как линейную комбинацию вектора (1, 1) и вектора (1, -1) .



    Итак, если вы посмотрите на это, мы успешно представили этот вектор (2, 1) как линейную комбинацию вектора (1, 1) и вектора (1, -1) . Вы можете заметить, что в предыдущем случае, когда мы использовали вектор (1, 0) и вектор (0, 1) , мы сказали, что это можно записать как 2 раза вектора (1, 0) и 1 раз вектора (0, 1) ; однако сейчас цифры изменились. Тем не менее, я могу записать это как линейную комбинацию этих двух базисных векторов.

    Аналогично, если взять вектор (1,3)

    Аналогично, если взять вектор (4,4)
    Итак, это еще одна линейная комбинация тех же базисных векторов. Итак, ключевой момент, который я хочу здесь сделать, заключается в том, что базисные векторы не уникальны. Есть много способов, которыми вы можете определить базисные векторы; однако все они имеют одно и то же свойство: если у меня есть набор векторов, который я называю базисным вектором, эти векторы должны быть независимыми друг от друга и охватывать все пространство.

    Следовательно, этот v1 и v2 также базисные векторы для R 2.

Важно помнить:
Здесь интересно отметить, что у нас не может быть двух базисных наборов с разным количеством векторов. Я имею в виду, что в предыдущем примере, хотя базисными векторами были v1 (1, 0) и v2 (0, 1), было только 2 вектора. Аналогично, в этом случае базисными векторами являются v1 (1, 1) и v2 (1, -1) . Однако есть еще только 2 вектора. Итак, хотя у вас может быть много наборов базисных векторов, все они, эквивалентные количеству векторов в каждом наборе, будут одинаковыми, они не могут быть разными. Итак, вы должны иметь в виду, что для одного и того же пространства у вас не может быть 2 базовых наборов, один с n векторами, а другой с m векторами, что невозможно. Итак, если это базовый набор для одного и того же пространства, количество векторов в каждом наборе должно быть одинаковым.

Найдите базисные векторы:

Возьмем для примера пространство R 4 . На самом деле это означает, что в каждом из этих векторов есть 4 компонента.

  • Шаг 1: Чтобы найти базисные векторы данного набора векторов, расположите векторы в матричной форме, как показано ниже.
  • Шаг 2: Найдите ранг этой матрицы.
    Если вы определите ранг этой матрицы, он даст вам количество линейно независимых столбцов . Ранг матрицы покажет нам, сколько столбцов имеет фундаментальное значение для объяснения всех этих столбцов и сколько столбцов нам нужно. Таким образом, мы можем сгенерировать оставшиеся столбцы как линейную комбинацию этих столбцов.

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

  • Шаг 3:
    Любые два независимых столбца могут быть выбраны из приведенной выше матрицы в качестве базовых векторов.

Объяснение:
Если ранг матрицы равен 1, то у нас есть только 1 базисный вектор, если ранг 2, то есть 2 базисных вектора, если 3, то есть 3 базисных вектора и так далее. В этом случае, поскольку ранг матрицы оказывается равным 2, есть только 2 вектора-столбца, которые мне нужны для представления каждого столбца в этой матрице. Итак, базисный набор имеет размер 2. Итак, мы можем выбрать здесь любые 2 линейно независимых столбца, и тогда они могут быть базисными векторами.

Так, например, мы могли бы выбрать v1 (6, 5, 8, 11) и v2 (1, 2, 3, 4) и сказать, что это базисный вектор для всех этих столбцов, или мы могли бы выбрать v1 (3, -1, -1, -1) и v2 (7, 7, 11, 15) и так далее. Мы можем выбрать любые 2 столбца, если они линейно независимы друг от друга, и это то, что мы знаем сверху, что базисные векторы не обязательно должны быть уникальными. Итак, я выбираю любые 2 линейно независимых столбца, которые представляют эти данные.

Важно с точки зрения науки о данных
Теперь позвольте мне объяснить вам, почему эта концепция базовых векторов очень важна с точки зрения науки о данных. Взгляните на предыдущий пример. У нас есть 10 выборок, и мы хотим сохранить эти 10 выборок, поскольку каждая выборка имеет 4 числа, мы будем хранить 4 x 10 = 40 чисел.
Теперь предположим, что мы выполняем то же упражнение для этих 10 выборок, а затем обнаруживаем, что у нас есть только 2 базовых вектора, которые будут 2 векторами из этого набора. Что мы могли бы сделать, так это сохранить эти 2 базисных вектора, которые были бы 2 x 4 = 8 чисел, а для оставшихся 8 выборок вместо хранения всех выборок и всех чисел в каждой из этих выборок, что мы могли бы сделать для каждого образца мы могли бы просто сохранить 2 числа, которые представляют собой линейные комбинации, которые мы собираемся использовать для построения этого. Таким образом, вместо хранения этих 4 чисел мы могли бы просто сохранить эти 2 константы, и, поскольку мы уже сохранили базисные векторы, всякий раз, когда мы хотим восстановить это, мы можем просто взять первую константу и умножить ее на v1 плюс вторую константу умножить это по v2, и мы получим это число.

Таким образом,

We store 2 basis vectors which give me: 4 x 2 = 8 numbers
And then for the remaining 8 samples, we simply store 2 constants e.g: 8 x 2 = 16 numbers
So, this would give us: 8 + 16 = 24 numbers
Hence instead of storing 4 x 10 = 40 numbers, we can store only 24 numbers, which is the approximately half reduction in number. And we will be able to reconstruct the whole data set by storing only 24 numbers.

Так, например, если у вас есть 30-мерный вектор, а базисных векторов всего 3, вы можете увидеть, какое сокращение вы получите с точки зрения хранения данных. Итак, это одна из точек зрения науки о данных.

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

  • Вы можете идентифицировать эту основу, чтобы идентифицировать модель между этими данными.
  • Вы можете определить основу для уменьшения шума в данных.