손실 함수(Loss function)
- 성능 척도와는 다른 개념이며 이전 함수와 지금 함수의 변화율을 측정하는 함수이다.
- 그 이전 함수와 지금 함수의 미분값으로 손실함수를 구할 수 있다.
손실 함수의 종류
- 이진분류로는 binary_crossentropy
- 원핫인코딩이 된 타겟을 분류하는데는 categorical_crossentropy
- 원핫인코딩이 되지 않은 명목형 타겟을 분류하는데는 sparse_categorical_crossentropy를 주로 사용한다.
- 머신러닝 알고리즘은 손실 함수의 값을 최소화 하는 방향으로 학습하는 것이 목적이다.
경사 하강법(Gradient Descent)
- 손실 함수의 변화울 최적점까지 계속 내려가면서(cost function이 감소하는 방향으로) 측정하는 방법이다.
- 가중치가 증가할수록, cost function이 감소하는 방향으로 진행한다.
- 경사 안의 학습의 간격을 러닝레이트라고 보면 된다.
- 러닝레이트가 너무 작으면, Local Minima에 빠질 위험이 있다.
- 러닝레이트가 너무 크면, Global minimum을 가로질러 반대편으로 건너뛰어 Local Minima에 빠질 수 있다.
모멘텀(Momentum)
- 경사 하강법의 해결방안이다.
- 일저하게 Leraning rate를 주는 것이 아니라, 기울기에 관성을 부과한다.
- 학습의 시간 소요를 지나치게 늘리는 것을 방지해 준다.
- 지역 최소값을 탈출할 수 있게 한다.
Epoch
- 훈련 데이터셋에 포함된 모든 데이터들이 한 번씩 모델을 통과한 횟수로, 모든 학습 데이터셋을 학습하는 횟수이다.
- epoch를 높일수록 다양한 무작위 가중치로 학습을 해보는 것이므로 손실값이 내려간다.
- 지나치게 높이게 되면, 과적합이 되어 다른 데이터에 대해선 제대로 된 예측을 하지 못할 수 있다.
early stopping
- 실제 점수와 테스트 점수가 비슷해질 때 멈춰지는 기법을 early stopping이라고 한다.
- 과대 적합이 시작하기 전에 훈련을 멈출 수 있다.
미니 배치 경사 하강법(Mini-Batch Gradient Descent)
- 미니 배치 경사 하강법은 배치 크기를 줄이고, 확률적 경사 하강법(SGD)을 사용한다.
- 일부 표본 집단을 넣어서 그때그때, 경사를 확인하는 방식이다.
- batch size를 100으로 잡았다고 할 때 총 10개의 mini batch가 나온다.->Random하게 추출
배치 사이즈 크기는 총 데이터에 나눠떨어지는 크기로 하면 좋다.
옵티마이저(Optimizer)
- 경사를 어떻게 내려갈지 정해주며, 가중치를 갱신해 준다.
- 최적화에 도달하는 방법론을 표현하고 있다.
- 대표적으로 Adam, Adagrad를 많이 사용한다.
과적합 해결 방법
Drop out
- 과적합을 해결하는 가장 효과가 좋은 방법이다.
- 학습시킬 때 무작위로 뉴런을 제외시킨다.
- Drop out을 적용하면 실질적으로 많은 모델을 생성, 학습하고 그 안에서 예측을 실행하기 때문에 성능이 향상된다.
- 자연어처리 분야에서도 많이 사용한다.
'플레이데이터 빅데이터 부트캠프 12기 > 머신러닝 & 딥러닝' 카테고리의 다른 글
[플레이데이터 빅데이터 부트캠프]머신러닝 & 딥러닝 전이 학습 (0) | 2022.08.10 |
---|---|
[플레이데이터 빅데이터 부트캠프]머신러닝 & 딥러닝 CNN (0) | 2022.08.10 |
[플레이데이터 빅데이터 부트캠프]머신러닝 & 딥러닝Tensorflow(2) (0) | 2022.08.09 |
[플레이데이터 빅데이터 부트캠프]머신러닝 & 딥러닝 Deep Learning Tensorflow (0) | 2022.08.08 |
[플레이데이터 빅데이터 부트캠프]머신러닝 & 딥러닝 Deep Learning 개요 (0) | 2022.08.08 |