Machine Learning

머신러닝 단기집중과정 - 손실 줄이기

엘호리스 2018. 7. 18. 16:41


Reducing Loss: An Iterative Approach

Comment - 개인적으로 과목명을 왜 굳이 '손실 줄이기'라고 정했는지.... 이해가 되지 않음.

반복 방식 다이어그램


Supervised Learning 에서 어떤 방식으로 작업이 진행 되는지에 대한 흐름도이다.

결국 내부적으로는 반복을 통해 최적화 된 비용을 계산한다고 볼 수 있는데

x변수의 Features와 y변수의 Label을 입력함과 동시에 우리는 모델을 정의해야 한다.

(여기서 모델은 가설을 뜻하기도 하고.... 이 모델을 정의하는 것을 잘 해야 한다.)


y = b + w 1 x 1


어떤 흐름으로 매개변수를 만들어내는지에 대한 것은 위 그림을 통해 배웠고

이것에 대한 몇가지 예시 그림들이 더 있다.


개인적으로 이해가 편하고 직관적인 이해가 쉽게 도와준 그림은 이것이다.

(출처 : 동빈나님의 학습 자료)


선형 회귀 모델에서 최적화 된 모델을 찾아가는 과정


위 그림에서 보다싶이 Linear Regression 에서는 최종적으로 가장 적절한 합리적인 선을 찾아야 한다.

그 과정에서 반복적인 학습과정을 거치게 되는데 보폭이 점점 줄어드는 것을 볼 수 있다.

이 보폭에 대한 이론을 경사하강법이란 표현법으로 나타낸다.


Reducing Loss: Gradient Descent

Gradient Descent(경사하강법)


경사하강법의 그림은 제일 위에서 봤던 [매개변수 업데이트 계산] 항목을 좀 더 구체적으로 나타낸 것이다.

조금 추상적 표현인 [매개변수 업데이트 계산]을 경사하강법으로 표현하면

실제 시작점에서 기울기 보폭을 통해 최소값으로 접근해 나가는 것이다.


경사하강법 작업 흐름

임의의 값(시작점) 선택 -> 기울기 보폭을 정함 -> 기울기 보폭에 따른 다음 지점으로 이동 -> 반복 이동 -> 최소값 접근



Reducing Loss: Learning Rate

Learning Rate(학습률)

위에서 설명드린 경사하강법에서 보폭을 Learning Rate(학습률) 이라고 생각하면 된다.
다음 지점을 정하기 위해서 사용하는 보폭 또는 학습률이라고 하는데
아래 그림을 보면 학습률을 적절하게 잡을 필요가 있단걸 알 수 있다

Learning Rate의 값이 너무 작을때

Learning Rate의 값이 너무 클때

Learning Rate의 값이 적당할 때

모든 회귀 문제에는 골디락스 학습률이 있습니다. 골디락스 값은 손실 함수가 얼마나 평탄한지 여부와 관련 있습니다. 손실 함수의 기울기가 작다면 더 큰 학습률을 시도해 볼 수 있습니다. 이렇게 하면 작은 기울기를 보완하고 더 큰 보폭을 만들어 낼 수 있습니다.
(구글 머신러닝 단기집중과정 학습 페이지 인용)
골디락스 학습률이란 최소값에 접근할 수 있는 보폭 단계를 최소화 시킨 것이라고 할 수 있다.
ex) 남들은 100번만에 최소값에 도달하고 나는 최적화 된 골디락스 학습률을 적용시켜 4단계만에 최소값에 접근하였다.


Reducing Loss: Stochastic Gradient Descent

확률적 경사하강법(SGD)

Commnet - 나중에 확률적 경사하강법을 사용하기 위해 SGD 약어와 어떠한 개념이다 정도만이라도 익혀 두자