Понимание нормы 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)
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