NumPy для ML: матричные операции, линейная алгебра

Мы просто и по делу рассказываем про ИИ-инструменты для работы: сравнения, пошаговые гайды, бесплатные альтернативы и реальные сценарии применения. Помогаем выбрать между ChatGPT, Gemini, Claude, локальными моделями и десятками узкоспециализированных сервисов — от дизайна и HR до аналитики и SEO. Меньше хайпа, больше практики и экономии времени каждый день.

NumPyмашинное обучениелинейная алгебра

NumPy — базовый инструмент в Python для машинного обучения. Именно на массивах NumPy держатся векторизация, быстрая обработка данных и большинство вычислений в линейной алгебре. Если понимать матричные операции, проще разбираться в работе линейной регрессии, градиентного спуска, PCA и нейросетей.

Почему NumPy важен для ML

NumPy использует многомерные массивы ndarray и выполняет операции быстрее обычных списков Python. Главная причина — векторизация: вычисления идут сразу над целыми массивами, без медленных циклов.

import numpy as np

x = np.array([1, 2, 3])
y = np.array([4, 5, 6])

print(x + y)   # [5 7 9]
print(x * y)   # [4 10 18]

Форма массива: shape

  • (n,) — вектор
  • (m, n) — матрица
  • (batch, features) — частый формат датасета
X = np.array([[1, 2], [3, 4], [5, 6]])
print(X.shape)  # (3, 2)

Ошибка в размерностях — одна из самых частых причин багов в моделях.

Матричные операции

Поэлементное умножение и матричное умножение — не одно и то же.

A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

print(A * B)        # поэлементно
print(A @ B)        # матричное умножение
print(np.dot(A, B)) # аналог для 2D

В ML матричное умножение используется постоянно: y = X @ w + b

Где:

  • X — признаки
  • w — веса
  • b — смещение
  • y — предсказание

Транспонирование

Меняет строки и столбцы местами. Часто нужно в формулах линейной регрессии и при вычислении градиентов.

print(A.T)

Полезные функции линейной алгебры

A = np.array([[2, 1], [1, 3]])

print(np.linalg.inv(A))   # обратная матрица
print(np.linalg.det(A))   # определитель
print(np.linalg.eig(A))   # собственные значения и векторы
print(np.linalg.norm(A))  # норма

Где это применяется:

  • inv — аналитические решения, но в ML чаще избегают явного обращения матрицы
  • eig — PCA, спектральные методы
  • norm — расстояния, регуляризация, оценка ошибок

Broadcasting

Одна из самых мощных возможностей NumPy — автоматическое расширение размерностей.

X = np.array([[1, 2], [3, 4], [5, 6]])
b = np.array([10, 20])

print(X + b)

Это удобно для добавления смещения, нормализации и масштабирования признаков без циклов ⚙️

Что важно для практики

  • Используйте @ для матричного умножения
  • Проверяйте shape перед вычислениями
  • Предпочитайте векторизацию вместо for
  • Для ML полезно знать transpose, dot, mean, sum, norm, linalg

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

Подборка каналов про IT — хороший способ следить за Python, ML, backend и карьерой в разработке 📚

🗣 Подборки каналов 🧠 Каталог ботов и приложений 🗺 Навигация

Читайте так же