Найти в Дзене
Программист о Data Science

День 7: Учимся считать векторами

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

Скажем, анализируя потенциальную стоимость конкретной квартиры, мы будем иметь ввиду следующие признаки:

86 - площадь в квадратных метрах
6 - этаж
10 - возраст
54.34 и 98.23 - географические координаты квартиры
3 - количество комнат

Признаков может быть сколь угодно много. Таким образом мы можем описать конкретную квартиру числовой последовательностью её признаков:

Видно, что тип всех элементов одинаковый - float. Его можно задать явно, как видно в примере ниже.
Видно, что тип всех элементов одинаковый - float. Его можно задать явно, как видно в примере ниже.

Эта последовательность чисел и называется вектором. Вектор характеризует конкретный объект - конкретная квартира. А число в той или иной позиции вектора описывает конкретный признак объекта. То есть вектор - это по сути одномерный массив:

В NumPy вектор и массив - одно и то же. Исключение - понятие вектор-столбец и вектор-строка - фактически двумерные массивы, где один из атрибутов shape равен 1.
В NumPy вектор и массив - одно и то же. Исключение - понятие вектор-столбец и вектор-строка - фактически двумерные массивы, где один из атрибутов shape равен 1.

Если таких векторов много, то для эффективности их анализа и обработки их объединяют в матрицу - числовая таблица, где каждая строка - это объект (вектор значений признаков конкретной квартиры), а каждая колонка - это конкретный признак (вектор значений конкретного признака всех квартир).

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

Все возможные описания конкретного объекта представляют собой векторное пространство. То есть выше обозначенный вектор x - это элемент векторного пространства V.

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

Наиболее простые векторные пространства, с которым мы будем дальше работать, это Евклидово векторные пространства R^n. То есть пространства, которые оперируют векторами, где каждый элемент - это вещественное число (любое дробное число).

R^2 - это пространство векторов с двумя элементами. Представляют собой точку на плоскости.
R^3 - это пространство векторов с тремя элементами. Представляют собой точку в пространстве.

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

Создадим два произвольных вектора, используя знакомые нам функции.
Создадим два произвольных вектора, используя знакомые нам функции.

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

-4

То же самое актуально и при операциях над векторами и числом - операция выполняется поочередно над каждым элементом вектора и конкретным числом:

-5
Наука
7 млн интересуются