[ML] 딥러닝의 깊이 있는 이해를 위한 머신러닝 12-1 (K-MOOC)

daeungdaeung·2021년 8월 16일
0

Machine-Learning

목록 보기
21/25

학습내용

  • Gradient Descent 란?

  • Gradient Descent 의 작동 순서

  • Gradient Descent 의 장점과 단점

학습목표

  • Gradient Descent 가 무엇인지 이해할 수 있다.

  • Gradient Descent 를 이용해 머신러닝을 학습할 수 있다.

  • Gradient Descent 를 각자의 문제에 맞게 최적화할 수 있다.

Gradient Descent

  • Stationary / Critical Points

    • w\vec{w} with f(w)=0\nabla f(\vec{w}) = 0

    • 에러 함수의 형태가 제공되어 있을 때 기울기가 0인 지점

  • Gradient Descent 는 에러 함수에서의 글로벌 미니멈을 찾는 가장 일반적인 방법

  • 역행렬을 계산하여 w 를 구하는 방법을 초기에 설명했었는데, 데이터의 feature 개수가 많아질수록 역행렬 계산 속도가 매우 느려집니다.

    • 이를 해결하는 방법이 Gradient Descent 입니다.
  • Gradient Descent 작동 순서

    • 초기값 설정

    • 초기 값에서 기울기 계산

    • 기울기가 음수라면 현재 값을 오른쪽으로 살짝 이동 (기울기가 양수라면 현재 값을 왼쪽으로 이동, 미니멈 찾는 경우)

      • w=wαf(w)w = w - \alpha \nabla f(w)

      • α\alpha 값이 크다면 w 가 크게 변할 것입니다. (반대의 경우도 성립)

    • Stop criterion 이 성립할 때까지 반복

      • f\nabla f 의 값이 0에 충분히 가깝다면 반복 종료
  • Gradient Descent for Least Squares

    • f(w)=12xwy2f(w)=xT(xwy)f(\vec{w}) = \frac{1}{2} ||\vec{x} \vec{w} - \vec{y}||^2 \rarr \nabla f(\vec{w}) = \vec{x}^T(\vec{x} \vec{w} - \vec{y})
  • Gradient Descent 장점

    • 미분 가능한 에러 함수일 경우에는 항상 적용 가능
  • 스텝 사이즈를 조정해 나가는 알고리즘

    • Newton's Method

      • 스텝 사이즈를 매 번 조정하기 위해서 이차 미분을 해야하는데 이는 계산량이 큽니다.
    • 스텝 사이즈를 조절하는 계산량을 줄이기 위한 다른 알고리즘들

      • Quasi-Newton's Method

      • Hessian-free Newton's Method

  • Stochastic Gradient Descent

    • 그래디언트 디센트 방법론이 가지는 한계점을 해결함

    • 큰 데이터를 활용하는 경우 적용

  • Convex

    • 에러 함수를 두 번 미분했을 경우, 결과값이 항상 0보다 크거나 같은 경우

    • 로컬 미니멈과 글로벌 미니멈이 항상 동일함

    • 실제 적용 사례에서는 컨벡스 형태의 에러 함수를 얻기 어려움

      • 최대한 컨벡스의 형태와 유사하도록 추정하는 방법

      • 로컬 미니멈이라도 확보

profile
개발자가 되고싶읍니다...

0개의 댓글