линейная алгебра для нейронной сети с одним персептроном

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

Векторы — это стрелки на плоскости или в многомерном пространстве. Величина или размер векторов и направления – два основных компонента. Чтобы найти размер вектора с координатами (x₁, x₂), мы можем найти норму L1,|(x₁, x₂) |₁, что является суммой абсолютных значений x₁ и x₂, |x₁| + |х₂|. Или L2 норма,|(x₁, x₂)|₂,сумма квадратов координат ( x₁, x₂), что является длиной стрелки гипотенузы по теореме Пифагора, √ x₁²+ x₂². Норма вектора v₁ обозначается как |v₁|. Это неотрицательное число, которое описывает протяженность вектора в пространстве (его длину).

Сложение координат векторов дает суммирование, то есть сумма вектора (x₁, x₂) и вектора (y₁, y₂) равна (x₁+y₁, x₂+y₂). Для вычитания используется знак минус (x₁-y₁, x₂-y₂).

В машинном обучении измерение расстояния между векторами важно для поиска сходства в точках данных. Сходство между двумя векторами можно определить как косинус угла между ними. Когда они указывают в одном и том же направлении, их сходство равно 1 и уменьшается с увеличением угла. Расстояние между векторами v₁ и v₂ можно найти тремя способами; L1-расстояние =|v₁- v₂|₁ =|v₁| + |v₂|,L2-расстояние= |v₁- v₂|₂ = √ v₁²+ v₂²,и Косинусное расстояние(Θ), косинус угла между двумя векторами.

Умножение вектора на скаляр — это умножение каждой координаты вектора на скаляр. Например, вектор v₁ = (2,3) через скаляр λ = -3 равен λv₁ = (-6, -9). Систему линейных уравнений можно представить в виде произведения матрицы и вектора. Скалярное произведение (также известное как скалярное произведение или скалярное произведение) матриц и векторов представляет собой сумму каждой соответствующей пары элементов. См. пример скалярного произведения на рисунке ниже:

Норма L2всегда представляет собой квадратный корень скалярного произведения между вектором и самим собой. L2 нормадля|v₁|=√ скалярное произведение (v₁, v₁) = √〈v₁, v₁〉= |v₁|₂². Скалярное произведение двух векторов всегда является скаляром. И два вектора являются ортогональными (перпендикулярными), если их скалярное произведение равно нулю.

# orthogonal vectors
v₁.v₂ = |v₁||v₂| cos(Θ) = 0 or # theta Θ, the angle between v₁, v₂
cos(Θ) = v₁.v₂ / |v₁||v₂| = 0 # cos(90°)= 0

Предположим, что проекция одного вектора на другой положительна (угол между векторами ‹ 90°); тогда скалярное произведение положительно. И оно отрицательно, когда проекция отрицательна (угол между векторами › 90°).

# vectors v₁, v₂ operations in python
np.add(v₁, v₂) or v₁+ v₂ # sum of v₁, v₂
np.linalg.norm(v₁) # norm of vector v₁, |v₁|
np.dot(v₁, v₂) or v₁@v₂ # dot product of v₁, v₂

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

Преобразование считается линейным, если оно удовлетворяет двум свойствам:

  • Аддитивность: для любых двух векторов u и v линейное преобразование суммы u + v равно сумме линейных преобразований u и v.
  • Однородность: для любого скаляра c и вектора v линейное преобразование T произведения cv равно произведению c (линейное преобразование v).
# transformation properties
T(u+v) = T(u) + T(v) # additivity
T(cv) = cT(v) # homogeneity

Единичная матрица — это матрица, которая при умножении на любую другую матрицу дает ту же матрицу, и ее соответствующее линейное преобразование очень простое. У него 1 по диагонали и 0 везде. При линейном преобразовании единичная матрица отправляет каждую точку точно в себя. В линейной алгебре единичная матрица используется как эквивалент числа «1». Точно так же, как 1 является мультипликативным тождеством для скалярных значений, единичная матрица служит мультипликативным тождеством для матриц.

Обратная матрица — это важное математическое понятие, которое возникает в различных приложениях, таких как линейная алгебра, исчисление и оптимизация. Несингулярная матрица всегда имеет обратную. Использование обратной матрицы может быть следующим:

  • Если система линейных уравнений представлена ​​матрицей, обратная этой матрице может быть использована для нахождения решения системы уравнений.
  • При вычислении определителей. Определитель матрицы — это скалярное значение, которое можно использовать для определения обратимости матрицы. Если определитель матрицы отличен от нуля, матрица обратима, и можно вычислить ее обратную.
  • Обратная матрица также используется в линейных преобразованиях и задачах на собственные значения. Он также используется в различных областях техники, науки и финансов для моделирования и анализа сложных систем.

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

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

# matrices X, Y multiplication in python
np.matmul(X, Y)
X @ Y
np.dot(X, Y) # broadcast dot product operation to all rows and columns

Последнее примечание

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

Продолжай учиться!