Часть III • Продвинутые возможности глубокого обучения с TensorFlow.js
Иногда вместо отсутствующих значений указывается
значение-индикатор
(sentinel value). Например, отсутствующее значение веса человека может заменяться
значением –1, указывающим, что вес не измерялся. В подобном случае не забудьте
обработать значениеиндикатор
до
того, как оно окажется заменено аномальным
(например, –1 будет, как мы описывали ранее, изменено на 40).
Теоретически, если между отсутствием признака и предсказываемым целевым при
знаком существует зависимость, модель может успешно использовать значениеинди
катор. На практике модель потратит часть вычислительных ресурсов на усвоение того,
когда признак используется в качестве значения, а когда — в качестве индикатора.
Вероятно, наиболее надежный способ решения проблемы с отсутствующими
данными — сочетание подстановки для заполнения значения и второго признака
индикатора, указывающего модели на отсутствие признака. В нашем случае мы мог
ли бы заменить отсутствующее значение веса неким предположительным значением
и добавить новый признак
weight_missing
, равный 1 при отсутствии значения веса
и 0 при его наличии. Благодаря этому модель сможет полноценно учесть отсутствие
значения, если это имеет смысл, не путая его с фактическим значением веса.
Листинг 6.23.
Добавление признака для индикации отсутствия значения
Асимметрия
Ранее в этой главе мы описывали понятие асимметрии — различия распределений
в разных наборах данных. Это одна из главных проблем, встречающихся специа
листам по машинному обучению при развертывании обученных моделей для про
Глава 6. Работа с данными
279
мышленной эксплуатации. Обнаружение асимметрии требует моделирования рас
пределений наборов данных и их сравнения. Простейший способ быстро получить
статистические показатели набора данных — воспользоваться утилитой наподобие
Facets (
https://pair-code.github.io/facets/
) (рис. 6.5). Facets анализирует набор данных
и выводит его сводные показатели, отображая распределения для всех признаков,
позволяя пользователю быстро выявить потенциальные проблемы различия рас
пределений в своих наборах данных.
Рис. 6.5.
Снимок экрана Facets, демонстрирующий распределения значений
по признакам обучающего и контрольного наборов для набора данных UC Irvine Census Income
(http://archive.ics.uci.edu/ml/datasets/Census+Income). Этот набор загружен по умолчанию
по адресу https://pair-code.github.io/facets/, но вы можете перейти на сайт и загрузить свои
собственные CSV-файлы для сравнения. Данное визуальное представление называется
Facets Overview
Простейший алгоритм обнаружения асимметрии состоит в вычислении средне
го значения, медианы и дисперсии признаков и сравнении их для имеющихся
наборов данных — не выходят ли они за рамки допустимого. В более сложных
методах делается попытка предсказания, к какому набору относится заданный
пример данных. В идеале это должно быть невозможно, поскольку все примеры
данных должны относиться к одному распределению. Успешное предсказание
того, относится точка данных к обучающему или контрольному набору данных, —
признак асимметрии.
280
Do'stlaringiz bilan baham: |