오늘의 인기 글
최근 글
최근 댓글
Today
Total
11-18 21:03
관리 메뉴

우노

[ML] Model compile() - 학습과정 설정 본문

AI/Machine Learning

[ML] Model compile() - 학습과정 설정

운호(Noah) 2020. 8. 6. 15:39
  • 모델을 학습시키기 이전에, 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])
Comments