우노
[ML] Model compile() - 학습과정 설정 본문
모델을 학습시키기 이전에, compile() 메소드를 통해서 학습 방식에 대한 환경설정을 해야 합니다.
다음 세 개의 인자를 입력으로 받습니다.
정규화기 (optimizer)
- 훈련과정을 설정합니다. 즉, 최적화 알고리즘을 설정을 의미합니다.
- adam, sgd, rmsprop, adagrad 등이 있습니다.
손실 함수 (loss function)
- 모델이 최적화에 사용되는 목적 함수입니다.
- mse, categorical_crossentropy, binary_crossentropy 등이 있습니다.
평가지표 (metric)
- 훈련을 모니터링 하기 위해 사용됩니다.
- 분류에서는 accuracy, 회귀에서는 mse, rmse, r2, mae, mspe, mape, msle 등이 있습니다.
- 사용자가 메트릭을 정의해서 사용할 수도 있습니다.
- metrics 관련 정리
예제 코드
# 다중클래스분류 위한 설정 model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy']) # 이중클래스분류를 위한 설정 model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy']) # 회귀에서 mean squeared error 설정 model.compile(optimizer='rmsprop', loss='mse') # metrics 커스텀 import keras.backend as K def mean_pred(y_true, y_pred): return K.mean(y_pred) model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy', mean_pred])
'AI > Machine Learning' 카테고리의 다른 글
[ML] 베이지안 최적화 (Bayesian Optimization) (29) | 2020.08.10 |
---|---|
[ML] 이상값(outlier)과 로버스트(robust) (2) | 2020.08.06 |
[ML] Metric 종류 (0) | 2020.08.06 |
[ML] 배깅(Bagging), 부스팅(Boosting), 보팅(Voting) (0) | 2020.08.04 |
[ML] XGBoost 개념 이해 (10) | 2020.08.04 |
Comments