Многие из вас всегда хотели бы изучить ML и, возможно, сменить карьеру. Но боязнь углубиться в основы математики всегда удерживала вас от изучения предмета. Имея опыт программирования, я боялся заниматься машинным обучением из-за математики. Но как только я действительно начал понимать концепции, я смог без страха исследовать больше контента.

Эта серия статей является частью моего учебного путешествия # 30DaysOfData, где я посвятил себя изучению анализа данных и машинного обучения. Обязательно загляните в мой репозиторий GitHub, чтобы учиться вместе.

Всего наилучшего в вашем учебном путешествии! Давайте начнем!

Скаляры

Если вы из физики, вы бы сказали, что скаляры - это некоторые величины с величиной. У них нет свойства направления. Проще говоря, скаляры - это просто числа, над которыми могут выполняться основные арифметические функции.

Пример: 2, 0, -5, 1,7 и т. д.

Векторы

Векторы в физике называются скалярами с направлениями. Это значение, расположенное в определенном направлении. Как программисты, мы называем векторы списком некоторых числовых значений.

В математике мы рассматриваем векторы как координаты на графике. То есть данный вектор a считается лежащим на плоскости XY, где 2 - координата x, а 1 - координата y. Мы также можем рассматривать вектор как матрицу-столбец (т.е. матрицу с одним столбцом [n x 1]).

Итак, когда вы сталкиваетесь с вектором, всегда принимайте его как линию в плоскости XY (или любой размерной плоскости в соответствии с количеством элементов в векторе), которая коренится в начале координат.

Чтобы объект считался вектором, он должен удовлетворять двум свойствам:

  • Вектор можно сложить вместе с другим вектором и получить результирующий вектор.

  • Вектор можно умножить на скаляр, чтобы получить вектор как результат

Когда вектор умножается на скаляр (число), вектор либо увеличивается в длине (расширяется), либо уменьшается в длине (сжимается). Направление вектора не изменяется при умножении на скаляр.

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

Матрица

Матрица - это набор значений, упорядоченных по строкам и столбцам.

Многие проблемы реального мира могут быть представлены в виде матриц и могут быть решены путем применения основных операций с матрицами. Например, предположим, что у нас есть изображение, и нам нужно обработать его, чтобы оно выглядело по-другому (возможно, измените тон изображения). Мы можем представить изображение в виде матрицы (набор строк и столбцов содержат значения пикселей), а затем выполнить некоторые операции для изменения тона изображения.

Другими словами, матрицы - это наборы векторов. Вы можете представить каждый столбец матрицы в виде вектора.

Размерность матрицы представлена ​​как m * n, где m представляет количество строк, а n представляет количество столбцов. Общее количество элементов в матрице можно получить, произведя m и n.

Давайте заглянем в набор данных и посмотрим, как он представлен в виде матрицы для дальнейшего анализа и вычислений.

Это небольшой набор данных (таблица), содержащий некоторые свойства трех человек.

Во-первых, мы пренебрегаем всеми именами столбцов и столбцами, которые не являются числовыми. Некоторые нечисловые столбцы (здесь, Wears Glasses) можно преобразовать в числовые значения (что мы узнаем позже). А остальные значения можно преобразовать в матрицу.

Затем эта матрица обрабатывается и анализируется, чтобы узнать больше о наборе данных и ответить на несколько постановок задачи.

Умножение матриц

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

Чтобы две матрицы умножались друг на друга,

размер столбца первой матрицы = размер строки второй матрицы

Здесь, чтобы проверить, можно ли перемножить эти две матрицы A и B,

Возьмем количество столбцов в A, равное 2. Теперь возьмем количество строк в B, равное 2. Поскольку обе они равны, матрицы A и B можно перемножить.

Новая результирующая матрица будет иметь размерность

(number of rows in A * number of columns in B)

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

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

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

matrix_c = numpy.matmul(matrix_a, matrix_b)

Просмотрите эту ссылку, чтобы узнать больше об используемом синтаксисе.

Обратная матрица

Только квадратные матрицы (матрицы с одинаковым количеством строк и столбцов) могут иметь инверсию.

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

Чтобы рассчитать результат вручную, перейдите по этой ссылке.

В Python мы можем использовать библиотеку NumPy для вычисления обратной матрицы

import numpy as np
matrix_a = np.array([[1,2][3,4])
inverse_a = np.linalg.inv(matrix_a)
print(inverse_a)
# Answer is
# [[ -2 1 ]
#  [1.5 -0.5]]

Транспонирование матрицы

Перестановка строк и столбцов матрицы - это транспонирование матрицы.

Внутренние продукты

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

Таким образом, элементы с одинаковыми координатами умножаются, и каждый продукт суммируется.

Внутреннее произведение двух векторов представлено в двух скобках ‹›

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

Внутреннее произведение двух векторов всегда дает скалярное значение (число).

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

\ Theta представляет собой угол между двумя заданными векторами. Этот угол можно использовать для нахождения корреляции между векторами. Корреляция здесь означает, являются ли векторы зависимыми друг от друга или независимыми.

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

Если угол = 90,

The resultant inner product = 0 and the correlation between the vectors is 0

Следовательно, векторы не зависят друг от друга.

Если угол = 0,

The resultant inner product = |u||v| and the correlation between the vectors is 1

Следовательно, векторы полностью зависят друг от друга.

Если угол составляет от 0 до 90,

The resultant inner product is between minimum and maximum value of the multiplication of length of two vector

Следовательно, векторы частично зависят друг от друга.

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

Базовые векторы

Любой вектор, который имеет значение (или величину) 1 от начала координат в любом направлении, называется базисным вектором.

Вот несколько примеров базисных векторов,

Наиболее распространенные векторы - это единичные векторы, которые лежат точно на осях x и y в плоскости XY.

Итак, мы можем обозначить любой вектор как линейную комбинацию базисных векторов.

Линейная комбинация - это линейное уравнение, которое содержит множество различных скалярных умножений и векторных сложений векторов.

Вот пример линейных комбинаций,

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

Диапазон векторов

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

Диапазон большинства векторов оказывается всей плоскостью (то есть каждой точкой плоскости), если данные векторы не находятся в одном направлении. Тогда как, если данные векторы направлены в одном направлении, то их промежуток представляет собой прямую линию (в случае двумерных плоскостей).

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

Линейная зависимость

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

Если вектор не входит в диапазон другого вектора (ов), то он называется линейно независимым. Другими словами, вектор не может быть выражен в виде линейной комбинации другого вектора (ов). Когда два вектора независимы друг от друга, между ними нет корреляции.