Понимание нормы L-бесконечности, которая используется в TFDV

Я пытался реализовать проверку данных TensorFlow для проверки смещения / перекоса в наборе данных. В качестве метрики они используют норму L-бесконечности. Я не понял концепцию. Может ли кто-нибудь объяснить, как он рассчитывается и почему здесь используется порог 0,01?

 train_day1_stats = tfdv.generate_statistics_from_tfrecord(data_location=train_day1_data_path)
# Add a drift comparator to schema for 'payment_type' and set the threshold of L-infinity norm for triggering drift anomaly to be 0.01.
**tfdv.get_feature(schema, 'payment_type').drift_comparator.infinity_norm.threshold = 0.01**
drift_anomalies = tfdv.validate_statistics(
    statistics=train_day2_stats, schema=schema, previous_statistics=train_day1_stats)

Изображение сайта Tensorflow

2 ответа

COMPARATOR_L_INFTY_HIGH запускается следующим образом:

  • Используемые поля схемы: * feature.skew_comparator.infinity_norm.threshold.
    * feature.drift_comparator.infinity_norm.threshold

  • Поля статистики: * feature.string_stats.rank_histogram

  • Условие обнаружения: L-бесконечность норма вектора, которая представляет разницу между нормализованными счетчиками из feature.string_stats.rank_histogram в контрольной статистике (т. Е. Обслуживающая статистика для перекоса или предыдущая статистика для дрейфа) и статистикой обработки (т.е. статистика для перекоса или текущая статистика для смещения) > feature.skew_comparator.infinity_norm.threshold или feature.drift_comparator.infinity_norm.threshold

Форма L-бесконечности в основном представляет собой abs(max([x1,....,xn]) В этом случае x1 = count(значения bucket1)/total values ​​in control set - count(values ​​bucket1)/total values ​​in treatment set. Когда у нас есть L-inf, мы проверяем> (feature.skew_comparator.infinity_norm.threshold или feature.drift_comparator.infinity_norm.threshold). И если да, запускается COMPARATOR_L_INFTY_HIGH. Фактическое значение (0,01) необходимо точно настроить на основе ваш конкретный случай и статистика данных.

Подробные условия обнаружения описаны в документации по тензорному потоку (ссылка ниже),

https://www.tensorflow.org/tfx/data_validation/anomalies

для вашего случая он упоминает,

COMPARATOR_L_INFTY_HIGH

Поля схемы:

feature.skew_comparator.infinity_norm.threshold feature.drift_comparator.infinity_norm.threshold

Поля статистики:

feature.string_stats.rank_histogram*

Условие обнаружения: L-бесконечная норма вектора, представляющая разницу между нормализованными отсчетами от feature.string_stats.rank_histogram в статистике управления (т.е. статистике обслуживания для перекоса или предыдущей статистике для смещения) и статистике обработки (например, статистике обучения для перекоса или текущей статистике для смещения) > feature.skew_comparator.infinity_norm.threshold или feature.drift_comparator.infinity_norm.threshold

Другие вопросы по тегам