본문 바로가기
C.W.K.
Stream
Lesson 04 of 08 · published

평가지표

~8 min · training

Level 0Keras 도제
0 XP0/97 lessons0/20 achievements
0/120 XP to next level120 XP to go0% complete

손실은 학습시키고 평가지표는 관찰해

둘 다 compile()에 넣지만 역할은 달라. 손실은 기울기가 흐르는 학습 목표라 미분 가능해야 해. 평가지표는 단계마다 계산해 기록할 뿐 가중치에는 영향을 주지 않아. 정확도는 불연속적인 값이라 손실로 쓰기 어렵지만 사람에게 모델 상태를 설명하는 지표로는 좋아.

평가지표는 목록에 문자열과 인스턴스를 섞어 넘길 수 있어. 이름과 설정을 명확히 하려면 인스턴스를 사용해. 정확도뿐 아니라 precision, recall, AUC, F1 계열을 함께 보면 얼마나 자주 틀리는지와 어떤 종류의 오류를 내는지 알 수 있어.

학습보다 검증 지표를 봐

검증 데이터를 넘기면 모든 지표에 val_이 붙은 짝이 생겨. 학습 지표는 데이터를 맞추는 정도를, 검증 지표는 새로운 데이터로 일반화하는 정도를 보여주며 둘의 차이가 과적합 신호야. 내장 지표로 부족하면 keras.metrics.Metric을 상속해 update_state()에서 배치 값을 누적하고 result()에서 현재 값을 돌려주며 reset_state()에서 에포크마다 초기화해.

Code

compile()에 여러 평가지표 넣기·python
model.compile(
    optimizer="adam",
    loss="sparse_categorical_crossentropy",
    metrics=[
        "accuracy",
        keras.metrics.SparseCategoricalAccuracy(name="acc"),
        keras.metrics.AUC(name="auc"),
        keras.metrics.Precision(name="precision"),
        keras.metrics.Recall(name="recall"),
        keras.metrics.F1Score(name="f1"),
    ],
)

External links

Exercise

이진 분류기를 metrics=['accuracy', keras.metrics.AUC(), keras.metrics.Precision(), keras.metrics.Recall()]로 compile해. 한 에포크 학습하고 네 지표를 확인해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.