일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 영상처리
- TensorFlow Lite
- 코테 문제
- 포스코 AI교육
- 코테
- 딥러닝
- sort
- 코딩테스트
- BFS
- tflite
- 삼성역테
- 포스코 ai 교육
- 삼성코테
- 컴퓨팅사고
- tinyml
- dfs문제
- MCU 딥러닝
- 삼성코딩테스트
- 그리디
- 다이나믹프로그래밍
- DP문제
- 임베디드 딥러닝
- 초소형머신러닝
- bfs문제
- 포스코 교육
- dfs
- 알고리즘
- DP
- 자료구조
- 삼성역량테스트
- Today
- Total
코딩뚠뚠
[머신러닝 공부] 10. 경사하강법 2 본문
머신러닝 입문자들의 필수코스라고 할 수 있는 앤드류 응 님의 강의를 번역해놓은 아래 브런치를 참고하여 공부하고 핵심내용만 정리해보고자 한다.
원문 출처 : brunch.co.kr/@linecard/447
Optimization 즉 최적화 기법 중 Gradient Descent (경사하강법) 이다.
이를 다시 세분화하여 BGD(Batch Gradient descent), SGD(Stochastic Gradient Descent), Mini-batch Gradient Descent, 등이 있지만 여기서는 큰 틀의 Gradient Descent 만 다루도록 한다.
경사하강법의 수학적 정의는 다음과 같다.
a 는 lr 즉 learning rate로, 파라미터 J를 업데이트 할 때 얼마나 큰 스텝으로 이동하는지를 결정한다.
파라미터가 왼쪽, 오른쪽에 위치할 때 하강 하는 과정을 알아보도록 하자.
>> 파라미터 θ1 이 그래프의 오른쪽에 있는 경우
미분항은 θ1 점이 있는 위치에서 그래프의 접선의 기울기이다.
θ1이 오른쪽에 있을 때 직선의 기울기는 양의 값이므로 미분항의 값은 양수가 될 것이다.
a ( = lr = learning rate) 의 값은 항상 양수이므로 θ1-양수 를 한 후 θ1를 업데이트 해야하므로 결과적으로 θ1의 값은 작아질 것이므로 그래프의 왼쪽으로 이동하게 된다.
여기서 의미를 찾아보자면 비용함수 J(θ1) 에서오른쪽에 위치한 θ1의 값이 작아진다는 것은 결국 Gradient descent algorithm이 적용되어 최적점인 왼쪽으로 찾아간다는 의미이다.
만약에 θ1이 왼쪽에 위치한다면 오른쪽으로 이동하게 되어 역시 최적점을 찾아 갈 것이다.
학습률 (a = lr = learning rate) 에 대해서 알아보도록 하자.
학습률이 너무 작거나 크면 어떤 일이 생기게 될까?
>> 학습률이 너무 작은 값일때
비용함수 에서 최소값을 찾아갈 때 너무나 많은 스텝을 반복하게 되어 최소값까지 갈때까지 시간이 너무 오래 걸린다.
>> 학습률이 너무 큰 값일때
하강 알고리즘이 최소값을 지날 수 있다. 다시 돌아온다 하더라도 최소값에 근접까지는 할 수 있어도 다시 지나칠 가능성이 높다.
한 step 마다 같은 거리를 이동할까?
아니다. 경사가 급할 수록 즉 기울기의 절대값이 클수록 더 많은 거리를 이동한다.
즉 최소지점에 도달할 수록 기울기가 완만해져 조금씩 이동하게 된다.
'공부 > ML&DL' 카테고리의 다른 글
[머신러닝 공부] 행렬과 벡터 (0) | 2021.02.12 |
---|---|
[머신러닝 공부] 11. 선형회귀와 경사하강법 (0) | 2021.02.06 |
[머신러닝 공부] 9. 경사 하강법 1 (0) | 2021.01.20 |
[머신러닝 공부] 8. 비용 함수 3 (0) | 2021.01.19 |
[머신러닝 공부] 7. 비용 함수 2 (0) | 2021.01.12 |