Spec-Zone.ru › TensorFlow 1.15

tf.feature_column.linear_model

Возвращает линейное предсказание Tensor на основе заданных feature_columns.

Просмотр псевдонимов

Псевдонимы совместимости для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.feature_column.linear_model

tf.feature_column.linear_model(
    features, feature_columns, units=1, sparse_combiner='sum',
    weight_collections=None, trainable=True, cols_to_vars=None
)

Эта функция генерирует взвешенную сумму на основе размерности выходного пространства units. Взвешенная сумма относится к логам в задачах классификации. В случае задач линейной регрессии она относится к самому предсказанию.

Примечание о поддерживаемых колонках: linear_model обрабатывает категориальные колонки как indicator_column. То есть, предположим, что вход SparseTensor выглядит следующим образом:

shape = [2, 2]
{
    [0, 0]: "a"
    [1, 0]: "b"
    [1, 1]: "c"
}

linear_model неявно присваивает веса для наличия "a", "b", "c", подобно indicator_column, тогда как input_layer явно требует обертывания каждой из категориальных колонок в embedding_column или indicator_column.

Пример использования:

price = numeric_column('price')
price_buckets = bucketized_column(price, boundaries=[0., 10., 100., 1000.])
keywords = categorical_column_with_hash_bucket("keywords", 10K)
keywords_price = crossed_column('keywords', price_buckets, ...)
columns = [price_buckets, keywords, keywords_price ...]
features = tf.io.parse_example(..., features=make_parse_example_spec(columns))
prediction = linear_model(features, columns)

Аргумент sparse_combiner работает следующим образом. Например, для двух признаков, представленных как категориальные колонки:

# Feature 1

shape = [2, 2]
{
    [0, 0]: "a"
    [0, 1]: "b"
    [1, 0]: "c"
}

# Feature 2

shape = [2, 3]
{
    [0, 0]: "d"
    [1, 0]: "e"
    [1, 1]: "f"
    [1, 2]: "f"
}

при sparse_combiner как "mean", линейная модель, соответственно, выдает:

y_0 = 1.0 / 2.0 * ( w_a + w_b ) + w_d + b
y_1 = w_c + 1.0 / 3.0 * ( w_e + 2.0 * w_f ) + b

где y_i — выход, b — смещение, а w_x — вес, присваиваемый наличию x в входных признаках.

Аргументы
features Отображение ключа к тензорам. _FeatureColumn обращаются по этим ключам. Например, numeric_column('price') обращается к ключу 'price' в этом словаре. Значения — Tensor или SparseTensor в зависимости от соответствующего _FeatureColumn.
feature_columns Итерируемый объект, содержащий FeatureColumns, используемые в качестве входных данных для вашей модели. Все элементы должны быть экземплярами классов, производных от _FeatureColumn.
units Целое число, размерность выходного пространства. Значение по умолчанию — 1.
sparse_combiner Строка, определяющая способ сокращения, если категориальная колонка многозначная. За исключением numeric_column, почти все колонки, переданные в linear_model, рассматриваются как категориальные. Она объединяет каждую категориальную колонку независимо. В настоящее время поддерживаются "mean", "sqrtn" и "sum", по умолчанию для линейной модели используется "sum". "sqrtn" часто обеспечивает хорошую точность, особенно с колонками bag-of-words.
  • "sum": не нормализует признаки в колонке
  • "mean": выполняет l1-нормализацию признаков в колонке
  • "sqrtn": выполняет l2-нормализацию признаков в колонке
weight_collections Список имен коллекций, в которые будет добавленная переменная. Обратите внимание, что переменные также будут добавлены в коллекции tf.GraphKeys.GLOBAL_VARIABLES и ops.GraphKeys.MODEL_VARIABLES.
trainable Если True также добавляет переменную в граф коллекций GraphKeys.TRAINABLE_VARIABLES (см. tf.Variable).
cols_to_vars Если не None, должен быть словарем, который будет заполнен отображением _FeatureColumn к связанному списку Variable. Например, после вызова у нас может быть cols_to_vars = { _NumericColumn( key='numeric_feature1', shape=(1,): [], 'bias': [], _NumericColumn( key='numeric_feature2', shape=(2,)): []} Если колонка не создает переменных, ее значение будет пустым списком. Обратите внимание, что cols_to_vars также будет содержать строковый ключ 'bias', отображающий на список переменных.
Возвращает
Tensor, который представляет предсказания/логиты линейной модели. Его форма — (размер_пакета, единицы), а тип данных — float32.
Возбуждает
ValueError если элемент в feature_columns не является _DenseColumn или _CategoricalColumn.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/feature_column/linear_model

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API