Spec-Zone.ru › TensorFlow 1.15

tf.contrib.factorization.KMeans

Создаёт граф для кластеризации k-средних.

tf.contrib.factorization.KMeans(
    inputs, num_clusters, initial_clusters=RANDOM_INIT,
    distance_metric=SQUARED_EUCLIDEAN_DISTANCE, use_mini_batch=False,
    mini_batch_steps_per_iteration=1, random_seed=0, kmeans_plus_plus_num_retries=2,
    kmc2_chain_length=200
)
Аргументы
inputs Входной тензор или список входных тензоров. Предполагается, что точки данных были предварительно случайным образом перетасованы.
num_clusters Целочисленный тензор, определяющий количество кластеров. Этот аргумент игнорируется, если initial_clusters является тензором или массивом NumPy.
initial_clusters Определяет кластеры, используемые во время инициализации. Один из следующих вариантов:
  • тензор или массив NumPy с начальными центрами кластеров.
  • функция f(inputs, k), которая возвращает до k центров из inputs.
  • "random": Случайный выбор центров из inputs.
  • "kmeans_plus_plus": Использование kmeans++ для выбора центров из inputs.
  • "kmc2": Использование быстрого алгоритма k-MC2 для выбора центров из inputs. В последних трёх случаях одна партия inputs может не дать num_clusters центров, в таком случае инициализация потребует нескольких партий до тех пор, пока не будет выбрано достаточно центров. В случае "random" или "kmeans_plus_plus", если размер входных данных <= num_clusters, то вся партия выбирается в качестве центров кластеров.
distance_metric Метрика расстояния, используемая для кластеризации. Поддерживаются варианты: "squared_euclidean", "cosine".
use_mini_batch Если True, используется алгоритм мини-партных k-средних. Иначе предполагается полная партия.
mini_batch_steps_per_iteration Количество шагов, после которых обновлённые центры кластеров синхронизируются с основной копией.
random_seed Семечко для псевдослучайного генератора чисел, используемого для инициализации семян.
kmeans_plus_plus_num_retries Для каждой точки, которая выбирается во время инициализации kmeans++, этот параметр указывает количество дополнительных точек, которые нужно взять из текущего распределения, прежде чем выбрать лучшую. Если указано отрицательное значение, используется эвристика для выбора O(log(num_to_sample)) дополнительных точек.
kmc2_chain_length Определяет количество кандидатных точек, используемых алгоритмом k-MC2 для создания одного нового центра кластера. Если (мини-) партия содержит меньше точек, один новый центр кластера генерируется из (мини-) партии.
Исключения
ValueError В initial_clusters или distance_metric был передан недопустимый аргумент.

Методы

training_graph

Просмотреть исходный код

training_graph()

Генерирует граф обучения для алгоритма k-средних.

Это возвращает, среди прочего, операцию, которая выбирает начальные центры (init_op), булеву переменную, которая устанавливается в True, когда начальные центры выбраны (cluster_centers_initialized), и операцию для выполнения либо полной итерации Ллойда, либо мини-партного варианта итерации Ллойда (training_op). Вызывающая сторона должна использовать эти компоненты следующим образом. Один рабочий должен выполнять init_op несколько раз до тех пор, пока cluster_centers_initialized не станет True. Затем несколько рабочих могут выполнять training_op любое количество раз.

Возвращаемые значения
Кортеж, содержащий:
all_scores Матрица (или список матриц) с размерностями (num_input, num_clusters), где значение представляет расстояние между вектором входных данных и центром кластера.
cluster_idx Вектор (или список векторов). Каждый элемент в векторе соответствует строке входных данных в 'inp' и указывает идентификатор кластера, соответствующий входным данным.
scores Аналогично cluster_idx, но указывает расстояние до назначенного кластера вместо этого.
cluster_centers_initialized Числовое значение, указывающее, были ли инициализированы кластеры.
init_op Операция для инициализации кластеров.
training_op Операция, которая выполняет итерацию обучения.

© 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/contrib/factorization/KMeans

Spec-Zone.ru

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