[최적화이론] 배경이론 : 선형대수

2023. 3. 25. 10:422023/최적화이론

반응형
  • 인공지능을 위한 수학적 배경
    • 딥러닝 모델
      • 인간의 뇌를 합리적으로 모방하는 것이 목표임
      • 뇌의 기능들 중 인지와 학습 능력을 과학적으로 모델링 하고자 함
    • 머신러닝 모델
      • 인공지능을 구현하고자 하는 시도 중 하나
      • 기계가 스스로 학습할 수 있도록 함
      • 하드웨어의 발전으로 딥러닝 기술이 폭발적으로 개발되고 발전 수준이 높아짐
    • 퍼셉트론
      • 인간의 인지과정
        • 뇌에 들어온 정보를 중요도에 대한 합리적 기준에 따라 받아들일지 말지 결정함
        • 뇌에 들어온 정보 x, 각 정보의 중요도 w, 합리적 기준 b, 받아들일지 말지 결정 y
      • 퍼셉트론의 인지과정
        • 인간과 같이 들어온 정보를 x, 각 정보의 중요도를 w, 합리적 기준을 b, 받아들일지 말지 결정할 값을 y라고 할 때 x와 w는 선형결합을 함
        • 정보의 총량(xw)의 값이 합리적 기준 b보다 크다면 받아들이고, 크지 않다면 받아들이지 않음
    • 신경망
      • 복잡한 의사결정을 위해 퍼셉트론을 여러개 이어붙인 형태
      • 각 정보의 중요도를 고려해 의사결정을 하는데, 의사결정을 하는 레이어가 여러개 존재
    • 학습 과정 모델링
      • 인지 과정에서 중요한 것은 각 정보의 중요도와 합리적인 기준임
        • 이 두가지를 결정하는 과정이 학습 과정임
      • 각 정보의 중요도와 합리적인 기준을 정할 때 에너지를 최소한으로 사용하며 결정해야 함
        • 이때 에너지를 최소화 하기 위한 방안이 loss function(손실함수)임
    • Loss Function
      • 데이터의 정답과 예측 결과의 차이를 측정하는 함수로 정의
      • 예시
        • 평균제곱오차(MSE)
        • 교차엔트로피오차
      • 학습 과정은 손실함수가 최소값을 가질 때의 w, b를 찾는 것임
        • $$ minimize_w,_b = L(w, b) $$

      • 다변수 함수 L(w, b)가 최소값을 가질 때의 w, b를 찾는 최적화 문제
  • 데이터의 유형
    • 스칼라
      • 하나의 숫자로만 이루어진 데이터
      • 알파벳 소문자로 표기
    • 벡터
      • 여러개의 숫자가 특정 순서대로 모여있음
        • $$
          \boldsymbol {x} = [x_1, x_2, x_3, x_4]^T
          $$
      • 여러개의 행, 하나의 열을 갖는 형태임
      • 하나의 벡터에 데이터의 갯수가 n개이면 “n차원 벡터” 라고 함
    • 행렬
      • 여러개의 벡터를 하나로 합친 것
      • 여러 데이터 레코드의 집합을 행렬로 나타낼 때 하나의 데이터 레코드를 하나의 행으로 표기함
      • $$ \boldsymbol {X} = \begin{vmatrix} a & b \\ c & d \end{vmatrix}  $$
      • 행렬의 크기는 행(데이터 레코드 수, 벡터의 갯수)x열(벡터의 차원수)
      • 예측 문제에서 입력데이터로 사용된다면 특징 행렬(feature matrix)
    • 텐서
      • 행렬이 여러개 묶여있는 것
      • 수학적 정의는 아니나 DS에서는 다차원 배열을 텐서라고 함
  • 벡터와 행렬
    • 벡터
      • 유향선분의 속성 중 방향과 크기를 추상화한 양
      • 좌표평면 위에 벡터로 표시 가능(2차원의 경우)
      • 벡터의 크기 (L2 - norm)
        • $$ ||a|| = \sqrt{a_1^2 + a_2^2} $$
      • 벡터의 내적
        • 스칼라만 고려한 벡터의 곱셈
        • 신경망에서의 입출력은 모두 벡터형태, 입력과 가중치의 내적을 출력으로 내보냄
          • $$ a \cdot b = ||a|| ||b|| \cos\theta $$
        • 내적한 두 벡터가 반대방향이라면 내적은 최소값을 가짐
        • 내적한 두 벡터가 평행하지 않다면 서로 반대방향일때와 같은 방향일 때 사이의 값
        • 내적한 두 벡터가 평행하다면 내적 값은 최댓값을 가짐
        • 내적값을 통해 두 벡터가 어느정도로 방향이 같고 다른지를 파악할 수 있음
          • 내적값이 클수록 방향이 같음
    • 행렬
      • 숫자들을 사각 형태로 배열
      • 가로줄을 행, 세로줄을 열이라고 함
      • 행렬 A의 i행 j열 성분 a_i_j에 대해 A = (a_i_j)로 나타냄
      • 어떤 행렬 A 와 어떤 행렬 B의 모든 성분들이 서로 같을 때는 상등행렬이라고 함
      • 행렬의 연산
        • 같은 위치에 있는 원소들 끼리 더하고 뺌
        • 스칼라 곱을 해주는 경우 각 원소들에게 해당 스칼라를 모두 곱해주면 됨
      • 영행렬
        • 모든 성분이 0인 행렬
        • 덧셈의 항등원임
      • 행렬간의 곱셈
        • 곱셈을 하기 위해서는 어떤 행렬 A의 열의 갯수와 어떤 행렬 B의 행의 갯수가 같아야 함
        • 이때 행렬 A, B를 곱할 때 행렬 A의 i번째 행과 행렬 B의 j번째 열을 내적함
        • 곱셈 성질
          • 결합법칙 성립
            • $$ (AB)C = A(BC) $$
          • 분배법칙 성립
            • $$ A(B+C) = AB + BC , (A+B)C = AB+BC $$
          • 주의사항
            • 곱셈의 교환법칙은 성립하지 않음
        • 행렬간의 곱셈 활용
          • 인공신경망 순전파
            • 학습 과정에서 행렬간의 곱셈 연산이 진행됨
        • 아다마르 곱
          • 같은 크기(같은 행열의 크기, 정사각 행렬)를 갖는 행렬 A, B에 대해 같은 위치의 성분을 곱한 행렬
        • 전치행렬
          • 행렬 A = (a_i_j)의 행과 열을 바꿈
        • 대칭행렬
          • 정사각 행렬 A = (a_i_j)가 전치행렬 A^T와 같은 경우
반응형