線形代数の基本


Norm

  • Normはベクトルサイズ(または長さ)を測定する方法(または関数)である.
  • これも
  • または2つのベクトル間の距離を測定する方法である.
  • L1 Norm


    L 1 Normは、ベクトル内の各要素間の差異の絶対値の和である.

    L2 Norm


    L 2 Normはベクトルp,qの直線距離である.qが原点であればp,qのL 2 Normはベクトルpの原点の直線距離といえる.

    Pythonによる第1層Normの実装

    # numpy 라이브러리 필요
    import numpy as np
    
    arr = np.array([1,2,3])
    
    #np.linalg.norm() 함수를 사용, ord = 1 인 경우가 L1 Norm, 아닌경우가 L2 Norm
    print(np.linalg.norm(arr, ord=1))
    print(np.linalg.norm(arr))
    
    #출력결과
    
    #6.0
    
    #3.7416573867739413

    Error

  • MSE:平均二乗誤差
  • MAE:絶対値二乗誤差
  • MSE


    簡単に言えば誤差二乗に対して平均をとることである.
    ->小さいほど原本との誤差が小さくなるため,推定値の精度が高いと判断できる.

    MAE


    簡単に言えば、すべての絶対誤差の平均です.

    MSEとMAEの違いは?


    ->両者の使い方が違います.
  • MSEは回帰でよく用いられる損失関数である.
  • の一般的な回帰指標はMAEである.
  • 従ってMSEは損失関数として用いられ,MAEは回帰指標として用いられる.

    PythonでMSE MAEを実装してみます

    # MSE MAE 함수를 쓸수있는 sklearn.metrics 라이브러리 불러오기
    from sklearn.metrics import mean_absolute_error as mae
    from sklearn.metrics import mean_squared_error as mse
    
    def error(x, y, type) :
      MAE = mae(x,y)
      MSE = mse(x,y)
      if type == 'MAE':
        return MAE
      elif type == 'MSE':
        return MSE
        
    print(error(np.array([1, 2, 4]), np.array([3, 4, 3]), 'MSE'))
    print(error(np.array([1, 2, 4]), np.array([3, 4, 3]), 'MAE'))
    
    #출력결과
    
    #3.0
    
    #1.6666666666666667

    Inverse


    ぎゃくれつ

  • の数が可逆的である場合、行列には可逆行列が存在する.
  • 単位行列Eを出す行列を行列Aの逆行列と呼ぶ.
  • 逆行列はn次正斜角行列でなければならない.
  • ぎゃくマトリクスしき



    Pythonによる逆マトリクスの実装を試みる

    import numpy as np
    
    
    # 행렬의 determinant값이 0인 경우에 오류 발생 -> -1 반환한다.
    
    def myInverse(m) : # m = np.array()
     try:
      return np.linalg.inv(m)
     except:
      return -1
      
    #출력 결과
    #[[-2.   1. ]
    #[ 1.5 -0.5]]