Как понять кривую auc_precision_recall в тензорной доске?

Версии:

TensorFlow: 1.6.0
TensorBoard: 1.6.0

Чем я занимаюсь и с чем знаком:

  1. Использование готового Estimator tf.estimator.DNNClassifier для обучения модели двоичной классификации с largely skewed dataset (а именно несбалансированным набором данных).
  2. Итак, я должен использовать кривую Precision-Recall для выбора оптимальной модели вместо кривой AUC.
  3. Я ничего не изменил в tf.estimator.DNNClassifier (конечно, я изменил эти три параметра: hidden_units, feature_columns, model_dir).
  4. После того, как точность модели достигла порогового значения и остановилась для оптимизации, я должен продолжить обучение следующим образом: выбрать одну функцию итеративно из всех функций и провести обучение, чтобы я мог по возможности избавиться от некоторых функций шума.
  5. Я делал как Step 4, каждый раз, когда я выбирал функцию, я получал новый результат обучения и новые изображения кривой auc_precision_recall с TensorBoard. А именно, когда я выбрал FEATURE_A, я получил figure A, выбрал FEATURE_B, я получил figure B, и выбрал FEATURE_C, я получил figure C.
    Следующие изображения:
    рисунок A, рисунок B, рисунок C
  6. Descriptions about the above auc_precision_recall curve figures:
    • x axes: indicate training step.
    • y оси: диапазон от 0 до 1 (вот что я хочу знать: что означает y?).
  7. Ниже приводится стандартная Precision-Recall кривая с этого сайта. (Я вставляю ее сюда просто для того, чтобы мы могли легко обсудить мою проблему).
    стандартная кривая Precision-Recall
  8. Descriptions about the above standard Precision-Recall curve:
    • x axes: Recall, range from 0 to 1.
    • y осей: точность, диапазон от 0 до 1.

Мои проблемы:

  1. Что означает значение в y осях в кривой TensorBoard auc_precision_recall?
  2. Какая связь между кривой TensorBoard auc_precision_recall и стандартной Precision-Recall кривой?
  3. Why the value in y axes in a TensorBoard auc_precision_recall curve so strange?
    • In figure A, the first point is (x, y) = (1, 0.5009), why y is 0.5009 even in the 1st Step? and also why most of the other values also keeps in 0.5(from figure A we can easily read about this)?
    • Также в figure B первая точка - это (x, y) = (7, 0.4625), почему это значение y (0,4625) не равно значению, близкому к 0, даже в первых нескольких шагах обучения, как показывает figure C?

person hhz    schedule 25.04.2018    source источник


Ответы (2)


У меня есть ответ: это ошибка в тензорном потоке версии 1.6.0, вызванная неправильным (трапециевидным) способом вычисления значения AUC_PR, и эта ошибка исправлена ​​в последней версии 1.8. .0 с помощью этой фиксации. Поэтому, если вы тренируете сильно искаженный набор данных, не забудьте обновить тензорный поток до последней версии 1.8.0.

person hhz    schedule 21.05.2018

Чтобы ответить на вопросы 1 и 2. AUC означает площадь под кривой. Следовательно, вы смотрите на площадь под кривой точного отзыва (PR). Ось Y показывает эту область, которая находится между 0 и 1, потому что это минимальная и максимальная области, достижимые на кривой PR.

person Eric    schedule 30.10.2018