측정항목의 사용법

측정항목은 모델의 성능을 평가하는데 사용되는 함수입니다. 측정항목 함수는 모델이 컴파일 될 때 metrics 매개변수를 통해 공급됩니다.

model.compile(loss='mean_squared_error',
              optimizer='sgd',
              metrics=['mae', 'acc'])
from keras import metrics

model.compile(loss='mean_squared_error',
              optimizer='sgd',
              metrics=[metrics.mae, metrics.categorical_accuracy])

측정항목 함수는 loss function와 비슷하지만, 측정항목을 평가한 결과는 모델을 학습시키는데 사용되지 않는다는 점에서 다릅니다. 어느 손실 함수나 측정항목 함수로 사용할 수 있습니다.

기존의 측정항목의 이름을 전달하거나 Theano/TensorFlow 심볼릭 함수를 전달하시면 됩니다. (Custom metrics를 참조하십시오)

인수

  • y_true: 참 라벨. Theano/TensorFlow 텐서.
  • y_pred: 예측. y_true와 같은 형태를 취하는 Theano/TensorFlow 텐서.

반환값

모든 데이터포인트에 대한 아웃풋 배열의 평균을 나타내는 하나의 텐서 값.


사용가능한 측정항목

binary_accuracy

keras.metrics.binary_accuracy(y_true, y_pred)

categorical_accuracy

keras.metrics.categorical_accuracy(y_true, y_pred)

sparse_categorical_accuracy

keras.metrics.sparse_categorical_accuracy(y_true, y_pred)

top_k_categorical_accuracy

keras.metrics.top_k_categorical_accuracy(y_true, y_pred, k=5)

sparse_top_k_categorical_accuracy

keras.metrics.sparse_top_k_categorical_accuracy(y_true, y_pred, k=5)

위의 측정항목 외에도, loss function 페이지에 기술된 어떠한 손실 함수를 사용해도 좋습니다.


커스텀 측정항목

컴파일 단계에서 커스텀 측정항목을 전달할 수 있습니다. 커스텀 측정항목 함수는 (y_true, y_pred)를 인수로 받아야 하며 하나의 텐서 값을 반환해야 합니다.

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])