Book Title : Hands-On Machine Learning with Scikit-Learn, Keras & TF
지은이 : 오렐리아 제롱
옮긴이 : 박해선
출판사 : 한빛미디어
코드 출처
https://github.com/rickiepark/handson-ml2
4. 모델 훈련
책에서는 각종 모델을 훈련하지만, 포스팅에서는 용어 정리만 간단하게 포스팅합니다.
경사 하강법(Gradient Descent)
- 기본 아이디어는 비용 함수를 최소화하기 위해 반복해서 파라미터를 조정해가는 것
- 파마 미터 벡터에 대해 비용 함수의 현재 그레이디언트(gradient)를 계산하고, gradient가 감소하는 방향으로 진행 , 0이 되면 최솟값에 도달
- 대게 시작 값은 무작위 초기화를 통해 임의의 값에서 조금씩 비용 함수(ex. mse)가 감소되는 방향으로 진행하여 알고리즘이 최솟값에 수렴할 때까지 점진적으로 향상
쉬운 예시
- 짙은 안개 때문에 산속에서 길을 잃었을 때, 발밑 지면의 기울기만 있다. 빨리 내려가는 방법은 가장 가파른 길을 따라 아래로 내려가는 것
배치 경사 하강법
- 매 스텝에서 훈련 데이터 전체를 사용
- 전체를 사용하기 때문에 훈련 세트가 커지면 매우 느려짐
- 전체 경사 하강법이라고도 함
확률적 경사 하강법
- 매 스텝에서 한 개의 샘플을 무작위로 선택하고 그 하나의 샘플에 대한 gradient를 계산함
- 배치 경사 하강법과는 다르게 매 반복에서 다뤄야 할 데이터가 매우 적기 때문에 한 번에 하나의 샘플을 처리하면 알고리즘이 확실히 빠름
담금질 기법(Simulated Annealing, SA)
- 전역 최적화 문제에 대한 일반적인 확률적 메타 알고리즘이다.
- 이 기법은 광대한 탐색 공간 안에서, 주어진 함수의 전역 최적해에 대한 좋은 근사를 준다
- (그냥 이런 게 있다)
학습 스케줄
- 매 반복에서 학습률을 결정하는 함수
미니 배치 경사 하강법
- 미니 배치라 부르는 임의의 작은 샘플 세트에 대해 그레이디언트를 계산
- 확률적 경사 하악 법에 비해 행렬 연산에 최적화된 하드웨어, 특히 GPU를 사용해서 얻는 성능 향상
로지스틱 회귀
- 샘플이 특정 클래스에 속할 확률을 추정하는 데 널리 사용
- 예시 ) 이 이메일이 스팸일 확률은 얼마인가?
조기종료
- early stopping
- 경사 하강법과 같은 반복적인 학습 알고리즘을 규제하는 방식으로 검증 에러가 최솟값에 도달하면 바로 훈련을 중지시키는 방법
- ‘beautiful free lunck’ ‘훌륭한 공짜 점심’이라고 불렸음
시그모이드 함수
- 0과 1 사이 값을 출력하는 함수
Q. 충분히 오랫동안 실행하면 모든 경사 하강법 알고리즘이 같은 모델을 만들어 내는가?
- 최적화할 함수가 볼록 함수이고 학습률이 너무 크지 않다고 가정하면 모든 경사 하강법 알고리즘이 전역 최적 값에 도달하고 결국 비슷한 모델을 만들 것
- 하지만 학습률을 점진적으로 감소시키지 않으면 SGD와 미니 배치 경사 하강법은 진정한 최적점에 수렴하지 못함
- 대신 전역 최적점 주변을 이리저리 맴돌게 됨, 이 말은 매우 오랫동안 훈련을 해도 경사 하강법 알고리즘들은 조금씩 다른 모델을 만들게 됨
'Study > Hands-On Machine Learning' 카테고리의 다른 글
[Book] 6. 결정 트리 (0) | 2022.04.23 |
---|---|
[Book] 5. 서포트 벡터 머신 (0) | 2022.04.21 |
[Book] 3. 분류 (0) | 2022.04.09 |
[Book] 2. 머신러닝 프로젝트 처음부터 끝까지 (0) | 2022.04.03 |
[Book]1. 한눈에 보는 머신러닝 (0) | 2022.04.02 |