Vector & Matrix


データ科学と線形代数の関係?


整然としたサイト
上のブログを読んで、ちょっと「あっ!「なるほど」ですが、整理するのは難しいです.
なぜやるのか、気がふさいでいるときは、なぜ必要なのかをブログで注意しなければならないことがあります.
ブログの結論
•データを簡単にベクトルとして表示
•ベクトル集約マトリクスにより、データ式の検索が容易
線形代数で処理されるデータは,数や形式によってスカラー,ベクトル,マトリクス,テンソルに分けられる.

💡 データ型

  • スカラー:1つの数字からなるデータ(サイズ無方向の物理量のみ)
  • ベクトル:複数の数値からなるデータレコード.大きさ(度)と方向を有する、物事の運動を計画する最も基本的なコンポーネント
  • である.
  • 行列:マルチベクトルデータセット
  • テンソル:
  • 、同じサイズのマトリクスが複数あります

    ベクトルは矢印で表し、矢印の長さはベクトルの大きさを表し、矢印の方向はベクトルの方向を表す.

    ベクトルの大きさはお腹を測ることで表すことができます.
    スカラー排卵ベクトルの大きさに乗じ、方向は変わらず、ベクトルの長さは数値だけ増加します.

    ▼▼ベクトルの内積(Dot Product)


    *内積は、2つのベクトルペアがあり、それによって生成されるスカラー値です.
    このスカラー値を使用して追加的に生成されるベクトル空間を内積空間と呼びます.
    同じ位置の要素間で計算されるため、内部の2つのベクトルの次元数は同じでなければなりません.
    また,交換法則と分配法則を適用する.

    私の敵はどこで使われていますか?


  • 直交性の判別
    :内積は、2つのベクトルが直交しているかどうかを判断するために使用されます.
    2つのベクトルの内積値が0の場合、2つのベクトルは直交していると考えられる.

  • cos値の測定
    :実際のcosθ 知らない値でも乗算、加算で求めることができます.これはグラフィックでよく使われるそうです.

  • 方向を見分ける
    :物体の前後をすばやく把握する.ゲームロジックでは視野や方向の判別によく用いられる.

  • 投影ベクトル
    :内積により、あるベクトルが別のベクトルに投影されるベクトルを求めることができます.

    📖 Pythonの例

    # array a, b
    import numpy as np
    np.dot(a,b)       #내적
    
    np.matmul(a,b)
    
    '''
    numpy의 dot 과 matmul 은 2차원 행렬의 곱셈에서는 같은 기능을 수행한다고 한다.
    하지만 고차원 배열 또는 텐서의 곱셈에서는 용법이 전혀 다름을 알아두자!
    '''
    

    💡 マトリックス


    ベクトルが複数のスカラー値の集合である場合、行列は複数のベクトル集合であると容易に考えられる.
    ベクトルにも次元があり、行列にも次元があり、(行、列)順にマークされます.
    下図に示すように,X行列の次元数は(3,3)次元,Yは(2,3)次元である.

  • ▼▼前置き(T)

  • 前置とは、行と列を変更することです.与えられた行列に(1,1),(2,2)…値に対角線を描き、その線を基準に反転すればよい.
  • 次の行列では、(1,1)人1と(2,2)人4を基準に対角線を描き、裏返して確認できます.

    ▼▼正方形行列

  • 行と列数が同じ行列.

  • ▼対角行列


    値は
  • の対角線上にのみ存在する、残りの値はいずれも0のマトリクス
  • である.

    ▼上三角と下三角


    値は
  • 対角線上/下のみ、残りはすべて0のマトリクス
  • である.

    ▼▼▼単位行列(Identity Matrix)

  • 対角線要素は1であり、残りの要素はいずれも0のマトリクス
  • である.
    解析単位行列
    1. A * I == A
    すなわち、単位行列に正方形行列を乗算すると、元の正方形行列が出力される.
    2.A*A-1(逆行列)=I
    逆行列に任意の行列を乗じた場合、単位行列が出力されます.

    ▼▼▼行列式(Determint)

  • は、すべての正射角行列が有する属性で行列を1つのスカラー値として表す方法であり、データの属性を1つの数字に圧縮して表す.
  • 行列式は、逆行列の存在の有無、線形変換の解を求めるために使用される.
    (行列式=0の場合、逆行列は存在しない)
  • .
    符号:det(A),|A|

    📖 Pythonの例

    x = np.array()
    determinant = np.linalg.det(x)

    ▼▼逆行列

  • に任意の行列を乗じると、結果は単位行列の行列
  • となる.
  • 逆行列を用いて線形方程式群を解いた.
    (行列は除算を定義せず、除算の代わりに逆行列を用いて方程式の解を導出)

  • 逆行列を求めることができません
    1.行列式が0の場合(=特殊行列)
    2.非正方形行列
    3.データの構造はマトリクスの形式ではありません.(一次元X)

    📖 Pythonの例

     x = np.array()
    inv_mat = np.linalg.inv(x)
    
    # 매트릭스의 차원 확인
    x.ndim