관리 메뉴

너와 나의 스토리

[Machine Learning - google developers] 손실 줄이기 본문

Data Analysis/Machine learning

[Machine Learning - google developers] 손실 줄이기

노는게제일좋아! 2019. 7. 19. 11:39
반응형

Step3 - 손실 줄이기

 

● 반복 방식

에서 b와 w1에 적절한 값을 넣어보면서 손실 계산하는 과정 반복

 

* 손실 계산 -> 손실 함수(제급 손실 함수) 사용

 

 

● 경사 하강법

매개변수 업데이트를 어떻게 할까  -> 경사하강법

 

회귀 문제에서 손실과 w1을 대응한 도표는 항상 볼록 함수 모양을 할 것이다.

 

볼록 문제에서 기울기가 정확하게 0인 지점인 최소값이 하나만 존재한다.

이 최소값에서 손실 하수가 수렴한다.

 

- 경사하강법

1. w1에 대한 시작 값 선택 ( 손실 곡선 중에서 한 점 선택 )

2. 그 점에서 손실 곡선의 기울기를 계산

    ㄴ 어느 방향이 더 정확한지를 알 수 있음

    ㄴ 기울기는 [방향, 크기]를 가짐

    ㄴ 기울기는 항상 손실 함수 값이 가장 크게 증가하는 방향을 향한다 -> 즉, 기울기의 반대 방향으로 이동해야 한다.

3. 시작점에 기울기의 크기의 일부를 더해서 다음 지점을 선택한다.

4. 이 과정을 반복해 최소값에 점점 접근한다.

 

 

● 학습률

경사하강법 알고리즘은 기울기에 학습률 또는 보폭이라 불리는 스칼라를 곱하여 다음 지점을 결정한다.

- 학습률이 너무 작으면 -> 학습 시간이 너무 오래 걸림

  학습률이 너무 크면 -> 곡선의 최저점을 이탈할 우려가 있음 (수렴이 안될 수 있음)

 

- 골디락스 학습률

  : 손실 함수가 얼마나 평탄한가

  손실 함수의 기울기가 작다면 더 큰 학습률 시도

  작은 기울기를 보완하고 더 큰 보폭을 만들어 낼 수 있다.

 

● 확률적 경사하강법

경사하강법에서의 배치: 단일 반복에서 기울기를 계산하는 데 사용하는 예의 총 개수

(gradient descent의 각 단계마다 모든 training examples을 사용하는 것)

 

- 배치가 너무 커지면 단일 반복으로도 계산하는 데 오랜 시간이 걸릴 수 있다.

   -> 데이터 세트에서 예를 무작위로 선택하면 훨씬 적은 데이터 세트로 중요한 평균값을 추정할 수 있다. 

       (노이즈는 있겠지만)

 

- 확률적 경사하강법(SGD)

  반복당 하나의 예(배치 크기 1)만을 사용한다.

  반복이 충분하다면 SGD가 효과는 있지만 노이즈가 매우 심하다

 

 * Stochastic: 확률적

 

- 미니 배치 확률적 경사하강법(Mini batch SGD)

  : 전체 배치 반복과 SGD 간의 절충안

  일반적으로 무작위로 선택한 10개에서 1000개 사이의 예로 구성됨

 

반응형
Comments