Вектор — это кортеж из одного или нескольких значений-скаляров.
Векторы строятся из компонентов, которые являются обычными числами. Вы можете думать о векторе как о списке чисел, а о векторной алгебре как об операциях, выполняемых над числами в списке.
Векторы являются основополагающим элементом линейной алгебры и используются в Науке о данных при описании целевой переменной для создания нейросети.
Обычно в Машинном обучении (ML) целевую переменную представляют как вектор ‘y’.
Векторы легче понять с использованием геометрической аналогии: вектор представляет точку или координату в n-мерном пространстве, где n — количество измерений, например 2. Его также можно рассматривать как линию от начала векторного пространства с направлением и величиной. А вот скаляр не имеет направления.
Теперь, когда мы знаем, что такое вектор в линейной алгебре, давайте посмотрим, как инициализировать его на Python.
Инициализация вектора
Вектор принято инициализировать как массив NumPy. Например, мы определяем вектор длиной в три элемента и состоящего из целых чисел 1, 2 и 3. Для начала импортируем все необходимые библиотеки:
Отобразится вектор так:
Векторная арифметика
В этом разделе вы познакомитесь с векторно-скалярной арифметикой, в которой все операции выполняются поэлементно между двумя векторами одинаковой длины, в результате чего получается новый вектор такой же длины.
Сложение векторов
Два вектора равной длины можно сложить вместе.
Новый вектор имеет ту же длину, что и два других. Каждый элемент нового вектора — сумма элементов с тем же индексом; например:
Или, по-другому:
Мы можем складывать векторы прямо в Python, суммируя массивы. В примере ниже определяются два вектора с тремя элементами в каждом, которые затем складываются.
При вычислении сначала отображаются два “родительских” вектора, а затем новый вектор-сумма.
Вычитание вектора
Один вектор можно вычесть из другого, такой же длины.
Как и при сложении, новый вектор имеет ту же длину, что и родительские векторы, и каждый элемент нового вектора – разница между элементами векторов с одинаковыми индексами.
Разницу можно представить и так:
Массивами NumPy можно напрямую оперировать следующим образом:
В примере мы определяем два вектора с тремя элементами в каждом, а затем вычитает первый из второго. При выполнении кода сначала отображаются два исходных вектора, затем печатается новый, который является разницей.
Векторное умножение
Два вектора одинаковой длины можно перемножить.
Как и в случае с сложением и вычитанием, эта операция выполняется поэлементно, чтобы получить новый вектор той же длины:
Умножение можно представить и так:
или так:
NumPy позволяет ускорить эту вычислительную операцию:
В примере определяются два вектора с тремя элементами в каждом, а затем векторы перемножаются. На выводе сначала – два исходных вектора, затем – результирующий.
Векторное деление
Один вектор можно поделить на другой при условии равенства их длин.
Как и другие арифметические операции, эта выполняется поэлементно, чтобы получить новый вектор такой же длины.
Корректно и такое представление:
Мы можем выполнить эту операцию с помощью NumPy.
В примере определяются два вектора с тремя элементами в каждом, а затем первый делится на второй.
При выполнении кода сначала отображаются два родительских вектора, а затем вектор-частное.
Векторное перемножение (Dot Product)
Векторное перемножение – это сумма перемноженных элементов векторов одинаковой длины. Название Dot Product происходит от символа, используемого для его обозначения.
Скалярное произведение рассчитывается следующим образом:
Мы можем вычислить скалярное произведение, используя функцию dot() библиотеки NumPy.
На выходе мы увидим два исходных вектора, затем скалярное скалярное произведение.
Векторно-скалярное умножение
Вектор может быть умножен на скаляр. В результате мы получим масштабированный вектор, где каждый новый элемент кратен исходному.
Для упрощения обозначений мы будем использовать строчную букву «s» для скалярного значения.
Умножение выполняется поэлементно, чтобы получить новый масштабированный вектор той же длины.
или
NumPy прекрасно справляется и с этой операцией:
В примере сначала инициализируется вектор, а затем он умножается на скаляр. Выводом будут исходный вектор, скаляр и результат их перемножения.
Точно так же выполняются векторно-скалярные сложение, вычитание и деление.
Ноутбук, не требующий дополнительной настройки на момент написания статьи, можно скачать здесь.
Понравилась статья? Поддержите нас, поделившись статьей в социальных сетях и подписавшись на канал. И попробуйте наши курсы по Машинному обучению на Udemy.