マトリックス


隊列。

  • 行列はベクトルを要素とする2次元配列
  • である.
  • 行(行)および列(列)
    固定
  • 行列のいずれかの行(または列)の場合、行(または列)ベクトル
  • 行列の行ベクトルx iはi番目のデータ
  • を表す.
  • 行列のx ijは、i番目のデータのj変数の値
  • を表す.

    マトリックスの計算

  • 行列は同じ形状を有し、加算と減算を計算することができる.
  • 成分の積はベクトルに等しい.A ij*B ijに
  • を乗じる
  • スカラー乗算もベクトルに等しい.3 A=Aのマトリクスのすべての要素にスカラー値3を乗じる
  • である.
  • 行列i第1行ベクトルとj第1列ベクトルとの間の内積を成分とする行列計算
    -行列乗算のために、2つの行列間の次元数は同じでなければなりません.ex) A(NxK) * B(KxM)
  • 行列乗算により、ベクトルを他の次元の空間
  • に送信することができる.
  • 行列乗算を用いてモード抽出を行い、データは
  • 圧縮可能である.

    マトリックスの内積

  • numpy.i行ベクトルとj行ベクトルとの間の内積を成分とするマトリクスは、
  • を計算することができる.
    > X = np.array([[1, -2, 3], [7, 5, 0], [-2, -1, 2]])
    > Y = np.array([[0, 1, -1], [1, -1, 0]])
    > np.inner(X, Y)
    array([[-5, 3], [5, 2], [-3, -1]])

    ぎゃくマトリクス

  • ある行列Aの演算を逆方向に行列(逆行列)に戻す.
  • Aの逆行列をA^1
  • と表す
  • 逆行列は、行と列の数字が等しい(nxn行列)、行列式(行列式)が0でない場合にのみ計算できます.
  • numpy.linalg.inv
  • の使用
    > X = np.array([[1, -2, 3], [7, 5, 0], [-2, -1, 2]])
    > np.linalg.inv(X)
    array([[0.21276596, 0.0212766, -0.31914894], [-0.29787234, 0.17021277, 0.44680581], [0.06382979, 0.10638298, 0.40425532]])
  • 逆行列が求められない場合、類似逆行列(擬似逆)またはモア・ペンロス(Moore-Penrose)逆行列A^+を用いる
  • numpy.linalg.pinv
  • の使用
    > A = np.array([[0, 1], [1, -1], [-2, 1]])
    > np.linalg.pinv(A)
    array([[5.00000000e-01, 4.09730229e-17, -5.00000000e-01], [8.33333333e-01, -3.33333333e-01, -1.66666667e-01]])
  • numpy.linalg.pinvを用いて連立方程式の解、線形回帰式など
  • を求めることができる.