AI Math - Matrix
15393 ワード
行列の概念と演算,およびベクトル空間におけるそれらの意味を記述する.
連立方程式群の解と線形回帰解析に応用する方法を紹介した.
ベクトル拡張の概念であるマトリクスは、行(row)ベクトルを要素とする2次元配列であり、計算結果はベクトルとは異なることに注意してください.
マトリクス演算は深さ学習の中で最も核心的な演算であり、非常に重要であり、よく使われているため、マトリクス演算のメカニズムと幾何学的意義と機械学習における応用を十分に理解し、スキップしてください.
行列は、ベクトルを要素とする2 D配列です.
行列のインデックスは行(row)と列(column)です.
固定マトリクス内の特定の行(列)を行(列)ベクトルと呼ぶ
マトリクスの形状が同じで、加算と減算を計算できます.
マトリクス乗算(matrix multiply)は、i第1行ベクトルとj第1列ベクトルとの間の内積が成分であるマトリクスを計算する.
マトリクス積により、ベクトルを異なる次元の空間に送信できます.
マトリクス積によりモードを抽出したり、データを圧縮したりすることができます.
ある行列Aを逆転させる演算の行列を逆行列と呼び,Aは1である.
逆行列は、行と列の数値が等しい行列式です.
(行列式)が0でない場合のみ計算
連立方程式群の解と線形回帰解析に応用する方法を紹介した.
ベクトル拡張の概念であるマトリクスは、行(row)ベクトルを要素とする2次元配列であり、計算結果はベクトルとは異なることに注意してください.
マトリクス演算は深さ学習の中で最も核心的な演算であり、非常に重要であり、よく使われているため、マトリクス演算のメカニズムと幾何学的意義と機械学習における応用を十分に理解し、スキップしてください.
行列は、ベクトルを要素とする2 D配列です.
x = np.array([[1, -2, 3],
[7, 5, 0],
[-2, -1, 2]])
行列のインデックスは行(row)と列(column)です.
固定マトリクス内の特定の行(列)を行(列)ベクトルと呼ぶ
マトリクスの形状が同じで、加算と減算を計算できます.
マトリクス乗算(matrix multiply)は、i第1行ベクトルとj第1列ベクトルとの間の内積が成分であるマトリクスを計算する.
x = np.array([[1, -2, 3],
[7, 5, 0],
[-2, -1, 2]])
y = np.array([[0, 1],
[1, -1],
[-2, 1]])
# (0 + -2 + -6), (1 + 2 + 3)
x @ y
array([[-8, 6],
[ 5, 2],
[-5, 1]])
Nompiのnp内部はi行ベクトルとj行ベクトルの間の内積を成分として計算する行列である.x = np.array([[1, -2, 3],
[7, 5, 0],
[-2, -1, 2]])
y = np.array([[0, 1, -1],
[1, -1, 0]])
# 1 + -2 + -3
np.inner(x, y)
array([[-5, 3],
[ 5, 2],
[-3, -1]])
行列をベクトル空間で使用される演算子として理解するマトリクス積により、ベクトルを異なる次元の空間に送信できます.
マトリクス積によりモードを抽出したり、データを圧縮したりすることができます.
ある行列Aを逆転させる演算の行列を逆行列と呼び,Aは1である.
逆行列は、行と列の数値が等しい行列式です.
(行列式)が0でない場合のみ計算
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.44680851],
[ 0.06382979, 0.10638298, 0.40425532]])
x @ np.linalg.inv(x)
array([[ 1.00000000e+00, -1.38777878e-17, 0.00000000e+00],
[-2.22044605e-16, 1.00000000e+00, -5.55111512e-17],
[-2.77555756e-17, 0.00000000e+00, 1.00000000e+00]])
逆行列を計算できない場合は、類似逆行列(pseudo-reverse)またはモア・ペンロス(Moore-Penrose)逆行列A+を使用するy = np.array([[0, 1],
[1, -1],
[-2, 1]])
np.linalg.pinv(y)
array([[ 5.00000000e-01, 4.09730229e-17, -5.00000000e-01],
[ 8.33333333e-01, -3.33333333e-01, -1.66666667e-01]])
np.linalg.pinv(y) @ y
array([[ 1.00000000e+00, -2.22044605e-16],
[ 5.55111512e-17, 1.00000000e+00]])
Reference
この問題について(AI Math - Matrix), 我々は、より多くの情報をここで見つけました https://velog.io/@gabie0208/AI-Math-Matrixテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol