DataStudy Blog
数学

線形代数の基礎 - ベクトルと行列

データサイエンスに必要な線形代数の基礎知識として、ベクトルと行列の基本演算を解説します。

なぜ線形代数が重要なのか

機械学習やデータサイエンスの多くのアルゴリズムは、線形代数の概念に基づいています。データの表現、変換、次元削減など、あらゆる場面で活用されます。

ベクトルの基本

ベクトルは、数値の順序付きリストです。n次元ベクトルはn個の成分を持ちます。

import numpy as np

# ベクトルの定義
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# ベクトルの加算
print(a + b)  # [5, 7, 9]

# 内積(ドット積)
print(np.dot(a, b))  # 32

行列の基本演算

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

# 行列の積
print(A @ B)
# [[19 22]
#  [43 50]]

# 転置行列
print(A.T)
# [[1 3]
#  [2 4]]

# 逆行列
print(np.linalg.inv(A))

固有値と固有ベクトル

行列Aに対して、以下を満たすベクトルvとスカラーλを探します:

Av = \lambda v
eigenvalues, eigenvectors = np.linalg.eig(A)
print("固有値:", eigenvalues)
print("固有ベクトル:", eigenvectors)

固有値分解は、主成分分析(PCA)の基礎となる概念です。

まとめ

  • ベクトルと行列はデータの数学的表現
  • NumPyを使えばPythonで簡単に線形代数の計算が可能
  • 固有値・固有ベクトルは次元削減や特徴抽出に不可欠