medium

Операции с векторами

Как сложить и перемножить векторы (и зачем).

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

Напомним основные мысли: 

  • Вектор — это абстрактное понятие, которое представляет собой организованную последовательность каких-то чисел.
  • В виде вектора можно представить координаты предмета в каком-то пространстве; площадь квартиры и её стоимость; цифровые данные анкеты какого-то человека и динамику цен на нефть.
  • Если по-простому, то векторы нужны, чтобы обрабатывать большое количество организованных чисел. Представьте, что вектор — это коробка с конфетами, только вместо конфет — числа. Каждое число стоит в своей ячейке.
  • Машинное обучение основано на перемножении матриц, которые, в свою очередь, можно представить как наборы векторов. Так что векторы лежат в глубине всех модных и молодёжных технологий ИИ.

С векторами можно совершать некоторые математические операции. Вот о них и поговорим. 

Правильно — векторы

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

Сложение

Представим четыре вектора, которые лежат в двухмерном пространстве и пока что не связаны между собой. Нарисуем эти векторы и обозначим их буквами X, Y, Z, K. 

Поскольку векторы находятся в одном пространстве, координаты каждого состоят из одинакового количества чисел. У нас пример с двухмерным пространством и два числа. Выглядеть это будет так: X = (6, 4); Y = (3, −2); Z = (−7, −5); K = (−10, 4).

Операции с векторами
Векторы X, Y, Z, K в двухмерном пространстве

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

Предположим, нам нужно сложить векторы X и Y. 

X = (6, 4)
Y = (3, −2)
X + Y = (9, 2)

Вроде просто: складываешь последовательно все координаты, результаты сложения складываешь в исходные коробочки. Так можно делать с любым количеством координат. Помните, что вектор — это необязательно стрелка в двумерном пространстве. Она может быть и в десятимерном пространстве — с точки зрения математики это неважно.

Например, вот сложение векторов с пятью координатами: 

X = (6, 4, 11, 14, 99)
Y = (3, -2, 10, -10, 1)
X + Y = (9, 2, 21, 4, 100)

Интуитивное изображение сложения

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

Например, можно на плоскости показать, как будет работать сложение двух векторов. Для этого есть два метода: метод треугольника и метод параллелограмма. 

Метод треугольника: ставим векторы Х и Y в очередь друг за другом. Для этого берём вектор Х, ставим за ним вектор Y и получаем новый вектор. Новый вектор начинается в хвосте вектора Х и заканчивается на стрелке вектора Y. Этот вектор — результат сложения. Представьте, что это ребёночек двух векторов.

Операции с векторами
Сложение векторов по методу треугольника: X = (6, 4); Y = (3, −2); Х + Y = (9, 2)

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

Сложение по методу параллелограмма и треугольника даёт одинаковый результат. Поэтому выбирайте вариант, который больше подходит под задачу.

Операции с векторами
Сложение векторов по методу параллелограмма: X = (6, 4); Y = (3, -2); Х + Y = (9, 2)

Вычитание

Вычитание векторов немного сложнее. Чтобы вычесть векторы, нужно «развернуть» вычитаемый вектор и сложить его с исходным. «Развернуть» — то есть направить в обратную сторону, «перевернув» знаки координат. Получится конструкция вроде такой: Х + (−Y)

Дальше используются правила сложения. Пошагово это выглядит так: 

  1. У нас есть X = (6, 4) и Y = (3, −2). 
  2. Превращаем формулу Х − Y в формулу Х + (−Y). 
  3. Разворачиваем вектор Y. Было: Y = (3, −2). Стало: −Y = (−3, 2).
  4. Считаем: X + (−Y) = (3, 6). 

Теперь посмотрим, как выглядит вычитание векторов на графике:

Операции с векторами
Вычитание векторов по методу треугольника: X = (6, 4); −Y = (−3, 2); X + (−Y) = (3, 6)
Операции с векторами
Вычитание векторов по методу параллелограмма: X = (6, 4); −Y = (−3, 2); X + (−Y) = (3, 6)

Длина вектора 

Длина вектора — это одно число, которое измеряется расстоянием от кончика до стрелки вектора. Длину вектора нельзя путать с координатами. Координаты — это несколько чисел, которые указывают на расположение стрелки вектора. По координатам можно определить только конечную точку вектора. Например, если X = (6, 2), то стрелка будет находиться в точке 6 по оси Х. Или другой пример: если Y = (6, 5), то стрелка этого вектора будет находиться в точке 5 по оси Y.    

Предположим, нам известны начальные точки векторов X и Y. Пусть это будет точка 2 по оси X и точка 2 по оси Y. Так мы можем легко посчитать длину отрезков: 

X = 6 − 2 = 4
Y = 5 − 2 = 3

Иногда приходится рассчитывать длину третьего вектора, который привязан к двум другим векторам. Это легко сделать с помощью теоремы Пифагора — это когда квадрат гипотенузы равен сумме квадратов катетов. В нашем случае катетами будут длины векторов X и Y. Вспоминаем школьную формулу и считаем:

|C|2 = 42 + 32 = 25
|C| = √25 = 5
Операции с векторами
Длина вектора считается по формуле прямоугольного треугольника. Чтобы было проще представить — перенесите векторы на систему координат

Это формула для двумерного пространства. В трёхмерном пространстве формула похожая: нужно сложить квадраты трёх координат и вычислить квадратный корень из суммы. 

Операции с векторами

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

Операции с векторами

Умножение и деление вектора на число 

Умножение и деление позволяют изменить длину и направление вектора. Если мы умножим вектор Х на три, то увеличим его длину в три раза. Если умножим на минус три — увеличим длину и изменим его направление на противоположное. 

Операции с векторами
Умножение вектора на число

Для деления сохраняются аналогичные правила. Делим вектор Х на три и сокращаем длину в три раза. Делим на минус три — сокращаем и разворачиваем.

Операции с векторами
Деление вектора на число

Да вроде несложно!

Пока ничего сложного. Но если углубляться, вы узнаете, что: 

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

Что дальше

В следующей статье рассмотрим линейную зависимость векторов. Чтобы не скучать — посмотрите интервью с Анастасией Никулиной. Анастасия сеньор-дата-сайентист в Росбанке и по совместительству блогер с интересной историей. 

Текст

Александр Бабаскин


Редактор

Максим Ильяхов


Иллюстратор

Даня Берковский


Корректор

Ира Михеева


Вёрстка

Маша Дронова


Соцсети

Олег Вешкурцев

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
За что ты послал нам препроцессоры? Чем мы тебя прогневали?
За что ты послал нам препроцессоры? Чем мы тебя прогневали?

Что такое препроцессоры CSS и зачем они нужны.

medium
Как устроен React (на примере статьи про эпидемию)
Как устроен React (на примере статьи про эпидемию)

Это как JavaScript, только интереснее.

hard
Как на самом деле работает Wi-Fi
Как на самом деле работает Wi-Fi

Пособие для тех, кому нужно больше, чем пароль.

easy
Нейронки-2024: обзор лучших для поиска, работы с текстом, документами и презентациями
Нейронки-2024: обзор лучших для поиска, работы с текстом, документами и презентациями

Нейросетей много не бывает

easy
Что такое this в JavaScript
Что такое this в JavaScript

Это «это», но что именно означает — зависит от контекста

hard
Как устроен и зачем нужен квантовый компьютер
Как устроен и зачем нужен квантовый компьютер

Это прорыв в технологиях или очередной биткоин?

medium
Торренты: как они устроены
Торренты: как они устроены

Сага о тех, кто качает по кусочкам.

easy
Как компьютеры выводят текст на экран
Как компьютеры выводят текст на экран

Рассказываем про алгоритмы хинтинга, антиалиасинга и субпиксельное сглаживание

medium
Двоичный калькулятор из бусин и палок
Двоичный калькулятор из бусин и палок

Выглядит странно, но при этом всё работает

easy
medium
[anycomment]
Exit mobile version