모델의 성능을 평가할 때는 정확도를 사용하는데 정작 모델을 학습시키며 파라미터값을 수정할 때는 정확도를 사용하지 않고 손실함수를 사용합니다.
모델의 최적의 파라미터값을 최적화할 때, 매개변수의 미분을 계산하고, 계산한 미분 값을 이용해 다시 파라미터값을 조금씩 수정하며 계산하게 됩니다.
매개변수에 대한 손실함수의 미분은 "가중치 매개변수를 아주 조금 변화시켰을 때, 손실함수가 얼마나 변하는지"를 나타냅니다.
미분값이 음수라면 가중치를 양의 방향으로 변화시켜 손실함수의 값을 줄이고,
미분값이 양수라면 가중치를 음의 방향으로 변화시켜 손실함수의 값을 줄입니다.
미분값이 0이라면 매개변수의 갱신을 멈추고 모델의 학습이 끝나게 됩니다.
1. 정확도를 학습에 대한 지표로 사용하면 대부분의 지점에서 미분값이 0이 되어 학습을 할 수 없게 됩니다.
2. 또, 매개변수 값을 조정한다고 해도, 정확도가 큰 폭으로 변하지 않기 때문에 매개변수에 따라 연속적으로 변하지 않고, 갑자기 큰 폭으로 변화할 수 있습니다.
활성화 함수에서 갑자기 큰 폭으로 값이 변하는 계단 함수가 아닌 연속적으로 값이 변하는 시그모이드 함수를 사용하는 이유와도 비슷합니다.
시그모이드 함수는 모든 점에서 곡선의 기울기가 연속적으로 변하며 기울기의 미분도 0이 되지 않습니다.
반면, 계단 함수는 모든 점에서 곡선의 기울기와 기울기의 미분이 0이 됩니다.
'DataScience' 카테고리의 다른 글
docker에서 jupyternotebook 사용 (2) | 2022.11.23 |
---|---|
[ML] 다층 퍼셉트론(multi-layer perceptron) (0) | 2022.10.29 |
[ML] 퍼셉트론 (Perceptron) (1) | 2022.10.29 |
[Python] 두 표본에 대한 모평균 검정 (0) | 2022.10.05 |
[Python] t분포의 신뢰구간(Confidence Interval, CI) (0) | 2022.10.05 |