[부스트캠프 AI-Tech] 1주차 Day 4

LKM·2022년 1월 24일
0

✏️학습 정리


1. Vector

  • Vector
    • 숫자를 원소로 가지는 리스트 또는 배열

    • 공간에서 한 점을 나타냄

    • 원점으로부터 상대적 위치를 표현

    • 같은 모양을 가지면 사칙 연산 가능

    • norm

      • 원점에서부터의 거리

      • L1 (변화량의 절대값)

      • L2 (유클리드 거리)

      • norm의 종류에 따라 기하학적 성질이 달라짐

    • 두 벡터 사이의 거리, 각도




2. Matrix

  • Matrix
    • vector를 원소로 가지는 2차월 배열

    • 같은 모양을 가지면 사칙 연산 가능

    • 행렬 곱셈

    • 행렬 내적 (수학에서 말하는 내적과 다름)

    • 행렬의 이해

      • 벡터공간에서 사용되는 연산자
      • 벡터를 다른 차원의 공간으로 보낼 수 있음
  • 역행렬
    • 어떤 행렬의 연산을 거꾸로 되돌리는 행렬

    • 행과 열 숫자가 같고 행렬식(determinant)이 0이 아닌 경우에만 계산 가능

    • 유사역행렬 (또는 무어펜로즈)



3. Gradient Descent (순한맛)

  • 미분
    • 변수의 움직에 따른 함수값의 변화를 측정하기 위한 도구

    • 주어진 점에서의 접선의 기울기

    • 미분값을 더하면 경사상승법(gradient ascent), 극대값의 위치를 구할 때 사용

    • 미분값을 빼면 경사하강법, 극소값의 위치를 구할 때 사용

  • 경사하강법 (Gradient Descent)
    • 알고리즘

      # gradient: 미분을 계산하는 함수
      # init: 시작점, lr: 학습률, eps: 알고리즘 종료조건
      
      var = init
      grad = gradient(var)
      while abs(grad) > eps:
      	var = var - lr*grad
      	grad = gradient(var)
    • 그레디언트(gradient) 벡터

      • 벡터가 입력인 다변수 함수의 경우 변미분을 사용



4. Gradient Descent (매운맛)

  • 경사하강법으로 선형회귀 계수 구하기
    • 선형회귀 목적식: ∥y − Xβ∥2

    • 목적식을 최소화하는 β를 찾아야함 → 그레디언트 벡터를 구해야한다.

    • 알고리즘

      # norm: L2-norm을 계산하는 함수
      # lr: 학습률, T: 학습횟수
      
      for t in range(T):
      	error = y - x @ beta
      	grad = -transpose(X) @ error
      	beta = beta - lr * grad
  • 경사하강법은 만능?

    • 이론상 convex한 함수에 대해선 적절한 학습률과 학습횟수를 선택했을 때 수렴이 보장
    • 하지만, 비선형회귀의 경우 목적식이 convex하지 않을 수 있으므로 수렴이 항상 보장 안됨
  • 확률적 경사하강법 (Stochastic Gradient Descent)

    • 모든 데이터 대신 데이터 한개 또는 일부를 활용하여 업데이트를 함
    • non-convex 목적식은 SGD를 통해 최적화 가능하므로 머신러닝 학습에 더 효율적
    • SGD는 데이터의 일부를 가지고 업데이트하기에 연산자원을 효율적으로 활용
    • 원리
      • 미니배치 연산
      • 병렬 연산 가능



5. 딥러닝 학습방법

  • Neural Network
    • 선형 모델

    • 다음과 같이 표현 가능

    • softmax 연산(함수)

      • 모델의 출력을 확률로 해석할 수 있게 변환해 주는 연산

      • 분류 문제를 풀 때 사용

    • 신경망 (비선형 모델)

      • 선형 모델과 활성함수(activation function)을 합성한 함수

      • 활성함수

        • 비선형 함수

        • 종류

      • 구조 (σ는 활성함수)

      • 다층을 쌓는 이유?

        • 이론상 2층 신경망으로도 임의의 연속함수 근사 가능 —> universal approximation theorem
        • 층이 깊을수록 목적함수를 근사하는데 필요한 뉴런(노드)의 숫자가 훨씬 빨리 줄어들어 좀 더 효율적으로 학습 가능
      • 역전파 (backpropagation)

        • 딥러닝 학습원리

        • 연쇄법칙(chain-rule) 기반 자동미분(auto-differentiation)을 사용

        • 각 층 패러미터의 그레디언트 벡터는 윗층부터 역순으로 계산

profile
함께 자라기

0개의 댓글