컴파일이란 모델을 학습시키기 위한 학습과정을 설정하는 단계로 compile 함수를 사용하여 설정할 수 있다.
compile 함수는 학습 방식에 대한 환경 설정을 필요로 하는데 아래의 세 개의 인자를 입력으로 받는다.
아래는 compile 함수를 사용한 예시 코드이다.
# 모델 구축하기
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy', # 최적화 함수 지정
metrics=['accuracy'])
1. optimizer(정규화하기)
훈련 과정을 설정하는 것으로 최적화 알고리즘의 설정을 의미한다.
optimizer에는 adam, sgd, rmsprop, adagrad 등이 있으며 코드에서 사용된 rmsprop는 일반적으로 순환 신경망(Recurrent Neural Networks)의 optimizer로 많이 사용된다.
※ 다른 optimizer에 대한 설명은 아래 링크를 참고
https://keras.io/ko/optimizers/
2. loss function(손실 함수)
예측 값과 실제 값의 차이를 구하는 기준을 의미하는 것으로 머신러닝 모델 학습에서 필수 구성요소이다.
손실 함수로는 mse, categorical_crossentropy, binary_crossentropy 등이 있다.
binary_crossentropy는 이진 분류기를 훈련할 때 자주 사용된다.
categorical_crossentropy는 멀티 클래스 분류에 사용된다.
mse는 신경망의 출력과 타겟이 연속 값인 회귀 문제에서 사용된다.
※ 참고 자료
https://didu-story.tistory.com/27
3. metric(평가 지표)
훈련을 모니터링 하기 위해 사용된다.
분류에서는 accuracy, 회귀에서는 mse, rmse, r2, mae, mspe, mape, msle 등이 있다.
'Python > 개념정리' 카테고리의 다른 글
파이썬) [numpy] array와 asarray 차이 (0) | 2022.07.16 |
---|---|
파이썬) 문자열 형식화(string formatting) (0) | 2022.07.16 |
파이썬) glob함수 사용하기 (0) | 2022.07.14 |
파이썬) 0으로 이루어진 리스트 만들기 (0) | 2022.07.13 |
파이썬) 개발 환경 만들기(Visual Studio Code) (0) | 2022.07.10 |