Дата публикации Sep 21, 2019
Ах, математика Вы не можете избежать этого навсегда. Вы можете попробовать, а затем попробовать больше, но рано или поздно вам понадобится некоторая базовая интуиция, если вы серьезно настроены продвинуться по карьерной лестнице в науке о данных.
Когда дело доходит до линейной алгебры, мне очень нравится эта цитата:
Если бы Data Science был Бэтменом, линейная алгебра была бы Робином. [1]
Это аккуратно отражает суть нетехническим способом.
Почему я должен изучать линейную алгебру?
Отличный вопрос
Проще говоря, если вы понимаете это, вы сможете разработать лучшую интуицию для машинного обучения и алгоритмов глубокого обучения, и вы не будете рассматривать их как черные ящики. Кроме того, вы также сможете разрабатывать алгоритмы с нуля и создавать свои собственные вариации.
Не только это, но вы также будете считаться крутым ребенком, как эти двое:
Почему я должен читать этот пост?
Этот пост, конечно, не научит вас мельчайшим деталям по этой теме, есть множество книг, которые их освещают. Пост также не будет вдаваться в доказательства, опять же, почитайте книгу какого-нибудь математического или технического факультета, если вам это нравится. Этот пост, однако, предоставит вам необходимую интуицию за линейной алгеброй (и некоторыми легкими вычислениями) в 14 различных областях.
Да, вы правильно прочитали. Я планирую охватить 14 различных тем в двух статьях. Это займет у вас некоторое время, чтобы прочитать его (и я его напишу), но если вы новичок в этом, я настоятельно рекомендую читать не более 2–3 тем в день, а затем искать в Интернете больше практических проблем.
Как устроена статья?
Итак, каждая из тем разделена на 3 части:
- Теоретическое объяснение
- Пример (ручные расчеты)
- Реализация на Python (с Numpy)
Я не буду лгать тебе — это будет много работы. Эта первая часть будет охватыватьвекторыи вот список тем:
- прибавление
- Скалярное Умножение
- Скалярное произведение
- Норма
- Единичный вектор
- Угол между векторами
Теперь, когда введение закончено, давайте не будем откладывать неизбежное. Возьмите чашку кофе (или что-нибудь покрепче) и отправляйтесь со мной в удивительный мир линейной алгебры.
Вы после окончания этой статьи. ПоGIPHY
- Что такое вектор?
- 1. Добавление вектора
- 2. Скалярное Умножение
- 3. Точечный продукт
- 4. Векторная норма
- 5. Единица Вектор
- 6. Угол между векторами
- Вывод
- Угол Numpy Объяснен Примерами
- Угол Numpy Объяснен Примерами
- Синтаксис
- ПАРАМЕТР
- Возвращать
- Примеры, охватывающие Угол Numpy
- Ограничения угла Numpy
- Что такое вектор и как вычислить угол между двумя векторами с помощью функции numpy angle
- Обязательно Прочтите
- Вывод
- Углы между двумя n-мерными векторами в Python
- 5 ответов
Видео:Основы NumPy Python | Массивы, Матрицы И Операции Над НимиСкачать
Что такое вектор?
Да, нет смысла начинать с добавления вектора, если вы понятия не имеете, что такое вектор. Для начала подумайте о векторе как о стрелке в пространстве. Вы должны иметь в виду две величины здесь:
Я имею в виду направлениекуда в космосе указывает стрелкаи величина говорит вамкак далеко вы должны идтив этом направлении. Если у вас есть только величина, но не направление, то вы говорите оскаляры, Как только вы дадите скаляру некоторое направление, он станет вектором.
Я сказал, что вы должны попытаться представить векторы как стрелки — это идеальная терминология, потому что стрелка имеет как четкое направление, так и четкую величину (длину).
Векторы чаще всего обозначаютсястрочная буква и стрелкавыше, указывая вправо:
Просто, правда?
Давайте теперь перейдем к некоторым векторным операциям, я знаю, насколько нетерпеливым вы должны быть (*смеется*).
Видео:Угол между векторами | МатематикаСкачать
1. Добавление вектора
Давайте погрузимся в первую векторную операцию, которая является сложением векторов (вычитание работает так же, только вы бы использовали знак минус вместо плюса, очевидно).
Об этой основной операции сказать особо нечего, только то, что она выполняетсядобавление соответствующих компонентов, Это помогает понять суть вопроса, если вы думаете о том, что происходит с вектором, а не только с точки зрения простого сложения чисел.
Посмотрите на это фото отWikipedia Commons:
В двух словах, чтобы добавить векторбк вектору (получитьа + б), нарисуйте вектор от начала координат, а затем нарисовать векторбиз кончика вектора , Теперь, чтобы получитьа + б, вам нужно только подключить начало координат к кончику вектораб,
Может показаться излишним, если вы услышите это в первый раз, но просто возьмите ручку и бумагу и нарисуйте это, вы сразу же поймете суть.
А вот общая формула для сложения векторов:
Сейчас я сделаю простой пример вручную, а позже реализую этот же пример на Python.
Еще раз, возьмите лист бумаги и нарисуйте его — это довольно интуитивно понятно.
Реализация в Python:
Как видите, Numpy позволяет использовать оператор сложения, довольно аккуратно!
Видео:#11. Произведение матриц и векторов, элементы линейной алгебры | NumPy урокиСкачать
2. Скалярное Умножение
Позвольте мне процитировать себя из ранее в этой статье:
Если у вас есть только величина, но не направление, то вы говорите о скалярах.
По сути, это означает, что скаляр — это одно число, которое может изменять только величину вектора, но не его направление. На самом деле это означает, что вектор, умноженный на любой скаляр, останется на той же «линии», у него будет то же направление, только его длина будет изменена.
Отлично, давайте посмотрим формулу скалярного умножения:
Над,Nпредставляет любое число. Давайте посмотрим на пример. скалярNбудет 2, что означает, что каждый компонент вектора будет умножен на 2.
Реализация в Python:
Круто, давайте перейдем к следующей теме!
Видео:Угол между векторами. 9 класс.Скачать
3. Точечный продукт
Чтобы рассчитать скалярное произведение двух векторов, сначала нужноумножить соответствующие элементы(x1поy1,x2поy2и тд) а потомсуммировать условия продукта,
Эта концепция на самом деле гораздо проще понять, когда вы видите общую формулу, так что вот она:
Теперь я запишу базовый пример с двумя векторами в 2-мерном пространстве:
Реализация в Python:
Да, это почти все о точечном продукте — не особо о чем говорить.
Видео:Как находить угол между векторамиСкачать
4. Векторная норма
Норма — это просто еще один термин для длины или величины вектора, который обозначается двойными трубками (||) с каждой стороны. Он определяется как квадратный корень из суммы квадратов для каждого компонента вектора, как вы увидите в формуле ниже.
Расчет состоит из 3 этапов:
- Квадрат каждого компонента
- Сумма всех квадратов
- Взять квадратный корень
Как вы можете себе представить, формула глупо проста:
А вот практический пример вектора в 2-мерном пространстве:
Реализация в Python:
Видео:18+ Математика без Ху!ни. Скалярное произведение векторов. Угол между векторами.Скачать
5. Единица Вектор
Основная причина, по которой вы рассчитываете единичные векторы, заключается в том, что вы заботитесь только о направлении, а не о величине. Этот процесс нормализации включает в себя уменьшение величины, чтобы не искажать другие вычисления. [2]
Единичный вектор чаще всего обозначается символом шляпы (^) и вычисляется путем вычисления нормы, а затем деления каждого компонента вектора на норму.
Без лишних слов, вот формула:
В качестве примера я вычислю единичный вектор из произвольного трехмерного вектора:
Вам не нужно делать последний шаг — делить на квадратный корень — но это делает конечный результат более привлекательным.
Реализация в Python будет немного другой здесь. Здесь нетвстроенная функцияв Numpy для вычисления единичных векторов (по крайней мере, я не знаю об этом), но поскольку вы знаете формулу, процесс вычисления тривиален. Я объявил функцию, которая будет принимать вектор как вход, а затем возвращать этот вектор, деленный на его норму:
Видео:Математика без Ху!ни. Угол между векторами, применение скалярного произведения.Скачать
6. Угол между векторами
Это, вероятно, тема линейной алгебры, которая меня больше всего волнует. И причина в том, что я использую это здесь и там в моей повседневной работе для некоторых интересных вещей.
Расчет углов между векторами имеет много практических применений. Он широко используется вNLP(Обработка естественного языка) при поиске строк, которые очень похожи. Например, когдаTF-IDFиспользуется для некоторых текстовых данных, каждый ввод (попробуйте представить ввод как отдельный текст электронной почты) преобразуется в вектор.
Тем самым вы будете уверены, что все векторы имеют одинаковые размеры, и если вход содержит определенное слово в определенной позиции, значение в соответствующем компоненте вектора будет равно 1, а в противном случае — 0. Если затем вычислить угол между векторами, то те, где угол в наименьшем будет более похожим (в примере с электронной почтой, представьте, что два отдельных письма относятся к одной теме).
Надеюсь, вы сможете увидеть потенциальные варианты использования в вашем проекте, если не будете беспокоиться об этом, вы увидите это в конце концов.
Вот формула для расчета угла. Ничего особенного, вы беретескалярное произведениедвух векторов и разделить это напроизведение норм:
И вот действительно простой пример двух произвольных трехмерных векторов:
Как и с единичными векторами, Numpy не имеет встроенной функции для расчета угла. Но эй, вы знаете формулу,так как трудно это может быть?
Единственная «хитрость» здесь — преобразовать радианы в градусы, потому что Numpy по умолчанию вернет результат в радианах. Все остальное так же просто, как и следовало ожидать.
И это в значительной степени заканчивает разговор о векторах.Разве это не плохо?
Видео:#1 | Python NumPy | Что такое array, arange и dotСкачать
Вывод
Вот и все для некоторой основной сущности линейной алгебры для науки о данных, по крайней мере, когда речь идет о векторах. Следующая статья будет скрывать матрицы и будет немного длиннее этой.
Пока вы ждете, я настоятельно рекомендую вам проверить этот потрясающий канал на YouTube, в частности, этот плейлист. Это действительно глубоко встраивает интуицию в базовые и продвинутые понятия в линейной алгебре. Этот канал является моей честной рекомендацией, если вы знаете, как рассчитывать вещи, но на самом деле не знаете, почему вы делаете расчеты
3Blue1Brown — Сущность плейлиста линейной алгебры
Видео:100 тренировочных задач #135 Угол между векторамиСкачать
Угол Numpy Объяснен Примерами
Функция NumPy angle() очень удобна и помогает нам добиться желаемого результата. Мы будем развивать более ясное представление об этом по мере продвижения вперед в этой статье.
- Автор записи
Автор: Team Python Pool
Дата записи
Видео:Занятие 12. Векторы и матрицыСкачать
Угол Numpy Объяснен Примерами
Привет гики и добро пожаловать в этой статье мы рассмотрим NumPy angle(). Наряду с этим, для общего лучшего понимания, мы также рассмотрим его синтаксис и параметр. Затем мы увидим применение всей теоретической части на нескольких примерах. Но сначала попробуем получить краткое представление о функции через ее определение.
Предположим, вы хотите выяснить угол сложного аргумента. Тогда, в этом случае, функция NumPy angle() пригодится и поможет нам достичь нашего результата. Мы будем развивать более ясное представление об этом по мере продвижения вперед в этой статье. В следующем разделе мы рассмотрим синтаксис, связанный с ним.
Видео:105. Угол между векторамиСкачать
Синтаксис
Это общий синтаксис нашей функции. В следующем разделе мы обсудим параметры и возвращаемое значение, связанные с ним.
Видео:🐍 СОЗДАНИЕ ВЕКТОРА В NUMPY || Линейная алгебра для Data Science #python #datascience #numpyСкачать
ПАРАМЕТР
Этот параметр представляет собой комплексный аргумент или комплексное число, соответствующее которому должен быть вычислен угол.
Это необязательный параметр. По умолчанию он установлен в значение “false”, в этом случае он возвращает угол в радианах. В случае, если вы установите его в “true”, мы получим угол в градусах.
Видео:Нахождение угла между векторами через координаты. 9 класс.Скачать
Возвращать
углы: ndarray или скалярные
Он возвращает угол против часовой стрелки от положительной вещественной оси по завершении программы.
Видео:11 класс, 5 урок, Угол между векторамиСкачать
Примеры, охватывающие Угол Numpy
Мы рассмотрели всю необходимую теорию, связанную с нашей функцией. Кроме того, мы рассмотрели его определение и разработали краткое понимание нашей функции. В этом разделе мы рассмотрим различные примеры, которые помогут нам лучше понять нашу функцию. Мы начнем с примера элементарного уровня и постепенно перейдем к более сложным примерам.
В приведенном выше примере сначала мы импортировали модуль NumPy. Затем использовали наш синтаксис для получения желаемого результата. Здесь мы указали степень истинности, благодаря которой получаем результат в градусах. Здесь результат оправдывает наш вклад. Мы можем понять это следующим образом. Мы рассмотрели (1+1j) как наше комплексное число. Здесь(вещественная часть) и(сложная часть). Тогда мы также знаем, что/a в этом случае. Что касается нашего состояния, то у нас есть степень. Следовательно, оправдано.
Мы также можем использовать эту функцию для массива чисел. Мы увидим это в следующем примере.
В этом примере мы выполнили все шаги, аналогичные первому. Но здесь вместо одного значения мы использовали массив. Результат во всех случаях оправдывает наш вклад, и поэтому мы можем сказать, что он верифицирован. Если хотите, можете перепроверить, как я сделал в первом примере.
Почему бы вам не попробовать комплексные числа по вашему выбору и не сказать мне, какой результат вы получили.
Видео:Как создать вектор с помощью функции в Python? Линейная алгебра для Data Science #shorts #репетиторСкачать
Ограничения угла Numpy
Функция NumPy angle-это действительно хорошая функция. Но у него тоже есть свои ограничения. Согласно определению, это помогает нам только в вычислении угла между сложными аргументами. Это означает, что мы не можем использовать эту функцию для вычисления значения угла между 2 точками или векторами. Он отлично работает в своей области, но за ее пределами от него нет большой пользы.
Видео:Линейная алгебра для Data Science: Радиус-Вектор в NumPy #python #numpy #datascience #shortsСкачать
Что такое вектор и как вычислить угол между двумя векторами с помощью функции numpy angle
Векторы обычно определяются как физические величины, которые наряду с величиной имеют направление, связанное с ними. Элементарными примерами вектора являются перемещение, скорость и т. д. Векторы обычно представляются с помощью символического представления типа î(вдоль оси x), ĵ (вдоль оси y), k(вдоль оси z).
Теперь давайте попробуем выяснить, как вычислить угол между 2 векторами. Общая формула для расчета угла между ними такова
В этом примере мы сначала импортировали модуль NumPy. Затем мы определили 2 наших массива, между которыми мы хотим вычислить угол. Затем мы использовали другую функцию библиотеки NumPy, которая называется linalg norm(). Эта функция возвращает одну из бесконечного числа векторных норм. Затем мы использовали функцию arccos, которая помогает нам вычислить значение href=”https://en.wikipedia.org/?title=Cosine&redirect=no”>cos обратный. Затем вычисляется наша стоимость. href=”https://en.wikipedia.org/?title=Cosine&redirect=no”>cos обратный. Затем вычисляется наша стоимость.
Видео:#10. Базовые математические функции | NumPy урокиСкачать
Обязательно Прочтите
- Вектор Python С Различными Операциями С Использованием Numpy
- Numpy Dot Product в Python С примерами
- Реализация Ханойской башни на Python
Видео:Numpy - unique methodСкачать
Вывод
В этой статье мы рассмотрели NumPy angle(). Кроме того, мы также рассмотрели его синтаксис и параметры. Для лучшего понимания мы рассмотрели несколько примеров. Мы варьировали синтаксис и рассматривали выходные данные для каждого случая. В конце концов, мы можем сделать вывод, что NumPy angle() используется для поиска угла для сложного аргумента. Надеюсь, эта статья смогла развеять все сомнения. Но если у вас есть какие-либо нерешенные вопросы, не стесняйтесь писать их ниже в разделе комментариев. Прочитав это, почему бы не прочитать дальше “Дельту Кронекера”?
Видео:Creating 3-Dimensional array using numpy array function | CodersartsСкачать
Углы между двумя n-мерными векторами в Python
мне нужно определить угол(ы) между двумя n-мерными векторами в Python. Например, входными данными могут быть два списка, например: [1,2,3,4] и [6,7,8,9] .
5 ответов
Примечание: это не удастся, когда векторы имеют либо одинаковые, либо противоположные направления. Правильная реализация здесь:https://stackoverflow.com/a/13849249/71522
Примечание: все остальные ответы здесь потерпят неудачу, если два вектора имеют либо одно и то же направление (например, (1, 0, 0) , (1, 0, 0) ) или в противоположных направлениях (например, (-1, 0, 0) , (1, 0, 0) ).
вот функция, которая будет правильно обрабатывать эти случаи:
С помощью включает в себя (настоятельно рекомендуется), вы должны сделать следующее:
другая возможность использует только numpy и это дает вам внутренний угол
и вот результат:
используя numpy и заботясь об ошибках округления BandGap:
обратите внимание, что эта функция выдаст исключение, если один из векторов имеет нулевую величину (деление на 0).