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

Вступление

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

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

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

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

Темы охватывали

  1. Варианты использования в реальном времени
  2. Как изучить линейную алгебру для машинного обучения?
  3. Линейная алгебра и ее основные понятия
  4. Заключение

1. Сценарии использования в реальном времени

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

б. Он используется в подполе машинного обучения, например в методах глубокого обучения, LSA (скрытый семантический анализ) в обработке естественного языка (NLP), системах рекомендаций использовать методы матричной факторизации и SVD

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

c. Он в основном используется для решения проблемы линейной регрессии с помощью оптимизации по методу наименьших квадратов, которая решается с использованием методов матричной факторизации, таких как LU и SVD (разложение по одному значению).

г. Во многих методах, использующих коэффициенты, таких как методы регрессии и искусственные нейронные сети, более простые модели часто характеризуются моделями с меньшими значениями коэффициентов. Регуляризация используется, чтобы стимулировать модель к минимизации размера коэффициентов, пока она согласуется с данными. Некоторые из распространенных реализаций включают формы регуляризации L ^ 2 и L ^ 1. Обе формы регуляризации являются мерой величины или длины коэффициентов как вектора и представляют собой методы, заимствованные непосредственно из линейной алгебры, называемые векторной нормой.

Все вышеупомянутые методы будут подробно описаны в моем следующем блоге. Здесь я попытался объяснить, где это применяется в области науки о данных.

2. Как изучить линейную алгебру для машинного обучения?

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

3. Линейная алгебра и ее концепции

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

Он имеет скаляры, векторы и матрицы (одномерные, двумерные и многомерные компоненты) для работы с линейными уравнениями и функциями.

  • Скаляр

Скаляр - это одно число

  • Вектор

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

  • Матрица

Матрица - это двумерный массив скаляров с одним или несколькими столбцами и одной или несколькими строками.

  • Тензор

Тензор - это n-мерный массив с n ›2

3.1-векторные арифметические операции

Два вектора равной длины можно складывать, вычитать, умножать и делить вместе, чтобы создать новый третий вектор.

3.1.1-Сложение векторов

c = a + b

Новый вектор имеет ту же длину, что и два других вектора. Каждый элемент нового вектора рассчитывается как сложение элементов других векторов с тем же индексом;

Например:

c = (a1 + b1; a2 + b2; a3 + b3)

Или, по-другому:

c[0] = a[0] + b[0]

c[1] = a[1] + b[1]

c[2] = a[2] + b[2]

c = (c[0],c[1],c[2])

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

3.1.2-Векторное вычитание

Каждый элемент нового вектора вычисляется как вычитание элементов с теми же индексами.

c = (a1- b1; a2-b2; a3 - b3)

3.1.3 Умножение векторов

c = a x b

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

c = (a1 x b1; a2 x b2; a3 x b3) or c = (a1b1; a2b2; a3b3)

3.1.4 Векторное деление

Можно разделить два вектора равной длины.

c =a/b

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

c = (a1/b1;a2/b2;a3/b3)

3.2 Векторное произведение точек

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

c = a . b

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

Скалярное произведение рассчитывается следующим образом:

c = (a1 x b1 + a2 x b2 + a3 x b3) or c = (a1b1 + a2b2 + a3b3)

3.3 Векторно-скалярное умножение

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

c = s x v or c = sv

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

c = (s x v1; s x v2; s x v3)

3.4 векторные нормы

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

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

3.4.1 нормы такси или нормы Манхэттена

Длину вектора можно вычислить с помощью нормы , где 1 - это верхний индекс буквы L. Обозначение нормы L¹ вектора - || v || 1, где 1 - нижний индекс. Поэтому эту длину иногда называют нормой такси или нормой Манхэттена.

L¹(v) = ||v||1

Норма L ^ 1 вычисляется как сумма абсолютных значений вектора, где абсолютное значение скаляра использует обозначение | a1 |. Фактически, норма - это вычисление манхэттенского расстояния от начала векторного пространства.

||v||1 = |a1| + |a2| + |a3|

Норма L ^ 1 часто используется при подборе алгоритмов машинного обучения в качестве метода регуляризации, например метод, позволяющий сохранить небольшие коэффициенты модели и, в свою очередь, сделать модель менее сложной.

3.4.2-евклидова норма

Длину вектора можно вычислить, используя норму L², где 2 - это верхний индекс L. Обозначение нормы вектора L² - || v || 2, где 2 - нижний индекс.

L²(v) = ||v||2

Норма L ^ 2 вычисляет расстояние векторной координаты от начала векторного пространства. Таким образом, она также известна как евклидова норма, поскольку рассчитывается как евклидово расстояние от начала координат. Результат - положительное значение расстояния. Норма L ^ 2 рассчитывается как квадратный корень из суммы квадратов значений вектора.

Как и норма L ^ 1, норма L ^ 2 часто используется при подборе алгоритмов машинного обучения в качестве метода регуляризации, например метод, позволяющий сохранить небольшие коэффициенты модели и, в свою очередь, сделать модель менее сложной. Безусловно, норма L ^ 2 используется чаще, чем другие векторные нормы в машинном обучении.

3.5 -Перемещение вектора и матрицы

3.5.1-Транспонирование вектора

С помощью транспонирования вы можете преобразовать вектор-строку в вектор-столбец. Точно так же вы можете преобразовать вектор-столбец в вектор-строку. Вы можете увидеть пример транспонирования вектора на изображении.

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

Верхний индекс A ^ T используется для транспонированных матриц.

Рассмотрим матрицу, состоящую из m строк и n столбцов. Когда (m × n) транспонируется, он становится матрицей (n × m). Взгляните на изображение с названием транспонирование вектора и матриц для лучшего понимания.

3.5.3- Сложение, вычитание и умножение матриц

Матрицы можно складывать или вычитать, если они имеют одинаковые размеры (одинаковое количество строк и столбцов), иначе мы не сможем выполнить эти две операции.

а. Сложение матрицы

Предположим, у нас есть две матрицы, а именно A, B. Каждая ячейка A добавляется к соответствующей ячейке B, как показано на изображении.

б. Матричное вычитание

Давайте предположим, что у нас есть две матрицы, а именно C, D. Каждая ячейка C вычитается из соответствующей ячейки D, как показано на изображении.

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

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

Количество столбцов первой матрицы должно быть равно количеству строк второй матрицы. Таким образом, если размеры или форма первой матрицы (m × n), вторая матрица должна иметь форму (n × x). Полученная матрица будет иметь форму (m × x).

Давайте посмотрим на интересную часть умножения матриц.

Умножение матриц дистрибутивное A (B + C) = AB + AC

Умножение матриц ассоциативно A (BC) = (AB) C

Умножение матриц не коммутативно AB ≠ BA

Транспонирование матриц коммутативно (AB) ^ T = B ^ T.A ^ T

d. Умножение матрицы на вектор

Матрицу и вектор можно перемножать, если соблюдается правило умножения матриц. В частности, количество столбцов в матрице должно равняться количеству элементов в векторе. Как и в случае матричного умножения, операция может быть записана с использованием точечной записи. Поскольку вектор имеет только один столбец, результатом всегда будет вектор. См. Изображение выше для справки. Он представлен, как показано в приведенном ниже уравнении, в котором A - матрица, а v - вектор.

c = A .v

е. Матричный отдел

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

C =A/B

3.6 -Типы матриц

(1) Квадратная матрица

Матрица, в которой количество строк равно количеству столбцов, называется квадратной матрицей. Вы можете увидеть на изображении квадратную матрицу порядка 3 X 3.

(2) Верхняя треугольная матрица

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

(3) Нижнетреугольная матрица

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

(4) Симметричная матрица

Матрица, транспонирование которой совпадает с исходной матрицей, называется симметричной матрицей. Только квадратная матрица может быть симметричной матрицей. транспонирование матрицы - это еще одна матрица, которая формируется путем переключения строк и столбцов данной матрицы. Данная матрица A является симметричной матрицей 3 X 3. Поскольку это то же самое, что и его транспонирование A ^ T.

(5) Диагональная матрица

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

(6) Скалярная матрица и матрица идентичности

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

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

(7) Нулевая матрица или нулевая матрица.

Матрица, содержащая все 0 элементов, называется нулевой матрицей. Может быть любого порядка. Давайте посмотрим на нулевую матрицу порядков 2 X 2,2 X 3 в типах изображения матрицы.

(8) Ортогональная матрица

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

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

Ортогональная матрица часто обозначается заглавной буквой Q.

Умножение на ортогональную матрицу сохраняет длину.

Ортогональная матрица формально определяется следующим образом:

Q ^ T . Q = Q . Q^T = I

Где Q - ортогональная матрица, QT указывает транспонирование Q, а I - единичная матрица. Матрица ортогональна, если ее транспонирование равно обратному.

Q^T = Q^-1

Весь соответствующий код Python для вектора и матриц приведен в блокноте Python.

4. Заключение.

Итак, мы обсудили варианты использования линейной алгебры и основы линейной алгебры. Я попытался объяснить простым способом для облегчения понимания, начиная с начального уровня и постепенно продвигаясь к продвинутому уровню. Прочтите мой следующий блог, чтобы получить четкое представление о продвинутых концепциях матриц, тензоров, SVD и PCA.