Это часть ULTIMATE Curriculum in Data Science, к которой вы можете обратиться по другим темам, связанным с Data Science.

Пока в школе преподают алгебру, в школе будет и молитва.

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

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

Сначала давайте подготовим наш разум к некоторой линейной алгебре.

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

На самом деле, я очень рекомендую вам следить и изучать красоту математики на этом YouTube-канале под названием 3Blue1Brown.

Дополнительные темы

Тензоры

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

Как видите, матрица 8x8 может быть представлена ​​тензором 4x4x4.

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

На данный момент этот тензор не важен, на самом деле вы не будете использовать тензор в своем машинном обучении данных, кроме как в глубоком обучении. Здесь тензор играет решающую роль. Даже если самый популярный фреймворк глубокого обучения под названием Tensorflow назван в честь Tensors, и если вы все еще сомневаетесь в его понимании, вот очень простое и ясное объяснение this.

Норма

Norm - это очень простой способ узнать длину вектора. Теперь у него есть много терминов, таких как норма вектора или величина вектора.

Эту векторную норму можно разделить на три части, а именно:

  • Норма вектора L1
  • Векторная норма L2
  • Норма вектора Макс.

Норма вектора L1

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

Манхэттенское расстояние, например. :

X = (1, 2, 2) и Y = (2, 5, 3)

| 1–2 | + | 2–5 | + | 2–3 |

= 1 + 3 + 1

= 5

Следовательно, или || v || ¹ = | a1 | + | a2 | + | a3 |

примечание: в numpy есть предопределенная функция для вычисления нормы. но для нормы L¹ вам нужно добавить параметр как

norm(a, 1)

Векторная норма L2

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

Евклидово расстояние, например. :

X = (1, 2, 2) и Y = (2, 5, 3)

= sqrt ((1–2) ² + (2–5) ² + (2–3) ²)
= sqrt (1 + 9 + 1)
= sqrt (11)

= 3.316

Следовательно, или || v || ² = sqrt (a1² + a2² + a3²)

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

norm(a)

В Data Science, особенно в машинном обучении, нормы L¹ и L² часто используются при настройке алгоритмов машинного обучения в качестве метода регуляризации, например метод, позволяющий сохранить небольшие коэффициенты модели и, в свою очередь, сделать модель менее сложной. При сравнении норм L¹ и L², норма L² - это наиболее распространенные нормы, которые мы будем в основном использовать в наших моделях.

L¹ определенно называется суммой абсолютных значений вектора, а L² называется квадратным корнем из суммы квадратов значений вектора.

Норма вектора Макс.

В этой норме мы обычно определяем расстояние, вычисляя максимальное расстояние между векторами. Максимальная норма вектора обозначается как L ^ ∞ и может быть представлена ​​символом бесконечности. Обозначение максимальной нормы: || x || ^ ∞.

Евклидово расстояние, например. :

X = (1, 2, 5)

= макс (1,2,5)
= 5

Следовательно, L ^ ∞ или || v || ^ = max (a¹, a², a³)

Примечание: в numpy есть предопределенная функция для вычисления нормы. но для нормы L ^ ∞ вам нужно добавить параметр как

norm(a, inf)

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

Разложение по сингулярным числам

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

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

eli5: Это простая история, которую вы узнали в детстве

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

Эта история учит нас важности единства, и это здорово, но подумайте об этом с точки зрения Data Scientist, у вас есть такой образ.

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

Теперь давайте подумаем о SVD с точки зрения векторов и матриц.

Это видео Стэнфордского университета наглядно объясняет основы SVD на примере.

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



Наконец, если вы хотите написать код на Python, обратитесь к этому.

PS: Если у вас есть некоторые знания о Python и numpy, то только вы можете это понять.



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



Теперь вы поняли основные концепции, связанные с линейной алгеброй, теперь пришло время использовать ее в наших интересах. Аналитика Видхья опубликовала потрясающий пост, который описывает и разбирается в линейной алгебре в перспективе для Data Scientist.



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

А пока….

Удачного кодирования :)

И не забывайте хлопать, хлопать, хлопать ...

использованная литература